Transcript pptx

VALODAS TEHNOLOĢIJU 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:

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
 vecāmamma
sēdēt
 ,
.
 ...
?!
 kaut gan
:-)
 lai arī
1 230 017
 +371 29123456
[email protected]
https://startpage.com/do/search?q=language+tech
nologies
&#%$
Tokenizators
likumbāzēts
 iebūvēts morfoloģiskajā tagerī

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ĪZE
NEVAJADZĒTU TAČU BŪT ĻOTI
GRŪTI?

I made her duck

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ĪZE
NEVAJADZĒ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ĪZE
NEVAJADZĒ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ĪZE
LATVIEŠ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ĪZE
ANALIZATORS


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 (maximum likelyhood
estimate)
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 (hidden Markov models)
 nosacījuma Markova modeļi (conditional Markov
models)
 u.c.

2. SOLIS. MORFOLOĢISKĀ ANALĪZE
TAGERIS
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ĪZE
LEMMATIZATION VS. 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?
