Morfologická analýza Unifikační gramatiky

Slides:



Advertisements
Podobné prezentace
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Advertisements

Dualita úloh lineárního programování a analýza citlivosti
SKLOŇOVÁNÍ PŘÍDAVNÝCH JMEN 3 - BEZ ČLENU
Co mají adjektiva společného s podstatnými jmény, co se slovesy?
Programovací jazyk Perl
Závislostní syntaktická analýza
SKLOŇOVÁNÍ PŘÍDAVNÝCH JMEN 1 - SE ČLENEM URČITÝM
PŘÍDAVNÁ JMÉNA Mgr. Michal Oblouk.
Jak na web První krůčky Lukáš Reindl. Co je potřeba Budeme potřebovat počítač, na kterém běží alespoň nějaký jednoduchý textový editor (ve Windows Notepad.
Aplikační a programové vybavení
Přednáška P6 Božena Bednaříková
Gramatika Přídavná jména II
DRUHY PŘÍDAVNÝCH JMEN Mgr. Michal Oblouk.
SKLOŇOVÁNÍ PODSTATNÝCH JMEN RODU MUŽSKÉHO
Číslo v digitálním archivu školy
Programovací jazyky Programovací jazyky jsou jazyky sloužící k tvorbě počítačových programů Dělení:  nižší  vyšší jazyky primitivní, jejichž instrukce.
Databázové systémy 1 Cvičení č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Dvojúrovňová morfologie
Generování mezikódu Jakub Yaghob
STAVBA SLOVA SLOVA PŘÍBUZNÁ
Počítačové zpracování přirozeného jazyka
Seminář – Základy programování
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
Nové modulové výukové a inovativní programy - zvýšení kvality ve vzdělávání Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem.
Formální jazyky a gramatiky
PHP – Základy programování
Daniel Zeman Počítačové zpracování češtiny Syntaktická analýza Daniel Zeman
Sémantická analýza Jakub Yaghob
Syntaxí řízený překlad
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
Predikátová logika.
Využití subpohledů. Obsah n 1) Co je to pohled? n 2) Co je to subpohled? n 3) Jak vytvořit subpohled? n 4) Příklad.
Gramatika Podstatná jména II
Co nejrychleji a nejpřesněji odpovídej na dané otázky.
Vztah bezkontextových jazyků a ZA
Metodika objektového přístupu při tvorbě překladačů. Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
http:// Metody morfologické analýzy Seznam slovních tvarů –books: book-1/NNS, book-2/VBZ Zadrátovat do programu –hlavní.
Zápočtová práce na POPJ Tvorba slovníku a pravidel do PC-Kimmo SLOVESA Vojtěch Holub.
Kompresní metoda ACB Associative Coder of Buyanovsky autor: George Buyanovsky připravil Tomáš Skopal podle knihy „Data Compression“ od D. Salomona, 1997,
TVORBA COMBA V POHLEDECH Martina Musilová. Obsah prezentace * Co je to combo * Jak vypadá combo I. * Jak vypadá combo II. * Parametry comba * Druh comba.
82.1 Přídavná jména PŘIVLASTŇOVACÍ
Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu „Učíme moderně“ Registrační číslo projektu:
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
PŘÍDAVNÁ JMÉNA PŘIVLASTŇOVACÍ:
Mgr. Michal Oblouk OHEBNÉ SLOVNÍ DRUHY.
NÁZEV ŠKOLY: Základní škola Javorník, okres Jeseník REDIZO: NÁZEV: VY _32_INOVACE_320_Podstatná jména AUTOR: Ilona Kozubová ROČNÍK, DATUM:
Morfologická analýza Bezkontextové gramatiky Daniel Zeman Počítačové zpracování přirozeného jazyka.
MorČe morfologické značkování češtiny
Databázové systémy Datové modely.
Základní gramatika latiny
Skloňování podstatných jmen rodu mužského
BUĎTE POZORNÍ, AŤ SI TOHO ZAPAMATUJETE CO NEJVÍC..
Úvod do databází zkrácená verze.
Název školyPlavská škola AutorMgr. Jana Kneřová NázevVY_32_INOVACE_04_ČJ_Podstatná jména_moře Téma Číslo projektu Anotace ČJ 4 – Podstatná jména - skloňování.
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace Autor: Mgr. Ludmila Handrejchová Vytvořeno dne: Název: VY_32_INOVACE_2C_CJ9_01_JMÉNA,
Bezpečnostní technologie I
Základní škola T. G. Masaryka a Mateřská škola Poříčany, okr. Kolín
NÁZEV ŠKOLY: Základní škola Javorník, okres Jeseník REDIZO:
Přídavná jména Bc. K. Matějková.
Český jazyk – Skloňování podstatných jmen
Digitální učební materiál
Překladače 5. Syntaktická analýza
Český jazyk – Skloňování podstatných jmen
Úvod do latinské jmenné flexe 1. deklinace
Algoritmizace a programování
Škola Základní škola Tehov, okres Praha-východ, Tehov 78, Autor
Universitá degli Studi di Udine
Skloňování vzorů podstatných jmen rodu ženského
Jazykové korpusy (lingvistika, filologie, výuka jazyků)
Téma: Pravopis koncovek podstatných jmen
Transkript prezentace:

