Univerzita Karlova v Praze Matematicko-fyzikální fakulta

Rozměr: px
Začít zobrazení ze stránky:

Download "Univerzita Karlova v Praze Matematicko-fyzikální fakulta"

Transkript

1 Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Oldřich Krůza Dělení českých vět na klauze Ústav formální a aplikované lingvistiky Vedoucí diplomové práce práce: RNDr. Vladislav Kuboň, Ph.D. Studijní program: Informatika, počítačová a formální lingvistika 2008

2 Prohlašuji, že jsem svou diplomovou práci napsal samostatně a výhradně s použitím citovaných pramenů. Souhlasím se zapůjčováním práce. V Praze dne 5. srpna 2008 Oldřich Krůza

3 Obsah 1 Úvod Poděkování Motivace Základní pojmy Předchozí práce Segmentace češtiny dr. Kuboně a dr. Lopatkové Pravidlová detekce klauzí v disambiguačním systému doc. Petkeviče 10 3 Data Anotace Zdroj Algoritmus odvození Pomocné definice Průběh algoritmu Slabiny algoritmu Novější verze Metoda vyhodnocení výsledku 40 5 Startovní čára 42 6 Řešení Hledání hranic klauzí MST Model pro komponentu Návod k použití Použití z příkazové řádky Základní funkce Volby Použití z Perlu Konfigurační soubor Datové konverze Modely Tvorba modelu

4 7.5.2 Přítomný model Textový formát zápisu klauzí Vedlejší produkty Data::FeatureFactory: Z vět do binárních tabulek Ukázka použití Definice rysů Vyhodnocování rysů Shrnutí WebTreeDisplay: Vykreslování závislostních stromů pro webové prohlížeče Reprezentace stromu v HTML Vykreslení stromu pomocí CSS a JavaScriptu Generování HTML stromů v Perlu Shrnutí Závěr 69 4

5 Název práce: Dělení českých vět na klauze Autor: Oldřich Krůza Katedra (ústav): Ústav formální a aplikované lingvistiky Vedoucí diplomové práce: RNDr. Vladislav Kuboň, Ph.D. vedoucího: Vladislav.Kubon@mff.cuni.cz Abstrakt: Tato diplomová práce se zabývá problematikou identifikace klauzí v českých morfologicky označkovaných větách a vztahů mezi nimi. Problém pojímá jako úlohu strojového učení. Předkládá se formalismus pro vyznačení klauzí a jejich vztahů v českých textech, dále metoda získání dat s vyznačením klauzí z analytické roviny Funkčního generativního popisu ve formalismu PML. Získaná data jsou použita jako trénovací a testovací pro tvorbu systému automatické identifikace klauzí a jejich vztahů. Je navržen systém vyhodnocení výsledku a představeny softwarové aplikace, které vznikly při práci na systému. Klíčová slova: Klauze, syntaktická analýza, Funkční generativní popis, strojové učení, Perl Title: Splitting Czech Sentences to Clauses Author: Oldřich Krůza Department: Institute of Formal and Applied Linguistics Supervisor: RNDr. Vladislav Kuboň, Ph.D. Supervisor s address: Vladislav.Kubon@mff.cuni.cz Abstract: This Master thesis deals with identification of clauses in Czech morphologically annotated sentences and finding the inter-clausal relations. The task is approached as a machine-learning problem. An annotation scheme for clauses in Czech text is presented alongside with a method for deriving clause-annotated data from the analytical layer of Functional Generative Description coded in the Prague Markup Language. The gathered data are used for training and evaluating a system of automated identification of clauses and their relations. A method of evaluation of the result is suggested and separate software applications created during the development are presented. Keywords: Clauses, parsing, syntax, Functional Generative Description, Perl 5

6 Kapitola 1 Úvod 1.1 Poděkování Děkuji RNDr. Vladislavu Kuboňovi za přívětivé vedení mojí diplomky. Děkuji Mgr. Miroslavovi Týnovskému za podporu. Děkuji doc. Vladimíru Petkevičovi, RNDr. Markétě Lopatkové a ing. Zdeňkovi Žabokrtskému za nedocenitelné konzultace a rady. Děkuji Prof. Thomasu Lengauerovi z Institutu Maxe Plancka na Sárské univerzitě za přednášky, z nichž jsem si odnesl znalosti, dovednosti a vášeň pro statistické učení. Děkuji RNDr. Johance Spoustové za téma této práce. Děkuji Mgr. Milanu Fučíkovi za bleskovou a ochotnou pomoc se stroji ÚFALu. Děkuji RNDr. Jaroslavě Hlaváčové za trpělivost a pochopení, když moje práce na diplomce kolidovala s mými pracovními povinnostmi. Děkuji paní Libuši Brdičkové za pomoc a vstřícnost ve věcech, ve kterých bych byl bez ní ztracen. Děkuji všem z Ústavu formální a aplikované lingvistiky za báječný čas, který jsem tam strávil. Děkuji všem, které jsem zapomněl uvést, a kteří by si to zasloužili. Děkuji Bohu, že mě přivedl ke komputační lingvistice, do velebné Prahy a na ÚFAL. 1.2 Motivace Počítáme-li dlouhé samohlásky, má čeština jedenačtyřicet písmen. Po projití klávesnice nalézám nějakých jedenáct interpunkčních znamének a deset číslic. Dohromady tedy asi dvaašedesát znaků, ze kterých se skládá drtivá většina českých textů. Dvaašedesát možných prvků, universum o velikosti šedesát dva, to je pro statistické zpracování jako sen. Modely postavené na znacích aspirují na robustnost a spolehlivost. Struktura jazyka je však kromobyčejně složitá. Model postavený na znacích může jen těžko postihnout jazyk jako takový. Slovních forem má čeština několik set tisíc. To už pro statistika taková pohádka není, ale stále je to jakž takž uzavřená množina, kterou je v lidských silách popsat. Zpracování jazyka na úrovni slov je také disciplína hojně praktikovaná. Slovníky kapesní, překladové, výkladové a nejrůznější jiné jsou vydávány dnes a denně a jejich pokrytí jazyka je mnohdy na hranici úplnosti. Stále však nám slova a statistické modely na nich postavené nestačí k tomu, abychom strojově postihli 6

7 význam nebo implementovali uspokojivě automatický překlad. Z hlediska inženýrského jsou dalším krokem za slova posloupnosti slov: n- gramy. Těch jsou astronomická množství (řádově kolem trigramů) a každý model se nutně omezí na několik nejčastějších. Na přednášce Lingvistické aspekty umělé inteligence, vykládajíc nám o pokusech o automatický překlad, přednesla nám paní profesorka Eva Hajičová myšlenku větníku. Pro překlad nám nestačí mapování slov z jednoho jazyka do druhého potřebovali bychom věty. Universum vět je ale nekonečné a i hrubé pokrytí je bláhový úkol. Přechod od slov k větám je krok lingvisty. Lingvista ale může učinit mezikrok: od slov ke klauzím. Většina dlouhých vět (a právě ty dělají při zpracování jazyka největší potíže) sestává z několika klauzí. Klauze vykazují velkou míru syntaktické i významové autonomie. Nezřídka lze klauzi z věty odtrhnout a změnit ji na samostatnou větu, aniž by se zásadně změnil význam a obsah výpovědi. Nechci tvrdit, že vytvoření klauzníku je nějaký snadný úkol, to v žádném případě. Dokonce je pravděpodobně jen o málo lehčí než vytvoření větníku. 1 Pravidlové zpracování vět se bez zpracování klauzí těžko obejde[1]. Pro statistické zpracování pak klauze znamenají zmenšení univerza a redukci řídkosti dat (data-sparseness) oproti větám. Detekovat klauze, jejich hranice a vzájemné postavení je jistě jeden ze stěžejních a nevyhnutelných úkolů komputační lingvistiky na cestě k formalizaci jazyka, syntaktické a sémantické analýze a automatickému překladu. Tato diplomová práce pojímá detekci klauzí a jejich vztahů jako úlohu strojového učení. Nepokouším se tedy o to přesně ručně formalizovat část úkolu, ale robustně s určitým množstvím chyb vyřešit celý problém. 1.3 Základní pojmy Podle anglické Wikipedie[2] je klauze skupina slov obsahující podmět a přísudek. U některých jazyků (a to se češtiny týká) nemusí být podmět explicitně zastoupen. Méně vágní, standardně užívanou definici neznám. Pro účely této práce používám definici klauze na základě Funkčního generativního popisu[3] jako podstrom každého přísudku na analytické rovině i s případnou podřadicí spojkou přísudku závislostně nadřazenou. Na základních a středních školách se o klauzích mluví jako o vedlejších a hlavních větách. Zde používáme termín věta pro celá souvětí nebo jednoduché věty, po lopatě řečeno od velkého písmene po tečku. To je samozřejmě nepřesný popis, nebot Přišel p. Novák. je jedna věta, stejně jako ipod konečně u nás! Definice věty je však mimo rámec této diplomové práce text rozdělený na věty a na tokeny (rozuměj slova a interpunkční znaménka) i s morfologickým označkováním předpokládám hotové na vstupu. 1 Osobně mi to připomíná porovnávání nekonečen. Můžeme to dělat, ale stejně žádné nekonečno nemáme. 7

8 Podle naší definice klauze (podstrom přísudku + spojka) má věta Mezi důležitá kriteria výběru podnikatelů patří: * Ekonomický úspěch z hlediska růstu a zisku firmy, * ochota zdravě riskovat, * podíl na zdokonalování managementu, marketingu, výrobků i služeb, * charakter podnikatele, * pozitivní společenský dopad působení firmy na obec. jedinou klauzi. Příkladem věty s více klauzemi je Tyto snahy jsou o to pochopitelnější, když si uvědomíme, že zde volby vyhráli převážně, byt přejmenovaní, komunisté (Iliescu, Alia,...). Tato věta má tři klauze: 1. Tyto snahy jsou o to pochopitelnější 2., když si uvědomíme 3., že zde volby vyhráli převážně, byt přejmenovaní, komunisté (Iliescu, Alia,...) Komplexněji jsou klauze definovány v kapitole 3. 8

9 Kapitola 2 Předchozí práce Tématu rozpoznávání klauzí byla věnována řada prací. Na CoNLL 2001 bylo téma Clause Identification vyhlášeno jako shared task.[4] Ze zde citovaných článků uved me např. [5] a [6]. V češtině se tomuto tématu zatím, pokud je mi známo, nikdo samostatně a uceleně nevěnoval. Úzce však s tématem rozpoznávání klauzí a jejich vztahů souvisí články RNDr. Kuboně[7] a doc. Petkeviče[8], které v krátkosti představím. 2.1 Segmentace češtiny dr. Kuboně a dr. Lopatkové Poprvé u RNDr. Vladislava Kuboně, Ph.D. jsem se setkal s myšlenkou, že i velmi dlouhé české věty jsou pro člověka srozumitelné díky přítomnosti zvláštních slov, které zval kosti [9]. Mezi ně řadil interpunkční znaménka a spojky, které rozdělují větu na menší úseky, které mentálně zpracováváme zvlášt a syntetizujeme vztahy mezi nimi jako jakýmisi lingvistickými jednotkami. Měl za to, že podobně by mohl postupovat i počítač při analýze věty a značně si tak ulehčit úkol zpracování dlouhé a komplikované věty. Tato myšlenka mě vedla k prvním experimentům s klauzemi a byla vlastně prvotní inspirací k práci s tímto tématem. I dr. Kuboň se tomuto tématu věnoval paralelně se mnou, ale pracovali jsme nezávisle na sobě a s odlišnými přístupy. Jeho práce ve spolupráci s RNDr. Markétou Lopatkovou, Ph.D. a Martinem Plátkem, CSc. přinesla mezi jiným ovocem i článek A Linguistically-Based Segmentation of Complex Sentences [7]. Autoři článku se pokoušejí o lingvistické (rozuměj pravidlové, nikoliv strojově naučené) dělení českých vět na segmenty, které charakterizují jako snadno detekovatelné, lingvisticky motivované jednotky, které mohou poskytnout základ pro další zpracování. Za tímto účelem se definuje množina slov - tzv. separátorů, mezi něž patří především spojky a interpunkční znaménka. Separátory jsou rozděleny na: otevírací (podřadicí spojky), uzavírací (terminátory vět) a 9

