200 likes | 482 Views
Valodas tehnoloģiju specseminārs Sintakse. Lauma Pretkalniņa AILab. Kas ir kas?. Sintaktiskā analīze — vārdu savstarpējo sakaru analīze teksta līmenī Rezultāts — grafveida struktūra sakņots koks ( rooted tree ) — parasti
E N D
Valodas tehnoloģiju specseminārsSintakse Lauma Pretkalniņa AILab
Kas ir kas? • Sintaktiskā analīze — vārdu savstarpējo sakaru analīze teksta līmenī • Rezultāts — grafveida struktūra • sakņots koks (rooted tree) — parasti • sakņotais koks var tikt papildināts ar sekundārajām šķautnēm, kopā veidojot orientētu aciklisku grafu (directed acyclic graph) — retāk • teksta primitīvi (tokens) atbilst grafa virsotnēm — visām vai dažām • grafa šķautnes atbilst sintaktiskajiem sakariem — lielākoties
Gramatikas modeļi: frāžu struktūru gramatika phrasestructuregrammar • Teikums sastāv no dabiski nodalāmām frāzēm… • … frāzes tālāk atkal ir sadalāmas frāzēs… • … un tā līdz vārdu līmenim. (N. Chomsky) • Teksta primitīvi koka lapas
Frāžu struktūru gramatika: formālisms • Bezkonteksta gramatikas (context-free grammar — CFG) • S NP VP • NP N • NP NP C NP • NP NP PP • … • Varbūtiskās bezkonteksta gramatikas (probabilistic context-free grammar — PCFG) • katram likumam piekārtota varbūtība, • koka varbūtība — likumu varbūtību reizinājums. Bet lietojums, kas pieļaujams vienam vārdam, var nederēt citam! • Leksikalizētāsbezkonteksta gramatikas (lexicalized PCFG) • Katram likumam izvēlas galveno elementu. • Frāzes, kuru galvenie elementi ir dažādi vārdi, — dažādasVPbūt≠VPēst • N zēns • N meitene • c un • … Bet kā risināt daudznozīmību?
Kā dabūt likumus? • Valodnieki uzraksta • Plašam pārklājumam daudz likumu — laikietilpīgi • Valodnieka valodas izjūta atšķiras no reālās valodas • Izgūt no sintaktiski marķēta korpusa • Jo lielāks korpuss, jo labāk — laikietilpīgi Bet praktiskā pieredze liecina, ka mazāk laikietilpīgi nekā likumu rakstīšana. • Nav likumu par korpusā nepārstāvētajām konstrukcijām
Kā lietot likumus?frāžu struktūru gramatika • Gramatikas binarizācija • S NP VP — der • S NP VP PP — neder, sadala par S NP X un X VP PP • Cocke-Kasami-Younger (CKY) parsēšanas algoritms • O(n3) sarežģītība • ar dinamisko programmēšanu efektīvi organizēta pilnā pārlase • augšupejošā pieeja Viņš iet prom
Nu tad ķeramies pie latviešu valodas? • Kādas, jūsuprāt, būs grūtības? Viņš iet prom
Nu tad ķeramies pie latviešu valodas? • Kādas, jūsuprāt, būs grūtības? • Divi dažādi likumi frāžu gramatikas izpratnē: • S NP VP • S VP NP
Gramatikas modeļi: atkarību gramatika • Teikuma struktūru veido nevis saiknes starp frāzēm, bet starp vārdiem. • Tukšu koka virsotņu nav (sakne var būt izņēmums).
Atkarību gramatika: formālisms • Mērķis — katram teksta primitīvam piemeklēt: • vecāku — citu vārdu vai īpašo saknes virsotni, • lomu — atkarības «birku» (nav obligāti). • Abas lietas ir atkarīgas no: • vecāka un bērna vārda nozīmes, • vecāka un bērna morfoloģijas, • apkaimes, • …
Kā dabūt teikuma struktūru?Atkarību gramatika • Pamata pieejas • Grafa parseris (graphbasedparser),M. Collinsetal. • Pāreju parseris (transitionbasedparser),J. Nivreetal.
Atkarību gramatikas parseri: grafu parseris • Galvenie raksturlielumi: • augšupejoša analīze, • analīzes rezultāts — projektīvs koks, • darbības laiks — O(n3), O(n4) pret teikuma garumu. • Darbības principi: • Galīgs skaits grafa fragmentu — pirmelementu • Likumi vārdu apvienošanai pirmelementos un pirmelementu tālākai apvienošanai jaunos pirmelementos • Korpusā apmācīts mašīnmācīšanās modulis nosaka, kura likuma pielietošana katrā solī ir visticamākā
Atkarību gramatikas parseri: pāreju parseris I • Augšupejoša analīze • Analīzes rezultāts patvaļīgs koks • Darbības laiks • O(n)projektīviem kokiem, • O(n2) sliktākajā gadījumā
Atkarību gramatikas parseri: pāreju parserisII • Datu struktūras • buferis B(sākumā satur visus vārdus), • steks S (sākumā tukšs). • Katrā solī izpilda kādu no darbībām: • ar atkarību savieno divas virsējās S virsotnes, atkarīgo izmet no S; • pārvieto pirmo B elementu uz steku; • pārvieto pirmo S elementu uz B (tikai, ja pēc tam divi augšējie S elementi ir tādā pašā secībā kā teikumā). • Korpusā apmācīts mašīnmācīšanās modulis nosaka, kura darbība katrā solī ir visticamākā • Beidz, kad B tukšs un S satur 1 elementu
Modeļu savstarpējās atbilsmes • Lielākoties frāžu kokus var pārveidot par atkarību kokiem un otrādi: • atkarība projektīvā kokā divelementu frāze • frāze ar atzīmētu galveno elementu pārējie elementi atkarīgi no galvenā • Pārtraukto frāžu (discontinuous constituents) problēma • [[He][said [[he][likes [that [idea]]]]]]. • … that idea he said he likes. • Pārtrauktās frāzes atbilstneprojektīvajām šķautnēm
Gramatikas modeļi:SemTi-Kamols • Hibrīds • atkarības — koka šķautnes • frāzes — koka virsotnes • Izstrādāts latviešu valodai, bet tuvs pirmajam atkarību gramatikas variantam (L.Tenjērs / L. Tesnière)
SemTi-Kamola «čankeris» • Formālu likumu komplekts vienkāršu paplašinātu teikumu analīzei • Prolog realizācija • Ja nevar izanalizēt visu, dod analīzes rezultātus «saprastajiem» fragmentiem • Ļoti augsta daudznozīmība
Latviešu valodas statistiskā parsēšana • Latviešu valodas sintaktiski anotētais korpuss • Anotācijas atbilst SemTi-Kamola gramatikas modelim • 3747 teikumi • 51927 teksta primitīvi • Katru frāzi var pārveidot par atkarību apakškociņu • pārveidošanas likumus var pielāgot atkarībā no plānotā parsera lietojuma • Ar iegūto atkarību korpusu var apmācīt atkarību parserus
Precizitāte latviešu valodai • MaltParser, 2013.gada oktobrī • UAS (unlabeledattachmentscore) — cik elementiem ir pareizie vecāki (%) • LAS (labeledattachmentscore) — cik elementiem ir pareizie vecāki un pareizās lomas (%) • LA (labelaccuracy) — cik lomas ir pareizas (%)