Morfologická analýza Unifikační gramatiky Počítačové zpracování přirozeného jazyka Morfologická analýza Unifikační gramatiky Daniel Zeman http://ufal.mff.cuni.cz/course/popj1/

Unifikační gramatiky Založeny na Struktura rysů bezkontextových gramatikách strukturách rysů (feature structures) jejich unifikovatelnosti Struktura rysů Něco jako záznam v databázi, naplněná proměnná typu record v pascalu nebo typu struct v céčku. Popis objektu, seznam rysů. rysy (atributy, features) … jména polí, položek hodnoty Příklady dvojic rys – hodnota: [číslo: množné], [pád: 1]. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Struktura rysů entita POS substantivum JMÉNO FF UK GEN maskulinum TELEFON 258562 POS substantivum GEN maskulinum NUM singulár CASE dativ entita JMÉNO Dan TELEFON 221914225 POS adjektivum GEN maskulinum NUM plurál CASE akuzativ DEG komparativ NEG afirmativ fakulta JMÉNO MFF UK DĚKAN Netuka TELEFON 221911111 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Struktura rysů Obecně: parciální funkce z množiny rysů do množiny hodnot. typ RYS1 HODNOTA1 RYS2 HODNOTA2 RYS3 HODNOTA3 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Unifikovatelnost Dvě struktury rysů jsou unifikovatelné, jestliže se shodují jejich hodnoty v těch rysech, které mají obě dvě. Příklad: struktury 1 a 2 jsou unifikovatelné, 2 a 3 také, 1 a 3 nikoliv. ROD mužský ČÍSLO jednotné PÁD dativ 1 DRUH sloveso ČÍSLO jednotné ČAS přítomný 2 ROD mužský ČÍSLO jednotné PÁD instrumentál 3 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Unifikace Unifikace je operace na dvou unifikovatelných strukturách rysů, jejím výsledkem je nová struktura rysů. ROD mužský ČÍSLO jednotné PÁD dativ 1 OSOBA třetí ČÍSLO jednotné ČAS přítomný 2 + ROD mužský ČÍSLO jednotné PÁD dativ OSOBA třetí ČAS přítomný 3 = 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Morfologická syntéza pomocí unifikace Vstup: struktury rysů „lemma“ a „značka“. Najít ve slovníku všechny struktury „heslo“, které jsou unifikovatelné se strukturou „lemma“. Pro každou nalezenou strukturu „heslo“ najít v seznamu vzorů strukturu „vzor“, která je současně unifikovatelná s ní i se vstupní strukturou „značka“. Unifikací k sobě pasujících struktur „heslo“, „vzor“ a „značka“ vznikne struktura „tvar“. Na výstupu je pro každou strukturu „tvar“ řetězec složený z hodnot jejích rysů „vzor“ a „koncovka“. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Morfologická syntéza pomocí unifikace Vstup: struktury rysů „lemma“ a „značka“. Najít ve slovníku všechny struktury „heslo“, které jsou unifikovatelné se strukturou „lemma“. lemma LEMMA háček značka ČÍSLO množné PÁD nominativ heslo LEMMA háček VZOR hrad heslo LEMMA háček VZOR pán 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Morfologická syntéza pomocí unifikace Pro každou nalezenou strukturu „heslo“ najít v seznamu vzorů strukturu „vzor“, která je současně unifikovatelná s ní i se vstupní strukturou „značka“. heslo LEMMA háček VZOR hrad heslo LEMMA háček VZOR pán vzor VZOR hrad ČÍSLO množné PÁD nominativ KONCOVKA y vzor VZOR pán ČÍSLO množné PÁD nominativ KONCOVKA i | ové 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Morfologická syntéza pomocí unifikace Unifikací k sobě pasujících struktur „heslo“, „vzor“ a „značka“ vznikne struktura „tvar“. tvar LEMMA háček VZOR hrad | pán ČÍSLO množné PÁD nominativ KONCOVKA y | i | ové 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Morfologická syntéza pomocí unifikace: poznámky Unifikace se podobá databázovým operacím. Sama neříká, jak ze struktury „tvar“ vznikne slovní tvar. Pravidlo: výstup = tvar.lemma + tvar.koncovka Zesložitění pravidla, aby řešilo fonologicky podmíněné změny (na to už je unifikace nevhodná): místo *háčeky, *háčeki, *háčekové chceme háčky, háčci, háčkové 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Morfologická analýza pomocí unifikace Neunifikační část: najít všechny možné afixy, které lze ve slově vidět  množina struktur „tvar“. Které afixy (koncovky) existují, víme ze struktur typu „vzor“. Vyřešit (nějak) změny kmenových souhlásek, palatalizaci apod. Pak už lze postupovat opačně k syntéze: unifikovat tvar se vzorem, a výsledek se slovníkem. Co se ve slovníku skutečně najde, patří do analýzy. např. běžím=běžet(trpět)+osoba(1), běží(stavení)+pád(7) 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Unifikační morfologická gramatika (UMG) Jan Hajič: Unification Morphology Grammar (doktorandská práce). Univerzita Karlova, Praha, 1994 Stuart Shieber: An Introduction to Unification-based Approaches to Grammar. CSLI Lecture Notes No. 4, Stanford, California, USA, 1986 Základ: bezkontextová gramatika. S každou složkou (symbol + rozsah) je spojena struktura rysů. Pravidlo: levá strana  pravá strana := operace nad strukturami rysů. Operace mohou i zablokovat použití pravidla požadavkem na unifikovatelnost. Unification-based chart parser, PATR-II (Shieber). Podobně jako CFG byly i unifikační gramatiky původně navrženy pro analýzu věty a teprve později aplikovány na analýzu slova. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Syntax UMG Levá  pravá := operace se strukturami rysů <X> # ^ + pravidlo gramatiky <X> neterminál X. Terminály se píší jen tak. # operátor unifikace (současně vznáší požadavek na unifikovatelnost) ^ operátor odkazu (odděluje části cesty (neterminály) ke struktuře rysů, na kterou odkazujeme) + operátor sřetězení | operátor disjunkce. Z disjunkce struktur rysů se vyberou všechny struktury, které lze použít (jsou unifikovatelné atd.) Disjunkce struktur rysů může zachytit různé analýzy téhož řetězce. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Příklad pravidla v UMG <N>  <L> := [l = <L>^l, umlaut = <L>^umlaut # no] Interpretace: Pokud: rozpoznali jsme složku <L> a hodnota atributu umlaut ve struktuře rysů svázané s touto složkou je „no“ Potom: rozpoznali jsme ve stejném rozsahu složku <N> do její struktury rysů máme ze struktury rysů složky <L> okopírovat atributy l a umlaut 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Teoretický pohled na slovník Pravidlo, které generuje prázdný řetězec, ale poskytuje své levé straně obrovskou strukturu rysů, obsahující celý slovník. <LEX>  "" := [kmen=mat, hw=matka, pos=N, x=zn6e] | [kmen=atom, hw=atom, pos=N, x=hd1] | [kmen=nov, hw=nový, pos=A, x=reg] | [kmen=prac, hw=pracovat, pos=V, x=ovatn] | …; 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Teoretický pohled na slovník Napojení slovníku na zbytek gramatiky: <R>  <S>u <LEX> := <LEX> # [x=hd1, kmen=<S>, case=gen|dat|loc, num=sg] Pravidlo reprezentuje tvoření 2., 3. a 6. pádu jednotného čísla podle vzoru hd1 (hrad). R zastupuje slovo unifikované se slovníkem. S je část vstupu odpovídající kmeni slova. Koncovka je uvedena přímo terminálem, LEX za ní odpovídá prázdnému řetězci. Pravidlo za := říká, že nás z LEX zajímají ty struktury, jejichž kmen odpovídá S a kódují 1. nebo 4. pád jednotného čísla podle vzoru hd1. Slovníkové záznamy, které projdou tímto filtrem, utvoří množinu struktur rysů svázanou s neterminálem R. Navíc se do těchto struktur připíše informace o čísle a pádu. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Příklad UMG <L>  a := [l=a]; <L>  b := [l=b]; … <N>  <L> := [l=<L>^l]; <N>  <L> <N> := [l=<L>^l+<N>^l]; <S>  <N> := <N>; <R>  <S> := <LEX> # [stem=<S>^l, x=hd1, num=sg, case=nom|acc, …]; <R>  <S>u := <LEX> # [stem=<S>^l, x=hd1, num=sg, case=gen, …]; <LEX>  "" := … | [stem=hrad, x=hd1, …] | … 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Příklad UMG <L> je písmeno <N> je řetězec <L>  a := [l=a]; <L>  b := [l=b]; … <N>  <L> := [l=<L>^l]; <N>  <L> <N> := [l=<L>^l+<N>^l]; <S>  <N> := <N>; <R>  <S> := <LEX> # [stem=<S>^l, x=hd1, num=sg, case=nom|acc, …]; <R>  <S>u := <LEX> # [stem=<S>^l, x=hd1, num=sg, case=gen, …]; <LEX>  "" := … | [stem=hrad, x=hd1, …] | … <S> je potenciální kmen slova <R> je rozpoznaný tvar slova ověřený ve slovníku 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Slovník v praxi Začlenění do gramatiky není efektivní. V praxi se obchází: Slovník uložit v samostatné datové struktuře s efektivním vyhledáváním. Pravidla obsahující <LEX> ošetřit algoritmem pro přístup k této struktuře. Zbytek gramatiky zpracovat normální analýzou. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Příklad UMG Slovník mat zn6e =matka vzor Slovník mat zn6e =matka Typický systém s mnoha vzory, např. 44 různých vzorů odpovídá „školnímu“ vzoru žena (aniž by vzory řešily případné zkracování kmenové samohlásky). lemma kmen 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Příklad UMG { vzor = stavení; levá strana je vždy stejná, vynecháváme } <_><í>$ := [key=<_>í, x=(st|rž), cat=[pos=n], morf=[infl=[pf=([gnd=n, num=sg, case=(nom|gen|dat|acc|voc|loc)] | [gnd=n, num=pl, case=(nom|gen|acc|voc)])]]]; <_><í><m>$ := [key=<_>í, x=(st|rž), cat=[pos=n], morf=[infl=[pf=([gnd=n, num=sg, case=ins] | [gnd=n, num=pl, case=dat])]]]; <_><í><c><h>$ := [key=<_>í, x=(st|rž), cat=[pos=n], morf=[infl=[pf=[gnd=n, num=pl, case=loc]]]]; <_><í><m><i>$ := [key=<_>í, x=(st|rž), cat=[pos=n], morf=[infl=[pf=[gnd=n, num=pl, case=ins]]]]; 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Srovnání UMG a CFG Struktura rysů uchovává výstup analýzy (značku)  nepotřebujeme dohodu o pojmenování neterminálů Disjunkce struktur zachytí homonymní analýzy  nepotřebujeme štěpit neterminály Fonologie stále problematická. Buď exploze vzorů (UMG), nebo kombinace s dvojúrovňovými pravidly (viz dále) 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