10 smíšené (čárka, souřadicí spojky). Vstupní věta je rozdělena na segmenty oddělené posloupnostmi separátorů a mezi jednotlivými segmenty jsou určeny možné vztahy: otevření nové klauze, uzavření klauze, pokračování klauze. V některých případech je vztah jednoznačný (např. v případě podřadicí spojky), jindy je možností více (např. v případě samotné čárky). Takto vznikne jedno nebo více schémat věty. Závěr článku konstatuje, že tato metoda vybízí k výzkumu vztahů mezi segmenty a klauzemi. S tím já souhlasím a domnívám se, že tento vztah, najmě pak přechod od takto vytvořených segmentů ke klauzím, nebude triviální. Největší problém vidím ve společných rozvitích koordinovaných klauzí, která bývají v jednom segmentu s jednou z koordinovaných klauzí, neoddělená separátorem. 2.2 Pravidlová detekce klauzí v disambiguačním systému doc. Petkeviče Pan doc. RNDr. Vladimír Petkevič, CSc. a jeho tým z Ústavu teoretické a komputační lingvistiky 1 FF UK pracují na pravidlové morfologické disambiguaci češtiny.[8] V rámci této disambiguace se využívá i některých pravidel vztahujících se na klauze. Speciálně o nich vyšel článek Clause Identification Based on Corpora of Contemporary Czech na konferenci Gramatika a korpus 2007[1]. Článek postuluje nezbytnost identifikace klauzí pro každé sofistikované strukturní zpracování přirozeného jazyka a předkládá několik příkladů, jak tohoto cíle lze částečně dosáhnout pomocí pravidlové detekce hranic klauzí. Využívá se zde ku příkladu pravidla, že v jedné klauzi je nanejvýš jedno finitní sloveso a že klauze bývají separovány spojkami nebo interpunkcí. Na rozdíl od článku [7] však nejde o obecnou metodu, která by měla za cíl dát podklad pro další zpracování, nýbrž se zde pracuje se zcela konkrétními, zevrubně popsanými jazykovými případy, které mají sloužit pro morfologické zjednoznačňování. Důležitost detekce klauzí je zdůvodněna tvrzením, že drtivá většina syntaktických a sémantických vztahů je uzavřena v rámci jedné klauze. Uvádí se příklad vztahů uvnitř klauze a vztahů mezi klauzemi: Vztahy uvnitř klauze: slovosled, valence a valenční rámce, shoda a její rozsah, analytický přísudek a jeho rozsah, koordinace a její rozsah, vnitřní koreference / anafora

11 Vztahy vně klauzí: vnější koreference, extrakce (jednoho členu do nadřízené klauze), když syntaktický člen má podobu závislé klauze. Dále se postulují zdánlivě triviální výroky, jejichž patřičné využití však skýtá mnohé možnosti: 1. Předložková fráze, čili předložka a na ní závislá jmenná fráze, náleží jediné klauzi. Ku příkladu v citované větě Král je ve vyhnanství a Říši vládne darebák. je díky tomuto faktu vyloučeno, aby slovo Říši bylo v lokálu. 2. Adjektivní rozvití substantiva jsou v téže klauzi jako substantivum samo. 3. Valenční požadavky členu Č jsou ukojeny prvky klauze, do které Č náleží (tyto prvky mohou však být samy klauzemi). 4. Části víceslovného analytického přísudku jsou v jediné klauzi. 5. Vztažná částice se, si je v téže klauzi jako její antecedent. Příklad udává citovaná věta z dílny autorů: Když se poté, co se na mě podíval, rozhodl podat výpověd, zazubil se. Díky tomu, že klauze co se na mě podíval i klauze zazubil se obsahují reflexivum tantum i vztažnou částici, je jasné, že ke slovesu rozhodl se vztahuje první se ve větě. Práce prezentovaná v tomto článku je jen střípkem skleněného monstra pravidlové morfologické disambiguace češtiny. Detekce hranic klauzí a její důsledky jsou zde využívány vysoko nad rámec metod načrtnutých v článku. Vzhledem k tomu, že jde o složitý systém vzájemně provázaných pravidel, je však možnost samostatného využití těchto pravidel pro detekci klauzí (nemluvě o vztazích mezi nimi) mírně řečeno problematická. 11

12 Kapitola 3 Data Každá úloha využívající metod strojového učení potřebuje data. Řízené (supervised) strojové učení navíc potřebuje data označkovaná v takové podobě, jaká má být výstupem. Pro mě to znamenalo nutnost opatřit texty s vyznačením klauzí v dostatečném množství. 3.1 Anotace Pro každou větu existuje aspoň jeden oddíl. Každý uzel ve větě má jednoznačně určený oddíl, do kterého náleží. Oddíl může být typu klauze, koordinace nebo rozvití koordinace (dále jen rozvití). Oddíly jedné věty tvoří zakořeněný strom. Každý oddíl má mezi uzly své věty právě jednoho reprezentanta. Každý uzel věty je přitom reprezentantem nejvýše jednoho oddílu. Množinu uzlů náležící oddílu nazývám komponenta oddílu. Komponenty tvoří disjunktní pokrytí uzlů věty. To se netýká technického kořene, který je na analytické rovině v každé větě přítomen, a který do žádného oddílu nenáleží. Kořenový oddíl je vždy typu klauze, jako jediný má za rodiče sám sebe a nemusí obsahovat žádné uzly. Jeho reprezentantem je vždy technický kořen věty. Každá klauze ve větě má odpovídající oddíl typu klauze. Jeho reprezentantem je přísudek dané klauze. Jeho uzly jsou: reprezentant a jeho podstrom a případná podřadicí spojka závislostně nadřazená reprezentantovi. Z této množiny jsou však vyloučeny uzly v podstromu reprezentanta, které stejným principem náleží jinému, závislému oddílu. Jsou-li ve větě koordinované klauze (byt i jedna jediná, jak to bývá u vět začínajících slovem však ), pak každá taková koordinace má odpovídající oddíl typu koordinace. Jeho reprezentantem je koordinační spojka. Jediným uzlem takového oddílu je zpravidla reprezentační spojka. Pokud však na reprezentačním uzlu visí uzly, které nejsou koordinovány ani nerozvíjejí koordinované členy, nýbrž 12

13 jsou součástí např. víceslovné koordinační spojky, pak patří taktéž do oddílu koordinace. Příkladem je spojka ale i. Pokud se ve větě nachází koordinace klauzí, která je sama rozvitá tak, že to, co závisí na koordinační spojce, se efektivně vztahuje ke koordinovaným členům, pak každý takový syn koordinační spojky náleží zvláštnímu oddílu. V případě, že takovou koordinaci rozvíjí jiná klauze, nedochází k ničemu zvláštnímu. Pokud se však jedná o jiný syntaktický útvar, jako např. jmennou frázi, pak tento oddíl má typ rozvití. Reprezentantem je syn koordinační spojky, tedy kořen onoho syntaktického útvaru, a komponentu tvoří reprezentant a jeho podstrom. Z něho jsou opět vyloučeny případné závislé oddíly. Rodičovský oddíl je definován jako oddíl, do kterého patří analytický rodič kořenového uzlu. Pojem kořenový uzel implikuje, že každý oddíl je sám stromovou komponentou analytického stromu věty. Tak tomu skutečně je, až na kořenový oddíl, který stromovou strukturu mít nemusí a jehož se netýká ani tato definice rodičovského oddílu. Oddíly závislé na oddílu typu koordinace mohou mít různé typy závislosti: mohou být členem koordinace tzn. být koordinovány, nebo mohou být dítětem koordinace. Toto se týká oddílů typu klauze nebo koordinace (to jest, když jedna koordinace závisí na jiné: Bral, ale i půjčoval a dával., viz též obr. 3.1). Oddíly typu rozvití vždy závisí na oddílu typu koordinace a mají vždy typ závislosti část. Tyto oddíly obsahují uzly, které náleží do všech koordinovaných klauzí dané koordinace. ROOT!, Šetřete peníze, netelefonujte faxujte Obrázek 3.1: Koordinace závislá na jiné koordinaci 13

14 Na obrázcích ilustrujících rozdělení vět na klauze jsou typy závislosti znázorněny čarami k rodiči: plná čára představuje závislost dítěte, pruhovaná čára představuje závislost člena a dvojitá čára představuje závislost části. Nabízí se otázka, proč koordinace a jejich rozvití mají ve stromě klauzí vrcholy: jde přece o strukturu klauzí. Přítomnost koordinací mezi vrcholy stromu je technickým řešením zápisu vztahu koordinace. Jistě by to bylo možné učinit jinak, ale tento způsob je přímou paralelou zápisu koordinace v Pražském závislostním korpusu. Ten je jednak lety prověřený a jednak z toho plyne přímočarost a jednoduchost převodu koordinací z analytických stromů do struktury klauzí. Co se přítomnosti rozvití ve stromech týče, je to způsob zápisu toho, že ono rozvití náleží do všech koordinovaných klauzí. Kdyby uzly v rozvití koordinace neměly vlastní oddíl, musely by mít oddílů více a to by způsobovalo komplikace v případě, že rozvití koordinace má závislou klauzi. Příklady jsou na obrázcích 3.2 až ROOT? Je tento reklamní slogan pravdivý Obrázek 3.2: Věta s jednou klauzí 14

15 ROOT z hospodských keců ;, které nic nevytvoří Obrázek 3.3: Věta se jmennou frází v kořenové klauzi ROOT. Telefonicky jej požádal, aby mu dokument poslal Obrázek 3.4: Věta se dvěma klauzemi 15

16 ROOT. Počáteční nejistota zmizela, jak obstojí, Obrázek 3.5: Věta s vloženou klauzí ROOT A ZBROJOVKY POZASTAVILY VÝROBU ŽÁDAJÍ SPLACENÍ DLUHŮ Obrázek 3.6: Věta s koordinovanými klauzemi, které sdílejí rozvití (podmět zbrojovky) 16

17 ROOT. a Aby nezdržoval, dostal smyk někde před Bratislavou se převrátil Obrázek 3.7: Věta s klauzí, která je závislá na koordinaci ROOT. a Goodchildův syn David se se psem soudil vyhrál, který byl vyděděn, Obrázek 3.8: Klauze (který byl vyděděn) závislá na rozvití koordinace. Kdyby jmenná fráze Goodchildův syn David neměla vlastní oddíl, nebylo by kam tuto klauzi zavěsit. 17

18 ROOT. Myslím, že je to správné a skoro logické Obrázek 3.9: Členské koordinace zůstávají v rámci jedné klauze ROOT. Jsou jizvy a rány, které změřit a zvážit nelze Obrázek 3.10: Koordinovaná infinitivní slovesa v rámci jedné klauze 18

19 3.2 Zdroj Anotovat data manuálně nepřicházelo v úvahu z ekonomických důvodů: je to zkrátka moc práce. Potenciálním zdrojem anotovaných dat byl Český akademický korpus,[10] ve kterém jsou klauze vyznačeny, ovšem nikoliv podle mého anotačního schématu, nýbrž v souladu s tím, jak se klauze pod názvem hlavní a vedlejší věty vyučují na základních a středních školách. Není zde splněn předpoklad, že každý přísudek má vlastní oddíl, kvůli koordinovaným slovesům. Předpoklad o stromové struktuře jednotlivých oddílů je též porušen, ovšem vykompenzován tím, že klauze vyznačené v Českém akademickém korpusu jsou většinou souvislé úseky. Je pravdou, že anotační schéma pro klauze nebylo v době rozhodování o zdroji dat hotové, takže nesplňování předpokladů anotačního schématu od dat Českého akademického korpusu je spíše důsledkem než důvodem toho, že jsem jej nakonec nevybral. ROOT Jednotka rutherford definovaná jako takové množství radioaktivní látky, se v praxi nevžila a není používána. v němž se přemění # atomů, Obrázek 3.11: Věta z Českého akademického korpusu: číselné výrazy jsou odstraněny, separátory klauzí jsou jim přiděleny jinak, koordinované přísudky zůstávají v rámci jedné klauze. Druhým potenciálním zdrojem dat byl Pražský závislostní korpus[11]. V porovnání s Českým akademickým korpusem má více dat, modernější jazyk, konzistentnější anotaci a používá se zhusta pro statistické přístupy ke strojovému zpracování češtiny, at už jde o morfologickou analýzu, syntaktickou analýzu nebo strojový překlad. Jeho jedinou nevýhodou oproti Českému akademickému korpusu je, že neobsahuje explicitní vyznačení klauzí. Byl jsem však přesvědčen, že strukturu klauzí lze automaticky odvodit z anotace analytické roviny. Ta totiž popisuje závislostní vztahy mezi všemi slovy věty ve stromové struktuře. A vycházíme-li z předpokladu, že klauze jsou množiny uzlů, které mají na analytické rovině stromovou závislostní strukturu (čemuž bylo i přizpůsobeno anotační schéma), pak analytické stromy musejí implicitně obsahovat informace o vztazích uvnitř klauzí i mezi nimi. Problém se pak redukuje na formulaci podmínek pro přítomnost oddílů a hledání jejich vzájemných hranic. Příklad analytického stromu věty z Pražského závislostního korpusu a z něj odvozených klauzí je na obrázcích 3.12 a

20 a-ln p25s1 AuxS Myslím Pred. AuxK e AuxC, AuxX nevědí Obj lid Sb vlastn AuxY ani AuxZ oček vali Obj, AuxX co Obj Obrázek 3.12: Analytický strom věty ROOT. Myslím, že lidé vlastně ani nevědí, co očekávali Obrázek 3.13: Klauze odvozené z analytického stromu 20

