180 likes | 538 Views
Valodas tehnoloģij u specsemin ārs Morfoloģija. Lauma Pretkalniņa , AILab. Divas problēmu risināšanas pieejas. Konkrēta problēma: lejupvērstā pieeja Vispārīga pieeja — atrisināt visu līmeni: a ugšupvērstā pieeja. Ar ko sākt?. Audiāli dati runas atpazīšana Teksts tokenizēšana.
E N D
Valodas tehnoloģiju specseminārsMorfoloģija Lauma Pretkalniņa,AILab
Divas problēmu risināšanas pieejas • Konkrēta problēma: • lejupvērstā pieeja • Vispārīga pieeja — atrisināt visu līmeni: • augšupvērstā pieeja
Ar ko sākt? • Audiāli dati runas atpazīšana • Teksts tokenizēšana
1. solis. Tokenizēšana —sadalīšana teksta primitīvos • Teksta primitīvu piemēri: • Jānis • sēdēt • . • ?! • :-) • 1 230 017 • noreplay@lv.lv • https://startpage.com/do/search?q=language+technologies • &#%$ • Tokenizators • likumbāzēts • iebūvēts morfoloģiskajā tagerī • vecāmamma • , • ... • kaut gan • lai arī • +371 29123456
2. solis. Morfoloģiskā analīze • Teksta analīze viena vārda (teksta primitīva) robežās • vārdšķira • locījums (ja ir) • skaitlis (ja ir) • dzimte (ja ir) • laiks — tagadne/pagātne/nākotne (ja ir) • persona — es/tu/viņš (ja ir) • Sagrupēt vārdus pa grupām — «tas pats tikai citā formā» • lemmatization • stemming
2. solis. Morfoloģiskā analīzenevajadzētu taču būt ļoti grūti? • I madeherduck • Kas notika? • Visticamāk, ka… • I cooked waterfowl for her benefit (to eat) • I cooked waterfowl belonging to her • I created the (plaster?) duck she owns • I caused her to quickly lower her head or body • I waved my magic wand and turned her into undifferentiated waterfowl
2. solis. Morfoloģiskā analīzenevajadzētu taču būt ļoti grūti? • Latviešu valodā ir mazliet labāk… • … jo mums ir galotnes, vai ne?!
2. solis. Morfoloģiskā analīzenevajadzētu taču būt ļoti grūti? • Latviešu valodā ir mazliet labāk… • … jo mums ir galotnes, vai ne?! • roku • dod roku — lietv., viensk., akuzatīvs, sieviešu dz. • roku locītavas — lietv., daudzsk., ģenitīvs, vīriešu dz. • spēlē roku — lietv., viensk., akuzatīvs, vīriešu dz. • roku bedri — darbības v., 1. persona, tagadne • Latviešu valodā tiešām ir labāk?!
2. solis. Morfoloģiskā analīzelatviešu valodas iespējas • Latviešu valodā • fiksēta, praktiski nemainīga formu sistēma • iespējams uzskaitīt visas formas, kurās konkrētā galotne var būt • diezgan sarežģīta, taču pilnībā aprakstāma miju sistēma
2. solis. Morfoloģiskā analīzeAnalizators • Ja sistēmu ir iespējams saprātīgos resursos pilnībā aprakstīt, tad darām to! • Morfoloģiskā analizatora uzbūve • papildināmi vārdu sakņu saraksti, grupēti pēc locīšanas īpatnībām — ~60 tūkst. vārdu • fiksēti galotņu saraksti un miju kodējums • minēšana pēc vārda beigām, ja leksikonā neatrada • Pieejams: • https://github.com/PeterisP/morphology jaunākā Java bibliotēka • http://lnb.ailab.lv:8182/analyze/balta tīmekļa serviss • Bet tomēr, kurš no «roku» veidiem man te ir?
Matemātiska atkāpe —Beiza (Bayes) teorēma • P(X) — varbūtība, ka notiek X vai ka X ir patiess • P(X,Y) — varbūtība, ka notiek gan X, gan Y vai ka abi patiesi • P(X|Y) — varbūtība, ka notiek X, ja ir jau zināms, ka Y notiek / ir patiess • P(X|Y) = P(X) * P(Y|X) / P(Y) • Mērķis — nezināmās varbūtības noreducēt uz zināmām / viegli novērtējamām. • Datorlingvistikā bieži var novērtēt P(X) ≈ Skaits(X) / Skaits(Visi) maksimālās paticamības novērtējums (maximumlikelyhoodestimate)
Matemātiska atkāpe:Markova process (Markov process) • Sistēma, kas pāriet no viena stāvokļa nākamajā • Lai prognozētu sistēmu, jāzina visu stāvokļu varbūtības P(Xi) • Kā? • Pieņemsim, ka nākamo stāvokli nosaka tikai iepriekšējo stāvokļu virkne • Tad jāzina visi P(Xn|X1,X2,…,Xn-1) • Bet, ja stāvokļu virkņu ir daudz un dažādas un patvaļīgi garas?!
Matemātiska atkāpe:Markova process (Markov process) • Sistēma, kas pāriet no viena stāvokļa nākamajā • Vienkāršojums: nākamo stāvokli ietekmē tikai iepriekšējie 2, 3 vai k stāvokļi. • Tad jāzina P(Xn|Xn-1,Xn-2,…,Xn-k) • Kā? • Beiza teorēma un dati! P(Xn|Xn-1,Xn-2,…,Xn-k) = P(Xn) * P(Xn-1,Xn-2,…,Xn-k|Xn+1) / P(Xn-1,Xn-2,…,Xn-k) P(Y) ≈ Skaits(Y) / Skaits(Visi)
Matemātiska atkāpe:spēcīgāki modeļi • Bet ko tad, ja mēs neredzam X, bet kaut kādas sekas Y no tā? • Markova neatkarības pieņēmums: novērojamās sekas ir atkarīgas tikai no atbilstošā stāvokļa. • Markova procesa ideju var papildināt ar varbūtībām par Y virknēm un varbūtībām par X un Y savstarpējo saistību • slēptie Markova modeļi (hiddenMarkovmodels) • nosacījuma Markova modeļi (conditionalMarkovmodels) • u.c.
2. solis. Morfoloģiskā analīzeTageris • Uz datiem apmācāms kontekstjūtīgs morfoloģiskās daudznozīmības risinātājs • Izmanto • morfoloģisko analizatoru variantu ģenerēšanai • StanfordCoreNLP bibliotēkas nosacījuma Markova modeļus • Ietver tokenizatoru • Java bibliotēka https://github.com/PeterisP/LVTagger
2. solis. Morfoloģiskā analīzeLemmatizationvs. Stemming • Stemming — «celmošana» • noteiktu vārdu beigu nociršana, neveicot pilnu morfoloģisko analīzi • valodām ar nabadzīgu morfoloģiju strādā gandrīz tik pat labi kā pamatformu noteikšana • Latviešu valodai — ļoti neuzticama metode!
Paldies par uzmanību! • Cenšamies neizgudrot divriteņus… • Jautājumi?