PC-Kimmo Word Grammar Unifikační gramatika podle Stuarta Shiebera. Trochu jiná syntax než UMG, podobné použití. lexicon rozpoznání morfémů ve slově rules fonologické změny na hranici morfémů grammar rozbor vztahů mezi morfémy odvození vlastností slova z vlastností morfémů omezující podmínky na to, které morfémy lze kombinovat 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

PC-Kimmo Word Grammar en +`large +ment +s VR1a +`large +NR25 +PL Word ______|_______ Stem INFL _____|______ +s Stem SUFFIX +PL ___|____ +ment PREFIX Stem +NR25 en+ | VR1a+ ROOT `large Word: [ cat: Word head: [ agr: [ 3sg: - ] number:PL pos: N ] root: `large root_pos:AJ clitic:- drvstem:- ] 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

PC-Kimmo Word Grammar Stará část PC-Kimma nejdříve tokenizuje slovo na morfémy. Nová část potom rozebere posloupnost morfémů podle gramatiky. Gramatika může některé posloupnosti morfémů zavrhnout. Ostatním přiřadí výklad (strukturu rysů). Staré PC-Kimmo dokázalo glosovat morfémy, ale nedokázalo říct, co z toho plyne pro celek (např. že přípona –able udělá ze slovesa přídavné jméno). Takhle vypadá pravidlo gramatiky: Word -> Stem INFL <Stem head pos> = <INFL from_pos> <Word head> = <INFL head> 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Pravidlo gramatiky Word -> Stem INFL <Stem head pos> = <INFL from_pos> <Word head> = <INFL head> Pravidlo nelze použít, jestliže rys pos podstruktury head morfému Stem není roven rysu from_pos morfému INFL. Symboly morfémů jsou preterminály a odpovídají názvům podslovníků, ve kterých byly morfémy nalezeny. Pokud bude pravidlo použito, má se hodnota rysu head ze složky INFL zkopírovat do stejnojmenného rysu složky Word. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Pravidlo gramatiky RULE <pravidlo> <podmínky pravidla> Levou a pravou stranu pravidla odděluje -> nebo =. RULE Stem_1 = Stem_2 SUFFIX X zastupuje libovolný terminál nebo neterminál. Zvláštní znaky jsou ()[]{}<>=:/ Podtržítko jen pro připojení indexu k symbolu. Levá strana prvního pravidla je počáteční symbol gramatiky. N = Nstem {Sing / Plural} 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Výhody gramatiky Příklady z češtiny: Gramatika zabrání spojení kmene podle vzoru „žena“ s koncovkou podle vzoru „růže“. Ohlídá i závislosti na dlouhé vzdálenosti, např.: nejchytřejší Utvořením přídavného jména přivlastňovacího „ženin“ se změní rod z ženského na mužský. Původní rod se uloží jako rod vlastníka. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Bez gramatiky Kmen N pán 0, a, ovi, a, e, ovi, em, i, … Kmen N hrad 0, u, u, 0, e, u, em, y, ů, … Kmen N muž 0, e, i, e, i, i, em, i, ů, … Init Kmen N stroj 0, e, i, 0, i, i, em, e, ů, … Kmen N předsed a, y, ovi, u, o, ovi, ou, … Kmen N soudc e, e, i, e, e, i, em, i, ů, … 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