21 3.3 Algoritmus odvození Vstupními daty jsou analytické stromy Pomocné definice Řekneme, že uzel je klauzotvorný, jestliže je finitním slovesem nebo má syna o analytické funkci AuxV. Z finitních sloves zde ovšem vylučujeme taková, která nesou koordinaci, apozici nebo mají pomocnou analytickou funkci. Jinými slovy, finitní slovesa, jejichž analytická funkce začíná na Aux, nebo se rovná Coord nebo Apos, pro účely rozhodování o klauzotvornosti za finitní slovesa nepovažujeme. a-vesm p38s1 AuxS prožív me Pred? AuxK li AuxC pro Adv ji Obj Existuje Adv - AuxG, AuxX Obrázek 3.14: Standardní případ: Každé finitní sloveso tvoří jednu klauzi, v jejímž stromě je zpravidla, ale ne vždy, kořenem. ROOT? proč ji prožíváme Existuje - li, Obrázek 3.15: Klauze kromě kořenové jsou rozpoznány díky finitním slovesům 21

22 a-mf p2s23 AuxS nelze Pred. AuxK " AuxG jít Sb Do AuxP jsou Apos detail Adv_ Ap jako AuxY typy Adv_ Ap úpln ch Atr nebo Coord obklada ek Atr_ Co dveří Atr_ Co Obrázek 3.16: Sloveso jsou nese apozici. Odtržením klauze jako jsou typy obkladaček nebo dveří by se porušila stromová struktura, dokonce souvislost rodičovského oddílu kvůli slovům úplných detailů. ROOT. " Do úplných detailů jako jsou typy obkladaček nebo dveří nelze jít Obrázek 3.17: Vložená klauze, jejíž přísudek nese apozici, zůstane nevyznačena 22

23 U rozhodování, zda má uzel syna typu AuxV, čímž se vyznačují přísudky jmenné se sponou, je výjimka u koordinačních spojek: Koordinační spojku, která má syna s analytickou funkcí AuxV, za klauzotvornou nepovažujeme. Naopak, jestliže uzel visí na koordinační spojce, jsa členem koordinace (viz níže), a koordinační spojka má syna typu AuxV, pak tento uzel je klauzotvorný. a-lnd p2s1 AuxS Vybral Pred jsem AuxV si Adv Paří Obj Obrázek 3.18: Finitní sloveso jsem má analytickou funkci AuxV a netvoří proto klauzi a-lnd p4s2 AuxS, Coord. AuxK Sama AtvV byla AuxV vyslýchna Pred_ Co zadržovna Pred_ Co Obrázek 3.19: Koordinovaná slova vyslýchána a zadržována nejsou finitními slovesy ani na nich nevisí uzel s analytickou funkcí AuxV, ale přesto tvoří klauze nebot na spojce, která je koordinuje, uzel s afunem AuxV visí, a sice byla. Klauzotvornost uzlů je ilustrována na obrázcích 3.14 až

24 ROOT., Sama byla vyslýchána zadržována Obrázek 3.20: Koordinace přísudků je rozpoznána a označena jako koordinace klauzí. 24

25 Pokrytí uzlu U je definováno jako sám uzel U, případná podřadicí spojka, která je mu závislostně nadřazena, a jeho podstrom. Z podstromu jsou však vyloučeny ty uzly (a jejich podstromy), které náleží do jiných oddílů než U. Vždy, když se novému oddílu přisuzuje pokrytí nějakého uzlu, nalezeným podstromům s jinými, již existujícími oddíly se nový zakládaný oddíl přiřadí jako rodič. Přímí synové koordinačních spojek se dělí do tří skupin: koordinovaných členů, rozvití koordinace a vazalů koordinační spojky. Koordinovaný člen je definován tím, že bud to 1. má atribut is member (jedná se o uzly na analytické rovině) nebo 2. má analytickou funkci AuxC nebo AuxP a jeho syn má atribut is member. Vazal koordinační spojky je takový syn koordinační spojky, který 1. není koordinovaným členem a 2. má analytickou funkci AuxG, AuxX, AuxY nebo AuxZ. Rozvití koordinace je pak na koordinační spojce visící uzel, který není koordinovaný ani spojčin vazal, nýbrž efektivně závisí na všech koordinovaných členech. Obrázky 3.21 až 3.24 ilustrují různé typy uzlů závislých na koordinačních spojkách. 25

26 a-cmpr p15s4 AuxS vypomů e Pred. AuxK Stejn Adv a Coord i AuxZ zapůjčením Adv_ Co podobn Adv_ Co auta Atr Obrázek 3.21: Koordinační spojka s vazalem AuxZ a-ln p7s5 AuxS m Pred. AuxK Vinu Obj tak Coord na AuxP jak AuxY politika Sb_ Co, AuxX publicistika Sb_ Co tom Atr Obrázek 3.22: Koordinační spojka s vazaly AuxX a AuxY 26

27 a-vesm p10s1 AuxS a Coord / AuxG přelo il Pred_ Co doplnil Pred_ Co Karas Sb / AuxG poznmkami Adv Vladimír Atr Obrázek 3.23: Koordinační spojka s členy přeložil a doplnil, rozvitím Karas a vazaly AuxG / ROOT / a / přeložil poznámkami doplnil Vladimír Karas Obrázek 3.24: Věta s členy, rozvitím i vazaly koordinace s vyznačením klauzí 27

28 Vytvoření rozvití pro uzel U s rodičovskou koordinací K probíhá takto: Pokud je U klauzotvorný nebo je podřadicí spojkou a její syn je klauzotvorný, pak pokud je klauzotvůrce reprezentantem nějaké klauze, nastaví se jí K za rodičovský oddíl, jinak se nečiní nic (na klauzotvůrce dojde řada později). Od ted je jisté, že uzel U není kořenem klauze. Založí se nový oddíl rozvití. Za komponentu má pokrytí U, typ závislosti se nastaví na část a reprezentantem se stává U. Rodičovským oddílem se stává koordinace K. Proceduru zavěšení kořene U oddílu definujeme takto: Pokud je rodičovským uzlem U koordinační spojka S a uzel U je členem koordinace, pak se založí oddíl koordinace K. Reprezentantem K je spojka S a její komponentou je táž spojka a její vazalové. Tato koordinace se stane rodičovským oddílem uzlu U s typem závislosti člen. Pro všechny děti S, které jsou rozvitím koordinace, se vytvoří rozvití, jehož rodičem je koordinace K. K se poté zavěsí (zde dochází k rekurzi). Pokud naopak zavěšovaný uzel U není koordinován, pak se jeho rodičovským oddílem stává oddíl, do kterého patří rodičovský uzel Průběh algoritmu Pro každý vstupní analytický strom se učiní toto: Založí se kořenová klauze, která má za reprezentanta technický kořen věty a její komponentou jsou všechny uzly věty. Poté se procházejí od kořene do hloubky všechny uzly a pro každý klauzotvorný uzel U z nich se provede toto: Založí se nová klauze, jejímž reprezentantem je U. Její komponentou je pokrytí U. U se poté zavěsí. Konec algoritmu. V průběhu algoritmu se většině uzlů (kromě těch náležícím kořenové klauzi) vícekrát nastaví, jakému oddílu patří. Platné je vždy poslední nastavení: oddíly si uzly kradou. Nejdříve všechny patří kořenové klauzi, pak se část odtrhne při nalezení prvního klauzotvůrce a tak dále. Směr procházení uzlů od kořene do hloubky není nezbytný. Díky respektu k přítomným oddílům v pokrytí uzlu a jejich převěšování na nově zakládaný oddíl je pořadí uzlů nepodstatné. Procházení do hloubky však vede k tomu, že v průběhu algoritmu je rozdělení věty ve smysluplných krocích, kde zatím neoznačené klauze jsou součástmi sobě nadřazených oddílů. Postup odvození klauzí ve větě bez koordinací ilustrují obrázky 3.25 až Případ věty s koordinací ilustrují obrázky 3.30 až

29 a-ln p4s3 AuxS víme Pred. AuxK Kdy AuxC, AuxX hned Adv přili Obj prohrajeme Adv, AuxX o AuxP jsme AuxV zpas Obj kolik Obj Obrázek 3.25: Závislostní strom věty Když prohrajeme zápas, hned víme, o kolik jsme přišli., ze kterého se bude odvozovat struktura klauzí ROOT Když prohrajeme zápas, hned víme, o kolik jsme přišli. Obrázek 3.26: Na začátku jsou všechny uzly v kořenové klauzi ROOT. Když prohrajeme zápas, hned víme, o kolik jsme přišli Obrázek 3.27: První finitní sloveso, na které se prohledáváním od kořene do hloubky narazí, je víme. Z celého jeho podstromu se vytvoří nová klauze. 29

30 ROOT., hned víme, o kolik jsme přišli Když prohrajeme zápas Obrázek 3.28: Dalším nalezeným finitním slovesem bude prohrajeme. Vytvoří se nová klauze, do níž patří jeho podstrom a rodičovská subordinační spojka. Reprezentant a kořenový uzel se tedy u této klauze liší. ROOT., hned víme Když prohrajeme zápas, o kolik jsme přišli Obrázek 3.29: Nakonec se odtrhne klauze, jejímž kořenem je sloveso přišli. 30

31 a-cmpr p16s1 AuxS Přibýv Pred. AuxK podnikatel Sb a Coord, AuxX kteří Sb nemají Atr_ Co podnikají Atr_ Co kancelá Obj doma Adv samostatnou Atr Obrázek 3.30: Závislostní strom věty Přibývá podnikatelů, kteří nemají samostatnou kancelář a podnikají doma. ROOT Přibývá podnikatelů, kteří nemají samostatnou kancelář a podnikají doma. Obrázek 3.31: Na začátku odvození jsou všechny uzly v kořenové klauzi. 31

32 ROOT. Přibývá podnikatelů, kteří nemají samostatnou kancelář a podnikají doma Obrázek 3.32: První nalezené finitní sloveso přibývá vytvoří klauzi s celým svým podstromem. ROOT. Přibývá podnikatelů, kteří a podnikají doma nemají samostatnou kancelář Obrázek 3.33: Druhý krok spuštěný nalezením finitního slovesa nemají má více fází. První fáze je založení klauze, jíž patří podstrom slovesa. 32

33 ROOT. Přibývá podnikatelů kteří podnikají doma, a nemají samostatnou kancelář Obrázek 3.34: Druhou fází druhého kroku je založení koordinačního oddílu, tvořeného nadřazenou koordinační spojkou a jejími vazaly, zavěšením této koordinace na původního rodiče a zavěšením vytvořené klauze na koordinaci jako jejího člena. ROOT. Přibývá podnikatelů podnikají doma, a kteří nemají samostatnou kancelář Obrázek 3.35: Druhý krok končí třetí fází, ve které se ke koordinaci připojí její rozvití, v tomto případě slovo kteří. 33

34 ROOT. Přibývá podnikatelů, a kteří nemají samostatnou kancelář podnikají doma Obrázek 3.36: Při nalezení slovesa podnikají se oddělí druhá koordinovaná klauze. 34

35 3.3.3 Slabiny algoritmu Výše popsaný algoritmus má několik slabin: Neskýtá žádný způsob na odhalení čistě jmenných přísudků. Viz obrázky 3.37 až Je-li klauze koordinována s klauzí se jmenným přísudkem nebo s obecnou frází, není tato fráze rozpoznána jako koordinovaný člen. Druhou vlastností, která by se dala považovat za slabinu, je, že zcela chybí pojem koordinovaných přísudků: vždy se vyhodnotí jako koordinované klauze. Viz obrázek I třetí mně známá slabina algoritmu má co dělat s koordinacemi: Pokud klauzotvorný uzel visí na koordinaci podřadicích spojek, tyto spojky se nepřipojí ke klauzi onoho uzlu. Podobně, pokud na podřadicí spojce visí koordinace klauzí, tato podřadicí spojka není do koordinace připojena. Viz obrázky 3.41 a Tento jev je řídký, ale vede k nesprávnému rozdělení. Na základě informací z morfologické roviny a závislostí na analytické rovině nemá problém detekce klauzí se jmennými přísudky dle mého názoru jednoduchého a přímočarého řešení. Jmenné přísudky se vyskytují zřídka, takže dopad není zásadní.skutečný problém nastává v případě, že klauze se jmenným přísudkem by byla koordinována s jinou klauzí, která by měla přísudek slovesný. V takovém případě by uzlům klauze se jmenným přísudkem zůstal rodičovský oddíl a tím by se porušila jeho stromová struktura, ba dokonce souvislost. Druhá slabina, a sice že se koordinované přísudky interpretují jako koordinované klauze může v některých případech hraničit s absurditou, ale těžko říci, kde stanovit hranici. Stávající přístup preferuje konzistenci nad intuitivností. 1 U třetí slabiny - nepřipojování podřadicí spojky nadřazené koordinaci klauzí není ani jasné, jaká by měla být správná reprezentace: Nabízí se připojit podřadicí spojku do komponenty koordinace, což ovšem poruší hezkou vlastnost koordinací, že jejich komponenty sestávají jen ze spojky a jejích vazalů; nebo by šlo podřadicí spojku připojit jako rozvití koordinace, což by ovšem mělo za následek, že by se prohodil směr závislosti oproti analytickému stromu Novější verze Po sepsání tohoto textu se podařilo vytvořit novější verzi odvozovacího algoritmu, ve které je většina chyb odstraněna. Problém hledání jmenných přísudků, jak se ukázalo, má triviální řešení v dříve opomenuté složce analytické roviny, a sice v analytických funkcích. Jmenné přísudky totiž nesou afun Pred (jako predikát přísudek). Rozšířením podmínek klauzotvornosti o přítomnost této analytické funkce se tato chyba napravila. Problém podřadicích spojek nad koordinacemi byl ošetřen tak, že podřadicí spojka nyní náleží do komponenty koordinace, jak je to ilustrováno na obrázku Případ, kdy by byly koordinované podřadicí spojky (Nevím, zda a proč to učinil.) nebyl vyřešen. Nenašel jsem totiž ani jediný případ tohoto jevu v celém Pražském závislostním korpusu, takže jsem se rozhodl tuto slabinu nyní ignorovat. Podstromy koordinované s klauzemi jsou nyní vyznačeny jako klauze koordinovanost s klauzotvorným uzlem je nyní další podmínka klauzotvornosti. 1 To je zase v protikladu k filosofii programovacího jazyka, v němž byl systém stvořen. 35