S gramatikou 0, a, ovi, e, em, i, ové, ů, ům, y, ech, u, é, ích, o, ou Kmen N MASC [vzor: x] 0, a, ovi, e, em, i, ové, ů, ům, y, ech, u, é, ích, o, ou [vzor: x] Init 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Bez gramatiky Kmen A zelen Init Kmen A jarn ý, ého, ému, ého, ém, … Kmen A zelenějš í, ího, ímu, ího, ím, ím, í, … nej Kmen A jarnějš 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

S gramatikou Kmen A zelen Init ejš Kmen A jarn ý, ého, ému, ého, … Kmen A mlad í, ího, ímu, ího, ím, … nej Kmen A mladš nepravidelný 2. stupeň 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Gramatika neovlivňuje fonologii Fonologické pravidlo pro změkčování v rozkazovacím způsobu: meteš → meť(me,te) t:ť  _ +:0 λ:0 nebo m:m e:e nebo t:t e:e Nemá se uplatnit ve 2. pádě množného čísla ženského rodu: kóta → *kóť Fonologická pravidla si nemohou ze struktur rysů přečíst, kdy se mají uplatnit. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Automatické rysy Každé slovníkové heslo má automaticky tyto základní rysy: cat = název podslovníku (\lx) lex = morfém, lexikální řetězec (\lf) gloss = glosa ze slovníku (\gl) 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Přiřazování hodnot rysům Zkratky přiřazení rysů Hodnoty, které budeme přiřazovat každému slovníkovému heslu, chceme psát co nejkratší. LET <zkratka | kategorie> be <definice> např. Let pl be [number: PL] Let pl be <number> = PL Let 3sg be [tense: PRES agr: 3SG] Disjunkce: Let sg/pl be {[number:SG][number:PL]} Let sg/pl be <number> = {SG PL} Výchozí hodnoty: Let N be <number> = !SG Nepřiřadí-li někdo podstatnému jménu explicitně číslo, má se za to, že číslo je jednotné. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Lexikální pravidla Nikoli zkratky, ale systematické transformace rysů pro skupiny slovníkových hesel. Převedou jednu strukturu rysů na jinou. DEFINE <název lexikálního pravidla> as <zobrazení> Příklad v dokumentaci na webu je vadný. Na konci analýzy, když už máme hotovou strukturu rysů pro celé slovo, můžeme aplikovat lexikální pravidlo, které tuto strukturu upraví. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Nastavení parametrů PARAMETER <název> is <hodnota> Parameter Start symbol is Word Parameter Attribute order is cat head root V jakém pořadí má PC-Kimmo zobrazovat rysy? Category feature (výchozí: cat) Lexical feature (výchozí: lex) Gloss feature (výchozí: gloss) Jak se jmenují důležité rysy se zvláštním významem? 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Ukázka v PC Kimmo r ženě Syntéza (nová v PCK v. 2, ale použití gramatiky není povinné) l synthesis-lexicon cs.lex s N(žena) +SG+LOC Je-li k dispozici gramatika, zablokuje syntézu nedovolených kombinací Nejde ale generovat ze struktury rysů 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