36 a-ln p3s5 AuxS Proto Coord. AuxK soudím Pred_ Co e AuxC, AuxX bude Obj vhodn Pnom ždat Sb o AuxP v AuxP členství Obj dob Adv v AuxP a AuxZ mít Atr EU Atr, AuxX kdy Adv budeme AuxV dvod Obj myslet Atr si AuxT e AuxC, AuxX p ijde Obj odpově Sb obratem Adv říci Pred_ Pa - AuxG tě! ko Adv li AuxC, AuxX bude Obj - AuxG to Sb do AuxP roku Adv 1996 Atr Obrázek 3.37: Strom věty s klauzí, která má jmenný přísudek 36

37 , " e odpověď přijde obratem - těžko říci, bude - li to do roku 1996 Obrázek 3.38: Dřívější, chybný stav: Fráze těžko říci není rozpoznána jako klauze., že odpověď přijde obratem - těžko říci, bude - li to do roku 1996 Obrázek 3.39: Současný stav: Klauze těžko říci rozpoznána i přes absenci finitního slovesa. 37

38 ROOT? nebo Kde se tyto firmy dozvěděly získaly adresy Obrázek 3.40: Věta s koordinovaným přísudkem analyzovaná jako koordinace dvou klauzí (se dozvěděly a získaly) s mnoha společnými rozvitími. do # once je zde otázka, zda s jakým výsledkem a jsem se podrobil testu na AIDS Obrázek 3.41: Dřívější stav: jednak fráze s jakým výsledkem není členem koordinace, jednak podřadicí spojka zda není přiřazena závislým klauzím. 38

39 do $ once je zde otázka, zda a jsem se podrobil testu na AIDS s jakým výsledkem Obrázek 3.42: Realizované řešení: podřadicí spojka i se svým podstromem součástí komponenty koordinace; předložková fráze vyznačena jako klauze. Nová verze algoritmu pro odvození změnila i výkon predikčního modelu na datech natrénovaného. Viz kapitolu 6. Hypotéza o automatické odvoditelnosti rozdělení na klauze z analytických stromů je tedy neformálně ověřena a s uspokojivou mírou úspěšnosti realizována. 39

40 Kapitola 4 Metoda vyhodnocení výsledku Různé úlohy zpracování jazyka (a dat obecně) vyžadují různé přístupy pro vyhodnocení úspěšnosti. Ku příkladu zjednoznačňování (disambiguace) morfologické analýzy, známá též jako tagging, se dá vyhodnotit jedním číslem: Poměrem správně přiřazených značek ku počtu slov. Toto skóre se nazývá anglicky accuracy. Dalším příkladem bud úloha detekce pojmenovaných entit v textu. Zde toto jednočíselné skóre nestačí nebot již nejde o klasifikační úlohu. Úspěšnost tady můžeme měřit pomocí poměru správně zdetekovaných entit ku všem zdetekovaným, což se nazývá precision, a poměru správně zdetekovaných entit ku všem, které měly být nalezeny recall. Pochopitelně předchozí věta tvrdící, že samotná accuracy by nestačila, není zcela pravdivá: Můžeme použít poměr slov, kterým je správně určeno, zda jsou či nejsou entitou ku všem slovům. To by ale vedlo k velmi vysokému skóre téměř jakéhokoliv výsledku, ve kterém je dostatek slov neoznačených, protože slov, které nejsou entitami, je drtivá většina. Takové skóre by dobře neilustrovalo skutečnou úspěšnost systému. Detekce klauzí je ještě o stupeň dál. Můžeme použít precision a recall, když na úlohu dělení vět na klauze podíváme jako na detekci oddílů: Zavedeme relaci rovnosti oddílů, např. podle toho, zda se shodují jejich reprezentační uzly nebo všechny jejich uzly a můžeme zcela standardně zadefinovat precision jako poměr počtu správně nalezených oddílů ku počtu všech nalezených a recall jako poměr počtu správně nalezených ku počtu všech, které se měly nalézt. Máme zde širokou škálu možností, jak přísné naše hodnocení bude: podle toho, jak zadefinujeme relaci ekvivalence. Můžeme použít dokonce i accuracy. Zformulujme úlohu jako problém nalezení závislostního stromu tak, že závislosti mezi oddíly budou vyjádřeny závislostmi mezi jejich reprezentanty a uzly, které nejsou reprezentanty žádného oddílu, budou viset na reprezentantech svých oddílů. Pak můžeme definovat accuracy jako poměr počtu správně určených závislostí ku počtu všech závislostí. Takové hodnocení nám však mnoho nevypoví o tom, jak si model vedl, v čem dělá chyby a tak dál. Žádný z navrhovaných přístupů neskýtá spojitou normu pro ohodnocení oddílů, jejichž komponenta (množina uzlů) je s jistou přesností správně určena. Určí-li se klauze zcela správně, až na to, že dvě slova z třiceti budou chybně přidělena sousední klauzi, chtěli bychom, aby taková predikce dostala větší skóre než predikce, 40

41 kde bude nesprávně určených uzlů deset. Je tedy potřeba jaksi měřit překryv nalezených oddílů s původními. Za tímto účelem jsem navrhl tzv. hladké skóre. Algoritmus jeho výpočtu je následující: Skóre se inicializuje na nulu. Pro každý predikovaný oddíl P se nalezne oddíl G ve zlatém standardu takový, že žádný oddíl ve zlatém standardu neobsahuje více uzlů náležících do P než G. Do seznamu skóre klauzí se přidá hodnota výrazu ((počet uzlů sdílených P i G minus počet uzlů P, které nejsou v G) děleno počtem uzlů v P). Toto se podobá precision. Pro každý oddíl G ve zlatém standardu se nalezne predikovaný oddíl P takový, že žádný predikovaný oddíl neobsahuje více uzlů náležících do G než P. Do seznamu skóre klauzí se přidá hodnota výrazu ((počet uzlů sdílených G i P minus počet uzlů G, které nejsou v P) děleno počtem uzlů v G). Toto se podobá recallu. Výsledkem je aritmetický průměr čísel v seznamu skóre klauzí. Hladké skóre měří čistě překryv komponent oddílů. Zcela ignoruje reprezentanty, závislosti i jiné atributy oddílů. Proto používám na vyhodnocení jednak hladké skóre a jednak metody počítající precision a recall. Jak stojí výše v této kapitole, vyhodnocení dělení na klauze pomocí precision a recall vyžaduje definici relace ekvivalence mezi oddíly v predikci a ve zlatém standardu. Používám tři metody rozhodování shodnosti oddílů: Jednak metodu podle reprezentanta, kde dva oddíly považuji za shodné, jestliže jejich reprezentantem je týž uzel, jednak podle komponenty, kde dva oddíly považuji za shodné, pokud jim náleží stejná množina uzlů a jednak podle reprezentanta i komponenty. K těmto dvěma metodám pak existují zpřísněné varianty, u nichž se oddíly nepovažují za shodné, pokud se liší v některé vlastnosti, jimž říkám tagy. Tyto jsou: shodnost rodičovských oddílů predikovaného oddílu a oddílu ve zlatém standardu, analytická funkce reprezentanta (kteráž odpovídá druhu vedlejší věty přívlastková, podmětná atd.), typ oddílu (zda se jedná o klauzi, koordinaci nebo rozvití koordinace) a typ závislosti (zda je oddíl koordinován). 41

42 Kapitola 5 Startovní čára Před vážným pokusem stvořit program, který by co nejlépe automaticky nacházel klauze ve větách a vztahy mezi těmito klauzemi, jsem si chtěl zdola odhadnout, v jakou úspěšnost mohu doufat. Na to jsem naprogramoval aplikaci, která problém řešila na základě velmi jednoduchého a hrubého postupu. Moje startovní čára (anglicky baseline) nevyužívá metod strojového učení. Spočívá na tomto algoritmu: Za separátory klauzí označ znaky čárku a středník. Ve vstupní větě založ kořenovou klauzi. Rozděl větu na segmenty podle separátorů. Každý separovaný segment, který obsahuje finitní sloveso, označ jako klauzi, která závisí na kořenové a jejímž reprezentantem je přítomné finitní sloveso. Příklady výstupu startovní čáry jsou na obrázcích 5.1 a 5.2 ROOT! %etřete peníze, netelefonujte, faxujte Obrázek 5.1: Analýza věty podle startovní čáry: komponenty jsou určeny až na čárky správně, koordinace však není zachycena. Úspěšnost startovní čáry na dtest datech udává tabulka 5.1. Startovní čára dosahuje optimistických výsledků, obzvlášt s přihlédnutím k faktu, že určování závislostí je hloupé i na heuristiku nastřelenou od boku. Hodnocena pouze podle reprezentantů klauzí, čili vlastně detekce klauzí jako takových, bez starosti o to, která slova do té které náleží, dosahuje bezvadné precision 42

43 ROOT, lidové. To neodpovídá pravdě, bylo to povstání spontánní Obrázek 5.2: Druhá klauze je nekompletní na netriviálních větách startovní čára selhává. Metoda Precision Recall hladké 0.89 reprezentant reprezentant+tagy komponenta komponenta+tagy repre+komponenta repre+komp+tagy Tabulka 5.1: Úspěšnost startovní čáry; tagy zahrnují rodiče, typ oddílu a typ závislosti 43

44 pětadevadesáti procent. Je to vlastně potvrzení hypotézy, že každé finitní sloveso reprezentuje klauzi. I jako hrubé rozdělení slov do oddílů si vede startovní čára dobře: devětaosmdesátiprocentní překryv udaný pomocí hladkého skóre to ilustruje. Podstatně méně je klauzí, jejichž komponenta je zcela správně určena. Ani úplně správně určených komponent není mizivé množství, navzdory tomu, že do určování rodičů a typů závislostí nevkládá startovní čára ani malé úsilí. Je to patrně tím, že mnoho vět má triviální strukturu s jedním nebo žádným finitním slovesem. Tabulka též ukazuje význam různých metod vyhodnocení. Rozpětí od čtyřiceti tří do devadesáti pěti procent u precision na témž výsledku, přičemž obě čísla jsou při správně interpretaci relevantní a vypovídající, ukazuje, že redukovat vyhodnocení metody určování klauzí na jedno nebo dvě čísla by bylo pošetilé. 44

45 Kapitola 6 Řešení Úlohu hledání klauzí v českém morfologicky označkovaném textu jsem se pokusil vyřešit třikrát: Jednak při tvorbě startovní čáry (viz kapitolu 5), jednak za pomoci vlastního modelu a jednak s využitím existujícího statistického parseru. 6.1 Hledání hranic klauzí První můj pokus o vážné vyřešení úlohy měl stát na mém vlastním modelu. Klauze jsou netriviální datové struktury. Metody strojového učení však adresují obvykle prostou klasifikaci nebo regresi modelují funkce. Místo abych formuloval celou úlohu jako klasifikaci nebo regresi, rozdělil jsem ji na podúlohy a ty jsem chtěl řešit postupně. Prvním krokem bylo hledání hranic oddílů. Vytvořil jsem tedy klasifikační model pro slova ve větách. Sledované rysy jsou: lemma, zda pravý soused je separátor, zda levý soused je separátor a zda pravý soused je spojkou. Za separátory se zde považují interpunkční znaménka čárka, středník a uvozovky a spojky a, nebo, 45

46 ani a i. Množina lemmat je omezena na ta, která jsou jednopísmenná, která jsou spojkami, která jsou separátory, která jsou interpunkcí a navíc slůvko sice. Ostatní lemmata jsou nahrazena implicitní hodnotou reprezentovanou řetězcem OTHER. Na základě těchto rysů je slovu určeno, zda je u okraje klauze. Konkrétně se predikuje, zda je slovo na levém okraji oddílu, zda je na konci díry v oddílu či nikoliv. Dále pak zda je na pravém okraji oddílu, zda je na začátku díry či nikoliv. Kartézský součin těchto dvou množin dává devět tříd, do kterých je slovo klasifikováno. Dírou v oddílu zde míním souvislý úsek slov, která do daného oddílu nepatří, ale slovo vlevo i slovo vpravo od úseku do daného oddílu patří. Tabulka 6.1 ilustruje rysy vyhodnocené na krátké větě. lemma sep vpravo sep vlevo spojka vpravo klasifikace forma OTHER Uvědomte OTHER si COMMA , 317ee že OTHER odpovídáte OTHER za OTHER škody COMMA , OTHER které OTHER mohou OTHER provozováním OTHER neschváleného OTHER zařízení OTHER vzniknout DOT Tabulka 6.1: Rysy prvního modelu na jedné větě. První cifra klasifikace udává, je-li slovo na pravém okraji klauze, druhá pak na levém. Úspěšnost tohoto klasifikátoru byla jen asi 75%. I když bylo jasné, že rozšířením prostoru rysů by šlo úspěšnost podstatně zvednout, od tohoto postupu jsem zcela 46

47 upustil. Hledání hranic oddílů totiž byl jen první krok, na který se mělo inkrementálně navazovat a pokud by už tento první krok do kompletního modelu vnesl nezanedbatelné množství chyb, musela by celková úspěšnost být značně pod moje ambice. 6.2 MST Inkrementální přístup jsem se rozhodl nahradit přístupem holistickým, kde bych pomocí jednolitého modelu mohl vyřešit celou, nebo alespoň téměř celou úlohu. Jedno z možných řešení bylo, abych provedl syntaktickou analýzu vstupní věty a klauze odvodil z výsledku stejně, jako je odvozuji z analytických stromů Pražského závislostního korpusu. Tento nápad jsem nechtěl realizovat, protože jedním z hlavních důvodů, proč jsem se vůbec věnoval automatickému dělení na klauze, bylo, že syntaktická analýza češtiny je příliš těžká úloha, kterou zatím neumíme uspokojivě řešit, a rozdělování vět na klauze je podúloha, tedy principielně lehčí, a jejím dobrým vyřešením by se mohl udělat přínosný mezikrok, který by syntaktické analýze a na ní závislým úlohám mohl pomoci. Využití síly McDonaldova Maximum Spanning Tree (MST) parseru[12] se však ukázalo jako schůdná cesta. Přeformulovat zadání úlohy dělení vět na klauze a určení vztahů mezi klauzemi na úlohu konstrukce závislostních stromů s označkovanými hranami byl problém s velmi přímočarým řešením. MST parser jsem tak natrénoval zvlášt na dělení na klauze, takže komplexita modelu zbytečně nebobtnala na řešení plné syntaktické analýzy. Trénovací a testovací data jsem upravil tak, aby byla stravitelná pro MST parser. Data pro MST parser mají tento formát: Slova (tokeny) reprezentují uzly stromu. Pro každé slovo je dána čtveřice hodnot: forma, morfologická značka (tag), rodičovský uzel a návěští (label) závislostní hrany k rodiči. Svoje data jsem tomuto formátu přizpůsobil takto: Závislostní vztahy mezi oddíly jsou převedeny na závislosti mezi jejich reprezentanty. Náležení uzlu do oddílu je reprezentováno jeho závislostí na reprezentantovi oddílu. Typ oddílu i typ jeho závislosti jsou zakódovány v labelu. Label má tvar typ oddílu-typ závislosti. Tagy jsem omezil na pozice dva až pět, čili slovní poddruh, rod, číslo a pád. Analytické funkce jsem vůbec do modelu nezahrnul a žádným oddílům ji nenastavuji. Úspěšnost modelu získaného natrénováním MST parseru na takto zakódovaných datech testovaná na dtest datech shrnuje tabulka 6.3. Úspěšnost modelu natrénovaného na datech odvozených z PDT pomocí předchozí verze algoritmu (viz sekce 3.3, 3.3.3, 3.3.4) byla podstatně nižší viz tabulku 6.4. Fakt, že se úspěšnost po opravě odvozovacího algoritmu tak razantně zvedla, mě překvapil. Čekal jsem spíše 47

48 šetřit peníze, telefonovat_:t, faxovat_:t! i-p- NIP4 :--- i-p- :--- i-p- : Klauze-CLEN SLOVO Koordinace-DITE Klauze-CLEN Koordinace-CLEN Klauze-CLEN S být tento reklamní slogan pravdivý? B-S- DYS1 AIS1 NIS1 AIS1 :--- Klauze-DITE SLOVO SLOVO SLOVO SLOVO SLOVO Tabulka 6.2: Ukázka naformátování vět Šetřete peníze, netelefonujte, faxujte! Je tento reklamní slogan pravdivý? pro MST parser opačnou tendenci, protože nová data lépe zachycují skutečnou strukturu jazyka. Měl jsem za to, že modelovat chyby mého algoritmu bude snazší než modelovat jazyk. Nabízí se vysvětlení, že opravená data jsou konzistentnější (stromová struktura už nebývá porušena, podřadicí spojky už vždy náleží stejnému oddílu jako jejich technický syn,...), takže pravidla je snazší odvodit. Metoda Precision Recall hladké 0.95 reprezentant repre+tagy komponenta komponenta+tagy repre+komp repre+komp+tagy Tabulka 6.3: Finální úspěšnost systému na dtest datech; tagy zahrnují rodiče, typ oddílu a typ závislosti MST parser byl nastaven, aby používal model druhého řádu (second order) a aby používal neprojektivní algoritmus. Viz dokumentaci k MST parseru (soubor program/ceskeklauze/model/mst/mstparser-0.2/readme na CD). 6.3 Model pro komponentu Vida, o kolik nižší je úspěšnost podle komponenty než podle reprezentanta, zkoumal jsem, jak by šlo rozdělování slov do klauzí zlepšit. Doufal jsem, že chyby, které MST dělá v určování komponent oddílů, jsou následkem nějakého snadno uchopitelného, izolovatelného jevu. Obzvláště jsem podezříval čárky a podobná interpunkční znaménka, jejichž začlenění do závislostní struktury je od počátku ústupkem postulátu, že na analytické rovině je každý token uzlem stromu. Jejich náležení do předcházejícího nebo následujícího oddílu je tedy, alespoň pro 48

49 Metoda Precision Recall hladké 0.91 reprezentant repre+tagy komponenta komponenta+tagy repre+komp repre+komp+tagy Tabulka 6.4: Úspěšnost modelu natrénovaného na datech odvozených starší verzí algoritmu. mne, někdy matoucí. Ukázalo se, že chyby se často objevují ve spojitosti s dírami v oddílech. Tehdy jsem totiž používal pro natrénování MST parseru projektivní algoritmus. Přechod k neprojektivnímu úspěšnost nepatrně zlepšil a chyby se rozdrobily, takže jsem nedokázal popsat, kde konkrétně se dělají a kde ne. Rozhodl jsem se tedy speciálně pro rozdělování slov oddílům vytvořit separátní statistický model. Rozdělování slov oddílům zajisté zní velmi podobně jako celá původní úloha, a sice rozdělování vět na klauze, ale vpravdě se od ní značně liší. MST parser větě s uspokojivou úspěšností určí, jaké oddíly se ve větě vyskytují a jaké jsou mezi nimi závislostní vztahy. Nový model by již tedy, využívaje práce MST parseru, rozhodoval pro každé slovo (které nereprezentuje žádný oddíl), do kterého z předem známé množiny oddílů náleží. Navíc by mohl využívat jako rys to, do kterého oddílu bylo slovo zařazeno MST parserem. Model měl následující strukturu: Prvky byly dvojice uzlů téže věty, z nichž jeden byl reprezentantem nějakého oddílu a druhý nikoliv. Pro každou takovou dvojici se vyhodnotily rysy a skóre vzájemné závislosti: 1, pokud druhý uzel patřil oddílu prvního uzlu a 0 v opačném případě. Šlo o regresní model, tedy při predikci skóre pro novou dvojici uzlů mohlo výsledkem být libovolné reálné číslo zpravidla se však očekávaly hodnoty kolem nuly a jedničky. Při analýze se pak uplatněním modelu na základě MST parseru rozdělily uzly na reprezentanty oddílů a listy a následně se pro každou dvojici reprezentant list vyhodnotilo skóre pro vzájemnou závislost. Každý list se pak přiřadil tomu oddílu, s jehož reprezentantem měl maximální skóre závislosti. Po zkušenosti s nevelkou úspěšností modelu pro hledání hranic oddílů, který měl minimalistický prostor rysů, jsem zamýšlel věnovat výběru optimální množiny rysů patřičnou péči. Nadefinoval jsem sto čtyřicet osm rysů, které zahrnovaly lexikální a morfologické vlastnosti dvou zkoumaných uzlů a jejich sousedů, vzdálenost mezi zkoumanými uzly, charakter uzlů mezi nimi a predikci jejich vzájemné závislosti podle MST parseru. Byl jsem si vědom, že příliš chudý i příliš rozmanitý prostor rysů jsou překážkou optimální úspěšnosti modelu, proto jsem měl v plánu před nasazením modelu provést selekci podmnožiny rysů, která by aproximovala optimální podmnožinu. Zde se však objevila technická omezení. Vyhodnotit rysy na trénovacích da- 49

50 tech trvalo na clusteru výpočetních stanic Ústavu formální a aplikované lingvistiky několik desítek hodin. Počet pozorování totiž značně narostl: již se nejednalo o slova, ale o jejich dvojice, byt ne všechny. Přibližně se jednalo o tři a půl milionu pozorování. Vynásobeno sto čtyřiceti osmi rysy dosáhl objem trénovacích dat dvou a půl gigabytu. Ani po převodu řetězcových hodnot do čísel a odstranění identifikátorů slov se data nepodařilo načíst do paměti, natož pak zpracovat. Zkusil jsem tedy provést selekci rysů alespoň na dtest datech, která se po překódování do paměti vešla, ale interpret jazyka R, jehož nástroje na výběr rysů jsem mínil použít, si na tolika rysech vylámal zuby, nepřijav ani formuli popisující závislost predikované vlastnosti na rysech. Pokus o natrénování libovolného modelu bud ani po několika dnech neskončil (to byl případ například modelu K-nearest neighbour) nebo spadl na vyčerpání paměti (všechny lineární modely včetně SVM). Zkusil jsem tedy použít klasifikátor C5.0. Ačkoliv měl model být regresní, klasifikace do tříd 0 a 1 se dá interpretovat jako případ regrese. Byl jsem mile překvapen, když na neupravených, dvouapůlgigabytových datech skončila C5.0 s hotovým modelem za šestnáct minut. Rozhodovací strom indukovaný systémem C5.0 navíc používal jen třicet osm rysů, čímž provedl kýženou selekci (byt mohla být horší aproximací optimální podmnožiny rysů než ta, kterou jsem si sliboval od stepwise feature selection, což je metoda výběru rysů, při které se po jedné přidávají nebo odebírají rysy hladovým přístupem). Model získaný uplatněním C5.0 jsem aplikoval a seznal zlepšení ve skóre podle komponenty o jedno promile. Hladké skóre se zvedlo o čtyři tisíciny promile. C5.0 udávala chybovost svého modelu na půl procenta u trénovacích dat a 3.9% u dat testovacích. Bylo tedy jasné, že o mnoho vylepšit půjde jen těžko a tu mi i došlo, že zdánlivě malá úspěšnost skóre podle komponenty je dána tím, že za správně určený je považován jen ten oddíl, který má všechny uzly určené správně. Je to jako hodnotit úspěšnost parsingu podle počtu správně rozparsovaných vět takové skóre musí nutně být nižší než běžné, kde se hodnotí každá hrana zvlášt. Slušné hladké skóre mého modelu založeného na MST parseru potvrzuje, že přidělování uzlů oddílům je v té oblasti úspěšnosti, kde se již vylepšuje jen obtížně. Vzhledem ke značnému zesložitění, zvýšené výpočetní náročnosti, velikostnímu nárůstu a mizivému přínosu jsem od zakomponování modelu pro komponentu do systému upustil. 50

51 Kapitola 7 Návod k použití Softwarový systém pro rozpoznávání klauzí v českých větách, který byl vytvořen v rámci této práce, má podobu modulu jazyka Perl[13] a skriptů poskytujících jeho funkce z příkazové řádky. Kompletní dokumentace je obsažena v modulu samotném, tedy v souboru CeskeKlauze.pm, a to ve formátu POD (Plain Old Documentation format).[14] Zobrazit lze příkazem perldoc CeskeKlauze. Převést do jiných formátů (text, html,...) lze za pomoci příkazů pod2*. Na Přiloženém CD se modul nachází v adresáři program. 7.1 Použití z příkazové řádky Základní funkce Systém skýtá tři základní funkce: natrénování modelu, analýzu dat a vyhodnocení výsledku. Z příkazové řádky jsou dostupné skrze skripty natrenuj, urci klauze a vyhodnot. Skripty natrenuj a urci klauze přijímají jako první parametry volby. Jejich výčet viz níže. Formát zadání voleb je: -- volba hodnota -- volba 2 hodnota 2 Nutnost a druh uvozovek je pochopitelně závislý na použité konzoli i na znacích přítomných ve volbách. Natrénování modelu vyžaduje dva parametry: 51