DATR Formalismus a nástroj pro morfologii založený na strukturách rysů a dědičnosti (viz objektové programování) Např. struktura pro vzor hrad má nějaké koncovky, struktura pro podvzor les vše zdědí, ale některé koncovky předefinuje. Gerald Gazdar, University of Sussex, http://www.informatics.susx.ac.uk/research/nlp/datr/datr.html 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Primitivní metody morfologické analýzy Seznam slovních tvarů books: book-1/NNS, book-2/VBZ Zadrátovat do programu hlavní slovník: book / pravidelné sloveso, book / pravidelné podstatné jméno, nic / přídavné jméno: nice, … koncovky: pravidelné sloveso + s / VBZ, pravidelné podstatné jméno + s / NNS, přídavné jméno / JJR, … 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Seznamy slovních tvarů Málo specifického kódu, velké nároky na paměť pro slovník. Funguje pro angličtinu. Problém se zadáváním jazyka: opakované psaní kmenů slov. Pro jazyky, jako je angličtina, je míra opakování snad únosná. Počet tvarů v angličtině řádově ~ počet lemmat (pár set tisíc). Čeština: 700 tisíc lemmat (i odvozených), milióny tvarů (asi 20M, ovšem řada homonymních a mnohé zřídka používané) Implementace: vyhledávací stromy, hašovací tabulky (Perl!), trie. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Seznamy slovních tvarů: vyvážené vyhledávací stromy booking book-1+s (podst. jméno + množné číslo) nebo book-2+s (sloveso + 3. osoba) bookable booklet book booked bookish books 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Seznamy slovních tvarů: hašovací tabulky Hašovací funkce spočitatelná pro libovolný řetězec, s omezeným oborem hodnot. Například (slovo = a1a2…an; velikost tabulky = x, nejlépe prvočíslo): Tedy v céčku: hsh = 0 for(i=0;i<n;i++) hsh = hsh*2+(int)a[i]; hsh %= x; 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Seznamy slovních tvarů: hašovací tabulky Tabulka statické velikosti, indexem je hašovací hodnota. Z prvku s indexem i vede odkaz na seznam všech slov ve slovníku, jejichž hašovací hodnota je i. U slov je uvedeno jejich lemma a značka. Hašovací funkce pokud možno taková, aby rozprostírala řetězce do tabulky rovnoměrně. Tabulka pokud možno co největší, jaká se vejde do paměti. Výsledek: rychlé vkládání, vyhledávání i odstraňování. Perl už má implementováno, stačí $slovnik{$slovo}=$lemma."/".$znacka; 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Seznamy slovních tvarů: trie Reprezentace části slovníku: a, a, neurčitý člen an, a, neurčitý člen před samohláskou and, and, spojka (a) ant, ant, podstatné jméno (mravenec) at, at, předložka (v) a a,Art t n a,Artv at,Prep d t and,Conj ant,NN 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Přímé kódování, vnitřní segmentace slova O něco více specifického kódu v programu. Pro jiný jazyk nebo pro přidání dosud nezpracovaných jevů může být obtížné upravit. O něco méně paměťových nároků na slovník. Jeden kmen už se kóduje jen jednou, má u sebe uveden vzor skloňování (časování, stupňování), povolené předpony a přípony. I tak je možné slovník ukládat podobným způsobem jako seznam slovních tvarů: hašovací tabulkou, trie, vyhledávacím stromem, … 22.11.2007 http://ufal.mff.cuni.cz/course/popj1

Přímé kódování, vnitřní segmentace slova (Word segmentation je ale oddělování slov, například při zpracování řeči — neplést!) Oddělit předpony (do-, od-, roz-, pře-, …, ne-). Pro všechny použitelné koncovky opakovat: Rozdělit slovo na kmen a koncovku. Podívat se, zda takový kmen existuje ve slovníku. Pokud ano, zapamatovat si informaci ze slovníku, zejména vzor skloňování. Zjistit, zda vzor připouští nalezenou koncovku. Zjistit, zda lemma pro daný kmen připouští nalezenou předponu. Podle vzoru a koncovky zjistit lemmata a značky, které přicházejí v úvahu. 22.11.2007 http://ufal.mff.cuni.cz/course/popj1