52 Morfologicky označkovaná data a anotaci jejich klauzí. Morfologicky, jakož i analyticky označkovaná data se předávají vždy jako maska (wildcard) souborů příslušné vrstvy PML (Prague Markup Language)[15]. Anotace klauzí může být předána bud jako soubor s textovým zápisem klauzí (viz sekci 7.6) nebo jako analyticky označkovaná data. Skript natrenuj přijímá jako první parametr (po případných volbách) anotaci klauzí a jako další parametr morfologicky označkovaná data. Jsou-li tedy PML data umístěna v adresáři/data/train, pak můžeme model natrénovat příkazem:./natrenuj "/data/train/*.a.gz" "/data/train/*.m.gz" Pokud máme anotaci klauzí přímo ve formě textové reprezentace klauzí, a nikoliv implicitně v analytické rovině PML, pak za předpokladu, že klauze jsou uloženy v souboru /data/train/klauze, spustil by se trénink příkazem:./natrenuj "/data/train/klauze" "/data/train/*.m.gz" Volby obecné i specifické pro trénink jsou popsány níže. Predikce struktury klauzí v morfologicky označkovaném textu (analýza) vyžaduje jediný parametr, a to morfologicky označkovaná data. Skriptu urci klauze se opět předávají coby maska souborů. Před tímto povinným parametrem mohou být uvedeny volby. Výsledek v podobě textové reprezentace klauzí jde na standardní výstup. Jsou-li tedy morfologicky označkovaná data, jejichž klauze chceme predikovat, v adresáři /data/dtest, pak můžeme použít příkaz:./urci_klauze "/data/dtest/*.m.gz" > /data/dtest/klauze Volby obecné i specifické pro analýzu jsou popsány níže. Vyhodnocení výsledku predikce vyžaduje tyto parametry: zlatý standard, predikci, metodu vyhodnocení a případné tagy. Referenční data (zlatý standard) a predikce jsou očekávány jako soubory s textovou reprezentací anotace klauzí. Metoda predikce je jedna z těchto: 1 hladke, reprezentant, komponenta a 1 viz kapitolu 4 52

53 reprezentant+komponenta. Ke všem metodám až na hladke lze použít tagy, které zpřísňují hodnocení uložením dalších podmínek na relaci ekvivalence klauzí. Tagy mohou být libovolnou kombinací (bez opakování) z této množiny: afun, rodic, typ a typ zav. Pokud tedy máme zlatý standard a predikci v stejnojmenných souborech a chceme výsledek vyhodnotit podle reprezentanta s ohledem na závislosti, tedy rodičovskou klauzi a typ závislosti, použijeme tento příkaz:./vyhodnot zlaty_standard predikce reprezentant rodic typ_zav Precision a recall (popř. jednočíselné hladké skóre) je vypsáno na standardní výstup Volby Uvádím zde výběr voleb, které systém CeskeKlauze přijímá. Kompletní výčet těch, které rozeznává, stojí v dokumentaci. Další volby může přijímat model, který systém používá. (viz sekci 7.5) konf - cesta k alternativnímu konfiguračnímu souboru (viz sekci 7.3), ukecanost alias verbosita - 0 znamená žádné průběžné zprávy, 1 znamená podávat zprávy, model - jméno třídy modelu (viz sekci 7.5); java memsize - velikost pamět ového prostoru pro javu v megabytech - tato volba je přijímána modelem MST, který systém CeskeKlauze implicitně používá. Pokud bychom tedy chtěli natrénovat nový model, nechtěli bychom při tom dostávat žádné zprávy na standardní chybový výstup o průběhu trénování a chtěli bychom javě uštědřit šestnáct gigabytů paměti, pak by příkaz mohl vypadat takto:./natrenuj --ukecanost 0 -- java memsize \ "/data/train/*.a.gz" "/data/train/*.m.gz" 53

54 7.2 Použití z Perlu Funkce dostupné z příkazové řádky skrze výše popsané skripty jsou vnitřně metodami jednoho modulu jazyka Perl, a sice CeskeKlauze. Ten sídlí v souboru CeskeKlauze.pm. Rozhraní k metodám tohoto modulu je v některých aspektech bohatší než k obalovacím skriptům. Modul CeskeKlauze skýtá tři veřejné metody odpovídající výše popsaným skriptům a konstruktor: new natrenuj urci klauze vyhodnot Metody natrenuj a urci klauze je třeba volat z instance třídy CeskeKlauze, proto je třeba užít nejprve konstruktoru new. Je možné volat ho bez parametrů nebo s jedním parametrem, a to referencí na hashovací pole, ve kterém jsou specifikovány volby jako při spouštění obalovacích skriptů z příkazové řádky. Bez specifikování alternativního konfiguračního souboru se opět použijí i volby ve standardním konfiguračním souboru konf v témže adresáři, kde je i soubor CeskeKlauze.pm. Návratovou hodnotou konstruktoru new je objekt třídy CeskeKlauze. Metoda natrenuj přijímá z principu tytéž argumenty, jaké parametry přijímá stejnojmenný obalovací skript: anotaci klauzí a morfologicky označkovaná data. Mohou však nabývat více podob. Anotace klauzí může být předána jako analytické stromy ve formě masky souborů, analytické stromy ve formě objektu typu PDT::AData, textová reprezentace klauzí ve formě jména souboru nebo textová reprezentace klauzí ve formě otevřeného filehandlu. Podobně morfologicky označkovaná data mohou být předána jako maska souborů nebo objekt typu PDT::MData. 54

55 Metoda urci klauze přijímá jeden až dva argumenty. První, povinný, odpovídá parametru obalovacího skriptu: morfologicky označkovaná data. Mohou mít formu masky souborů nebo objektu typu PDT::MData. Výsledek ve formě textové reprezentace klauzí je vrácen jako řetězec. Pokud je však metoda volána ve void kontextu, pak je očekáván otevřený filehandle jako druhý parametr a do něj je výsledek zapsán. Metoda vyhodnot je statická a nevyžaduje tedy konstrukci objektu třídy CeskeKlauze. Jejími prvními dvěma parametry jsou soubory se zlatým standardem a s predikcí. Oba mohou být předány jako jména souborů nebo jako otevřené filehandly. Třetím argumentem je metoda vyhodnocení a dalšími jsou případné tagy. 2 Textový zápis vyhodnocení je návratovou hodnotou. 7.3 Konfigurační soubor Volby lze zadávat nejen při každém spuštění skriptů jako parametry nebo jako klíče a hodnoty v parametru pro konstruktor třídy CeskeKlauze, ale také v konfiguračním souboru. Implicitně se používá konfigurační soubor konf sídlící v témže adresáři jako soubor CeskeKlauze.pm. Volby v konfiguračním souboru mají formát: volba: hodnota volba 2: hodnota 2 Mezera za dvojtečkou je povinná. 7.4 Datové konverze Trénování přijímá anotaci klauzí jak ve formě textové reprezentace, tak implicitně ve formě analytické roviny PML, ze které si strukturu klauzí odvodí. Vyhodnocování naproti tomu přijímá referenční data jen ve formě textové reprezentace struktury klauzí. Jsou proto k dispozici i nástroje pro konverzi analytických stromů do klauzí. Z příkazové řádky k tomuto účelu slouží skript getklauze.pl v adresáři bonus/konverze-dat na CD, z Perlu lze použít metodu astrom2klauze modulu CeskeKlauze nebo modul Klauze::ZAStromu v adresáři program/lib. 7.5 Modely Jádrem systému CeskeKlauze je statistický model, který provádí samotné rozpoznávání klauzí, a který je objektem trénování. Model je sice nezbytnou částí systému CeskeKlauze, ale není do něj napevno zakomponován naopak, je to oddělená třída, která musí toliko implementovat určitý interface. 2 viz kapitolu 4 55

56 7.5.1 Tvorba modelu Model je modul jazyka Perl. Musí mít jméno v podobě identifikátoru z alfanumerických znaků ASCII a musí definovat třídu tohoto jména. Systém CeskeKlauze pak vyhledá soubor příslušného jména v adresáři, kde sídlí sám soubor CeskeKlauze.pm. Pod pojmem soubor příslušného jména míním toto: Každý výskyt řetězce :: (dvě dvojtečky) je nahrazen znakem / (lomítkem), a na konec jména je přidána přípona.pm. Takže kupříkladu model jména CeskeKlauze::Model::NeuralNet by byl očekáván v souboru CeskeKlauze/Model/NeuralNet.pm. Začít jméno modulu prefixem CeskeKlauze::Model:: doporučuji; nutné to však není. Třída modelu musí definovat konstruktor new, metodu train a metodu tag. Konstruktor new necht přijímá jako parametr hashref s volbami, jak jsou nastaveny pro objekt třídy CeskeKlauze. Návratovou hodnotou necht je objekt třídy modelu. Z parametru konstruktoru je patrné, že model má k dispozici všechny volby, které uživatel zadal (at už při volání skriptu, při volání konstruktoru CeskeKlauze->new nebo v konfiguračním souboru), a může se tedy podle nich chovat. Následující dvě metody jsou volány jako metody objektu, takže pokud konstruktor volby do objektu uložil, mají i tyto další metody k nim přístup. Metoda train necht přijímá otevřený filehandle s textovou reprezentací klauzí a objekt typu PDT::MData s příslušnými morfologicky označkovanými daty. Model necht je uložen v adresáři specifikovaném v proměnné $WPATH. Metoda tag necht přijímá coby parametry objekt typu PDT::MData s daty na označkování a otevřený filehandle, kam vypíše výsledek ve formě textové reprezentace klauzí. Natrénovaný model necht tato metoda očekává v adresáři specifikovaném v proměnné $WPATH. Proměnná $WPATH je nastavena při konstrukci objektu CeskeKlauze. Jedná se o proměnnou balíčku (package variable) modelu, takže ten by ji měl deklarovat pomocí funkce our. 56

57 7.5.2 Přítomný model Model, který je v distribuci systému CeskeKlauze, využívá jistým způsobem Mc- Donaldův MST parser (viz sekci 6.2). Přijímá volby: mst model order celočíselný parametr pro řád MST modelu (viz dokumentaci k MST parseru soubor program/ceskeklauze/model/mst/mstparser-0.2/readme na CD), mst model file cesta k souboru, do nějž MST parser ukládá, popř. kde očekává uložený model, mst mazat trenovaci data celočíselný parametr; 0 = nemazat, 1 = nechat vždy jen poslední, 2 = mazat všechno, mst mazat forest parametr udávající, zda objemná pomocná data mají být po natrénování smazána (viz dokumentaci k MST parseru); 0 = nemazat, 1 = mazat. 7.6 Textový formát zápisu klauzí Textový formát zápisu struktury klauzí má tuto podobu: Záznam pro jednu větu je ohraničen prázdnými řádky. První řádek záznamu má tvar: sent:id věty Každý další řádek popisuje jeden oddíl (klauzi, koordinaci nebo rozvití) a má podobu dvojic klíč:hodnota. Komponenta má tvar čárkami odděleného seznamu vzestupně setříděných pořadových čísel uzlů. Ukázka zápisu struktury klauzí dvou vět je na obrázku 7.1. Klauze jsou tedy s textem a morfologickými značkami spjaty identifikátory. 57

58 58 Obrázek 7.1: Vzorek textového zápisu struktury klauzí

Automatická post-editace výstupů frázového strojového překladu (Depfix)

Automatická post-editace výstupů frázového strojového překladu (Depfix) Rudolf Rosa diplomová práce Automatická post-editace výstupů frázového strojového překladu (Depfix) Automatic post-editing of phrase-based machine translation outputs Motivační příklad Zdroj (WMT 2010):

Více

Automatická post-editace výstupů frázového strojového překladu (Depfix)

Automatická post-editace výstupů frázového strojového překladu (Depfix) Rudolf Rosa diplomová práce Automatická post-editace výstupů frázového strojového překladu (Depfix) Automatic post-editing of phrase-based machine translation outputs Motivační příklad Zdroj: All the winners

Více

Depfix: Jak dělat strojový překlad lépe než Google Translate

Depfix: Jak dělat strojový překlad lépe než Google Translate Rudolf Rosa rur@nikdeeu http://ufalmffcunicz/rudolf-rosa Depfix: Jak dělat strojový překlad lépe než Google Translate Univerzita Karlova v Praze Matematicko-fyzikální fakulta Ústav formální a aplikované

Více

Využití korpusu InterCorp při vytváření ručních pravidel pro automatickou detekci pleonastického it a jeho českých ekvivalentů v závislostních datech

Využití korpusu InterCorp při vytváření ručních pravidel pro automatickou detekci pleonastického it a jeho českých ekvivalentů v závislostních datech Využití korpusu InterCorp při vytváření ručních pravidel pro automatickou detekci pleonastického it a jeho českých ekvivalentů v závislostních datech Kateřina Veselovská ÚFAL MFF UK veselovska@ufal.mff.cuni.cz

Více

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a datových modelů Obsah Seznam tabulek... 1 Seznam obrázků... 1 1 Úvod... 2 2 Metody sémantické harmonizace... 2 3 Dvojjazyčné katalogy objektů

Více

Korpusová lingvistika a počítačové zpracování přirozeného jazyka

Korpusová lingvistika a počítačové zpracování přirozeného jazyka Korpusová lingvistika a počítačové zpracování přirozeného jazyka Vladimír Petkevič & Alexandr Rosen Ústav teoretické a komputační lingvistiky Filozofické fakulty Univerzity Karlovy v Praze Korpusový seminář

Více

Výroková logika syntaxe a sémantika

Výroková logika syntaxe a sémantika syntaxe a sémantika Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 1/16 1 Proč formální jazyk? 1 Přirozené jazyky jsou složité a často nejednoznačné. 2 Komunikace s formálními nástroji musí být

Více

Učící se klasifikátory obrazu v průmyslu

Učící se klasifikátory obrazu v průmyslu Učící se klasifikátory obrazu v průmyslu FCC průmyslové systémy s.r.o. FCC průmyslové systémy je technicko obchodní společností, působící v oblasti průmyslové automatizace. Tvoří ji dvě základní divize:

Více

Automatic Alignment of Tectogrammatical Trees from Czech-English Parallel Corpus

Automatic Alignment of Tectogrammatical Trees from Czech-English Parallel Corpus Automatic Alignment of Tectogrammatical Trees from Czech-English Parallel Corpus David Mareček obhajoba diplomové práce 8. 9. 2008 Motivace Na t-rovině jsou si jazyky podobnější alignment by zde měl být

Více

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.

Více

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Pravděpodobnost a učení Doc. RNDr. Iveta Mrázová,

Více

ve strojovém překladu

ve strojovém překladu Jaká data se používají ve strojovém překladu Ondřej Bojar bojar@ufal.mff.cuni.cz Ústav formální a aplikované lingvistiky MFF UK ELRC Training Workshop, 15. prosinec 2015 1/39 Osnova Typy dat ve strojovém

Více

Slohový útvar Výklad hypotézy Požadavky:

Slohový útvar Výklad hypotézy Požadavky: Jan Vožen enílek Gymnázium F. X. Šaldy Slohový útvar Výklad je útvar, který přináší čtenáři odborné poučení, neboť podává a vysvětluje vědecké poznatky. (Ne tedy názory, domněnky, city, přesvědčení ) Ve

Více

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13. Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy

Více

0. Úvod. 1. Syntaktické značkování textu

0. Úvod. 1. Syntaktické značkování textu Systém pro syntaktické značkování velkých textových korpusů 1 Tomáš Jelínek Ústav teoretické a komputační lingvistiky Filozofické fakulty Karlovy univerzity Abstract Syntactic annotation of corpora is

Více

Větná polarita v češtině. Kateřina Veselovská Žďárek Hořovice,

Větná polarita v češtině. Kateřina Veselovská Žďárek Hořovice, Větná polarita v češtině Kateřina Veselovská Žďárek Hořovice, 27. 11. 2009 1 Polarita - úvod do problematiky Větná polarita: a) Cíl a motivace b) Charakteristika c) Možnosti výzkumu Větná polarita a vyhledávání

Více

Univerzita Karlova v Praze

Univerzita Karlova v Praze Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE 2011 Jonáš Bujok Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Jonáš Bujok Nástroj pro převod PDF na

Více

Využití metod strojového učení v bioinformatice David Hoksza

Využití metod strojového učení v bioinformatice David Hoksza Využití metod strojového učení v bioinformatice David Hoksza SIRET Research Group Katedra softwarového inženýrství, Matematicko-fyzikální fakulta Karlova Univerzita v Praze Bioinformatika Biologické inspirace

Více

Základy umělé inteligence

Základy umělé inteligence Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v

Více

Výroková a predikátová logika - III

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2014/2015 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2014/2015 1 / 21 Výroková logika Horn-SAT Horn-SAT Jednotková

Více

Výroková a predikátová logika - III

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a

Více

Program pro automatickou opravu stochastické syntaktické anotace (analytická rovina PDT)

Program pro automatickou opravu stochastické syntaktické anotace (analytická rovina PDT) Program pro automatickou opravu stochastické syntaktické anotace (analytická rovina PDT) 1. Základní charakteristiky opravného programu Opravný program je počítačový software umožňující vyhledání a opravy

Více

Struktura e-learningových výukových programù a možnosti jejího využití

Struktura e-learningových výukových programù a možnosti jejího využití Struktura e-learningových výukových programù a možnosti jejího využití Jana Šarmanová Klíčová slova: e-learning, programovaná výuka, režimy učení Abstrakt: Autorská tvorba výukových studijních opor je

Více

Formální jazyky a gramatiky Teorie programovacích jazyků

Formální jazyky a gramatiky Teorie programovacích jazyků Formální jazyky a gramatiky Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Připomenutí základních pojmů ABECEDA jazyk je libovolná podmnožina

Více

4.2 Syntaxe predikátové logiky

4.2 Syntaxe predikátové logiky 36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a

Více

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1 Negativní informace Petr Štěpánek S použitím materiálu M.Gelfonda a V. Lifschitze 2009 Logické programování 15 1 Negace jako neúspěch Motivace: Tvrzení p (atomická formule) neplatí, jestliže nelze odvodit

Více

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka Metody tvorby ontologií a sémantický web Martin Malčík, Rostislav Miarka Obsah Reprezentace znalostí Ontologie a sémantický web Tvorba ontologií Hierarchie znalostí (D.R.Tobin) Data jakékoliv znakové řetězce

Více

Jak dělat strojový překlad lépe než Google Translate

Jak dělat strojový překlad lépe než Google Translate Mgr. Rudolf Rosa Jak dělat strojový překlad lépe než Google Translate Univerzita Karlova v Praze Matematicko-fyzikální fakulta Ústav formální a aplikované lingvistiky ProSŠ, Gymnázium Kladno, 23. října

Více

Úloha - rozpoznávání číslic

Úloha - rozpoznávání číslic Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání

Více

Strojové učení se zaměřením na vliv vstupních dat

Strojové učení se zaměřením na vliv vstupních dat Strojové učení se zaměřením na vliv vstupních dat Irina Perfilieva, Petr Hurtík, Marek Vajgl Centre of excellence IT4Innovations Division of the University of Ostrava Institute for Research and Applications

Více

Jak lze v korpusech hledat doklady pro výzkum morfologie?

Jak lze v korpusech hledat doklady pro výzkum morfologie? Seminář cjbb75 1. 4. 2015 Jak lze v korpusech hledat doklady pro výzkum morfologie? Vyhledávání podle morfologické značky problém spolehlivosti desambiguace Vyhledejte v korpusu SYN2010 všechny vokativy

Více

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Autor: Vladimir Vapnik Vapnik, V. The Nature of Statistical Learning Theory.

Více

Ontologie. Otakar Trunda

Ontologie. Otakar Trunda Ontologie Otakar Trunda Definice Mnoho různých definic: Formální specifikace sdílené konceptualizace Hierarchicky strukturovaná množina termínů popisujících určitou věcnou oblast Strukturovaná slovní zásoba

Více

Matematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky

Matematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky Matematická logika Lekce 1: Motivace a seznámení s klasickou výrokovou logikou Petr Cintula Ústav informatiky Akademie věd České republiky www.cs.cas.cz/cintula/mal Petr Cintula (ÚI AV ČR) Matematická

Více

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Logika pro každodenní přežití Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Více

Sémantický web a extrakce

Sémantický web a extrakce Sémantický web a extrakce informací Martin Kavalec kavalec@vse.cz Katedra informačního a znalostního inženýrství FIS VŠE Seminář KEG, 11. 11. 2004 p.1 Přehled témat Vize sémantického webu Extrakce informací

Více

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model Databázové systémy Tomáš Skopal - relační model * relační kalkuly Osnova přednášky relační kalkuly doménový n-ticový Relační kalkuly využití aparátu predikátové logiky 1. řádu pro dotazování rozšíření

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2017/2018 1 / 17 Předběžnosti Základní pojmy n-ární relace a funkce

Více

Formální požadavky na zpracování bakalářské práce

Formální požadavky na zpracování bakalářské práce - 1 - Formální požadavky na zpracování bakalářské práce Minimální rozsah 40 stran Řádkování Řádkování 1,5 Písmo Velikost 12, Times New Roman Okraje Horní okraj stránky 25 mm, dolní okraj stránky 25 mm,

Více

U Úvod do modelování a simulace systémů

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

Nainstalovat Tred!

Nainstalovat Tred! Nainstalovat Tred! http://ufal.mff.cuni.cz/tred/ 1 Korpusy a lingvistické nástroje Daniel Zeman zeman@ufal.mff.cuni.cz Ústav formální a aplikované lingvistiky Matematicko-fyzikální fakulta Univerzita Karlova

Více

5 Orientované grafy, Toky v sítích

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

Úvod do teorie měření. Eva Hejnová

Úvod do teorie měření. Eva Hejnová Úvod do teorie měření Eva Hejnová Literatura: Novák, R. Úvod do teorie měření. Ústí nad Labem: UJEP, 2003 Sprušil, B., Zieleniecová, P.: Úvod do teorie fyzikálních měření. Praha: SPN, 1985 Brož, J. a kol.

Více

METODOLOGIE I - METODOLOGIE KVANTITATIVNÍHO VÝZKUMU

METODOLOGIE I - METODOLOGIE KVANTITATIVNÍHO VÝZKUMU METODOLOGIE I - METODOLOGIE KVANTITATIVNÍHO VÝZKUMU vyučující doc. RNDr. Jiří Zháněl, Dr. M I 4 Metodologie I 7. ANALÝZA DAT (KVANTITATIVNÍ VÝZKUM) (MATEMATICKÁ) STATISTIKA DESKRIPTIVNÍ (popisná) ANALYTICKÁ

Více

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu

Více

Operační výzkum. Síťová analýza. Metoda CPM.

Operační výzkum. Síťová analýza. Metoda CPM. Operační výzkum Síťová analýza. Metoda CPM. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo

Více

Anotace na analytické rovině

Anotace na analytické rovině Anotace na analytické rovině Návod pro anotátory Jan Hajič, Jarmila Panevová, Eva Buráňová, Zdeňka Urešová, Alla Bémová Jiří Kárník, Jan Štěpánek, Petr Pajas 11. 10. 1999 ÚFAL MFF UK Praha Editoři: Eva

Více

SADA VY_32_INOVACE_CJ1

SADA VY_32_INOVACE_CJ1 SADA VY_32_INOVACE_CJ1 Přehled anotačních tabulek k dvaceti výukovým materiálům vytvořených Mgr. Bronislavou Zezulovou a Mgr. Šárkou Adamcovou. Kontakt na tvůrce těchto DUM: zezulova@szesro.cz a adamcova@szesro.cz

Více

Analýza a modelování dat. Helena Palovská

Analýza a modelování dat. Helena Palovská Analýza a modelování dat Helena Palovská Analýza a modelování pro SW projekt Strukturovaný přístup Dynamická část (procesy, aktivity, funkce) Statická část (data) Objektově orientovaný přístup use case

Více

Úvod do teorie měření. Eva Hejnová

Úvod do teorie měření. Eva Hejnová Úvod do teorie měření Eva Hejnová Program semináře 1. Základní pojmy - metody měření, druhy chyb, počítání s neúplnými čísly, zaokrouhlování 2. Chyby přímých měření - aritmetický průměr a směrodatná odchylka,

Více

Statistická teorie učení

Statistická teorie učení Statistická teorie učení Petr Havel Marek Myslivec přednáška z 9. týdne 1 Úvod Představme si situaci výrobce a zákazníka, který si u výrobce objednal algoritmus rozpoznávání. Zákazník dodal experimentální

Více

Slepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p

Slepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p Hanojská věž Stavový prostor 1. množina stavů S = {s} 2. množina přechodů mezi stavy (operátorů) Φ = {φ} s k = φ ki (s i ) zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah

Více

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy Formální systémy (výrokové) logiky postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy cíl: získat formální teorii jako souhrn dokazatelných

Více

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)

Více

NLP & strojové učení

NLP & strojové učení NLP & strojové učení Miloslav Konopík 2. dubna 2013 1 Úvodní informace 2 Jak na to? Miloslav Konopík () NLP & strojové učení 2. dubna 2013 1 / 13 Co je to NLP? NLP = Natural Language Processing (zpracování

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

Pražský závislostní korpus jako elektronická cvičebnice češtiny

Pražský závislostní korpus jako elektronická cvičebnice češtiny Pražský závislostní korpus jako elektronická cvičebnice češtiny OndřejKučera ondrej.kucera@centrum.cz Abstrakt Pražský závislostní korpus patří mezi nejvýznamnější jazykové korpusy na světě. Cílem naší

Více

Olympiáda v českém jazyce 45. ročník 2018/2019

Olympiáda v českém jazyce 45. ročník 2018/2019 Národní institut pro další vzdělávání MŠMT Senovážné náměstí 25, 110 00 Praha 1 Olympiáda v českém jazyce 45. ročník 2018/2019 Krajské kolo zadání I. kategorie přidělené soutěžní číslo body gramatika sloh

Více

Graf skladebného rozboru věty

Graf skladebného rozboru věty Graf skladebného rozboru věty Existuje několik způsobů grafického zápisu větného rozboru. Předkládaný způsob se pokouší o co největší jednoduchost a přehlednost. Příklad: Starý pán se pomalu belhal do

Více

Tvar dat a nástroj přeskupování

Tvar dat a nástroj přeskupování StatSoft Tvar dat a nástroj přeskupování Chtěli jste někdy použít data v jistém tvaru a STATISTICA Vám to nedovolila? Jistě se najde někdo, kdo se v této situaci již ocitl. Není ale potřeba propadat panice,

Více

Výroková a predikátová logika - IV

Výroková a predikátová logika - IV Výroková a predikátová logika - IV Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IV ZS 2018/2019 1 / 17 Tablo metoda Tablo Tablo - příklady F (((p q)

Více

Aktuální změny v didaktickém testu z češtiny 2015

Aktuální změny v didaktickém testu z češtiny 2015 Aktuální změny v didaktickém testu z češtiny 2015 PhDr. Dana Brdková Lektorka Bankovní akademie a VŠFS Pro použití v rámci projektu ematurity Jak je sestaven didaktický test? Didaktický test obsahuje 10

Více

Výukový materiál zpracován v rámci projektu EU peníze školám

Výukový materiál zpracován v rámci projektu EU peníze školám Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ. 1.07/1.5.00/34.0637 Šablona III/2 Název VY_32_INOVACE_39_Algoritmizace_teorie Název školy Základní škola a Střední

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou

Více

1. Matematická logika

1. Matematická logika MATEMATICKÝ JAZYK Jazyk slouží člověku k vyjádření soudů a myšlenek. Jeho psaná forma má tvar vět. Každá vědní disciplína si vytváří svůj specifický jazyk v úzké návaznosti na jazyk živý. I matematika

Více

Výroková a predikátová logika - V

Výroková a predikátová logika - V Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský

Více

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

Více

7. Funkce jedné reálné proměnné, základní pojmy

7. Funkce jedné reálné proměnné, základní pojmy , základní pojmy POJEM FUNKCE JEDNÉ PROMĚNNÉ Reálná funkce f jedné reálné proměnné je funkce (zobrazení) f: X Y, kde X, Y R. Jde o zvláštní případ obecného pojmu funkce definovaného v přednášce. Poznámka:

Více

WEBOVÉ KORPUSY ARANEA A VÍCEJAZYČNÉ KOLOKAČNÍ PROFILY

WEBOVÉ KORPUSY ARANEA A VÍCEJAZYČNÉ KOLOKAČNÍ PROFILY WEBOVÉ KORPUSY ARANEA A VÍCEJAZYČNÉ KOLOKAČNÍ PROFILY Datum konání: 11. dubna 2014 Místo konání: Filozofická fakulta Masarykovy univerzity (učebna G13) Název přednášky: Přednášející: Webové korpusy Aranea

Více

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů. Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové

Více

Obsah. Úvodní poznámka 11 Německý jazyk, spisovná řeč a nářečí 13 Pomůcky ke studiu němčiny 15

Obsah. Úvodní poznámka 11 Německý jazyk, spisovná řeč a nářečí 13 Pomůcky ke studiu němčiny 15 Obsah Úvodní poznámka 11 Německý jazyk, spisovná řeč a nářečí 13 Pomůcky ke studiu němčiny 15 VÝSLOVNOST A PRAVOPIS Německá výslovnost 18 Hlavni rozdíly mezi českou a německou výslovnosti 19 Přízvuk 20

Více

Název materiálu: Jazykové rozbory

Název materiálu: Jazykové rozbory Základní škola Nový Bor, náměstí Míru 128, okres Česká Lípa, příspěvková organizace e-mail: info@zsnamesti.cz; www.zsnamesti.cz; telefon: 487 722 010; fax: 487 722 378 Registrační číslo: CZ.1.07/1.4.00/21.3267

Více

Úvod do teorie měření. Eva Hejnová

Úvod do teorie měření. Eva Hejnová Úvod do teorie měření Eva Hejnová Literatura: Novák, R. Úvod do teorie měření. Ústí nad Labem: UJEP, 2003 Sprušil, B., Zieleniecová, P.: Úvod do teorie fyzikálních měření. Praha: SPN, 1985 Brož, J. a kol.

Více

Úvod do logiky (PL): analýza vět přirozeného jazyka

Úvod do logiky (PL): analýza vět přirozeného jazyka Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia (reg. č. CZ.1.07/2.2.00/28.0216, OPVK) Úvod do logiky (PL): analýza vět přirozeného jazyka doc. PhDr.

Více

2. Množiny, funkce. Poznámka: Prvky množiny mohou být opět množiny. Takovou množinu, pak nazýváme systém množin, značí se

2. Množiny, funkce. Poznámka: Prvky množiny mohou být opět množiny. Takovou množinu, pak nazýváme systém množin, značí se MNOŽIN, ZÁKLDNÍ POJMY Pojem množiny patří v matematice ke stěžejním. Nelze jej zavést ve formě definice pomocí primitivních pojmů; považuje se totiž rovněž za pojem primitivní. Představa o pojmu množina

Více

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel Matematická analýza IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel na množině R je definováno: velikost (absolutní hodnota), uspořádání, aritmetické operace; znázornění:

Více

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence APLIKACE UMĚLÉ INTELIGENCE Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence Aplikace umělé inteligence - seminář ING. PETR HÁJEK, PH.D. ÚSTAV SYSTÉMOVÉHO INŽENÝRSTVÍ A INFORMATIKY

Více

Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra aplikované matematiky STATISTIKA I.

Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra aplikované matematiky STATISTIKA I. Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra aplikované matematiky STATISTIKA I. pro kombinované a distanční studium Radim Briš Martina Litschmannová

Více

Logika pro sémantický web

Logika pro sémantický web ZVYŠOVÁNÍ ODBORNÝCH KOMPETENCÍ AKADEMICKÝCH PRACOVNÍKŮ OSTRAVSKÉ UNIVERZITY V OSTRAVĚ A SLEZSKÉ UNIVERZITY V OPAVĚ Logika pro sémantický web Martin Žáček PROČ BALÍČEK? 1. balíček Formální logické systémy

Více

Příklad z učebnice matematiky pro základní školu:

Příklad z učebnice matematiky pro základní školu: Příklad z učebnice matematiky pro základní školu: Součet trojnásobku neznámého čísla zvětšeného o dva a dvojnásobku neznámého čísla zmenšeného o pět se rovná čtyřnásobku neznámého čísla zvětšeného o jedna.

Více

Základní provize v systému MLM ZetClub

Základní provize v systému MLM ZetClub Základní provize v systému MLM ZetClub Každý prodejce může pod sebou zaregistrovat dalšího prodejce, ten zas dalšího atd. Každý prodejce, tedy může být buď zaregistrován přímo pod firmou, nebo má nad sebou

Více

Dataprojektor, jazykové příručky, pracovní listy

Dataprojektor, jazykové příručky, pracovní listy Předmět: Náplň: Třída: Počet hodin: Pomůcky: Český jazyk (CEJ) Jazyková výchova Tercie 2 hodiny týdně Dataprojektor, jazykové příručky, pracovní listy Skladba *) Ţák vysvětlí pojem aktuální (kontextové)

Více

Gymnázium Dr. J. Pekaře Mladá Boleslav PRAVIDLA PRO PSANÍ MATURITNÍ PRÁCE

Gymnázium Dr. J. Pekaře Mladá Boleslav PRAVIDLA PRO PSANÍ MATURITNÍ PRÁCE Gymnázium Dr. J. Pekaře Mladá Boleslav Maturitní práce PRAVIDLA PRO PSANÍ MATURITNÍ PRÁCE Předmět: Např. Český jazyk a literatura Datum a rok odevzdání: xx. x. 2016 Jméno a příjmení: Jan NOVÁK Ročník:

Více

Predikátová logika Individua a termy Predikáty

Predikátová logika Individua a termy Predikáty Predikátová logika Predikátová logika je rozšířením logiky výrokové o kvantifikační výrazy jako každý, všichni, někteří či žádný. Nejmenší jazykovou jednotkou, kterou byla výroková logika schopna identifikovat,

Více

VĚTNÉ ČLENY. Mgr. Jiří Ondra Procvičení základních pojmů a kategorií z oblasti české skladby. Zdokonalování jazykových vědomostí a dovedností

VĚTNÉ ČLENY. Mgr. Jiří Ondra Procvičení základních pojmů a kategorií z oblasti české skladby. Zdokonalování jazykových vědomostí a dovedností VĚTNÉ ČLENY Autor Mgr. Jiří Ondra Anotace Opakování základních pojmů a kategorií z oblasti české skladby Očekávaný přínos Procvičení základních pojmů a kategorií z oblasti české skladby Tematická oblast

Více

johanka April 16, 2008

johanka April 16, 2008 (Jak disambiguátoři přicházejí o iluze) April 16, 2008 Výchozí podmínky Co máme k dispozici? Jazyk LanGR + poloboha Pavla Květoně Pravidla pro (částečnou) morfologickou disambiguaci (Niki Petkevič, Tomáš

Více

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta. 6 RNDr., Ph.D. Katedra didaktiky matematiky Univerzita Karlova v Praze Matematicko-fyzikální fakulta petra.surynkova@mff.cuni.cz http://surynkova.info množina vrcholů a množina hran hrana vždy spojuje

Více

Automatická segmentace slov s pomocí nástroje Affisix. Michal@Hrusecky.net, Hlavacova@ufal.mff.cuni.cz

Automatická segmentace slov s pomocí nástroje Affisix. Michal@Hrusecky.net, Hlavacova@ufal.mff.cuni.cz Automatická segmentace slov s pomocí nástroje Affisix Michal Hrušecký, Jaroslava Hlaváčová Michal@Hrusecky.net, Hlavacova@ufal.mff.cuni.cz Motivace Při zpracování přirozeného jazyka nikdy nemůžeme mít

Více

Úlohy krajského kola kategorie C

Úlohy krajského kola kategorie C 67. ročník matematické olympiády Úlohy krajského kola kategorie C 1. Najděte nejmenší přirozené číslo končící čtyřčíslím 2018, které je násobkem čísla 2017. 2. Pro celá čísla x, y, z platí x 2 + y z =

Více

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Rostislav Horčík.    horcik Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 20 Predikátová logika Motivace Výroková

Více

Pokyny pro vypracování maturitního projektu

Pokyny pro vypracování maturitního projektu Pokyny pro vypracování maturitního projektu Prostudujte si prosím pečlivě následující pokyny k vypracování maturitního projektu. Maturitní projekt musí obsahovat: 1. Titulní strana (nečísluje se) Obsahuje:

Více

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5 VLASTNOSTI GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 5 Evropský sociální fond Praha & EU: Investujeme do vaší

Více

Jak psát Bc. resp. Mgr. závěrečnou práci. Zpracoval: Karel Bílek

Jak psát Bc. resp. Mgr. závěrečnou práci. Zpracoval: Karel Bílek Jak psát Bc. resp. Mgr. závěrečnou práci Zpracoval: Karel Bílek Tato prezentace vznikla v rámci řešení doktorského projektu GAČR 523/03/H076 duben 2005 Textový dokument... co to je? Textovým dokumentem

Více

Autor: Jan Hošek

Autor: Jan Hošek Úvod STC Závěr Autor: Jan Hošek Školitel: RNDr. Radim Řehůřek Fakulta jaderná a fyzikálně inženýrzká České vysoké učení technické v Praze 25. 5. 2009 Osnova Úvod STC Závěr 1 Úvod Motivace Ukázka technologie

Více

Okruh č.3: Sémantický výklad predikátové logiky

Okruh č.3: Sémantický výklad predikátové logiky Okruh č.3: Sémantický výklad predikátové logiky Predikátová logika 1.řádu formalizuje úsudky o vlastnostech předmětů a vztazích mezi předměty pevně dané předmětné oblasti (univerza). Nebudeme se zabývat

Více

Formální systém výrokové logiky

Formální systém výrokové logiky Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2013/2014 1 / 20 Základní syntax Jazyk Výroková logika je logikou

Více

Závislost na počítačových hrách u žáků druhého stupně vybraných základních škol

Závislost na počítačových hrách u žáků druhého stupně vybraných základních škol POSUDEK BAKALÁŘSKÉ / MAGISTERSKÉ PRÁCE OPONENT Název Závislost na počítačových hrách u žáků druhého stupně vybraných základních škol Autor Bc. Jiří Zatřepálek Vedoucí práce Mgr. Jaroslav Vacek Oponent

Více

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu

Více

Využití strojového učení k identifikaci protein-ligand aktivních míst

Využití strojového učení k identifikaci protein-ligand aktivních míst Využití strojového učení k identifikaci protein-ligand aktivních míst David Hoksza, Radoslav Krivák SIRET Research Group Katedra softwarového inženýrství, Matematicko-fyzikální fakulta Karlova Univerzita

Více