informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali...

46
V SEKCIJA Informacinės technologijos kalbų inžinerijoje

Upload: others

Post on 19-Jul-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

V SEKCIJA Informacinės technologijos kalbų inžinerijoje

Page 2: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis
Page 3: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

GARSŲ KLASIFIKAVIMAS PANAUDOJANT SPRENDIMŲ MEDŽIUS

Gintautas Daunys, Dainius Balbonas Šiaulių universitetas, Vilniaus g. 141,76353 Šiauliai

Nagrinėjama šnekos signalo analizė, panaudojant fonemų diferencinius požymius. Analizuojami parametrai, kurie reikalingi klasifikuojant šnekos intervalus į fonemų klases. Aptariamos naujesnės publikacijos, kuriuose pateikiami požymiai, leidžiantis klasifikuoti fonemas pagal artikuliacijos vietą. Diskutuojama apie galimybę sukurti metodiką lietuvių kalbos šnekos segmentavimą ir fonemų atpažinimą.

1. Įvadas

Pažangiausi šnekos atpažinimo metodai naudoja paslėptuosius Markovo modelius. Tačiau, nepaisant įdedamų didelių pastangų, automatinis šnekos atpažinimas savo efektyvumu žymiai atsilieka nuo žmogaus šnekos atpažinimo. Todėl pastoviai ieškoma ir naujų atpažinimo metodų.

Vienas iš alternatyvių būdų yra fonemų diferencinių požymių panaudojimas. Tokios fonemų skirstymo schemos jau seniai yra naudojamos fonetikoje. D Shipman ir W. Zue iš Masačusetso Technologijos instituto 1982 metais galbūt pirmieji pasiūlė šnekos atpažinime pritaikyti diferencinius požymius. Jų darbe[1] pateikiamas pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis yra vienintelis 20 000 žodžių žodyne, kuris tenkina šabloną:

priebalsė - priebalsė - /l/ - balsė - nosinis garsas - sprogstamasis garsas. Jų pasiūlymas buvo nustatyti požymius, kad fonemas būtų galima suskirstyti į 6 klases (šalia nurodomas

fonemų klasių santykinis dydis): 1) balsiai ir silabiniai priebalsiai (angl. vowels and syllabic consonants) – 40 %; 2) sprogstamieji garsai (angl. stops) -22%; 3) nosiniai garsai – 11%; 4) stiprūs pučiamieji priebalsiai (angl. strong fricatives) – 10%; 5) silpni pučiamieji priebalsiai (angl. weak fricatives) – 4%; 6) slankai ir pusbalsiai (angl. glides and semivowels) – 13%.

Atlikta analizė parodė, kad žodžio šablono nustatymas, panaudojant išvardintas kategorijas, leidžia susiaurinti žodžių paieškos sritį iki 1%.

Šiame darbe nagrinėjama, kaip ši idėja buvo vystoma toliau. 2 skyriuje analizuojami fonetiniam klasifikavimui naudojami požymiai. 3 skyriuje aptariamos galimybės šnekos lietuvių kalba atpažinimui.

2. Fonemų klasifikavimo požymiai 2.1. Požymiai skirstymui į stambias grupes

Įšsami metodika yra pateikta D. Childers monografijoje[2]. Pritaikyti šie etapai: 1) skardžių/duslių/tylos intervalų nustatymas (angl. voiced/unvoiced/silence detection); 2) balsingų garsų nustatymas (angl. sonorant detection); 3) balsių nustatymas; 4) skardžių priebalsių nustatymas (angl. voiced consonant detection); 5) balso juostos nustatymas (angl. voice bar detection); 6) nosinių garsų nustatymas; 7) pusbalsių nustatymas (angl. semivowel detection); 8) skardžių pučiamųjų garsų nustatymas (angl. voiced fricative detection); 9) duslių sprogstamųjų ir pučiamųjų garsų nustatymas (angl. unvoiced stop and fricative detection).

– 277 –

Page 4: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

G. Daunys, D.Balbonas

Nustatant daugumą požymių, yra naudojama garsumo funkcija V(i)[3] (angl. volume function). Indeksas i žymi intervalo numerį, kuriame apskaičiuota funkcija. Garsumo funkcija yra randama iš lygties:

∑=

=B

Am

Mmj

ii

eHN

i2

)(1)(π

V ,

čia Ni – atskaitų skaičius i intervale, A – juostinio filtro apatinę ribą atittinkančio dažnio indeksas, B – viršutinę ribą atitinkančio dažnio indeksas, M – maksimalus dažnio indeksas. Funkcija H(z) surandama pagal lygtį:

NN

i zazazaaiGzH −−− ++++

=...

)()( 22

110

,

čia aj – koeficientai, gauti tiesinės prognozės (TP) analizės metu. Dydis G(i) surandamas iš lygties:

∑= )()( 2 nriG ,

čia - r(n) TP analizės paklaidos.

2.1.1. Skardžių/duslių/tylos intervalų nustatymas

Iš pradžių signalas suskaidomas į vienodus 5ms intervalus ir kiekvienam intervalui atliekama tiesinės prognozės (TP) analizė. Šios analizės rezultatas yra liekana, kuri parodo balsaskylės uždarymo taškus, ir atspindžio koeficientai kiekvienam intervalui. Intervalas yra žymimas kaip skardus, jei atspindžio koeficientai yra didesni nei 0,2, ir duslus - jei mažesnis ar lygus 0,2. Balsaskylės uždarymo indeksai toliau naudojami antrą kartą atliekant TP analizę. Antros analizės metu duslaus garso ir tylos zonose atliekama asinchroninė analizė, kai nagrinėjama zona yra suskaidoma į vienodo dydžio intervalus. Skardaus garso zonose pasirenkama sinchroninė analizė, kai nagrinėjam zona yra suskaidoma į tam tikra skaičių intervalų, todėl skirtingose skardaus garso zonose intervalų ilgis skirtingas. Antroji TP analizė irgi atliekama kiekvienam intervalui. Duslaus garso zona nustatoma ten kur balsaskylė atvira, skardaus garso zona ten kur balsaskylė keičia būseną. Antroji sinchroninė TP analizė suteikia galimybę pažymėti tranzitines sritis. Tranzitinės sritis yra tokios sritis, kai duslaus garso zona keičiasi į skardaus garso zoną ir atvirkščiai. Tranzitinės sritis išskirtos todėl, kad šios vietose yra didelė tikimybė padaryti klaidas. Po tokių zonų žymėjimo jos priskiriamos prie skardžių garsų zonos, nes šiose zonose, ypač ten kur skardaus garso zona pereina duslaus garso zoną, dėl spartaus energijos mažėjimo dažnai klaidingai gali būti priskirta prie duslaus garso zonos. Kad galutinai nustatyti skardžias/duslias/tylos zonas, reikia atskirti tylos ir duslumo zonas. Tam atvejui riekia apskaičiuoti garso funkciją ir lyginti su slenkstiniu triukšmu lygiu. Kai garso funkcija viršija arba lygi slenkstiniam triukšmų lygiui nustatoma, dusli zona, kai mažesnė - nustatoma tylos zona. Vėliau, pritaikius korekcijos taisykles ir eliminavus labai trumpus garso funkcijos energijos kritimus, nustatomos patikslintos duslaus garso ir tylos zonos. Taigi po šių apdorojimu mes jau turime išskyrę tris skirtingas garso zonas: skardaus ir duslaus garso, bei tylos.

2.1.2. Balsingų garsų nustatymas

Intervalas yra įvertinamas balsingu, kai jis yra skardus ir žemų dažnių garsumo funkcija yra žymiai didesnė už aukštų dažnių garsumo funkciją. Balsingų garsų grupei priklauso: balsės, pusbalsiais, nosiniai priebalsiai, sprogstamųjų priebalsių pradžia. Balsingumui nustatyti naudojami du juostiniai filtrai (žemų ir aukštų dažnių srityse) ir surandami filtrų išėjimo signalų garsumai. Juostinio filtro žemų dažniu srityje pralaidumo juosta yra 98 Hz - 898 Hz, o juostinio filtro aukštesnių dažnių srityje - 3691Hz -5000 Hz [2]. Pirmosios reikšmės santykis su antrąja duoda balsingumo santykį R(i) (angl. sonorant ratio). Čia i – intervalo indeksas. Balsingumo santykis R(i) yra lyginamas su slenkstiniu skardumo lygių Tson. Tokiu būdu nustatomas balsingumo įvertis SS(i)) (angl. sonorant score). Jei R(i)≥ Tson tai intervalas yra balsingas ir SS(i)=1, priešingu atveju nebalsingas ir SS(i)=0.

2.1.3. Balsių nustatymas

Balsių nustatymas atliekamas panašiai kaip ir balsingumo nustatymas [2]. Keičiasi tik filtrų pralaidumo juostos. Jos atitinkamai yra 20 Hz – 996 Hz ir 1016 Hz – 5000 Hz. Tokiu pat principu apskaičiuojamas ir balsės santykis VWL(i) (angl. vowel ratio). Balsės įvertis VWLS(i) (angl. vowel score) yra surandamas pagal formulę:

– 278 –

Page 5: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Garsų klasifikavimas, panaudojant sprendimų medžius

.

)(,)()(,1)(,0

)(

≤≤−

−≤≥

=

vaav

v

a

v

TiVWLTjeiTT

iVWLTTiVWLjeiTiVWLjei

iVWLS

Skardus sprogstamasis priebalsis /d/ turi savybes artimas balsėms. Dalies klaidų galima išvengti atlikus korekcija - intervalus įvertinti kaip neturinčius balsių, kai intervalų trukmė yra trumpesnė nei 15ms.

2.1.4. Skardžių priebalsių nustatymas

Šiuo atvejų naudojami tokie patys, su tapačia pralaidumo juosta, juostiniai filtrai kaip ir nustatinėjant balses. Naudojami ir identiški slenkstiniai lygiai, skardžių priebalsių buvimo lygį VC(i) (angl. voiced consonant ratio) galima nustatyti minėtų garsumo funkcijų santykio metodu. Skardžiųjų priebalsiu buvimo zonos nustatomos priešingai negu balsės buvimo zonos t.y. skardus priebalsis yra ten kur VC(i)≥ Tv , tada skardžių priebalsiu įvertis VCS(i)) (angl. viced consonant score) lygus vienetui, o kur VC(i)< Tž , nustatoma, kad skardaus priebalsio nėra ir VCS(i)=0. Jeigu skardaus priebalsio buvimo lygis yra tarp abiejų slenkstinių lygių tada tik su tam tikra tikimybe galima sakyti, kad tai yra skardus priebalsis (VCS(i) yra tarp 0 ir 1). Šiuo atveju reikia žiūrėti, prie kurio slenkstinio lygio arčiau yra skardaus priebalsio įvertis. Pvz. žodyje „tad“ būtų sunku nustatyti skardųjį „d“ panaudojant tik viena savybę, tai dar kartą įrodo, kad norint tiksliai nustatyti kokiai grupei priklauso fonema, reikia naudoti keletą savybių, būdingų konkrečiai fonemai. Kadangi skardžiose zonose, kur nėra balsės, yra skardus priebalsis, tada VCS(i) galima nustatyti ir tokiu metodų VCS(i)=1 – VWLS(i).

2.1.5. Balso juostos nustatymas

Balso juostos nustatymui naudojami du juostiniai filtrai, kurių pralaidumo juostų dažniai atitinkamai – žemesnių dažniu srityje 20 – 645 Hz ir aukštesnių dažnių srityje 664 – 5000 Hz. Balso juostos nustatymo lygis VB(i) (angl. voice bar ratio) apskaičiuojamas, padalinant žemesnių dažniu ruože esančio juostinio filtro pralaidumo juostos garsumo funkciją iš antrojo filtro garsumo funkcijos. Toliau analogiškai naudojami du slenkstiniai lygiai – viršutinis (Tv) ir apatinis (Tž). Slenkstiniai lygiai nustatomi eksperimentiškai. Jei VB(i)≥ Tv , tai toje vietoje yra balso juosta, o balso juostos įvertis VBS(i) (angl. voice bar score) yra vienetas, jei VB(i) žemiau apatinio lygio, toje vietoje balso juostos nėra ir VBS(i)=0. Jeigu VB(i) yra tarp apatinio ir viršutinio slenksčio tada tiksliai nėra nustatoma ar tai yra balso juosta, VBS(i) yra tarp 0 ir 1. Galima teigti, jog tai balso juosta, jeigu įvertis daugiau nei 0,5. Taip pat, siekiant išvengti klaidų, visos atkarpos, kurios pripažintos kaip balso juosta, bet jų trukmė trumpesnė nei 30ms, nepripažįstamos kaip balso juostos.

2.1.6. Nosinių priebalsių nustatymas

Nosinių priebalsių nustatymas atliekamas panaudojant pirmų dvejų formančių amplitudes. Apskaičiavus antros ir pirmos formantės amplitudžių santykius surandamas nosinio priebalsio buvimo lygmuo N(i))[4] (angl. nasal ratio). Šiuo atveju irgi naudojami du slenkstiniai lygiai. Jeigu N(i)≥ Tv, tai priimam, kad nėra nosinio priebalsio, o nosinio priebalsio įvertis NS(i) (angl. nosal score) lygus nuliui. Jei N(i) žemiau apatinio slenksčio manoma, kad toje vietoje yra nosinis priebalsis, o NS(i)=1. Jeigu N(i) yra tarp viršutinio ir apatinio slenksčio, tada tiksliai nėra nustatoma ar tai yra nosinis priebalsis, o NS(i) yra tarp 0 ir 1. Galima teigti jog tai nosinis priebalsis, jeigu nosinio priebalsio buvimo įvertis yra daugiau kaip 0,5. Siekiant patikslinti nosinio priebalsio nustatymą, naudojama keletas papildomų taisyklių. Pirma taisyklė - jei VBS(i) tame segmente yra daugiau kaip 0,75, tai tame segmente nėra nosinio priebalsio. Taip yra todėl, kad stiprus balsio sprogimas įtakoja didelį nosinio priebalsio įvertį. Antra taisyklė sako, kad tyrinėjamame intervale negali būti nosinio priebalsio, jeigu tame intervale SS(i)=0. Trečia taisyklė sako, kad visi intervalai, kuriuose nustatytas nosinių priebalsių buvimas, bet jų trukmė trumpesnė nei 25ms yra klaidingi.

2.1.7. Pusbalsių nustatymas.

Pusbalsių nustatymo algoritmas pagristas Espy-Wilson metodu [5]. Pusbalsių nustatymui naudojami du juostiniai filtrai. Pirmas filtras žemesnių dažnių srityje (20Hz – 391Hz) ir antras filtras aukštesnių dažnių srityje (410Hz – 977Hz). Šiuo atveju iš pradžių nustatomas šniokštimo lygis MUR(i) (angl. murmur ratio), dalinant garsumo funkcijas viena iš kitos. Nustačius šniokštimo lygmenį, šis lygmuo lyginamas su viršutiniu (Tv) ir apatiniu (Tž) slenksčiu, kurie nustatomi eksperimentiškai. Jei MUR(i)≥ Tv tai tame segmente yra šniokštimas, o šniokštimo įvertis MS(i) (angl. murmur score) lygus vienetui , jei MUR(i)< Tž, tai tame segmente nėra šniokštimo, o MS(i)=0. Kai MUR(i) yra tarp viršutinio ir apatinio slenksčio, tuo atveju sunku tiksliai nustatyti ar tame intervale yra

– 279 –

Page 6: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

G. Daunys, D.Balbonas

šniokštimas ar ne, MS(i) nustatomas tarp 0 ir 1. Toliau pagal formule galima nustatyti pusbalsio buvimo įvertį SVS(i)) (angl. semivowel score) :

).())(1())(1()( iVCSiVBSiMSiSVS ⋅−⋅−=

Intervaluose kur SVS(i)=1, nustatomas pusbalsio buvimas, kur SVS(i)=0 nustatomas pusbalsės nebuvimas. Jeigu intervale SVS(i) yra tarp 0 ir 1 tada vienareikšmiškai sunku nustatyti pusbalsio buvimą. Siekiant patikslinti pusbalsio nustatymą naudojama keletas papildomų taisyklių. Pirma taisyklė: jeigu NS(i) tame intervale yra daugiau kaip 0,5 tai SVS(i) tame intervale nustatomas į nulį. Taip daroma todėl, kad dalis stipriai tariamų nosinių balsių gali būti klaidingai atpažinti kaip pusbalsiai. Antra taisyklė sako, kad visi segmentai kuriuose nustatytas SVS(i)=1, bet jo trukmė trumpesnė nei 30ms yra klaidingi, nes šiuose segmentuose pusbalsių nėra.

2.1.8. Skardžių pučiamųjų garsų nustatymas

Panaudojant filtrą iš TP koeficientų, apskaičiuojame dažnio vidurkį MF(i) (angl. mean frequency). Lyginant jį su slenkstiniais lygiais, apskaičiuojamas aukšto dažnio įvertį HFS(i) (angl. high frequency score), kuris yra intervale tarp 0 ir 1. Jeigu tiriamas intervalas yra skardus, o SS(i)=0, tada šiame segmente galima nustatyti, kad yra skardus pučiamasis priebalsis. Skardaus pučiamojo priebalsio įvertis VFS(i) (angl. voiced fricative score) lygus 1. Jeigu intervalas yra skardus ir SS(i)=1, tai VFS(i)=HFS(i). VFS(i) prilyginamas nuliui visiems intervalams, kurių trukmė trumpesnė už 15 ms.

2.1.9. Duslių sprogstamųjų ir pučiamųjų garsų nustatymas

Jeigu intervalas klasifikuojamas kaip duslus, vadinasi ten bus duslus pučiamasis arba duslus sprogstamasis priebalsis. Abiejų priebalsių grupėms nustatyti naudojamas dažnio vidurkis MF(i) ir apskaičiuojamas HFS(i) lygiai taip pat, kaip ir nustant skardžias pučiamąsias priebalses. Duslaus sprogstamojo priebalsio buvimo įvertis USS(i) (angl. unvoiced stop score) randamas iš formulės:

)()( iMSKiUSS s ⋅= .

Ks tai faktorius, priklausantis nustatyto duslaus segmento ilgio Lj . Lj yra lyginamas su dviem slenkstiniais segmentų ilgiais Tstop ir Tfric. Tstop tai maksimalus duslaus sprogstamojo priebaslio ilgis, o Tfric – minimalus duslaus pučiamojo priebalsio ilgis. Tstop = 50ms, Tfric = 80ms. Ks surandamas pagal formulę[6]:

>−

+

≤≤

<−

+

=

.),1(

,1

),1(

fricjfric

fricj

fricjstop

stopjstop

lstops

s

TLT

TL

TLT

TLT

LTG

K .

Jei Lj<Tstop, tai K didelis. Kuo Lj mažesnis už Tstop, tuo K didesnis, o kuo K didesnis, tuo didesnė tikimybė kad USS(i) bus lygus vienetui ir konkretus tiriamas intervalas bus pripažintas kaip duslus sprogstamasis priebalsis. Jei Lj>Tfric tai K bus mažesnė kuo Lj didesnė už Tfric tuo K mažesnis, o kuo K mažesnis tuo didesnė tikimybė kad USS(i) bus lygus nuliui ir konkretus tiriamas intervalas bus nepripažintas kaip duslus sprogstamasis priebalsis. MS(i) tai intervalo šlaito įvertis, vienodas visam tiriamam dusliam intervalui. Duslaus pučiamojo priebalsio įvertis (unvoiced fricative score arba UFS(i)) randamas iš formulės:

).()( iHFSiUFS =

Vadinasi tas duslus intervalas, kur nėra fiksuojamas duslaus sprogstamojo priebalsio buvimas, yra fiksuojamas duslaus pučiamojo priebalsio buvimas.

2.2. Požymiai dusliųjų priebalsių artikuliacijos vietos nustatymui

2.2.1. Pučiamųjų garsų klasifikavimas

Naudojami 36 Bark skalės filtrai[6]. Pradinis sustiprinimas siekia 20 dB į dekadą. Šnypščiančiųjų garsų nustatymui naudojamas parametras - santykinė amplitudė RA (angl. relative amplitude):

∑ ∑= =

=N

i

N

i

bi

pi eeRA

1 1

)()( / ,

– 280 –

Page 7: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Garsų klasifikavimas, panaudojant sprendimų medžius

ča ei – i-ojo filtro išėjimo energija, N=36 – filtrų skaičius. Indeksai viršuje žymi (p) – pučiamojo priebalsio intervalą, (b) – po jo einančios balsės intervalą.

Maksimalus normalizuotas spektro polinkis MNSS (angl. Maximum Normalized Spectral Slope):

{ } ∑=

−−=N

i

bi

bi

bii

eeeMNSS1

)(1

)( /max

Parinkti slenksčiai 0,02 dusliems priebalsiems ir 0,01 – skardiems priebalsiams. Spektrinė forma padeda nustatyti pučiamųjų priebalsių artikuliacijos vietą. Tam yra nustatoma dominuojančios

spektrinės smailės padėtis MDP (angl. most dominant peak location). Spektrinės gravitacijos centras SCG (angl. Spectral Center of Gravity):

∑ ∑= =

⋅=N

ki

N

kiii eeiSCG / .

k-atitinka filtro, kurio pralaidumo juostą yra intervale aukščiau 1,2 kHz, indeksą.

2.2.2. Sprogstamųjų garsų klasifikavimas

Sprogstamųjų garsų artikuliacijos vietos lokalizavimui nustatyti yra naudojami šie parametrai [7]: 1) sprogimo dažnis BF (angl. burst frequency); 2) už priebalsės esančios balsės antroji formantė; 3) maksimalus normalizuotas spektro polinkis (MNSS); 4) sprogimo dažnio iškilimai (DRHF ir LINP); 5) formančių šuoliai prieš sprogstamąjį priebalsį ir po jo (angl. formant transitions before and after the stop); 6) skardumo įvertis.

3. Taikymo lietuvių kalbai galimybės

Informacijos apie lietuvių kalbos fonemų diferencinius požymius galima rasti A. Girdenio monografijoje [8], arba A. Pakerio vadovėlyje „Lietuvių bendrinės kalbos fonetika“[9]. Viena klasifikacijos schema pateikta 1 lentelėje. Joje ties fonema pažymėtas

+, jeigu fonema turi eilutėje nurodytą požymį; -, jeigu turi sklaiusteliuose nurodytą požymį (priešingą pagrindiniam); 0, jeigu tokiopožymio negali turėti.

1 lentelė. Bendrinės lietuvių kalbos priebalsinių fonemų matrica[8]

Fonema Eil. Nr.

Diferenciniai požymiai k g t d p b c 3 č 3ˇ s z š ž l r j v n m

1 balsingasis (nebalsingasis) - - - - - - - - - - - - - - + + + + + + 2 nosinis (nenosinis) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - - - + + 3 pučiamasis (nepučiamasis) - - - - - - - - - - + + + + - - + + 0 0 4 afrikata (neafrikata) - - - - - - + + + + 0 0 0 0 0 0 0 0 0 0 5 lūpinis (nelūpinis) - - - - + + 0 0 0 0 0 0 0 0 0 0 - + - + 6 liež. priešak. (nepriešak.) - - + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 alveolinis (dantinis) 0 0 0 0 0 0 - - + + - - + + - + 0 0 0 0 8 skardusis (duslusis) - + - + - + - + - + - + - + 0 0 0 0 0 0 9 mikštais (kietasis) ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± 0 ± ± ±

Pagal lentelėje patektus duomenis galima nubraižyti sprendimų medžius. 2 skyriuje pateikti požymiai duoda

pradinę informaciją sprendimų medžio apmokymui. Numatoma požymius tikslinti lietuvių kalbai pagal turimus garsynus.

– 281 –

Page 8: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

G. Daunys, D.Balbonas

Literatūros sąrašas [1] D. Shipman, D., V. Zue. Properties of large lexicons: Implications for advanced isolated word recognition systems.

IEEE, Proceedings of the International Conference on on Acoustics, Speech and Signal Processing, 1982, May, vol. 7, p.546-549.

[2] D. G. Childers. Speech processing and synthesis toolboxes. John Wiley & Sons, 2000, 484 p. [3] C. J. Weinstein, S.S. McCandless, L.F. Mondshein, V.W. Zue. A system for acoustic-phonetic analysis of continous

speech. IEEE Transactions on Acoustics, Speech, and Signal Processing, 1975, vol. 23(1), p.54-67. [4] P. Mermelstein. On detecting nasals in continous speech. Journal of the Acoustical Society of America, 1977, 61,(2),

p.581-587. [5] C. Y. Espy Wilson. A phonetically based semivowel recognition system. IEEE, Proceedings of the International

Conference on Acoustics, Speech and Signal Processing, 1986, p.2775-2778. [6] R. A. Cole, W. E. Cooper. Perception of voicing in English affricates and fricatives. Journal of the Acoustical Society of

America, 1977, 58(6), p. 1280-1287. [6] A. A. A. Ali, J. Van der Spiegel, P. Mueller. On acoustic-phonetic feature-based system for the automatic recognition

of fricative consonants. IEEE, Proceedings of the International Conference on Acoustics, Speech and Signal Processing, 1998, vol. 2, p. 961-964.

[7] A. A. A. Ali, J. Van der Spiegel, P. Mueller. Acoustic-phonetic features for the automatic classification of stop consonants. IEEE Transactions on Speech and Audio Processing, 2001, vol.9, No.8, p. 833-841.

[8] A. Girdenis. Teoriniai lietuvių fonologijos pagrindai. Vilnius, Mokslo ir enciklopedijų leidybos institutas, 2003, 388 p. [9] A. Pekerys. Lietuvių bendrinės kalbos fonetika. Vilnius, Enciklopedija, 2003, 244 p.

Classification of Sound Using Decision Tree

The paper concerns automatic speech recognition using differential features of phonemes. The analysis of scores for phonemes classification is carried out. Recent works in classification of phonemes by place of articulation detection are reviewed. The possibilities to apply decision trees for Lithuanian speech recognition is discussed.

– 282 –

Page 9: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

HIERARCHINE FONEMŲ STRUKTŪRA GRINDŽIAMO LTDIGITS FONEMŲ KLASIFIKAVIMO TYRIMAS

Kęstutis Driaunys, Vytautas Rudžionis, Pranas Žvinys Vilniaus universitetas, Kauno humanitarinis fakultetas

Muitinės g. 8, LT-4428 Kaunas

Tiesioginis fonemų klasifikavimas pakankamai gerų klasifikavimo rezultatų neužtikrina. Fonemų sistema turi aiškiai išreikštus grupinius požymius: skardus/duslus, sprogstamasis/pučiamasis, balsis/pusbalsis. Realizuojant hierarchinę fonemų klasifikaciją net nepakeitus požymių sistemos (12 MFCC) ir klasifikavimo sprendimo taisyklių (tiesinė diskriminantinė Fišerio funkcija) galima tikėtis didesnio fonemų atpažinimo patikimumo. Eksperimento rezultatai pilnai patvirtino prielaidas. Bendras fonemų atpažinimo patikimumas padidėjo 2%. Hierarchinis klasifikavimas ypatingai sumažino klaidas balsių klasėje.

1. Įvadas

Dauguma šiuolaikinių automatinio kalbos atpažinimo sistemų yra paremtos paslėptais Markovo modeliais HMM (angl. Hidden Markov Model), kurių būsenos arba elementarios grandinės modeliuoja kalbos signalą kaip tiesinę fonemų seką su papildomais tarnybiniais akustiniais įvykiais (tyla, triukšmas, tarpas ir t.t.) [8]. Šiose sistemose fonemos neturi tikslios fonetinių akustinių savybių struktūros išskyrus tradicinę HMM topologiją (trijų iš kairės į dešinę emituojančių būsenų). HMM modeliais grįstų sistemų fonemų atpažinimo tikslumas jau kurį laiką nebedidėja, o tai skatina mokslininkus ieškoti alternatyvių kalbos atpažinimo organizavimo metodų [5].

Mūsų grupė savo tyrimuose tradiciškai orientuojasi į kalbos atpažinimo tikslumo pagerinimą per geresnį fonetinių vienetų diskriminavimą (arba per geresnius fonetinių vienetų diskriminavimo metodus) kaip vieną iš perspektyviausių kalbos atpažinimo pagerinimo alternatyvų. Šiame darbe mes pamėginsime pateikti struktūrinį fonemų klasifikavimo algoritmą. Toks metodas yra grindžiamas prielaida, kad fonetinių vienetų požymių erdvėje yra pakankamai informacijos užfiksuoti ir išnaudoti struktūrines kalbos signalo (būdingas tik tam tikros klasės fonemoms) savybes, kurios HMM modelyje išnaudojamos nepakankamai.

2. Problemos formulavimas

Šiuo metu dažniausiai visos automatinio kalbos atpažinimo technologijos remiasi pavyzdžiais arba šablonais grįstais metodais (angl. pattern recognition). Pagrindinis šių metodų principas yra tai, kad pradžioje yra paruošiami nagrinėjamų kalbos vienetų etalonai, kurie atpažinimo metu palyginami su atpažįstamu matavimų vektoriumi. Fonemų atpažinimas -tai uždavinys, kurio tikslas priimti spendimą kokiam fonetiniam elementui atitinka analizuojamas kalbos signalo fragmentas. Paprasčiausias pavyzdžiais grįsto fonemų klasifikavimo algoritmas – kai nagrinėjamas kalbos signalo fragmentas yra lyginamas su kiekviena etalonine reikšme ir sprendimo priėmimo etape analizuojamam fragmentui yra priskiriamas geriausius atitikimo rezultatus parodžiusio etalono simbolis.

Toks klasifikavimas santykinai reikalauja daug laiko, kadangi nežinomą požymių vektorių reikia palyginti su visais turimais šablonais. Antras šio proceso trūkumas yra tai, kad klaidų tarp fonemų grupių ir grupės viduje svoriai yra skirtingi. Klaidos grupės viduje gali būti ištaisytos vėlesniuose atpažinimo etapuose. Fonemų grupių painiojimo klaidos stipriau įtakoja galutinį sistemos atpažinimo patikimumą. Tokius trūkumus bent jau iš dalies turėtų padėti eliminuoti hierarchinė fonemų klasifikavimo struktūra.

Fonetikos teorija lietuviškų fonemų aibę interpretuoja kaip fonetinę medžio tipo hierarchiją, kur fonemos atitinka “lapus” ir jungiamos į tam tikras grupes (balsiai, priebalsiai). Supaprastintas ir adaptuotas LTDIGITS fonemų aibei tokio medžio pavyzdys pateikiamas 1 paveiksle. Šie fonetiniai medžiai vadinami dendrogramomis. Plačiau apie fonemų hierarchiją galima rasti [5,9].

Remdamiesi šiais motyvais mes siūlome supaprastintą hierarchinį lietuviškų fonemų klasifikavimo modelį, kuris grupinius fonemų požymius derina su jų požymiais grupėje.

– 283 –

Page 10: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

K. Driaunys, V. Rudžionis, P. Žvinys

Fonemos

Balsiai Pusbalsiai Priebalsiai

Sprogstamieji Frikatyviniai

a e ė i o u l m n r v

b d g k p t s š z ž

1 pav. LTDIGITS fonemų hierarchinė struktūra

3. Panašūs tyrimai

T. Koizumi ir kt. [7] panaudojo struktūrinį fonemų atpažinimą. Eksperimentai atlikti su japonų kalbos garsynu, kurį sudaro 5240 japoniškų žodžių perskaitytų vieno diktoriaus netriukšmingoje aplinkoje. Požymių vektorius sudaromas filtruojant trumpalaikį kalbos signalo spektrą 16 Barkų skalėje išdėstytų filtrų. Klasifikatorius realizuojamas naudojant daugiasluoksnius MLNN (angl. Multilayered Neural Network) arba rekurentinius neuroninius tinklus RNN (angl. Recurrent. Neural Network). Eksperimento metu fonemos yra skirstomos į 6 grupes – skardieji, duslieji sprogstamieji priebalsiai, skardieji, duslieji pučiamieji (frikatyviniai) priebalsiai, nosiniai priebalsiai ir balsiai. Panaudojus pirminį fonemų klasifikavimą į grupes bendras fonemų atpažinimo tikslumas jų darbe padidėja 3,2 proc. (nuo 84,9 proc. iki 88,1 proc.).

Ahmed M. Abdelatty Ali ir kt. [1,2,3] realizavo struktūrinę priebalsių atpažinimo sistemą, kurioje klasifikavimas grindžiamas loginėmis taisyklėmis, tyrinėjant tokius fonetinius akustinius požymius kaip spektras, amplitudė, artikuliacijos vieta, skardumas, duslumas bei trukmė. Eksperimentai buvo atliekami su TIMIT garsyno, 60 diktorių su 7 skirtingais dialektais perskaitytomis frazėmis. Buvo skaidoma į tokias grupes- sprogstamieji, pučiamieji priebalsiai, afrikatos. Toliau skaidoma į skardžiuosius ir dusliuosius o dar vėliau į lūpinius, gomurinius, alveolinius (dantinius) ir t.t. Tyrimų metu pasiektas apie 92 proc. priebalsių atpažinimo tikslumas.

O. Dekel ir kt. [4] pasiūlė hierarchinį fonemų klasifikavimo algoritmą, grindžiamą medžio struktūra. Eksperimentai buvo atliekami su TIMIT garsyno įrašais. Požymių vektorius sudaromas iš MFCC koeficientų bei pirmųjų ir antrųjų jų išvestinių (delta ir delta- delta požymiai). Klasifikatorius realizuotas derinant tokias technologijas kaip branduolio funkcijų metodai ir Bajeso analizė. Eksperimento rezultatai parodė kad panaudojus hierarchinę medžio tipo klasifikavimo technologiją bendra fonemų atpažinimo klaida sumažėjo nuo 39,7 proc. iki 1,64 proc.

A. Juneja ir C. Espy– Wilsonas [6] atliko eksperimentus su TIMIT garsyno įrašais, kuriuose palygino HMM ir hierarchinių klasifikavimo metodų fonemų atpažinimo tikslumą. Kalbos signalas buvo klasifikuojamas į 5 klases: tyla, balsiai, sonoriniai, frikatyviniai ir sprogstamieji priebalsiai. Atliekant tyrimus su HMM naudoti iš 12 MFCC koeficientų bei pirmųjų ir antrųjų išvestinių sudaryti požymių vektoriai. Atpažinimui buvo naudojamas nepriklausomas nuo konteksto, trijų būsenų, iš kairės į dešinę HMM su diagonaline kovariacine matrica ir 8 Gauso mišinių komponentėmis kiekvienai būsenai. HMM fonemas į klases suskirstė 64,9 proc. tikslumu. Hierarchiniam klasifikavimui buvo panaudoti vektorinių atramos mašinų SVM (angl. support vector machines) grupei priklausantys klasifikavimo metodai, požymių vektorius sudaromas iš įvairių fonetinių akustinių požymių tokių kaip signalo energija, formančių trajektorijos, bei įvairių dažnių juostų spektro energija. Šiais metodais pasiektas 68,1 proc. atpažinimo tikslumas.

Kaip rodo paminėti panašūs darbai, hierarchinis fonetiniais akustiniais požymiais pagrįstas fonemų klasifikavimas pakankamai praktiškas metodas leidžiantis pagerinti fonemų atpažinimo tikslumą bei padedantis sutrumpinti fonemų klasifikavimui reikalingų skaičiavimų trukmę. Dažniausiai esamos lietuvių kalbos atpažinimo sistemos remiasi dinaminio laiko transformavimo ar paslėptų Markovo grandinių algoritmais ir retai remiasi alternatyviais fonemų atpažinimo metodais. Taigi šiame darbe pristatomas tyrimas yra naujas lietuvių kalbos fonemų atpažinimo darbas dėl atpažinimui naudojamos hierarchines fonetinių akustinių požymių struktūros.

– 284 –

Page 11: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Hierarchine fonemų struktūra grindžiamo ltdigits fonemų klasifikavimo tyrimas

4. Eksperimentas

Eksperimentui buvo pasirinktos pirmosios aštuonios garsyno LTDIGITS frazės. Darbui panaudota 200 diktorių frazės (100 vyrų, 100 moterų). Bendra eksperimento apimtis apie 9600 žodžių. Požymių vektorius sudaromas iš 12 MFCC (Melo dažnių kepstriniai koeficientai) koeficientų, energijos bei pirmųjų ir antrųjų išvestinių.

Toliau buvo sukurtas algoritmas, kuris pagal segmentavimo ribas atrenka konkrečią fonemą atitinkančius MFCC koeficientus. Kadangi kiekvienos fonemos trukmė skirtinga, o pagal trukmę gauname ir atitinkamą MFCC koeficientų langų skaičių, kiekvienos fonemos MFCC etalono skaičiavimui buvo suprogramuotas toks algoritmas: pirmiausia išpjauname vidurinę arba stacionarią fonemos dalį (jos trukmė 50 ms) ir paskaičiuojame kiekvieno koeficiento 8 langų vidurkį, paskui nuo dešiniosios fonemos ribos link centro 50 ms atstumu išpjaunami kiti MFCC langai ir apskaičiuojamas 8 langų koeficientų vidurkis. Tokiu būdu gauname dešiniojo fonemos konteksto MFCC etaloną ir analogiškai – kairiojo fonemos konteksto etaloną (žr. 2 pav.). Eksperimentui buvo panaudoti tik stacionariosios fonemos dalies MFCC etalonai.

Klasifikatorius buvo realizuotas pagal Fišerio tiesinę diskriminantinę funkciją: '21121 )()()( xxSxxwJ −−= − ;

čia: w, –apriorinė klasės tikimybė, x1, x2 – abiejų klasių vidurkių vektoriai, S – abiejų klasių kovariacinė matrica. Eksperimentai buvo vykdomi dviem etapais. Pirmame etape buvo realizuota fonemų atpažinimo sistema

nenaudojant hierarchinės struktūros. Buvo paruošti 21 fonemos šablonai ir atpažinimo procese kiekvienas testuojamas kalbos signalo fragmentas buvo lyginamas su visais 21 fonemos šablonais. Iš viso testavimui buvo naudojamos 5082 fonemos (iš 20 diktorių frazių).

2 pav. MFCC etalonų skaičiavimo algoritmas

Antrame etape buvo realizuotas fonemų klasifikatorius išnaudojant hierarchinę fonemų struktūrą. t.y. papildomai buvo paruoštos fonemų grupių šabloninės reikšmės (balsių, pusbalsių, sprogstamųjų ir frikatyvinių priebalsių). Klasifikatoriaus algoritmas realizuotas tokiomis sekomis: pirmiausia tikrinama kuriai iš klasių (balsių, pusbalsių ar priebalsių) yra artimesnis analizuojamas kalbos signalo fragmentas. Nustačius fragmento atitikimą kažkuriai klasei analizuojamas fragmentas yra lyginamas tik su tai klasei priklausančių fonemų šabloninėmis reikšmėmis.

5. Rezultatai Vertinant fonemų klasių atpažinimo rezultatus galima pastebėti, kad naudojant hierarchinę fonemų

atpažinimo struktūrą, fonemų suskirstymas į balsių, pusbalsių bei sprogstamųjų ir frikatyvinių priebalsių klases pagerėjo beveik 5 proc. (nuo 79,6 proc. iki 84,5 proc.). Analizuojant kiekvienos klasės atpažinimo rezultatus (žr. 1 lentelę) reikia pastebėti, kad didžiausias pagerėjimas (14 proc.) pastebimas balsių klasėje, tačiau ganėtinai suprastėjo sprogstamųjų priebalsių ir pusbalsių klasių atpažinimo tikslumas.

– 285 –

Page 12: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

K. Driaunys, V. Rudžionis, P. Žvinys

1 lentelė. Fonemų grupių atpažinimo tikslumas (procentais)

Balsiai Pusbalsiai Sprogstamieji priebalsiai

Frikatyviniai priebalsiai

Fonemų skaičius 2301 886 1276 619 Atpažinimas nenaudojant hierarchinės fonemų struktūros Atpažino kaip balsį 74,1 11,5 1,0 1,5 Atpažino kaip pusbalsį 21,5 74,8 5,3 12,9 Atpažino kaip sprogstamąjį priebalsį 4,4 13,5 93,7 7,9 Atpažino kaip frikatyvinį priebalsį 0 0,1 0 77,7 Atpažinimas naudojant hierarchinę fonemų struktūra Atpažino kaip balsį 87,9 13,5 1,6 0,5 Atpažino kaip pusbalsį 4,4 69,0 7,7 0,2 Atpažino kaip sprogstamąjį priebalsį 7,6 17,5 90,7 18,4 Atpažino kaip frikatyvinį priebalsį 0 0 0 80,9

Analizuojant balsių atpažinimą galima pastebėti, kad ženkliausiai pagerėjo balsių I ir E atpažinimas, O ir Ė išliko toks pats ir 4 proc. sumažėjo balsio U atpažinimas, kurio suprastėjusius rezultatus lėmė padidėjęs painiojimas su pusbalsiu L ir sprogstamuoju priebalsiu P.

2 lentelė. Balsių atpažinimo tikslumas (procentais)

A E Ė I O U Fonemų skaičius 442 437 38 925 134 325 Atpažinimas nenaudojant hierarchinės fonemų struktūros Teisingai atpažino 76 45,3 13,2 55,9 67,2 67,7 Atpažino kaip balsį 86,0 71,9 94,7 65,6 94 74,5 Atpažino kaip pusbalsį 11,0 25,9 5,3 29 5,3 17,5 Atpažino kaip sprogstamąjį priebalsį 3,4 2,29 0 5,3 0,7 8 Atpažino kaip frikatyvinį priebalsį 0 0 0 0,1 0 0 Atpažinimas naudojant hierarchinę fonemų struktūra Teisingai atpažino 82,6 58,8 13,2 70,4 67,2 63,4 Atpažino kaip balsį 93,7 91,5 100 86,8 97,8 72,9 Atpažino kaip pusbalsį 2,0 2,5 0 5,3 0 9,8 Atpažino kaip sprogstamąjį priebalsį 4,3 5,9 0 7,9 2,2 16,9 Atpažino kaip frikatyvinį priebalsį 0 0 0 0 0 0,3

3 lentelė. Pusbalsių atpažinimo tikslumas (procentais)

L M N R V Fonemų skaičius 124 20 404 214 124 Atpažinimas nenaudojant hierarchinės fonemų struktūros Teisingai atpažino 50,8 5 42,6 88,8 10,5 Atpažino kaip balsį 17,7 10 18,3 1,9 0 Atpažino kaip pusbalsį 69,4 90 70,3 88,8 68,5 Atpažino kaip sprogstamąjį priebalsį 12,9 0 11,4 8,9 31,5 Atpažino kaip frikatyvinį priebalsį 0 0 0 0,5 0 Atpažinimas naudojant hierarchinę fonemų struktūra Teisingai atpažino 43,5 5 52 45,3 9,7 Atpažino kaip balsį 28,2 10 8,9 18,2 6,4 Atpažino kaip pusbalsį 59,7 90 85,6 45,4 61,3 Atpažino kaip sprogstamąjį priebalsį 12,1 0 5,4 36,4 32,3 Atpažino kaip frikatyvinį priebalsį 0 0 0 0 0

Prasčiausius rezultatus panaudojus struktūrinį atpažinimą gavome pusbalsių klasėje ir didžiąja dalimi tai buvo sąlygota fonemos R atpažinimo suprastėjimu. Šiuos rezultatus galima paaiškinti, kad sudarant šios klasės etaloninę

– 286 –

Page 13: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Hierarchine fonemų struktūra grindžiamo ltdigits fonemų klasifikavimo tyrimas

kovariacinę matricą beveik pusė apmokymui naudojamų fonemų imties buvo sudaryta iš sklandžiųjų nosinių priebalsių M,N, kurie praktiškai užgožė paprastųjų V, šoninių L ir virpamųjų sklandžiųjų priebalsių įtaką. Todėl ateityje, mūsų nuomone pusbalsiai (arba sklandieji priebalsiai) turėtų būti negrupuojami į vieną klasę, o išskirstomi į paprastųjų, nosinių, šoninių ir virpamųjų sklandžiųjų priebalsių klases, kadangi eksperimentai parodė jog šie garsai pagal artikuliacijos būdą turi daugiau skirtumų nei panašumų.

Sprogstamųjų priebalsių atpažinimas taip pat parodė ganėtinai prastus rezultatus ir ateityje planuojama šios klasės fonemas išskirti į dar dvi grupes sprogstamųjų skardžiųjų B, D, G ir dusliųjų K, P, T.

4 lentelė. Sprogstamųjų priebalsių atpažinimo tikslumas (procentais)

B D G K P T Fonemų skaičius 59 184 98 137 278 520 Atpažinimas nenaudojant hierarchinės fonemų struktūros Teisingai atpažino 42,4 59,8 60,2 75,2 89,2 24 Atpažino kaip balsį 8,5 0,5 0 0 2,1 0,2 Atpažino kaip pusbalsį 5,1 12 7,1 3,6 5,8 2,9 Atpažino kaip sprogstamąjį priebalsį 86,4 87,5 92,9 96,4 92,1 96,9 Atpažino kaip frikatyvinį priebalsį 0 0 0 0 0 0 Atpažinimas naudojant hierarchinę fonemų struktūra Teisingai atpažino 15,3 44 48 78,1 89,9 24,6 Atpažino kaip balsį 6,8 3,3 0 0 3,6 0,2 Atpažino kaip pusbalsį 40,7 23,4 17,3 0 3,2 1 Atpažino kaip sprogstamąjį priebalsį 52,5 73,4 82,7 100 93,2 98,8 Atpažino kaip frikatyvinį priebalsį 0 0 0 0 0 0

Nors ir pagerėjo frikatyvinių arba pučiamųjų priebalsių atpažinimas (nuo 77,7 proc. iki 80,9 proc.) analizuojant rezultatus galima pastebėti, kad skardieji Z, Ž dažniausiai atpažinimo procese yra painiojami su skardžiaisiais sprogstamaisiais priebalsiais D, G, o duslusis S su dusliaisiais sprogstamaisiais K, P, T

5 lentelė. Frikatyvinių priebalsių atpažinimo tikslumas (procentais)

S Š Z Ž Fonemų skaičius 405 177 18 19

Atpažinimas nenaudojant hierarchinės fonemų struktūros Teisingai atpažino 74,6 75,7 5,6 78,9 Atpažino kaip balsį 0,7 1,7 16,7 0 Atpažino kaip pusbalsį 11,4 11,9 50 21,1 Atpažino kaip sprogstamąjį priebalsį 10,6 2,8 5,6 0 Atpažino kaip frikatyvinį priebalsį 77,3 83,6 27,8 78,9

Atpažinimas naudojant hierarchinę fonemų struktūra Teisingai atpažino 73,8 85,3 5,6 31,6 Atpažino kaip balsį 0,2 0,6 5,6 0 Atpažino kaip pusbalsį 0 0 0 0 Atpažino kaip sprogstamąjį priebalsį 21,7 1,7 55,6 68,4 Atpažino kaip frikatyvinį priebalsį 77,8 97,7 38,9 31,6

Įvertinus fonemų klasifikavimui sugaištą laiką buvo pastebėta, kad hierarchinės fonemų struktūros panau-dojimas skaičiavimo laiką sutrumpina 52–55% (du skirtingo galingumo kompiuteriai).

6. Išvados ir planuojami darbai

Apibendrinant gautus rezultatus galima pastebėti, kad integravus hierarchinę fonemų struktūrą bendras fonemų atpažinimas pagerėjo 2 proc. nuo 57,6 proc. iki 59,6 proc. Tokį nežymų pagerėjimą galima pateisinti tuo, kad tiesinis klasifikavimo modelis (tiesinė diskriminantinė Fišerio funkcija) nepakeitus naudojamos požymių sistemos (MFCC koeficientai) nesugeba pakankamai įvertinti grupinių fonemų požymių, todėl ateityje planuojama fonemų grupių diskriminavimą realizuoti naudojant papildomus fonetinius akustinius požymius bei modifikuojant naudojamų MFCC koeficientų požymių masyvą.

– 287 –

Page 14: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

K. Driaunys, V. Rudžionis, P. Žvinys

Fonemų klasių atpažinimo tikslumas pagerėjo 5 proc. Ypatingai hierarchinis klasifikavimas sumažino klaidas balsių klasėje, tačiau pablogėjo rezultatai bandant atpažinti sprogstamuosius priebalsius bei pusbalsius, tokius rezultatus mūsų nuomone galėjo sąlygoti fonemų klasių etalonų sudarymui naudojamas nevienodas fonemų skaičius, todėl ateityje planuojama atliekant klasifikavimą įvertinti fonemos pasirodymo dažnines charakteristikas. Beje iš atliktų eksperimentų galima daryti išvadą, kad MFCC koeficientai savyje sukaupia nemažai informacijos diskriminuojančios skardžiųjų bei dusliųjų garsų klases, todėl ateityje numatoma hierarchinę fonemų struktūra pakoreguoti papildomai įtraukiant skardžiųjų ir dusliųjų garsų klases.

Literatūros sąrašas [1] A.M. Abdelatty Ali, J. Van der Spiegel, P. Mueller. An Acoustic-Phonetic Feature-based System for Automatic

Phoneme Recognition in Continuous Speech. IEEE ISCAS, May 1999, Proc. Vol. III, pp. 118-121. [2] A.M. Abdelatty Ali, J. Van der Spiegel, P. Mueller. Acoustic-Phonetic Features for the Automatic Classification

of Fricatives. J. Acoustial Soc of America (JASA), May 2001, Vol. 109 (5), pp. 2217-2235. [3] A.M. Abdelatty Ali, J. Van der Spiegel, P. Mueller. Acoustic-Phonetic Features for the Automatic Classification

of Stop Consonants. IEEE Transactions on Speech and Audio Processing, Vol. 9, 2001, pp.833-741. [4] O. Dekel, J. Keshet, Y. Singer. An Online Algorithm for Hierarchical Phoneme Classification. In: Workshop on

Multimodal Interaction and Related Machine Learning Algorithms (MLMI 04), 21-23 June 2004. [5] A. Girdenis. Teoriniai fonologijos pagrindai.Vilnius:Petro ofsetas. 1995. [6] A. Gutkin, S. King. Structural Representation of Speech for Phonetic Classification. In Proc. 17th International

Conference on Pattern Recognition (ICPR), volume 3, Cambridge, UK, August 2004, pp. 438-441. [7] A. Juneja, C. Epsy-Wilson. Speech segmentation using Probabilistic Phonetic Feature Hierarchy and Support

Vector Machines. In Proceedings of International Joint Conference on Neural Networks, Portland, Oregan, 2003. [8] T. Koizumi, M. Mori, S. Taniguchi, M. Maruya. Recurrent Neural Networks for Phoneme Recognition. ICSLP 96,

Proceedings, Fourth International Conference, Vol. 1, 3-6 October 1996, pp. 326 –329 [9] A. Pakerys. Lietuvių bendrinės kalbos fonetika. Vilnius: Mokslas, 1986. [10] M. Ostendorf. Moving beyond the ‘beads-on-a-string’ model of speech. In Proc. IEEE ASRU Workshop, 1999.

The Classification Of LTDIGITS Phonemes Based on Hierarchical Phonetic Structure

The phoneme classification inaccuracy at the phonetic level is a major weakness in most speech recognition systems. The phonemes system has clearly defined group features: voiced/unvoiced, plosive/fricative, vowel/consonant. While using hierarchical phoneme classification the better recognition results can even be achieved using the same classification methods and not changing the feature vectors. These assumptions were proved by the experimental investigations. The total recognition of phonemes was improved by 2%. The hierarchical phoneme classification especially has improved the recognition of vowels.

– 288 –

Page 15: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

AUTOMATIZUOTAS SAKINIO RIBŲ IR SUTRUMPINIMŲ ŽYMĖJIMAS LIETUVIŠKAME TEKSTE

Jurgita Kapočiūtė, Gailius Raškinis Vytauto Didžiojo universitetas, K. Donelaičio g. 58, 44248 Kaunas

Pranešime pateikiamas sutrumpinimų ir sakinio ribų lietuviškame tekste žymėjimo algoritmas ir jo tyrimas. Siūlomas algoritmas naudoja specialiai sukurtus sakinio ribų ir sutrumpinimų paieškos šablonus; sutrumpinimai taip pat kaupiami specializuotame resursų faile, o nauja informacija vėliau naudojama paieškos šablonuose. Algoritmas gali veikti vienu iš dviejų automatizacijos režimų, nuo kurio priklauso kaip dažnai algoritmas abejotinais atvejais kreipiasi į vartotoją. Siūlomi metodai, kurie yra taikomi sutrumpinimų žymėjimui yra adaptyvūs – jų efektyvumas nuolat auga, augant apdorotų tekstų kiekiui. Gautas aukštas efektyvumas užtikrina tolimesnes metodų taikymo galimybes įvairioms sritims.

1. Įvadas

Klasifikuotos, tinkamai apdorotos ir dokumentuotos didelės tekstų saugyklos vadinamos tekstynais. Šiuo metu Lietuvoje, Vytauto Didžiojo Universitete yra surinktas tekstynas, kurio apimtis >100 mln. žodžių. Kad teksto vertė būtų didesnė, jį reikėtų sužymėti standartinėmis žymomis, leidžiančiomis identifikuoti: sutrumpinimus, sakinio ribas, datas, žodžio morfologines formas, ir kt. Sužymėtas tekstas turi privalumų, t.y. jis gali būti taikomas tolimesnėms tekstų analizėms:

Naujadarų paieškai. Sužymėjus tekstyne pasitaikančias klaidas, santrumpas, tikrinius daiktavardžius ar nelietuviškus intarpus, vėliau galima automatiškai sugeneruoti lietuviškų dažninių žodžių sąrašus. Turint skirtingiems laikotarpiams priklausančius sąrašus, galima analizuoti kalbos raidą.

Kalbos modelio sudarymui. Pažymėtoms teksto dalims galima taikyti specifinį adaptuotą apdorojimą kuriant kalbos modelį: pvz. datą gali sudaryti keletas raidinių ar skaitmeninių simbolių eilučių – visas jas galima pažymėti kaip vieną leksinį vienetą, todėl tekste galima skaičiuoti tų simbolių eilučių sekų tikimybes, kokia simbolių eilutė (skaitmeninė, ar raidinė) po kokios dažniausiai gali sekti.

Tekstų lygiagretinimui. Skirtingų kalbų sužymėtus tekstus lengviau sulygiagretinti – tai naudojama automatizuotam vertimui.

Rankiniu būdu atliekamas teksto žymėjimas palieka mažai arba iš viso nepalieka klaidų, tačiau sugaištama daug laiko – todėl jis yra neefektyvus. Mūsų tikslas buvo sukurti metodus, kuriais remiantis būtų galima automatizuotai atlikti sakinio ribų ir sutrumpinimų žymėjimą Lietuvių kalbos tekstuose, bei įvertinti žymėjimo tikslumą, palyginant ekspertinį (rankiniu būdu sužymėtą) tekstą su algoritmo sužymėtu.

Teksto žymėjimui pasirinktas ISO standartas – SGML (Standard General Markup Language) ženklinimo kalba [1] (principas panašus į HTML). Standartinės SGML žymos leidžia identifikuoti konkretaus leksinio ar sintaksinio vieneto ribas ir nusakyti jo prasmę. SGML standartas yra plačiai taikomas žymint daugumą tekstynų [2].

Šiame darbe aprašomas algoritmas gali veikti vienu iš dviejų automatizacijos režimų: dalinės arba visiškos. Visiškos automatizacijos atveju algoritmas net abejotinais atvejais vartotojui neužduos klausimo, o pasirinks labiausiai tikėtiną žymėjimo variantą; dalinės automatizacijos atveju, pritrūkus vidinės informacijos teisingam algoritmo veikimui, jis kreipsis į vartotoją ir nuo jo atsakymo priklausys tolimesnis veikimas. Kad vartotojui nereikėtų nuolat atsakinėti į pasikartojančius klausimus, sutrumpinimai bus kaupiami specializuotame resursų faile, todėl galimas daugkartinis jų panaudojimas. Darbe pasiūlyti metodai yra adaptyvūs ir, augant išanalizuotų tekstų kiekiui, auga jų efektyvumas.

2. Analogiški darbai

Ne Lietuvoje sukurtų automatizavimo įrankių nėra daug, tuo labiau, kad didžiausias dėmesys skiriamas efektyviam pusiau automatiniam teksto apdorojimui: sukurtos specialios priemonės, turinčios vaizdžią ir patogią naudoti vartotojo sąsaja, kuri pagreitina rankinį žymų įterpimą tekste: žymiklio pagalba tereikia nurodyti teksto vietą ir paspausti reikiamą klavišą, kuris įterpia pasirinktą žymą. Tokie metodai visiškai neorientuoti į teksto analizę – visas darbas paliekamas pačiam žymėtojui [3].

Tačiau yra sukurtų ir kitų metodų, kurie atlieka išsamią teksto analizę, ir juos galima suskirstyti į šias grupes pagal jų savybes:

– 289 –

Page 16: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

J. Kapočiūtė, G. Raškinis

Naudojami metodai. Teksto fragmentų, kuriuos norima identifikuoti, paieška yra atliekama taikant specialius metodus. Euristinių taisyklių metodą naudoja vokiečių autoriai Tibor Kiss ir Jan Strunk[4]. Į empyriškai nustatytą formulę sustatoma informacija, kuri nurodo: kaip dažnai mokymo tekstyne analizuojamas žodis eina sakinio pabaigoje, žodžio ilgis, kiek vidinių taškų jis turi (pvz. „t.t.“ – turi vieną vidinį tašką). Pagal šią formulę gautas rezultatas tikrinamas: jeigu jis viršija nustatytą slenkstį – identifikuojamas sutrumpinimu, jeigu ne – sakinio riba. Pagal turimą mokymo tekstyną kaupiama informacija apie kiekvieną žodį: kaip dažnai jis rašomas didžiąja, mažąja raide; kokie žodžiai dažniausiai eina sakinio pradžioje; ieškoma sustabarėjusių žodžių kolokacijų (pvz. „habil.dr“ – sustabarėjęs junginys, todėl žodžiai vienas nuo kito negali būti atskiriami); vėliau pagal sukauptą informaciją priimami sprendimai – t.y. nustatinėjamos sakinio ribos. Euristinių taisyklių metodą taip pat naudoja amerikiečių autoriai Haoyj Wang ir Yang Huang [5]: jeigu sakinys baigiasi mažosiomis raidėmis rašomu žodžiu ir šiais skyrybos ženklais („.“, „?“, „!“), o prasideda didžiąja raide, tuomet metodas identifikuoja sakinio ribą. Paslėptų Markovo modelių (HMM) metodą naudoja amerikiečių autoriai Haoyj Wang ir Yang Huang [5]: atliekamas paslėptų Markovo modelių paketo mokymas pagal turimą mokymo tekstyną, gauti rezultatai taikomi naujuose tekstuose esančių sakinio ribų paieškoms. Maksimalios entropijos metodą naudoja amerikiečių autoriai Haoyj Wang ir Yang Huang [5]: pagal rastus žodžių kolokacijų, jų dažnių sakinio pradžioje arba pabaigoje požymius, esančius mokymo tekstyne, apskaičiuojamos tikimybės ir integruojamos į maksimalios entropijos formulę, leidžiančią nustatyti sakinio ribas tekste. Kitus tikimybinius metodus sakinio riboms nustatinėti naudoja japonų autoriai Tajima, Hidetsugu Nanba ir Manabu Okumara[6]: analizuojamos rišlios frazės, tiriama kaip dažnai konkretus žodis, frazė arba konkreti žodžio morfologinė forma gali būti sakinio pabaigoje – priklausomai nuo šios informacijos kiekvienam žodžiui suteikiamas įvertis ir atliekamas tikrinimas: jeigu įverčių suma viršija nustatyta slenkstį – konkretus žodis identifikuojamas sakinio pabaiga.

Automatizacijos laipsnis. Rastuose straipsniuose naudojama visiška automatizacija: vokiečių autoriai Tibor Kiss ir Jan Strunk atlieka sakinio ribų ir sutrumpinimų žymėjimą tekste, o jų pasiūlyti metodai užtikrina tikslumą: 98,93% – 99,72% (sakinio riboms) ir 90,52% – 99,92% (sutrumpinimams) [4]; amerikiečių autoriai Haoyj Wang ir Yang Huang ieško sakinio ribų tekste, o gautas tikslumas svyruoja 91,43% – 99,56% [5]; japonų autoriai Sachie Tajima, Hidetsugu Nanba ir Manabu Okumara identifikuoja sakinio ribas ir pasiekia 77,24% tikslumą [6].

Taikymas įvairioms kalboms. Tibor Kiss ir Jan Strunk[4] savo pasiūlytą algoritmą pritaikė: anglų, vokiečių, portugalų, estų, prancūzų, italų, norvegų, ispanų, švedų, turkų kalboms; Haoyj Wang ir Yang Huang[5] – anglų kalbai [5], o Sachie Tajima, Hidetsugu Nanba ir Manabu Okumara[6] – japonų kalbai.

Lietuvoje ši tyrimo sritis yra visiškai nauja: automatinės sakinio ribų ir sutrumpinimų paieškos Lietuviškame tekste darbų, mano turimais duomenimis, nėra.

Savo darbe pristatysime algoritmą, kurio metodas taip pat paremtas empirinėmis taisyklėmis, leidžiančiomis identifikuoti sakinio ribas. Algoritmas remsis: lietuviškų žodžių filtru1, specializuotomis euristinėmis taisyklėmis, bei duomenų baze, kurioje automatizuotai bus kaupiama informacija apie sutrumpinimus. Aprašomas algoritmas galės veikti vienu iš dviejų automatizacijos režimų: daliniu arba visišku. Jis bus pritaikytas lietuvių kalbai.

3. Automatizuotas žymėjimas

Automatizuoto teksto anotavimo problemos: Pasikartojančių sutrumpinimų egzistavimo tekste problema. Neužtenka tik konkrečiame tekste surasti

sutrumpinimą ir jį pažymėti. Tie patys sutrumpinimai kartojasi daugelyje tekstų (pvz. sutrumpinimas „t.t.“). Sutrumpinimų įvairovės problema. Sutrumpinimai gali turėti įvairias užrašymo formas: (pvz.: sutrumpinimas

gali būti rašomas didžiąja raide – „Lt.“; pabaigoje sutrumpinimas gali neturėti – „ha“ arba gali turėti – „pan.“ taško „.“ simbolį).

Sudėtinių sutrumpinimų žymėjimo tekste problema. Sutrumpinimai gali būti tiek sudėtiniai, tiek nesudėtiniai (pvz:„prof.habil.dr.“ yra du sutrumpinimai: „prof.“ – nesudėtinis ir „habil.dr“ – sudėtinis).

Dažno vartotojo klausinėjimo problema. Kiekvienas lietuviškų žodžių filtro neatpažįstamas žodis, kurio ilgis mažesnis nei 6 raidės, gali būti sutrumpinimas. Kad tų neatpažįstamų žodžių būtų mažiau, prieš tai tekste reikia identifikuoti žinomus leksinius vienetus: tikrinius daiktavardžius (taip pat ir asmenvardžių sutrumpinimus); užsienio kalbų intarpus, akronimus; žodžius, rašomus ne bendrine kalba, pvz.: “vidun”, “kairėn” ir t.t.

Sakinio ribos, kuri baigiasi sutrumpinimu, dviprasmybės problema. Po sutrumpinimo (kuris baigiasi tašku „.“) einantis žodis, rašomas didžiąja raide ne visada reiškia sakinio pabaigą: (pvz.: „Tai įvyko 1918 m. Kaune.“ – sutrumpinimas „m.“ nėra sakinio pabaigoje; „Tai įvyko 1918 m. Kaune tuo metu...“ – sutrumpinimas „m.“ yra sakinio pabaigoje).

1 Lietuviškų žodžių filtras – tai morfologinio analizatoriaus procedūra, kurios įėjime pateikus konkretų žodį, išėjime (jeigu žodis

yra atpažįstamas) gaunamas žodis arba keletas žodžių, užrašytų pagrindine forma.

– 290 –

Page 17: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Automatizuotas sakinio ribų ir sutrumpinimų žymėjimas lietuviškame tekste

Sukurtas automatizuotas teksto žymėjimo algoritmas (žr. 1 pav.) leidžia pakankamai neblogai išspręsti prieš tai apžvelgtas problemas. Jis susideda iš šių esminių etapų:

1. Pradinis teksto žymėjimas ir lietuviškų žodžių filtro papildymas naujais žodžiais. Rišliame tekste yra surandami ir identifikuojami lietuviškų žodžių filtrą praėję žodžiai. Vėliau neidentifikuoti

žodžiai bandomi atpažinti pasitelkus išplėstinius filtrus: Mums įprasti žodžiai: žodžių sutrumpinimai ar tarmybės lietuviškų žodžių filtro nėra atpažįstamos.

Išplėstinio filtro pagalba žodžio galūnė (jeigu ji priklauso šiam galūnių sąrašui: “on”, “oj”, “im” ir t.t.) pakeičiama kita atitinkama galūne (pvz.: “on” (rankon) → “a” (ranka)), atliekamas pakartotinas tikrinimas lietuviškų žodžių filtru.

Atliekamas kitų pradiniuose etapuose neidentifikuotų žodžių tikrinimas:ar tie žodžiai nėra kaupiami specializuotuose tikrinių daiktavardžių, užsienio kalbų žodžių ir kt. žodžių resursų failuose.

Atliekamas paragrafų numeracijos tikrinimas: išplėstinio filtro pagalba surasta dėsningai pasikartojanti numeracija (tiek skaitinė, tiek raidinė) yra pažymima.

Kiekvieno šių etapų metu pažymimi identifikuoti lietuviškų žodžių filtrą ir išplėstinius filtrus praėję žodžiai. Renkama informacija apie žodžius, todėl tolimesniuose etapuose apie juos vartotojas nebus klausiamas. 2. Sutrumpinimų paieška ir žymėjimas tekste. Algoritmas tikrina tik neidentifikuotus žodžius:

Pvz. turimoje sutrumpinimų duomenų bazėje saugoma tokia informacija: (...; pan.; dr.habil.dr.; prof.; ...). Atliekamas tikrinimas: a) ar visas neatpažįstamas žodis yra sutrumpinimų duomenų bazėje (pvz.: „pan.“ – visas žodis yra duomenų bazėje); b) ar visas galimas sutrumpinimų junginys yra specializuotoje duomenų bazėje (pvz.: „habil.dr.“ – visas junginys yra duomenų bazėje); c) ar galimo sutrumpinimų junginio dalys yra specializuotoje duomenų bazėje (pvz.: „doc.dr.“ – duomenų bazėje yra tik junginio dalis: „dr.“)?

Tikrinama ar likę neidentifikuoti žodžiai gali būti sutrumpinimai. Interaktyvaus bendravimo su vartotoju metu (esant dalinei automatizacijai) žodžiai yra pateikiami vartotojui ir nuo jo pasirinkimo priklauso kokį žodį (ar žodžių junginį) nukreipti į specializuotą sutrumpinimų duomenų bazę.

Anksčiau išvardintais veiksmais tekste identifikuojami sutrumpinimai. Šiame etape išsprendžiama pasikartojančių sutrumpinimų egzistavimo, sutrumpinimų įvairovės ir sudėtinių

sutrumpinimų žymėjimo tekste problemos. 3. Sakinio ribų žymėjimas. Šis etapas vykdomas jau po neatpažįstamų žodžių identifikavimo ir sutrumpinimų žymėjimo, todėl išvengiama

daugelio klaidų. Sakinio ribų paieška atliekama remiantis specializuotomis euristinėmis taisyklėmis, kurios leidžia nustatyti sakinio ribas:

Sakinio pradžia eilutės pradžioje laikomas bet koks teksto simbolis arba jų grupė (išskyrus tarpą arba tab simbolį), jeigu toje eilutėje yra daugiau raidinės arba skaitinės informacijos;

Sakinio pabaiga eilutės pabaigoje laikomas bet koks simbolis arba jų grupė (išskyrus tarpą arba tab simbolį), jeigu toje eilutėje dar yra daugiau raidinės arba skaitinės informacijos;

Galima sakinio riba laikomas taškas „.“, šauktukas „.“, arba klaustukas „?“. Sakinio ribą taip pat gali identifikuoti kabutės „‘“, „““ arba skliaustai „]“, „[“, „)“, „(“ (priklausomai nuo to, į kurią pusę jie užsidaro). Turint apytikslę sakinio ribos vietą (keletas simbolių prieš galimą sakinio pabaigą ir keletas simbolių už galimos sakinio pradžios) atliekamas tolimesnis tyrimas: – Jeigu numanomas sakinys baigiasi mažosiomis raidėmis, o prasideda didžiosiomis ir sakinio

pabaigoje nėra sutrumpinimo, tai pagal turimų skyrybos ženklų prasmę sakinio riba suskaidoma į sakinio pabaigą ir pradžią.

– Jeigu numanomas sakinys baigiasi asmenvardžio santrumpa, o prasideda asmenvardžiu – sakinio riba neidentifikuojama.

– Jeigu numanomas sakinys baigiasi paragrafo pradžios identifikaciniais simboliais (arba simboliu), o prasideda raide arba skaičiumi – sakinio riba neidentifikuojama.

– Jeigu numanomoje sakinio pabaigoje randami šie sutrumpinimai ("ab.", "akad.", "aut.", "doc.", "dr.", "gerb.", "habil.", "inž.", "kun.", "prof.", "šv.", "švenč.", "švč.", "t.y."2), o numanomoje

2 Sutrumpinimai taip pat gali būti rašomi didžiąja raide.

– 291 –

Page 18: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

J. Kapočiūtė, G. Raškinis

sakinio pradžioje žodis užrašytas didžiąja raide, vadinasi tikrinama frazė nėra sakinio riba. Jeigu numanomoje sakinio pabaigoje randami kiti (t.y. neišvardinti) sutrumpinimai, o numanomoje sakinio pradžioje žodis užrašytas didžiąja raide arba skaičius – apie tokį atvejį užklausiamas vartotojas.

– Jeigu numanomą sakinio pabaigą ir/arba pradžią identifikuoja skaičiai – turi būti klausiama vartotojo.

Šiuo etapu išsprendžiamos sakinio ribos dviprasmybės problemos ir identifikuojamos sakinių pradžios bei pabaigos.

1 pav. Sutrumpinimų ir sakinio ribų automatizuoto žymėjimo algoritmo veikimo etapai

4. Rezultatai

Testavimas atliktas su ~300 tūkstančių žodžių, kurio metu įvertintas sakino ribų ir sutrumpinimų žymėjimo metodų tikslumas. Testavimo metu ekspertinis (rankiniu būdu sužymėtas) tekstas palygintas su algoritmo sužymėtu:

tikrinamos žymos ir jų pozicijos tekste. Tikslumas apskaičiuojamas pagal šią formulę: %100G

AEGT ×−−

=

T (Tikslumas) –žymėjimo tikslumas. G (Geros) – ekspertiniame ir algoritmo sužymėtame tekste sutapusių žymų ir jų pozicijų kiekis. E (Eksperto žymos) – žymų ir pozicijų, esančių tik ekspertiniame tekste, kiekis. A (Algoritmo žymos) – žymų ir pozicijų, esančių tik algoritmo sužymėtame tekste, kiekis. Tas pats tekstas buvo testuojamas du kartus: tikslumas įvertinamas esant skirtingiems automatizavimo

režimams (žr. lentelę Nr.1).

– 292 –

Page 19: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Automatizuotas sakinio ribų ir sutrumpinimų žymėjimas lietuviškame tekste

2 lentelė. Anotavimo tikslumo įvertinimo rezultatai, priklausomai nuo pasirinkto automatizacijos režimo

Automatizacijos režimas Žymėjimo tipas Visiška Dalinė

Sakinio ribų 98% 99,2% Sutrumpinimų 98,5% 99,5%

Atlikus klaidingų žymėjimo atvejų analizę, pastebėta, kad neteisingi žymėjimo atvejai tekste galimi dėl šių priežasčių:

Visiškos automatizacijos režimu veikiančio algoritmo klaidų problema. Algoritmas, veikdamas visiškos automatizacijos režimu neužduoda klausimo net abejotinu atveju, todėl atsiranda klaidos, kurios galėtų būti išsprendžiamos algoritmui veikiant dalinės automatizacijos režimu: interaktyvaus bendravimo su vartotoju metu.

Sakinio ribos nustatymo dviprasmybės problema. Sakinys gali baigtis ne tik įprastais sakinio pabaigos skyrybos ženklais: („.“, „?“, „!“). Pasitaiko sakinių, kurių pabaiga gali būti identifikuojama tik iš konteksto (pvz.: skaitom "Kauno dieną."Laikraštyje parašyta (kabutės identifikuoja sakinio pabaigą) arba skaitom laikraštį. "Kauno dienoje" parašyta (taškas identifikuoja sakinio pabaigą): matyti, kad tiksli sakinio riba gali būti randama tik atlikus kabučių atsidarymo ir užsidarymo analizę).

Sakinio ribų žymėjimo atvejų įvairovės problema. Sakinio ribos identifikuojamos euristinių taisyklių pagalba: atsiradus naujiems sakinio ribų žymėjimo atvejams atsiranda klaidos, kurios galėtų būti taisomos pildant euristines taisykles.

Rašybos klaidos. Žymėjimo algoritmas neatsižvelgia į rašybos klaidas: dėl šios priežasties tekste nebus sužymimi su klaidomis užrašyti sutrumpinimai.

Klaidingi vartotojo atsakymai. Daroma prielaida, kad vartotojas neklysta, tačiau vis dėlto išlieka vartotojo klaidų galimybė, atsakant į algoritmo užduodamus klausimus: ar pateiktas žodis yra sutrumpinimas; ar nurodyta vieta reiškia sakinio ribą. Klaidingai atsakius į klausimą informacija bus įsimenama, todėl ateityje galimos algoritmo veikimo klaidos.

5. Išvados

Šiame darbe aprašyti automatizuoto sakinio ribų ir sutrumpinimų žymėjimo metodai. Įvertinus gautą tikslumą įsitikinta, kad algoritmas, veikdamas visiškos automatizacijos režimu, pasiekia ~98,5% (žymint sutrumpinimus) ir ~98%(žymint sakinio ribas) tikslumą; o dirbdamas dalinės automatizacijos režimu – ~99,5% (žymint sutrumpinimus) ir ~99,2% (žymint sakinio ribas).

Algoritmas yra adaptyvus: sutikęs naują sutrumpinimą ir gavęs papildomą informaciją iš vartotojo, ją įsimena ir todėl ateityje veikia efektyviau: t.y. nebeužduoda tų pačių klausimų.

Įvertina tikslumą: lygindamas programiškai apdorotą tekstą su ekspertiniu. Remiantis panašiais principais, kurie pateikti sakinio ribų ir sutrumpinimų žymėjimui, galima surasti metodus,

skirtus taikyti kitoms sritims – kitų teksto elementų paieškai ir žymėjimui: datų, rašybos klaidų, morfologinių elementų ir kt.

Literatūros sąrašas [1] TEI - Text Encoding Initiative,

http://helmer.aksis.uib.no/tonemerete/forelesninger/Datalingvistikk/om_tei_2002_03_07.html [2] Electronic text center, http://etext.lib.virginia.edu [3] Marking up documents, http://www.comnets.rwth-aachen.de/doc/hm2/Chapter7.html [4] T.Kiss, J.Strunk. Multilingual Least Effort Sentence Boundary Detection, http://www.linguistics.ruhr-uni-

bochum.de/~strunk/ks2003FINAL.pdf [5] H.Wang, Y.Huang. Bondec – A Sentence Boundary Detector.

http://nlp.stanford.edu/courses/cs224n/2003/fp/huangy/final_project.doc. [6] S.Tajima, H.Nanba, M.Okumura. Detecting sentence boundaries in Japanese speech transcriptions using a

orphological analyzer. http://www.nlp.its.hiroshima-cu.ac.jp/~nanba/pdf/ijcnlp_tajima.pdf.

– 293 –

Page 20: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

ANTROS EILĖS POŽYMIŲ SISTEMA ŠNEKOS SIGNALO SEGMENTAVIMO TAŠKŲ ATPAŽINIMUI

Arimantas Raškinis, Gailius Raškinis, Dainora Kuliešienė Vytauto Didžiojo universitetas, Donelaičio g. 58, 3000 Kaunas

Automatinio šnekos signalo segmentavimo sistemos, pagrįstos loginio mokymo metodais, segmentavimo taškus nustato pagalba loginių taisyklių, kurios gaunamos mokymo proceso metu, apibendrinant mokymui pateiktų dviejų klasių – artefaktų ir tikrųjų segmentavimo taškų pavyzdžių duomenis. Kiekvienas mokymo pavyzdys tai vektorius, kurio komponentės tai eksperto sukonstruotų to pavyzdžio aplinką charakterizuojančių požymių (antros eilės požymių) reikšmės. Antros eilės požymių sistema yra konstruojama, kaip aibė operatorių, nustatančių tam tikrus santykius tarp duotojo mokymo pavyzdžio laiko momento ir garso signalą charakterizuojančių parametrų trekų (pirmos eilės požymių) ypatingų laiko momentų. Darbe pristatoma operatorių sistema ir jų naudojimo vienas po kito nuoseklumo taisyklės, kurie drauge sudaro gramatiką, generuojančią antros eilės požymių kalbą, aprašančią akustinį kontekstą mokymo pavyzdžio aplinkoje.

1. Įvadas

Mokymo metodai, taikomi šnekos segmentavimui, sąlyginai gali būti suskirstyti i dvi grupes pagal tai, kaip indikuojami galimų segmentavimo taškų laiko momentai. Pirmąją grupę atstovauja HMM metodai, kuriems būdinga tai, kad segmentavimo taškas nustatinėjamas tikrinant hipotezes apmokymo keliu sukurtuose Markovo modeliuose. Kitai grupei (data-driven approach), kuriai priklauso ir loginio mokymo metodai, būdinga tai, jog hipotezės apie segmentavimo taško buvimą keliamos remiantis tiesiogiai garso signalo duomenimis. [1].

Šnekos atpažinimo darbuose šiuo metu dominuoja pirmos grupės (HMM bei neuroninių tinklų) metodai, tradiciškai besiremiantys daugiausiai tiesinėmis, statistinėmis technikomis. Mūsų darbo tikslas pritaikyti audio signalo segmentavimui netiesinius loginio mokymo metodus, kurie, palyginti su HMM ir neuroniniais tinklais, pasižymi tam tikrais specifiniais skirtumais.

Vienas skirtumas glūdi požymių parinkimo principuose. HMM ir neuroniniuose tinkluose siekiama sukonstruoti tokius požymius, kurie duotų kuo geresnius rezultatus vidutiniškai visoms segmentavimo klasėms. Loginiai metodai ieško požymių, kurie charakterizuotų kad nors ir vieną klasę, bet užtat labai gerai.

Kitas skirtumas glūdi tame, kaip yra organizuota apmokymo metu sukaupta informacija. HMM ją saugo, kaip apibendrintas statistikines charakteristikas, o loginiai metodai perrinkimo būdu konstruoja tikslias taisykles, charakterizuojančias visą pavyzdžių grupę.

HMM metodais sukurti apmokymo klasių modeliai nusakomi būsenų perėjimų tikimybėmis, kurios priklauso nuo kiekvieno naujo pavyzdžio, o loginiai modeliai sudaryti iš aibės taisyklių, kurios išreiškia apmokymo klasių atskiriems poklasiams charakteringus dėsningumus. Jeigu apmokymo klasei yra būdinga tam tikros charakteringos savybės, tai jos bus nustatytos nepriklausomai nuo konkrečių mokymo pavyzdžių.

Priimant sprendimą apie segmentavimo taško laiko momentą HMM metodais, tas taškas parenkamas kaip vidutiniškai optimali tikėtiniausia vieta. Loginių metodų segmentavimo taisyklės laiko momentą susieja su tiksliai aprašomais garso signalo ypatingais taškais ir todėl užtikrina automatinio segmentavimo reguliarumą.

Šios charakteringos loginių mokymo metodų ypatybės susiję su tuo, kad ir pati loginė automatinio segmentavimo sistema pasižymi specifine architektūra, pritaikyta segmentavimo uždavinio sprendimui.

1.1. Garso segmentavimo sistemos architektūra

Apibendrinus sėkmingai veikiančios vokalinio signalo automatinės transkripcijos sistemos [2] patirtį, išryškinant šnekos ir vokalinio signalo segmentavimui charakteringus bendrus elementus ir loginiam mokymui būdingus specifinius reikalavimus buvo sukurta apibendrinta, tipinė garso signalo segmentavimo loginiais mokymo metodais sistemos architektūra [3].

Tokios sistemos veikimą apsprendžia 4 pagrindinės funkcinės komponentės (žiūr. 1 pav.): 1. Netiesinių garso signalo transformacijų pagrindu atrenkami pirmos eilės požymiai, pagal kuriuos

formuojama galimų kandidatų į segmentavimo taškus aibė; 2. Kiekvienam segmentavimo kandidatui yra nustatoma antros eilės požymių, aprašančių duotojo laiko

momento artimiausios aplinkos ypatumus, reikšmės; tai būsimos mokymo imties pavyzdžių vektoriai;

– 294 –

Page 21: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Antros eilės požymių sistema šnekos signalo segmentavimo taškų atpažinimui

3. Segmentavimo kandidatų vektoriai, pagal anotuoto garsyno duomenis, skirstomi į segmentavimo taškų ir artefaktų klases – tai loginiam klasifikatoriui apmokyti skirtų pavyzdžių aibė.

4. Loginio mokymo klasifikatoriai mokymo imties pagrindu atrenka segmentavimo taškų atskyrimo taisykles. Reikia pažymėti, kad nors čia pristatoma signalo segmentavimo sistemos architektūra yra sukonstruota

apibendrinant vokalinio ir šnekos garsų signalų segmentavimo reikmes, tačiau ji nepriklauso nuo segmentuojamo signalo fizinės prigimties ir gali būti taikoma bet kokių signalų segmentavimui.

Pavyzdžių grupavimasį klases

Loginio mokymo modulis

Audio signalas(mokymui)

Audio signalas(atpažinimui)

Pirmos eilėspožymių trekai

Kandidatų įsegmentavimo taškus

suradimas

Pirmos eilės požymiųsukūrimas

Antros eilės požymiųsukūrimas

Pirmos eilės požymių trekaiir kandidatai į segmentavimo

taškus

Antros eilės požymiųvektoriai (atpažinimas)

Segmentavimo modulis

Susegmentuotasaudio signalas

Antros eilės požymiųvektoriai (mokymas)

Mokymo imtis

Rankiniu būdu gautosaudio signalo anotacijos

Segmentavimo taisyklės

1 pav. Garso signalo segmentavimo loginiais mokymo metodais sistemos architektūra

Apibendrinta automatinio segmentavimo sistemos detali architektūra pavaizduota 1 pav. Sistemai pateikiami garso signalo įrašai skirti segmentavimui arba apmokymui; segmentavimo procesui visai

nereikalinga drauge pateikti šnekos signalą atitinkantį kalbos teksto failą. Signalas pirmiausiai veikiamas netiesinių transformacijų operatorių sekomis, ko pasekmėje vietoj garso signalo

gaunami jo pirmos eilės požymių trekai. Šiuose trekuose, pagal empiriškai nustatytas taisykles yra ieškomi ypatingi taškai (minimumai, maksimumai,

nuliai, kreivės konfigūracijos, patenkinančios specialias sąlygas ir t.t.), kurių visuma sudaro kandidatų į segmentavimo taškų aibę.

Segmentavimo taškų kandidatams randamos antros eilės požymių reikšmės. Nuo šios vietos mokymo ir testavimo procedūros išsiskiria. Mokymo atveju, segmentavimo kandidatų aibės vektoriai, atsižvelgiant į mokymui naudojamo garsyno

akustinio anotavimo duomenis, suskirstomi į tikrųjų segmentavimo taškų ir artefaktų klases, kurios naudojamos, kaip mokymo imties pavyzdžiai, pateikiami loginio mokymo moduliui. Jį gali sudaryti įvairūs loginio mokymo klasifikatoriai, kurie mokymo imties pagrindu atrenka segmentavimo taškų atskyrimo taisykles.

Testavimo atveju, segmentavimo kandidatų vektoriai pakliūna į segmentavimo modulį, kuriame, pagal mokymo metu atrinktas segmentavimo taisykles, kiekvienas kandidatas priskiriamas arba tikrajam segmentavimo taškui, arba artefaktui.

Šis darbas skirtas “Antros eilės požymių sukūrimo blokui”. Jame bus pristatyta formalizuota sistema, kuri kandidatą į segmentavimo taškus aprašo požymiais, išreiškiančiais to taško santykius su kitais jo “aplinkoje” esančiais, signalo kontekstą aprašančiais signalo elementais.

2. Segmentavimo taškų aprašymo kalba

Loginio mokymo metu yra atrenkamos loginės funkcijos, kurios segmentavimo procedūroje veikia kaip skiriančiosios taisyklės, nustatančios, kurį kandidatą į segmentavimo taškus priskirti tikrajam segmentavimo taškui, o kurį – artefaktui. Tuose algoritmuose, kuriuose skiriančiosios taisyklės yra formuojamos pakankamų objekto

– 295 –

Page 22: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

A. Raškinis, G. Raškinis, D. Kuliešienė

požymių konjunkcijų pavidalu, segmentavimo taškų aprašymo kalbą galima traktuoti, kaip sudarytą iš dviejų dalių: žodžių - “leksikos”, kurią sudaro antros eilės požymių ir jų reikšmių visuma ir pačių kalbos sakinių, kurie gaunami žodžius sujungiant konjunkcijų “sintakse”.

Antros eilės požymius, savo ruožtu, taip pat galima traktuoti, kaip sudarytus iš dviejų dalių: iš dalies, nusakančios duotojo kandidato į segmentavimo taškus tam tikrą konkretų kontekstą ir iš to konteksto savybių aprašymo.

2.1. Antros eilės požymių struktūra

2.1.1. Segmentavimo taško konteksto aprašymas

Kas tai yra segmentavimo taško kontekstas pasiaiškinkime, palygindami, kaip segmentavimą vykdo žmogus-segmentuotojas,su tuo , kaip jis vykdomas Paslėptų Markovo modelių pagrindu.

Kaip jau buvo minėta įvade, Paslėptų Markovo modelių atveju, informacija apie artimų šnekos signalo fragmentų tarpusavio ryšius yra apibendrinama ir saugoma kaip suvidurkintos perėjimų tarp būsenų tikimybės, o segmentuojamo garso segmentavimo taškas nustatomas tikimybiškai geriausiai sutapatinant segmentuojamo garso parametrų reikšmes su suvidurkintomis Markovo modelio tų pačių parametrų reikšmėmis. Kitaip tariant, kontekstas yra įskaitomas labai suvidurkintai ir nespecifiškai.

Šiek tiek treniruotas žmogus – segmentuotojas segmentavimo taškų vietą gali dažnai nustatyti net nesiklausydamas garso, naudodamasis vien fonogramos ir spektrogramos vaizdu, nes įskaito žymiai daugiau įvairių ir specifiškų kontekstu.

balsissprogstamasispriebalsis

tylosdalis

spro-gimas

al3psta

Segmentavimo taskas, skiriantissprogstamaji priebalsi nuo balsio

2 pav. Žmogaus – segmentuotojo stebimo konteksto iliustracija segmentuojant žodį “alpsta”

2 pav. iliustruoja į kokius kontekstus atsižvelgia žmogus nustatydamas segmentavimo tašką, skiriantį sprogs-

tamąjį priebalsį nuo balsio. Nagrinėdamas kandidatą į segmentavimo taškus (dešinė punktyrinė linija) jis mato, kad į dešinę nuo jos yra didelės amplitudės fonogramos įrašas, o jam atitinkančioje spektrogramoje galima aiškiai stebėti formančių buvimą. Taigi į dešinę yra kažkoks tai balsis. Į kairę nuo kandidato stebimas trumpas sprogimas fonogramoje su atitinkama spektrograma, o prieš juos tylos periodas. Taigi turime reikalo su sprogstamuoju priebalsiu. Šių pastebėjimų pagrindu ir yra fiksuojamas segmentavimo taškas ties pačia balsingo elemento pradžia spektrogramoje.

Šiame darbe buvo siekiama sukurti tokius antros eilės požymius, kurie, panašiai kaip ir žmogaus atveju, galėtų būti naudojami įvairių naudingų specifinių kontekstų paieškai apsimokinimo būdu.

Kontekstas toliau bus suprantamas, kaip duotojo kandidato į segmentavimo taškus santykis su kitu, jo aplinkoje esančiu, ypatingu šnekos signalo elementu.

Panagrinėkime išsamiau antros eilės požymių struktūrą.

– 296 –

Page 23: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Antros eilės požymių sistema šnekos signalo segmentavimo taškų atpažinimui

2.1.2. Formalus antros eilės požymių aprašymas

Formalus konteksto aprašymas Kaip matome iš 1 pav. antros eilės požymių formavimo blokas gauna dvejopą informaciją – pirmos eilės

požymių trekus ir kandidatų į segmentavimo taškus aibę. Pirmos eilės požymiai yra dviejų rūšių: požymiai, kurių ypatingi taškai sudaro kandidatų į segmentavimo taškus aibę ir požymiai, kurie, paprasčiausiai, atspindi naudingų atpažinimui garso savybių kitimą laike.

Įveskime pažymėjimus. Tegul {ps} – aibė pirmos eilės požymių, kurie dalyvauja ypatingų taškų generavime, o {qs} – kurie nedalyvauja.

Kiekvienas pirmos eilės požymis ps sugeneruoja (duotam šnekos signalui) savą ypatingų taškų aibę =

{ }. Aibės elementai yra charakterizuojami dviem dydžiais: pirmos eilės požymio vardu arba eilės

numeriu s, bei ypatingo taško laiko momentu ir yra sutvarkyti pagal i, t.y. < t bet kuriems , ∈ .

sT

s

siτ sT s

iτsit

sit 1−

si

si 1−τ s

iτ T

Tą kandidatą į segmentavimo taškus, kurio konteksto aprašymą norime gauti, pasižymėkime , t.y. jis bus

sugeneruotas kažkokio pirmos eilės požymio p

rξτ

r, jo indeksas bus ξ ir jis garso signale bus laiko momentu . rtξ

Mūsų kuriamoje kalboje kandidato į segmentavimo taškus kontekstas yra nusakomas dviejų tipų garso

signalo elementais: tai kiti ypatingi taškai ir tų taškų sudaromi signalo intervalai, nusakomi ypatingų taškų

poromis ( , ), kur s, u – atitinkamų pirmos eilės požymių p

rξτ

siτ

siτ u

jτ s ir pu indeksai, o i ir j – tų požymių ypatingų taškų,

parenkamų iš užduotos aplinkos, indeksai. Aplinkos nusakymas yra reikalingas galimų kontekstų aibės

perrinkimui apribojimui. Aplinka gali būti nusakoma įvairiais būdais, pavyzdžiui laiko intervalo apie dydžiu, arba kontekstą nusakančių operatorių grandinėlės ilgiu ir pan.

rξτ

rξτ

Konteksto pobūdžiui ypatingo taško atžvilgiu nustatyti yra naudojami konteksto nustatymo operatoriai ϕ( ), kurių įėjimai yra ypatingas taškas, kurio atžvilgiu ieškomas ϕ tipo kontekstas, o išėjime, jei toks kontekstas randamas, yra jį nusakantys objektai – kiti ypatingi taškai arba intervalai.

siτ

Be ypatingo taško, operatoriaus kintamaisiais gali būti ir kiti parametrai, pavyzdžiui, pirmos eilės požymio

p

siτ

τu indeksas u. tada operatorius bus užrašomas ϕ( , u). Taigi konteksto nustatymo operatoriai vykdo tokio tipo

transformacijas: ϕ( ) = arba ϕ( ) = ( , ).

siτ

vk

siτ u

jsiτ u

jτ τNustatomo konteksto prasmę lemia operatoriaus pobūdis, o kontekstą aprašančios kalbos galimybes visa

operatorių ϕ aibė {ϕ}. Toliau pateiksime keletą konteksto nustatymo operatorių pavyzdžių:

1. Operatorius, kuris nustato duotojo ypatingojo taško artimiausią kaimyną iš dešinės tame pačiame pirmos eilės požymyje p

rξτ

r

ϕ1( ) = rξτ r

1+ξτ

2. Operatorius, kuris nustato duotojo ypatingojo taško artimiausią kaimyną iš kairės kitame pirmos eilės požymyje p

rξτ

u

ϕ2( , u) = rξτ u

ητ

3. Operatorius, kuris nustato duotajam ypatingajam taškui intervalą, į kurį jis patenka pirmos eilės požymyje p

rξτ

u

ϕ3( , u) = ( , ) rξτ u

1−ητ uητ

kadangi visų operatorių išėjimai yra kitų operatorių įėjimai, tai sudėtingus kontekstus galima užrašyti kaip operatorių grandinėles. Pavyzdžiui kontekstas reiškiantis “Intervalas požymyje pu į kurį patenka ypatingo taško

kairysis kaimynas požymyje p

rξτ

v” bus užrašomas taip: ϕ3(ϕ2( , u), v). rξτ

– 297 –

Page 24: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

A. Raškinis, G. Raškinis, D. Kuliešienė

Formalus konteksto elementų savybių aprašymas Kitą antros eilės požymių dalį sudaro operatoriai, kurie konteksto elementams – ypatingiems taškams bei

intervalams nustato tam tikras skaitines charakteristikas. Šiuos operatorius su jų operandais žymėsime :

ψ( ), ψ ( , ) siτ s

iτ ujτ

Be to, kaip ir konteksto nustatymo operatorių ϕ atveju, šie operatoriai gali priklausyti nuo pirmos eilės požymių pv bei qv indeksų, t.y. gali turėti pavidalą ψ ( ,v), ψ ( , , s) ir vykdyti transformacijas: s

iτ siτ u

ψ ( ,v) = n, ψ ( , , v) = n. siτ s

iτ ujτ

Pateiksime keletą tokių operatorių pavyzdžių:

1. Operatorius, kuris nustato kokia yra pirmos eilės požymio pu reikšmė ypatingojo taško laiko momentu: ψ

( , u) = p

rξτ

rξτ u( ). r

ξτ

2. Operatorius, kuris nustato intervalo ( , ) ilgį: ψ ( , ) = t – . sξτ s

1+ξτ sξτ s

1+ξτ s1+ξ

stξ

Kadangi operatorių ψ argumentai yra kandidatų į segmentavimo taškus konteksto elementai, gaunami

operatorių ϕ veikimo rezultate, tai bet kuris antros eilės požymis gali būti užrašytas kaip sudėtinis operatorius F = ψ (ϕ( )).

rξτ

rξτPavyzdžiui, požymis, kuris nustato pirmos eilės požymio qu reikšmę taške, kuris yra kandidato į segmentavimo

taškus artimiausias kaimynas iš dešinės bus užrašomas taip: ψrξτ 1(ϕ1 ( ), u). r

ξτ

2.2. Skiriamųjų taisyklių struktūra

Esant užfiksuotam ypatingo taško aplinkos nustatymo mechanizmui, operatorių ψ ir ϕ aibėms ir jų perrinkimo tvarkai, gauname baigtinę antros eilės požymių F

rξτ

m sąrašą. Skiriamosios taisyklės yra formuojamos taip pat perrinkimo būdu, perrenkant įvairaus ilgio antros eilės požymių Fm konjunkcijas Fm1 ∧ Fm2 ∧ …ir tikrinant jų teisingumą tikrųjų segmentavimo taškų ir artefaktų pavyzdžiams. Skiriančiųjų taisyklių atrinkimui gali būti naudojami žinomi loginio mokymo algoritmai: Ripper [4], Charade [5], Kora [6].

3. Išvados

1. Darbas skirtas šnekos signalo segmentavimo uždavinio sprendimui loginio atpažinimo metodais. 2. Darbe pristatomas formalizmas požymių, skirtų aprašyti segmentavimo taškus, atsižvelgiant į juos supantį

kontekstą, taip kaip tai daro ekspertas segmentuotojas. 3. Požymių aprašymas yra sudarytas iš dviejų dalių: iš dalies kuri aprašo kandidatų į segmentavimo taškus

kontekstą, nepriklausomai nuo to kokiai klasei priklauso kandidatas ir dalies, nusakančios to konteksto skaitines savybes, kurios jau susiję su kandidatų priskyrimu galimoms segmentavimo klasėms.

4. Skiriančiosios funkcijos formuojamos iš šių požymių naudojant žinomus loginio mokymo algoritmus.

Literatūros sąrašas [1] A. Esposito. Text Independent Speech Segmentation Methods. Nonlinear Speech Processing: Algorithms and Analysis,

ed.: G.Chollet, A. Esposito, M. Faundez, and M. Marinaro, Series “Lecture Notes in Computer Science”, Springer Verlag, 2004.

[2] G. Raškinis.Wav to MIDI conversion and music transcription software - Solo explorer. http://www.recognisoft.com/. [3] A. Raškinis, G. Raškinis, Application of Symbolic Machine Learning to Audio Signal Segmentation, Nonlinear Speech

Processing: Algorithms and Analysis, ed.: G.Chollet, A. Esposito, M. Faundez, and M. Marinaro, Series “Lecture Notes in Computer Science”, Springer Verlag ,2004.(Spaudoje).

[4] W.W.Cohen. Fast effective rule induction. Proc. of the 12th International Conference on Machine Learning, 1995, 115-123.

[5] J.G.Ganascia. TDIS: an Algebraic Formalization. IJCAI, 1993. [6] М.M.Бонгард. Проблема узнавания. M. Наука, 1967.

– 298 –

Page 25: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

AUTOMATIZUOTAS SAKINIO RIBŲ IR SUTRUMPINIMŲ ŽYMĖJIMAS LIETUVIŠKAME TEKSTE

Jurgita Kapočiūtė, Gailius Raškinis Vytauto Didžiojo universitetas, K. Donelaičio g. 58, 44248 Kaunas

Pranešime pateikiamas sutrumpinimų ir sakinio ribų lietuviškame tekste žymėjimo algoritmas ir jo tyrimas. Siūlomas algoritmas naudoja specialiai sukurtus sakinio ribų ir sutrumpinimų paieškos šablonus; sutrumpinimai taip pat kaupiami specializuotame resursų faile, o nauja informacija vėliau naudojama paieškos šablonuose. Algoritmas gali veikti vienu iš dviejų automatizacijos režimų, nuo kurio priklauso kaip dažnai algoritmas abejotinais atvejais kreipiasi į vartotoją. Siūlomi metodai, kurie yra taikomi sutrumpinimų žymėjimui yra adaptyvūs – jų efektyvumas nuolat auga, augant apdorotų tekstų kiekiui. Gautas aukštas efektyvumas užtikrina tolimesnes metodų taikymo galimybes įvairioms sritims.

1. Įvadas

Klasifikuotos, tinkamai apdorotos ir dokumentuotos didelės tekstų saugyklos vadinamos tekstynais. Šiuo metu Lietuvoje, Vytauto Didžiojo Universitete yra surinktas tekstynas, kurio apimtis >100 mln. žodžių. Kad teksto vertė būtų didesnė, jį reikėtų sužymėti standartinėmis žymomis, leidžiančiomis identifikuoti: sutrumpinimus, sakinio ribas, datas, žodžio morfologines formas, ir kt. Sužymėtas tekstas turi privalumų, t.y. jis gali būti taikomas tolimesnėms tekstų analizėms:

Naujadarų paieškai. Sužymėjus tekstyne pasitaikančias klaidas, santrumpas, tikrinius daiktavardžius ar nelietuviškus intarpus, vėliau galima automatiškai sugeneruoti lietuviškų dažninių žodžių sąrašus. Turint skirtingiems laikotarpiams priklausančius sąrašus, galima analizuoti kalbos raidą.

Kalbos modelio sudarymui. Pažymėtoms teksto dalims galima taikyti specifinį adaptuotą apdorojimą kuriant kalbos modelį: pvz. datą gali sudaryti keletas raidinių ar skaitmeninių simbolių eilučių – visas jas galima pažymėti kaip vieną leksinį vienetą, todėl tekste galima skaičiuoti tų simbolių eilučių sekų tikimybes, kokia simbolių eilutė (skaitmeninė, ar raidinė) po kokios dažniausiai gali sekti.

Tekstų lygiagretinimui. Skirtingų kalbų sužymėtus tekstus lengviau sulygiagretinti – tai naudojama automatizuotam vertimui.

Rankiniu būdu atliekamas teksto žymėjimas palieka mažai arba iš viso nepalieka klaidų, tačiau sugaištama daug laiko – todėl jis yra neefektyvus. Mūsų tikslas buvo sukurti metodus, kuriais remiantis būtų galima automatizuotai atlikti sakinio ribų ir sutrumpinimų žymėjimą Lietuvių kalbos tekstuose, bei įvertinti žymėjimo tikslumą, palyginant ekspertinį (rankiniu būdu sužymėtą) tekstą su algoritmo sužymėtu.

Teksto žymėjimui pasirinktas ISO standartas – SGML (Standard General Markup Language) ženklinimo kalba [1] (principas panašus į HTML). Standartinės SGML žymos leidžia identifikuoti konkretaus leksinio ar sintaksinio vieneto ribas ir nusakyti jo prasmę. SGML standartas yra plačiai taikomas žymint daugumą tekstynų [2].

Šiame darbe aprašomas algoritmas gali veikti vienu iš dviejų automatizacijos režimų: dalinės arba visiškos. Visiškos automatizacijos atveju algoritmas net abejotinais atvejais vartotojui neužduos klausimo, o pasirinks labiausiai tikėtiną žymėjimo variantą; dalinės automatizacijos atveju, pritrūkus vidinės informacijos teisingam algoritmo veikimui, jis kreipsis į vartotoją ir nuo jo atsakymo priklausys tolimesnis veikimas. Kad vartotojui nereikėtų nuolat atsakinėti į pasikartojančius klausimus, sutrumpinimai bus kaupiami specializuotame resursų faile, todėl galimas daugkartinis jų panaudojimas. Darbe pasiūlyti metodai yra adaptyvūs ir, augant išanalizuotų tekstų kiekiui, auga jų efektyvumas.

2. Analogiški darbai

Ne Lietuvoje sukurtų automatizavimo įrankių nėra daug, tuo labiau, kad didžiausias dėmesys skiriamas efektyviam pusiau automatiniam teksto apdorojimui: sukurtos specialios priemonės, turinčios vaizdžią ir patogią naudoti vartotojo sąsaja, kuri pagreitina rankinį žymų įterpimą tekste: žymiklio pagalba tereikia nurodyti teksto vietą ir paspausti reikiamą klavišą, kuris įterpia pasirinktą žymą. Tokie metodai visiškai neorientuoti į teksto analizę – visas darbas paliekamas pačiam žymėtojui [3].

Tačiau yra sukurtų ir kitų metodų, kurie atlieka išsamią teksto analizę, ir juos galima suskirstyti į šias grupes pagal jų savybes:

– 299 –

Page 26: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

J. Kapočiūtė, G. Raškinis

Naudojami metodai. Teksto fragmentų, kuriuos norima identifikuoti, paieška yra atliekama taikant specialius metodus. Euristinių taisyklių metodą naudoja vokiečių autoriai Tibor Kiss ir Jan Strunk[4]. Į empyriškai nustatytą formulę sustatoma informacija, kuri nurodo: kaip dažnai mokymo tekstyne analizuojamas žodis eina sakinio pabaigoje, žodžio ilgis, kiek vidinių taškų jis turi (pvz. „t.t.“ – turi vieną vidinį tašką). Pagal šią formulę gautas rezultatas tikrinamas: jeigu jis viršija nustatytą slenkstį – identifikuojamas sutrumpinimu, jeigu ne – sakinio riba. Pagal turimą mokymo tekstyną kaupiama informacija apie kiekvieną žodį: kaip dažnai jis rašomas didžiąja, mažąja raide; kokie žodžiai dažniausiai eina sakinio pradžioje; ieškoma sustabarėjusių žodžių kolokacijų (pvz. „habil.dr“ – sustabarėjęs junginys, todėl žodžiai vienas nuo kito negali būti atskiriami); vėliau pagal sukauptą informaciją priimami sprendimai – t.y. nustatinėjamos sakinio ribos. Euristinių taisyklių metodą taip pat naudoja amerikiečių autoriai Haoyj Wang ir Yang Huang [5]: jeigu sakinys baigiasi mažosiomis raidėmis rašomu žodžiu ir šiais skyrybos ženklais („.“, „?“, „!“), o prasideda didžiąja raide, tuomet metodas identifikuoja sakinio ribą. Paslėptų Markovo modelių (HMM) metodą naudoja amerikiečių autoriai Haoyj Wang ir Yang Huang [5]: atliekamas paslėptų Markovo modelių paketo mokymas pagal turimą mokymo tekstyną, gauti rezultatai taikomi naujuose tekstuose esančių sakinio ribų paieškoms. Maksimalios entropijos metodą naudoja amerikiečių autoriai Haoyj Wang ir Yang Huang [5]: pagal rastus žodžių kolokacijų, jų dažnių sakinio pradžioje arba pabaigoje požymius, esančius mokymo tekstyne, apskaičiuojamos tikimybės ir integruojamos į maksimalios entropijos formulę, leidžiančią nustatyti sakinio ribas tekste. Kitus tikimybinius metodus sakinio riboms nustatinėti naudoja japonų autoriai Tajima, Hidetsugu Nanba ir Manabu Okumara[6]: analizuojamos rišlios frazės, tiriama kaip dažnai konkretus žodis, frazė arba konkreti žodžio morfologinė forma gali būti sakinio pabaigoje – priklausomai nuo šios informacijos kiekvienam žodžiui suteikiamas įvertis ir atliekamas tikrinimas: jeigu įverčių suma viršija nustatyta slenkstį – konkretus žodis identifikuojamas sakinio pabaiga.

Automatizacijos laipsnis. Rastuose straipsniuose naudojama visiška automatizacija: vokiečių autoriai Tibor Kiss ir Jan Strunk atlieka sakinio ribų ir sutrumpinimų žymėjimą tekste, o jų pasiūlyti metodai užtikrina tikslumą: 98,93% – 99,72% (sakinio riboms) ir 90,52% – 99,92% (sutrumpinimams) [4]; amerikiečių autoriai Haoyj Wang ir Yang Huang ieško sakinio ribų tekste, o gautas tikslumas svyruoja 91,43% – 99,56% [5]; japonų autoriai Sachie Tajima, Hidetsugu Nanba ir Manabu Okumara identifikuoja sakinio ribas ir pasiekia 77,24% tikslumą [6].

Taikymas įvairioms kalboms. Tibor Kiss ir Jan Strunk[4] savo pasiūlytą algoritmą pritaikė: anglų, vokiečių, portugalų, estų, prancūzų, italų, norvegų, ispanų, švedų, turkų kalboms; Haoyj Wang ir Yang Huang[5] – anglų kalbai [5], o Sachie Tajima, Hidetsugu Nanba ir Manabu Okumara[6] – japonų kalbai.

Lietuvoje ši tyrimo sritis yra visiškai nauja: automatinės sakinio ribų ir sutrumpinimų paieškos Lietuviškame tekste darbų, mano turimais duomenimis, nėra.

Savo darbe pristatysime algoritmą, kurio metodas taip pat paremtas empirinėmis taisyklėmis, leidžiančiomis identifikuoti sakinio ribas. Algoritmas remsis: lietuviškų žodžių filtru3, specializuotomis euristinėmis taisyklėmis, bei duomenų baze, kurioje automatizuotai bus kaupiama informacija apie sutrumpinimus. Aprašomas algoritmas galės veikti vienu iš dviejų automatizacijos režimų: daliniu arba visišku. Jis bus pritaikytas lietuvių kalbai.

3. Automatizuotas žymėjimas

Automatizuoto teksto anotavimo problemos: Pasikartojančių sutrumpinimų egzistavimo tekste problema. Neužtenka tik konkrečiame tekste surasti

sutrumpinimą ir jį pažymėti. Tie patys sutrumpinimai kartojasi daugelyje tekstų (pvz. sutrumpinimas „t.t.“). Sutrumpinimų įvairovės problema. Sutrumpinimai gali turėti įvairias užrašymo formas: (pvz.: sutrumpinimas

gali būti rašomas didžiąja raide – „Lt.“; pabaigoje sutrumpinimas gali neturėti – „ha“ arba gali turėti – „pan.“ taško „.“ simbolį).

Sudėtinių sutrumpinimų žymėjimo tekste problema. Sutrumpinimai gali būti tiek sudėtiniai, tiek nesudėtiniai (pvz:„prof.habil.dr.“ yra du sutrumpinimai: „prof.“ – nesudėtinis ir „habil.dr“ – sudėtinis).

Dažno vartotojo klausinėjimo problema. Kiekvienas lietuviškų žodžių filtro neatpažįstamas žodis, kurio ilgis mažesnis nei 6 raidės, gali būti sutrumpinimas. Kad tų neatpažįstamų žodžių būtų mažiau, prieš tai tekste reikia identifikuoti žinomus leksinius vienetus: tikrinius daiktavardžius (taip pat ir asmenvardžių sutrumpinimus); užsienio kalbų intarpus, akronimus; žodžius, rašomus ne bendrine kalba, pvz.: “vidun”, “kairėn” ir t.t.

Sakinio ribos, kuri baigiasi sutrumpinimu, dviprasmybės problema. Po sutrumpinimo (kuris baigiasi tašku „.“) einantis žodis, rašomas didžiąja raide ne visada reiškia sakinio pabaigą: (pvz.: „Tai įvyko 1918 m. Kaune.“ – sutrumpinimas „m.“ nėra sakinio pabaigoje; „Tai įvyko 1918 m. Kaune tuo metu...“ – sutrumpinimas „m.“ yra sakinio pabaigoje).

3 Lietuviškų žodžių filtras – tai morfologinio analizatoriaus procedūra, kurios įėjime pateikus konkretų žodį, išėjime (jeigu

žodis yra atpažįstamas) gaunamas žodis arba keletas žodžių, užrašytų pagrindine forma.

– 300 –

Page 27: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Automatizuotas sakinio ribų ir sutrumpinimų žymėjimas lietuviškame tekste

Sukurtas automatizuotas teksto žymėjimo algoritmas (žr. 1 pav.) leidžia pakankamai neblogai išspręsti prieš tai apžvelgtas problemas. Jis susideda iš šių esminių etapų:

1. Pradinis teksto žymėjimas ir lietuviškų žodžių filtro papildymas naujais žodžiais Rišliame tekste yra surandami ir identifikuojami lietuviškų žodžių filtrą praėję žodžiai. Vėliau neidentifikuoti

žodžiai bandomi atpažinti pasitelkus išplėstinius filtrus: • Mums įprasti žodžiai: žodžių sutrumpinimai ar tarmybės lietuviškų žodžių filtro nėra atpažįstamos.

Išplėstinio filtro pagalba žodžio galūnė (jeigu ji priklauso šiam galūnių sąrašui: “on”, “oj”, “im” ir t.t.) pakeičiama kita atitinkama galūne (pvz.: “on” (rankon) → “a” (ranka)), atliekamas pakartotinas tikrinimas lietuviškų žodžių filtru.

• Atliekamas kitų pradiniuose etapuose neidentifikuotų žodžių tikrinimas:ar tie žodžiai nėra kaupiami specializuotuose tikrinių daiktavardžių, užsienio kalbų žodžių ir kt. žodžių resursų failuose.

• Atliekamas paragrafų numeracijos tikrinimas: išplėstinio filtro pagalba surasta dėsningai pasikartojanti numeracija (tiek skaitinė, tiek raidinė) yra pažymima.

Kiekvieno šių etapų metu pažymimi identifikuoti lietuviškų žodžių filtrą ir išplėstinius filtrus praėję žodžiai. Renkama informacija apie žodžius, todėl tolimesniuose etapuose apie juos vartotojas nebus klausiamas.

2. Sutrumpinimų paieška ir žymėjimas tekste Algoritmas tikrina tik neidentifikuotus žodžius: • Pvz. turimoje sutrumpinimų duomenų bazėje saugoma tokia informacija: (...; pan.; dr.habil.dr.; prof.; ...).

Atliekamas tikrinimas: • a) ar visas neatpažįstamas žodis yra sutrumpinimų duomenų bazėje (pvz.: „pan.“ – visas žodis yra duomenų

bazėje); • b) ar visas galimas sutrumpinimų junginys yra specializuotoje duomenų bazėje (pvz.: „habil.dr.“ – visas

junginys yra duomenų bazėje); • c) ar galimo sutrumpinimų junginio dalys yra specializuotoje duomenų bazėje (pvz.: „doc.dr.“ – duomenų

bazėje yra tik junginio dalis: „dr.“)? • Tikrinama ar likę neidentifikuoti žodžiai gali būti sutrumpinimai. Interaktyvaus bendravimo su vartotoju

metu (esant dalinei automatizacijai) žodžiai yra pateikiami vartotojui ir nuo jo pasirinkimo priklauso kokį žodį (ar žodžių junginį) nukreipti į specializuotą sutrumpinimų duomenų bazę.

Anksčiau išvardintais veiksmais tekste identifikuojami sutrumpinimai. Šiame etape išsprendžiama pasikartojančių sutrumpinimų egzistavimo, sutrumpinimų įvairovės ir sudėtinių

sutrumpinimų žymėjimo tekste problemos.

3. Sakinio ribų žymėjimas Šis etapas vykdomas jau po neatpažįstamų žodžių identifikavimo ir sutrumpinimų žymėjimo, todėl išvengiama

daugelio klaidų. Sakinio ribų paieška atliekama remiantis specializuotomis euristinėmis taisyklėmis, kurios leidžia nustatyti sakinio ribas:

• Sakinio pradžia eilutės pradžioje laikomas bet koks teksto simbolis arba jų grupė (išskyrus tarpą arba tab simbolį), jeigu toje eilutėje yra daugiau raidinės arba skaitinės informacijos;

• Sakinio pabaiga eilutės pabaigoje laikomas bet koks simbolis arba jų grupė (išskyrus tarpą arba tab simbolį), jeigu toje eilutėje dar yra daugiau raidinės arba skaitinės informacijos;

• Galima sakinio riba laikomas taškas „.“, šauktukas „.“, arba klaustukas „?“. Sakinio ribą taip pat gali identifikuoti kabutės „‘“, „““ arba skliaustai „]“, „[“, „)“, „(“ (priklausomai nuo to, į kurią pusę jie užsidaro). Turint apytikslę sakinio ribos vietą (keletas simbolių prieš galimą sakinio pabaigą ir keletas simbolių už galimos sakinio pradžios) atliekamas tolimesnis tyrimas:

o Jeigu numanomas sakinys baigiasi mažosiomis raidėmis, o prasideda didžiosiomis ir sakinio pabaigoje nėra sutrumpinimo, tai pagal turimų skyrybos ženklų prasmę sakinio riba suskaidoma į sakinio pabaigą ir pradžią.

o Jeigu numanomas sakinys baigiasi asmenvardžio santrumpa, o prasideda asmenvardžiu – sakinio riba neidentifikuojama.

o Jeigu numanomas sakinys baigiasi paragrafo pradžios identifikaciniais simboliais (arba simboliu), o prasideda raide arba skaičiumi – sakinio riba neidentifikuojama.

– 301 –

Page 28: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

J. Kapočiūtė, G. Raškinis

o Jeigu numanomoje sakinio pabaigoje randami šie sutrumpinimai ("ab.", "akad.", "aut.", "doc.", "dr.", "gerb.", "habil.", "inž.", "kun.", "prof.", "šv.", "švenč.", "švč.", "t.y."4), o numanomoje sakinio pradžioje žodis užrašytas didžiąja raide, vadinasi tikrinama frazė nėra sakinio riba. Jeigu numanomoje sakinio pabaigoje randami kiti (t.y. neišvardinti) sutrumpinimai, o numanomoje sakinio pradžioje žodis užrašytas didžiąja raide arba skaičius – apie tokį atvejį užklausiamas vartotojas.

o Jeigu numanomą sakinio pabaigą ir/arba pradžią identifikuoja skaičiai – turi būti klausiama vartotojo.

Šiuo etapu išsprendžiamos sakinio ribos dviprasmybės problemos ir identifikuojamos sakinių pradžios bei pabaigos.

1 pav. Sutrumpinimų ir sakinio ribų automatizuoto žymėjimo algoritmo veikimo etapai

4. Rezultatai

Testavimas atliktas su ~300 tūkstančių žodžių, kurio metu įvertintas sakino ribų ir sutrumpinimų žymėjimo metodų tikslumas. Testavimo metu ekspertinis (rankiniu būdu sužymėtas) tekstas palygintas su algoritmo sužymėtu:

tikrinamos žymos ir jų pozicijos tekste. Tikslumas apskaičiuojamas pagal šią formulę: %100G

AEGT ×−−

=

T (Tikslumas) –žymėjimo tikslumas. G (Geros) – ekspertiniame ir algoritmo sužymėtame tekste sutapusių žymų ir jų pozicijų kiekis. E (Eksperto žymos) – žymų ir pozicijų, esančių tik ekspertiniame tekste, kiekis. A (Algoritmo žymos) – žymų ir pozicijų, esančių tik algoritmo sužymėtame tekste, kiekis.

4 Sutrumpinimai taip pat gali būti rašomi didžiąja raide.

– 302 –

Page 29: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Automatizuotas sakinio ribų ir sutrumpinimų žymėjimas lietuviškame tekste

Tas pats tekstas buvo testuojamas du kartus: tikslumas įvertinamas esant skirtingiems automatizavimo režimams (žr. lentelę Nr.1).

3 lentelė. Anotavimo tikslumo įvertinimo rezultatai, priklausomai nuo pasirinkto automatizacijos režimo

Automatizacijos režimas Žymėjimo tipas Visiška Dalinė

Sakinio ribų 98% 99,2% Sutrumpinimų 98,5% 99,5%

Atlikus klaidingų žymėjimo atvejų analizę, pastebėta, kad neteisingi žymėjimo atvejai tekste galimi dėl šių priežasčių:

Visiškos automatizacijos režimu veikiančio algoritmo klaidų problema. Algoritmas, veikdamas visiškos automatizacijos režimu neužduoda klausimo net abejotinu atveju, todėl atsiranda klaidos, kurios galėtų būti išsprendžiamos algoritmui veikiant dalinės automatizacijos režimu: interaktyvaus bendravimo su vartotoju metu.

Sakinio ribos nustatymo dviprasmybės problema. Sakinys gali baigtis ne tik įprastais sakinio pabaigos skyrybos ženklais: („.“, „?“, „!“). Pasitaiko sakinių, kurių pabaiga gali būti identifikuojama tik iš konteksto (pvz.: skaitom "Kauno dieną."Laikraštyje parašyta (kabutės identifikuoja sakinio pabaigą) arba skaitom laikraštį. "Kauno dienoje" parašyta (taškas identifikuoja sakinio pabaigą): matyti, kad tiksli sakinio riba gali būti randama tik atlikus kabučių atsidarymo ir užsidarymo analizę).

Sakinio ribų žymėjimo atvejų įvairovės problema. Sakinio ribos identifikuojamos euristinių taisyklių pagalba: atsiradus naujiems sakinio ribų žymėjimo atvejams atsiranda klaidos, kurios galėtų būti taisomos pildant euristines taisykles.

Rašybos klaidos. Žymėjimo algoritmas neatsižvelgia į rašybos klaidas: dėl šios priežasties tekste nebus sužymimi su klaidomis užrašyti sutrumpinimai.

Klaidingi vartotojo atsakymai. Daroma prielaida, kad vartotojas neklysta, tačiau vis dėlto išlieka vartotojo klaidų galimybė, atsakant į algoritmo užduodamus klausimus: ar pateiktas žodis yra sutrumpinimas; ar nurodyta vieta reiškia sakinio ribą. Klaidingai atsakius į klausimą informacija bus įsimenama, todėl ateityje galimos algoritmo veikimo klaidos.

5. Išvados

Šiame darbe aprašyti automatizuoto sakinio ribų ir sutrumpinimų žymėjimo metodai. Įvertinus gautą tikslumą įsitikinta, kad algoritmas, veikdamas visiškos automatizacijos režimu, pasiekia ~98,5% (žymint sutrumpinimus) ir ~98%(žymint sakinio ribas) tikslumą; o dirbdamas dalinės automatizacijos režimu – ~99,5% (žymint sutrumpinimus) ir ~99,2% (žymint sakinio ribas).

Algoritmas yra adaptyvus: sutikęs naują sutrumpinimą ir gavęs papildomą informaciją iš vartotojo, ją įsimena ir todėl ateityje veikia efektyviau: t.y. nebeužduoda tų pačių klausimų.

Įvertina tikslumą: lygindamas programiškai apdorotą tekstą su ekspertiniu. Remiantis panašiais principais, kurie pateikti sakinio ribų ir sutrumpinimų žymėjimui, galima surasti metodus,

skirtus taikyti kitoms sritims – kitų teksto elementų paieškai ir žymėjimui: datų, rašybos klaidų, morfologinių elementų ir kt.

Literatūros sąrašas [1] TEI - Text Encoding Initiative,

http://helmer.aksis.uib.no/tonemerete/forelesninger/Datalingvistikk/om_tei_2002_03_07.html [2] Electronic text center, http://etext.lib.virginia.edu [3] Marking up documents, http://www.comnets.rwth-aachen.de/doc/hm2/Chapter7.html [4] T.Kiss, J.Strunk. Multilingual Least Effort Sentence Boundary Detection, http://www.linguistics.ruhr-uni-

bochum.de/~strunk/ks2003FINAL.pdf [5] H.Wang, Y.Huang. Bondec – A Sentence Boundary Detector.

http://nlp.stanford.edu/courses/cs224n/2003/fp/huangy/final_project.doc. [6] S.Tajima, H.Nanba, M.Okumura. Detecting sentence boundaries in Japanese speech transcriptions using a

orphological analyzer. http://www.nlp.its.hiroshima-cu.ac.jp/~nanba/pdf/ijcnlp_tajima.pdf

– 303 –

Page 30: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

BALSINIŲ TINKLALAPIŲ KŪRIMO SU „VOICE WEB STUDIO“ PAKETU ASPEKTAI

Rytis Maskeliūnas, Kastytis Ratkevičius KTU, Studentų 65-108, Kaunas

SALT - kalbinių taikymų ženklinimo kalbos specifikacija (Speech Application Language Tags), jau keletas metų vystoma Microsoft, Intel, Cisco ir kitų kompiuterinės pramonės lyderių, yra naujas kalbinių technologijų standartas. Naudoti SALT - reiškia sukurti labiau interaktyvius ir didesniam vartotojų skaičiui pasiekiamus internetinius tinklalapius, kurie balsu skaitys puslapio tekstą, atsilieps į vartotojo ištartus žodžius ir pan. Pristatomas vienas iš dominuojančių SALT technologijos panaudojimo būdų – „VoiceWeb Studio“ programinis paketas, įkeliantis į gerai žinomą “Macromedia Dreamweaver MX” paketą SALT komponentus

1.Įvadas

Pastaruoju metu vis plačiau taikomos VoiceXML ir SALT technologijos. SALT (Speech Application Language Tags) ir VoiceXML (Voice Extensible Markup Language) yra ženklinimo kalbos (markup languages), skirtos programoms, galinčioms priimti ir išvesti balso pranešimus iš internetinių tinklalapių, kurti [1]. Abi kalbos buvo sukurtos šiuolaikinių pramonės konsorciumų (atitinkamai, SALT Forum ir VoiceXML Forum) vykdant kalbinių technologijų standartizavimą ir bendradarbiaujant su W3C konsorciumu (World Wide Web Consortium) [2].

VoiceXML atsirado 1999 m., kaip HTML (HyperText Markup Language) kalbos atskira atšaka, apibrėžianti ženklinimo kalbą, skirtą telefoninių dialogų IVR (Interactive Voice Response) programoms.

2002 m. vasarį Microsoft inicijuotas SALT Forum‘as pristatė ženklinimo kalbą SALT, kuri turi visas funkcijas kaip ir VoiceXML bei siūlo papildomas funkcijas, tokias, kaip kalbos technologijų įdiegimas platesniame įtaisų rate, pradedant telefonais ir baigiant personaliniais ar delniniais kompiuteriais. SALT palaiko tiek telefono dialogo formą (taip kaip VoiceXML), tiek kombinuotą balso ir vizualią (multimodal) dialogo formą.

Kuriant mišrias (balso ir vaizdo) programas, SALT leidžia jau esamame grafiniame internetiniame puslapyje integruoti balso įvedimo ir išvedimo palaikymą. Tai leidžia kurti internetinius puslapius, galinčius vartotojui puslapio turinį pateikti balsu, balsu atlikti puslapių vartymą, internetinių formų užpildymą, balso pranešimų įrašymą ir šios technologijos pagrindu siūlyti vartotojams vis naujas paslaugas.

Tam, kad būtų galima šias technologijas panaudoti lietuvių kalbai, pirmiausia reikėjo sukurti lietuviško sintezatoriaus sąsają su SAPI (Speech Application Programming Interface) sąsaja. Vartotojo kompiuteryje programiškai įdiegus lietuviško sintezatoriaus sąsają su SAPI sąsaja, interneto svetainė, kurioje panaudoti atitinkami SALT technologijos elementai, kalbės lietuviškai [3].

Šiuo metu pagrindiniai programavimo ir internetinių puslapių kūrimo programų gamintojai į savo naujausių programų versijas integruoja SALT standarto palaikymą. Kol kas dominuoja du SALT technologijos panaudojimo būdai:

• “Voice Web Studio” programinis paketas, naudojamas kartu su “Macromedia Dreamweaver MX” programiniu paketu [4];

• “Microsoft Speech Application SDK (SASDK) V1.0”, naudojamas kartu su “Microsoft Visual Studio .NET” programavimo paketu [5].

“Voice Web Studio” įkelia į “Macromedia Dreamweaver MX” paketą SALT komponentus, po to su šiuo paketu į internetinius puslapius galima integruoti garsinių bylų išvedimą, teksto vertimą į kalbą, vykdyti kalbinius vartotojo ir programos dialogus, atlikti kalbos įrašymą į tinklapio turinį ir pan. [6].

“Microsoft Speech Application SDK (SASDK) V1.0” taip pat skirta kalbinių technologijų integravimui į jau sukurtus arba kuriamus Web puslapius, tik šiuo atveju naudojami su ASP.NET (ASP-Active Server Pages) technologija paruošti valdymo organai (controls), integruojantys SALT komponentus į Web puslapius.

2. Kalbiniai SALT elementai

Norint sukurti kalbinį dialogą tarp žmogaus ir kompiuterio naudojami kalbos įvedimo ir išvedimo elementai: <listen> ir <prompt>. Naudojantis šiais elementais ir sukuriami dialogai, t.y., nurodoma ką "pasakys" kompiuteris

– 304 –

Page 31: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Balsinių tinklalapių kūrimo su „Voive Web Studio“ paketu aspektai

perskaitydamas tekstą su TTS (Text-To-Speech) sintezatoriumi ar pagrodamas iš garsinio failo (<prompt> elementas), kokius žodžius ar frazes turės atpažinti ar įrašyti į diską (<listen> elementas). Dialogai sukuriami skriptais aprašant <listen> ir <prompt> elementus. Pvz., atpažinus žodį "disco", perskaityti tekstą "skambės disko muzika" su TTS sintezatoriumi ir pagroti garsinį failą "disco.wav". Išsamesnė informacija apie SALT elementus pateikta [7].

3. „Voice Web Studio“ programinė įranga

Kompanijos “Voice Web Solutions” gaminys “Voice Web Studio” (VWS) - tai programinis papildas, veikiantis tik kartu su Macromedia Dreamweaver MX paketu, skirtas kurti naujus arba kalbine sąsaja praplėsti jau sukurtus interneto puslapius. Programa skirta greitai ir nesudėtingai pritaikyti multimodalinę sąsają naujiems ar jau sukurtiems interneto puslapiams, pridedant kalbinę sąsają. Pagrindiniai VWS privalumai yra tokie:

• SALT specifikacijos palaikymas; • paketas pilnai suderinamas su populiariu „Macromedia Dreamweaver MX“ paketu; • paketas optimizuotas naršyklei „Microsoft Internet Explorer“; • paketas įgalina pritaikyti kalbinę sąsają daugumai HTML puslapių; • vizualus kalbinių elementų atvaizdavimas; • kalbos dialogų kūrimas; • multimodalinis pritaikymas. SALT specifikacijos palaikymas. VWS supaprastina multimodalinių interneto puslapių su SALT elementais

kūrimą. Taip pat VWS turi įrankius, skirtus nustatyti ar naršyklė palaiko SALT, taip palengvinant tinklalapių su SALT elementais pritaikymą konkrečioms naršyklėms.

Paketas pilnai suderinamas su populiariu „Macromedia Dreamweaver MX“ paketu. Paketas „Macromedia Dreaweaver MX - tai vienas iš populiariausių interneto puslapių kūrimo paketų pasaulyje. VWS integruojamas į „Macromedia Dreaweaver MX“ paketą pridedant specialius meniu skyrius, skirtus kalbos sąsajai aktyvuoti. Taip vartotojui paliekama gerai pažįstama „Macromedia Dreaweaver MX“ meniu sąsaja ir pasiekiamas VWS suderinamumas su skirtingoms operacinėms sistemoms (Windows ir Macintosh) skirtomis „Macromedia Dreaweaver MX“ versijomis.

Paketas optimizuotas naršyklei „Microsoft Internet Explorer“. Dauguma interneto vartotojų naudoja „Microsoft Internet Explorer“ naršyklę. Į šią naršyklę įdiegus laisvai platinamą programinį papildą „Speech add-in“, vartotojai su šia naršykle gali naršyti kalbinėmis galimybėmis praplėstus puslapius.

Paketas įgalina pritaikyti kalbinę sąsają daugumai HTML puslapių. Naudojantis VWS galima pritaikyti kalbinę sąsaja daugumai HTML puslapių. VWS paketas, įntegruotas į „Macromedia Dreaweaver MX“ paketą kaip papildomas meniu, leidžia greitai sukurti ar papildyti jau esamą puslapį kalbinėmis galimybėmis.

Vizualus kalbinių elementų atvaizdavimas. VWS paketas palaiko vizualias kalbinių elementų atvaizdavimo priemones, esančias „Macromedia Dreamweaver MX“ pakete. Taip palengvinamas puslapio kūrėjų darbas, nes galima vizualiai redaguoti ir derinti kalbinius elementus.

Kalbos dialogų kūrimas. Naudojant VWS paketą kalbiniai dialogai kuriami naudojant dialogų kūrimo pagalbininką, kurio dėka vartotojui tereikia užpildyti interaktyvias formas.

Multimodalinis pritaikymas. Kalbinių dialogų paleidimas ar teksto skaitymas su TTS sintezatoriumi personalinio kompiuterio interneto naršyklėje gali būti aktyvuojamas paspaudus ar užvedus pele ant nustatyto puslapio elemento, pvz., ant paveiksliuko. VWS paketas leidžia greitai ir nesudėtingai nustatyti norimą aktyvacijos režimą. Tačiau ką daryti, jei interneto puslapius vartote su delniniu kompiuteriu ar su „smartphone“ mobiliuoju telefonu? Jei klaviatūra nepatogi arba jos išvis nėra ir vietoje jos duomenys įvedami pieštuku liečiant ekraną? Naudojantis VWS paketu galima sukurti internetinius tinklalapius, kuriuose kalbinė sąsaja bus paleista delniniame kompiuteryje pieštuku palietus ekraną arba nuspaudus nustatytą klavišą mobiliajame telefone.

4. “Voice Web Studio” ir “Microsoft Speech Application SDK” paketų palyginimas

Abu paketai turi patogias grafines aplinkas, VWS - pažįstamą „Macromedia Dreamweaver MX“ vartotojams meniu, o SASDK - įprastą „Microsoft Visual Studio .NET“ paketo vizualią įrankinę. VWS vartotojo aplinka gerokai paprastesnė pradedančiajam vartotojui, o SASDK aplinka gerai pažįstama tik su „Microsoft Visual Studio.NET“ paketu dirbantiems programuotojams.

– 305 –

Page 32: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

R. Maskeliūnas, K. Ratkevičius

VWS pateikia nedaug, bet interaktyvių įrankių, įgalinančių pradedančiuosius vartotojus greitai juos įsisavinti. Kadangi vartotojams nereikia įsiminti gausybės mygtukų ir funkcijų, tai leidžia greitai ir paprastai sukurti nesudėtingus HTML interneto puslapius. VWS pakete yra galimybė peržiūrėti sukurtus tinklalapius interneto naršyklėje.

Kompanija „Microsoft“ pakete SASDK pateikia žymiai daugiau ir gerokai sudėtingesnių įrankių, taip suteikdama daug daugiau programavimo galimybių. Pateikiami įrankiai įgalina kurti daug sudėtingesnius tinklalapius su kalbos sąsaja. Šiame pakete taip pat yra galimybė peržiūrėti sukurtus tinklalapius interneto naršyklėje.

VWS pakete kodo redagavimą ir testavimą riboja „Macromedia Dreaweaver MX“ paketo šioms funkcijoms skirti įrankiai, lygiai taip pat SASDK pakete kodo redagavimą ir testavimą riboja „Microsoft Visual Studio.NET“ įrankinė. Abiejuose paketuose kode išryškinami įvairūs skriptai, funkcijos, t.y., paketų vartojimo patogumas priklauso tik nuo vartotojo patirties ir įpratimo.

SASDK paketas pasižymi galingu testavimo (debugger) įrankiu, su labai plačia testavimui skirtų funkcijų gama, įskaitant kalbinių elementų testavimui skirtas funkcijas. VWS paketas neturi kalbiniams elementams skirtų testavimo įrankių.

5. „Voice Web Studio“ aplinka

Kalbine sąsaja praplėsti interneto puslapiai kuriami naudojant Macromedia Dreamweaver MX įrankių juostos mygtukus:

SALT prompt , SALT listen , SALT create dialog , SALT play dialog

Su "SALT prompt" mygtuku kuriami kalbiniai pranešimai - sintezuotas tekstas ar garso failas, kurį skaitys naršyklė įvykus nurodytai sąlygai (pvz., užkrovus puslapį arba pele paspaudus paveiksliuką). Elementarus pranešimas sukuriamas paspaudus "SALT prompt" mygtuką, įrašius pavadinimą į „Prompt ID“ laukelį, "Insert contents" laukelyje įvedus norimą skaityti tekstą su TTS sintezatoriumi arba "Audio file" laukelyje nurodžius norimą pagroti garso bylą (1 pav.). Kitas būdas, labai patogus, jei jau sukurtas puslapis praplečiamas kalbinėmis galimybėmis - pažymėti norimą skaityti tekstą pele „Dreamweaver design“ lange ir paspausti "SALT prompt" mygtuką: "Insert contents" laukelis bus užpildytas nurodytu tekstu.

1 pav. Kalbinių pranešimų kūrimo lango vaizdas

Su "SALT listen" mygtuku nustatomi atpažįstamo teksto parametrai ir reikšminiai žodžiai ar frazės, kurie turėtų būti atpažinti. Į "Listen ID" laukelį įrašomas klausymosi elemento pavadinimas, pasinaudojus + arba - mygtukais pridedami arba pašalinami reikšminai žodžiai (frazės), kurios turėtų būti atpažintos (2 pav.).

Su "SALT create dialog" mygtuku iššaukiama dialogų kūrimo forma - sukuriamas kalbinis dialogas tarp vartotojo ir kompiuterio. Į "Dialog ID" laukelį įrašomas dialogo pavadinimas. Su "Prompt" meniu parenkamas kalbinis pranešimas, kuris bus perskaityta varototojui, su "Listen" meniu parenkamas anksčiau sukurtas klausymosi elementas, kuriame nurodoma kokį žodį ar frazę atpažinti. Su "Play Dialog" meniu nustatoma, ką daryti atpažinus frazę, pvz., pereiti prie dialogo numeris du (pav.3).

– 306 –

Page 33: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Balsinių tinklalapių kūrimo su „Voive Web Studio“ paketu aspektai

2 pav. Atpažįstamų žodžių nustatymo lango vaizdas

3 pav. Kalbinių dialogų kūrimo lango vaizdas

Su "SALT play dialog" mygtuku galima padaryti puslapį multimodaliniu - dialogas, kalbos atpažinimas ar teksto skaitymas prasidės pele paspaudus ar užvedus kursorių ant nurodyto paveiksliuko, nuspaudus atitinkamą klaviatūros klavišą ir t.t.

5. Balsinių tinklalapių pavyzdžiai

Panaudojus SALT <listen> ir <prompt> elementus, sukurtas tipinis kalbinį dialogą demonstruojantis tinklalapis "Virtuali diskoteka" (4 pav.) (http://www.speech.itpi.ktu.lt). Jame naudojami SALT dialogai, teksto skaitymas ir balso atpažinimas. Virtualus didžėjus prašo vartotojo pasirinkti šokį: rumba, techno, disko ar tango. Vartotojui balsu pasirinkus, didžėjus patvirtina ir paleidžia muziką. Multimodalumo pademonstravimui, vartotojas gali pasirinkti muziką šokiui paspausdamas pele ant atitinkamo stiliaus paveiksliuko. Demonstracijai išbandyti reikia įdiegti kompiuteryje “Microsoft Speech Application SDK” paketą. Kitus balsinius tinklalapius, sintezuojančius tinklalapiuose pateiktą tekstą, galima pasiekti kreipiantis adresais www.kac.ktu.lt/kstl/istorija.html ir www.kac.ktu.lt/kstl/prezent/konf1/. Šiuose tinklalapiuose naudojamas tik <prompt> tipo SALT elementas. Šioms demonstracijoms išbandyti užtenka įdiegti kompiuteryje “Speech Add-in for Internet Explorer” papildinį.

– 307 –

Page 34: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

R. Maskeliūnas, K. Ratkevičius

4 pav. Balsinio tinklalapio „Virtuali diskoteka“ pagrindinio lango vaizdas

6. Išvados

SALT ženklinimo kalba įgalina kurti balsinius tinklalapius, kurie puslapio turinį vartotojui pateikia balsu, balsu atlieka puslapių vartymą, internetinių formų užpildymą, balso pranešimų įrašymą ir pan. SALT palaiko tiek telefono dialogo formą, tiek kombinuotą balso ir vizualią dialogo formą.

Šiuo metu dominuoja du SALT technologijos panaudojimo būdai: “Voice Web Studio”, naudojamas kartu su “Macromedia Dreamweaver MX” programiniu paketu ir “Microsoft Speech Application SDK”, naudojamas kartu su “Microsoft Visual Studio .NET” programavimo paketu. „Voice Web Studio“ yra greičiausiai įsisavinamas SALT pritaikymo interneto puslapiams paketas.

Paruoštas tipinį kalbinį dialogą demonstruojantis tinklalapis: http://www.speech.itpi.ktu.lt.

Literatūros sąrašas [1] SALT forum, URL: http://www.saltforum.org. [2] J. Eisenzopf. SALT Submission to W3C Could Impact the Future of VoiceXML, URL:

http://www.developer.com/voice/article.php/1567021. [3] P. Kasparaitis, T. Dumbliauskas, A. Rudžionis. Lietuviško sintezatoriaus SAPI sąsaja. Automatika ir valdymo

technologijos – 2003, Kaunas, Technologija, 2003, pp. 45-48. [4] Voice Web Community, URL: http://www.voicewebsolutions.net. [5] Microsoft .NET Speech Technologies, URL: http://www.microsoft.com/speech. [6] B. Graham. Speak and Listen to the Web using SALT, URL:http://www.developer.com/voice/article.php/2174471. [7] R.Maskeliūnas, K.Ratkevičius. SALT technologijos apžvalga. Automatika ir valdymo technologijos – 2004, Kaunas,

Technologija, 2004, pp.152-156.

Aspects of the Creation of Speech-Enabled Web Pages With „Voice Web Studio“ Software

Paper deals with the creation of Lithuanian speech-enabled Web pages with „Voice Web Studio“ software. Two methods of SALT (Speech Application Language Tags) technology implementation to Web pages („Microsoft Speech Application SDK“ with „Microsoft Visual Studio.NET“ and „Voice Web Studio“ with „Macromedia Dreamweavwe MX“) are compared. Some aspects of preparing voice dialogues for speech-enabled Web pages with „Voice Web Studio“ are analysed. Demo version of speech-enabled Web page is presented (www.speech.itpi.ktu.lt).

– 308 –

Page 35: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

STATISTINIS LIETUVIŲ KALBOS MODELIAVIMAS, GRUPUOJANT TEKSTUS Į ŽANRUS

Airenas Vaičiūnas, Gailius Raškinis Vytauto Didžiojo Universitetas

Vileikos g. 8, LT-3035 Kaunas, Lietuva E-mail: [email protected], [email protected]

Šiame straipsnyje pristatomas lietuvių kalbos statistinio modeliavimo žanrų trigramų mišiniu tyrimas. Remiantis VDU KLC

sukauptu tekstynu, sukurti 4, 8, ..., 128 žanrų trigramų mišiniai. Ištirta sukurtų kalbos modelių maišaties priklausomybė nuo būdo, kuriuo mokymo imties tekstai grupuojami į žanrų klasterius. Parodyta, kad automatinis tekstų grupavimas į žanrus, remiantis tuose tekstuose esančių žodžių pagrindinėmis formomis, yra pranašesnis už eksperto atliekamą grupavimą ar grupavimą, atliekamą, remiantis žodžių formomis. Ištirta sukurtų kalbos modelių maišatis, dinamiškai keičiant mišinio trigramų svorius, ir maišaties priklausomybė nuo svorių optimizavimui naudojamos paskutiniųjų žodžių istorijos dydžio. Geriausi žanrų trigramų mišiniai turėjo 28% mažesnę maišatį nei standartinė atskaitos trigrama.

Raktiniai žodžiai: statistinis kalbos modeliavimas, maišatis, n-gramos, adaptyvūs modeliai, žanrų mišinių modeliai.

1. Įvadas

Pirmųjų mūsų atliktų ir tuo pačiu pirmųjų lietuvių kalbos statistinio modeliavimo tyrimų metu lietuvių kalbai buvo sukurti paprasčiausi trigramos pavidalo kalbos modeliai, ištirta jų kokybės rodiklių - maišaties5 ir neaprėptų žodžių6 - priklausomybė nuo žodyno dydžio [13]. Taip pat pasiūlyti kelių tipų sudėtiniai morfologiniai kalbos modeliai, padedantys sumažinti neaprėptų žodžių kiekį. Vėliau Vaičiūnas ir bendraautoriai [12] ištyrė klasių modelių panaudojimą, kuriant žodžiais ir morfologinėmis formomis pagrįstus lietuvių kalbos modelius (toliau KM). Ir paminėtuose, ir kitų autorių darbuose [6, 10, 11] pastebėta, kad KM kokybės rodikliai smarkiai kaitomoms kalboms yra prastesni nei mažiau kaitomoms kalboms, pvz. anglų.

Vienas iš būdų sumažinti KM maišatį yra naudoti adaptyvius žanrų mišinių modelius. Tokių modelių tyrimus mes ir pristatome šiame straipsnyje.

Analogiškame darbe anglų kalbai Kneser ir Steinbiss [8] naudojo modelį, sudarytą iš penkių žanrų bigramų mišinių, ir gavo apie 10% procentų mažesnę maišatį, lyginant su paprasta bigrama. Mokymo imties tekstai į žanrus buvo suskirstyti rankiniu būdu, o mišinio modelių svoriai - dinamiškai kintantys. Analogišką eksperimentą aprašė Iyer ir Ostendorf [5]. Tik čia tekstai buvo priskiriami žanrams automatiškai, naudojant TFIDF7 kriterijų. Naudodami penkių žanrų mišinį ir pastovius modelių-komponenčių svorius jie gavo 21% mažesnę maišatį. Clarkson, [3] lygindamas automatinį ir eksperto atliekamą tekstų grupavimą į žanrus, padarė išvadą, kad automatinis grupavimas geresnis. Goodmann [4] (tirdamas iki 128 žanrų) taip pat kaip ir Clarkson [3] (tirdamas iki 50 žanrų) nagrinėdami mišinio komponenčių kiekio įtaką teigė, kad, naudojant daugiau žanrų, gaunami geresni modeliai. Panašūs žanrų mišinių modelių tyrimai atlikti ir smarkiai kaitomoms kalboms: slovėnų [10], suomių [11].

2. Statistiniai kalbos modeliai

Kalbos modelio užduotis yra priskirti bet kokiai žodžių sekai W = w1 ... wN, tam tikrą "gerumo" skaitinį įvertį (čia N reiškia žodžių sekos ilgį). Šio įverčio pagalba galima palyginti įvairių žodžių sekų vartosenos kalboje tikėtinumą. Pavyzdžiui, KM gali būti panaudotas šnekos atpažinimo sistemoje, siekiant atrinkti k tikėtiniausių žodžių sekų iš visų akustiškai įmanomų. Statistiniai KM žodžių sekoms priskiria tikimybę:

∏=

−− ==N

iiiNnN wwwPwwwPwwwPwwPwPwwP

111112131211 )...|()...|()...|()|()()...( (1)

5 Perplexity – angl. 6 Out-off vocabulary – angl. 7 Term frequency/inverse document frequency – angl.

– 309 –

Page 36: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

A. Vaičiūnas, G. Raškinis

Populiariausi statistiniai KM yra n-gramos, kurie remiasi prielaida, kad žodžio wi istoriją tekste w1... wi-1 galima supaprastinti iki n-1 priešpaskutiniųjų žodžių. Savo tyrimuose naudojame trigramos modelius, t.y. modelius, kuriuose žodžio wi sąlyginė tikimybė aproksimuojama kaip P(wi | wi-2 wi-1). Trigramos sąlyginių tikimybių įverčiai apskaičiuojami pagal žodžių pasikartojimus mokymui skirtame tekstyne:

)()(

)|(12

1212

−−

−−−− =

ii

iiiiii wwC

wwwCwwwP , (2)

kur funkcija C(wi-2 wi-1 wi) reiškia žodžių trejeto wi-2 wi-1 wi, o funkcija C(wi-2 wi-1) - žodžių poros wi-2 wi-1 pasikartojimų kiekį mokymo imtyje.

Praktikoje naudojamas tikimybių glotninimas, kad KM galėtų suteikti nenulinį tikimybės įvertį mokymo imtyje nematytoms žodžių sekoms. Dažniausiai naudojami Good-Touring, Witten-Bell, Kneser-Ney [1] glotninimo metodai. Šiame darbe naudojome modifikuotą Kneser-Ney glotninimo metodą [1], kadangi daugelis autorių jį nurodo kaip geriausią.

2.1. Kalbos modelio įvertinimas

Taikymo prasme, svarbiausias KM įvertinimo kriterijus yra šnekos atpažinimo sistemos, naudojančios šį modelį, padaromų klaidų kiekis8. Deja, tokiam kriterijui apskaičiuoti reikia integruoti KM į konkrečią šnekos atpažinimo sistemą. Kitas visuotinai priimtas statistinių KM įvertinimo kriterijus, kurį naudojome šiame darbe, yra maišatis PP. Maišatis apskaičiuojama naudojantis testavimo imtimi, kuri nebuvo naudota KM mokymui.

HPP ˆ2= , kur )...(log1ˆ12 NwwP

NH , (3) −=

Čia w1 ... wN yra testavimo imties žodžių seka, N - šių žodžių skaičius, o P() - tiriamo KM tikimybių įverčiai. Maišatis yra su informacijos teorija susijęs kriterijus. Ji gali būti interpretuojama, kaip vidutinis aibės dydis, iš

kurios turime rinktis, spėdami žodį wi, kai žinoma žodžio praeitis w1, ..., wi-1. Nors pasitaiko išimčių [9], tačiau mažesnė maišatis dažniausiai įtakoja ir mažesnį klaidų skaičių šnekos atpažinimo sistemoje.

2.2. Žanrų mišinių modeliai

Žanrų mišinių modeliai remiasi mokymo imties tekstų grupavimu į klasterius T1, T2,..., TK, kur kiekvienas klasteris atitinka kažkokią temą ar žanrą. Kiekvienam žanrui Tj sukuriamas atskiras statistinis KM, o jungtinio KM žodžių tikimybės įvertinamos tokiu būdu:

),|(),|( 120

12 −−=

−− ∑= iiij

K

jjiii wwwPwwwP λ , kur ir (4) 1

0

=∑=

K

jjλ

kur K reiškia mišinių kiekį, Pj(), j > 0 žymi atskirų žanrų KM, P0() - standartinį trigramos KM, išmokytą su visa mokymo imtimi, λj - mišinio modelių svorius.

Žanrų mišinių modelių svoriai λj gali būti pastovūs visai testavimo imčiai arba kintantys. Pastovūs λj apskaičiuojami naudojantis optimizavimo imtimi, kuri nenaudojama KM mokymui. Dinamiškai keisdami λj kiekvienam testavimo imties žodžiui wi, galime adaptuoti KM prie nagrinėjamo teksto. Kiekvienam žodžiui wi galima apskaičiuoti jam būdingų λj parametrų rinkinį remiantis šio žodžio praeitimi wi-L, ..., wi-1, kur L reiškia praeities žodžių kiekį naudojamą λj nustatymui. Dinamiški modelių svoriai nustatomi iteracinio maksimalaus tikėtinumo9 algoritmo [7] pagalba. Iteracijos kartojamos tol, kol λj konverguoja:

∑−

−= −−

−−+

Σ=

1

12

121

),|(

),|(1 i

Lim iiiazaa

iiijzjz

j wwwP

wwwPL λ

λλ , kur

110

+=

Kjλ (5)

8 Word error rate – angl. 9 Expectation Maximization - angl.

– 310 –

Page 37: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Balsinių tinklalapių kūrimo su „Voive Web Studio“ paketu aspektai

3. Lietuvių kalbos žanrų mišinių modeliai

3.1. Modeliavimo duomenys ir įrankiai

Tyrimus atlikome, naudodami VDU tekstyno10 versiją, turinčią 84 202 576 žodžius [14]. Tekstynas buvo padalintas į tris imtis: 98% skirti modelių mokymui, 1% - modelių parametrų optimizavimui 1% - modelių testavimui. Kadangi tekstyne sukaupti įvairaus pobūdžio: moksliniai, grožiniai, publicistiniai ir kitokie tekstai, jį dalindami, stengėmės išlaikyti atitinkamas proporcijas. Pirminio tekstų apdorojimo metu buvo pašalinti visi skyrybos ženklai ir visi skaičiai pakeisti viena žyme <num>. Žyme <unk> buvo pakeistos tos simbolių grandinėlės, kuriose buvo nelietuviškų simbolių ir vienąkart pasitaikančios grandinėlės, kurių neatpažino morfologinis analizatorius [15]. Kurdami kalbos modelius, kai kuriems skaičiavimams naudojome CMU-SLMT programinės įrangos paketą [2].

3.2. Atskaitos kalbos modelis

Atlikus pirminį teksto apdorojimą, buvo gautas 1157911 žodynas, sudarytas iš visų mokymo imtyje esančių skirtingų žodžių formų. Jis neaprėpė 1,73% testavimo imties žodžių. Standartinės trigramos, suglotnintos modifikuotu Kneser-Ney metodu, maišatis buvo lygi PPKN = 1027,21. Šitą maišaties įvertį mes laikėme atskaitos tašku. Kitiems KM skaičiavome santykinį pagerėjimą, lyginant su šiuo rezultatu:

100×−

=KN

MKN

PPPPPP

sPagerejima , (7)

kur yra modelio, lyginamo su atskaitos rezultatu, maišatis. MPP

Mes taip pat tyrėme kitus modelių glotninimo metodus: Good-Touring su Katz grįžimo atgal būdu [1]. Gauti rezultatai patvirtino tai, ką teigia kiti autoriai: visų bandymų metu modelių maišatis, naudojant Kneser-Ney glotninimo metodą, buvo geresnė. Reikia pažymėti, kad pagerinimo tendencijos žanrų modeliams naudojant Good-Touring metodą buvo analogiškos eksperimentams aprašytiems 3.4, 3.5 poskyriuose.

3.3. Automatinio tekstų grupavimo į žanrus algoritmas

Sakykime, kad mokymo imtį sudaro tekstai t1, t2,..., tM, kurių kiekvieną galima priskirti vienam iš žanrų T1, T2,..., TK. Mokymo imties tekstų grupavimas į žanrus gali remtis žmogaus sudaryta klasifikacija arba būti atliekamas, naudojant automatinius grupavimo metodus. Automatinis grupavimas reikalauja daug skaičiavimo resursų, todėl naudojami metodai negarantuoja optimalaus sugrupavimo. Mes naudojome godų grupavimo algoritmą, kuris sugrupuoja tekstus į iš anksto apibrėžtą žanrų kiekį K [3]. Šio algoritmo pseudo kodas pateikiamas 1. pav.

Grupuoti_i_zanrus (K, M, IT) ...priskirti tekstus ti, i=1,…,M žanrams žj,j=1,…,K atsitiktiniu būdu ...ciklas fiksuotam iteracijų skaičiui IT .....ciklas su kiekvienu tekstu ti, i=1,…,M .........pašalinti tekstą ti iš žanro, kuriam jis priskirtas .........ciklas su kiekvienu žanru žj j=1,…,K

............paskaičiuoti teksto ti maišatį UPPij žanrui žj .........priskirti tekstą ti žanrui žj, kuriam maišatis UPPij buvo mažiausia

1 pav. Automatinio tekstų grupavimo į žanrus algoritmas

Grupavimo kriterijus buvo unigraminė maišatis UPP, apskaičiuojama tekstui ti, naudojant modelio, paruošto su žanru žj, tikimybių įverčius:

10 Tekstyno pagrindinė kūrėja - habil. dr. R. Marcinkevičienė. Tekstynas surinktas ir paruoštas Vytauto Didžiojo Universiteto

Kompiuterinės Lingvistikos Centre. http://www.donelaitis.lt/.

– 311 –

Page 38: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

A. Vaičiūnas, G. Raškinis

( )i

ii

i

ii

ii

iNji

NN

zzj

j

NN

z j

zj

NN

zzj

NNj

wwPN

ji

wCCC

wC

wPwwPžtUPP

1

1

1

1

1

1

11

)...(log1

)(()

1())(

)()...(2),(12

=

=

=

−−

+=

+≈

===

∏∏

δδ

(6)

kur Ni - žodžių skaičius tekste ti, Cj(wz) - funkcija rodanti žodžio wz pasikartojimų kiekį žanre žj, Cj() - visas žodžių skaičius žanre žj, δ - konstanta, užtikrinanti, kad tikimybė nebūtų nulinė. Mūsų atveju δ = 0.001.

3.4. Maišaties priklausomybė nuo žanrų kiekio ir tekstų grupavimo į žanrus būdo

Atlikome tyrimus, siekdami išsiaiškinti optimalų žanrų kiekį, į kurį geriausia grupuoti mokymo imties tekstus. Mokymo imtis, sudaryta iš M=1908 tekstų buvo automatiškai grupuojama į K= 4, 8, 11, 16, 32, 64, 128 žanrų. Grupavimas buvo atliekamas naudojant dvi (IT = 2) anksčiau aprašyto algoritmo iteracijas. Automatiniam grupavimui priešpastatėme KM maišatį, kurią gavome, naudodami originalų tekstyno autorių pasiūlytą grupavimą į 11 žanrų.

Taip pat tyrėme du automatinio grupavimo būdus: • UPP kriterijus buvo skaičiuojamas mokymo imties žodžiams; • UPP kriterijus buvo skaičiuojamas mokymo imties žodžių pagrindinėms formoms11. Visi KM buvo realizuoti, remiantis (4) formule. Ir trigrama P0(), ir visi žanrų modeliai Pj() buvo suglotninti

Kneser-Ney metodu. Modelių svoriai λj testavimo metu buvo dinamiškai keičiami ir apskaičiuojami pagal (5) formulę. Modelių svorių nustatymui naudojamas žodžių kiekis L, buvo parinktas eksperimentiškai, siekiant minimizuoti maišatį optimizavimo imtyje. Visuose eksperimentuose L = 100, tik L naudotas didesnis kai žanrų kiekis K >= 32. Šio tyrimo rezultatai apibendrinti 1 lentelėje: 4 lentelė. Maišaties priklausomybė nuo žanrų mišinių kiekio ir grupavimo būdo

Grupavimas, remiantis žodžiais Grupavimas, remiantis pagrindinėmis formomis Žanrų mišinių kiekis K

Maišatis Pagerėjimas, % Maišatis Pagerėjimas, % 1 - standartinė trigrama 1027,00 4 853,23 16,94 870,49 15,26 8 797,66 22,35 791,51 22,95 11 – neautomatinis 834,73 18,74 11 781,39 23,93 784,82 23,60 16 783,82 23,69 782,97 23,78 32 (L=200) 777,20 24,34 732,72 28,67 64 (L=300) 783,26 23,75 745,26 27,45 128 (L=300) 772,03 24,84 737,14 28,24

Geriausi rezultatai buvo gauti automatiškai grupuojant tekstus į K = 32 žanrus pagal pagrindines žodžių formas.

Padidinus žanrų kiekį iki K = 64 ir K = 128, gauta panaši maišatis, kaip ir geriausiu (K = 32) atveju. Nors galima teigti, kad optimalus žanrų kiekis nagrinėjamai mokymo imčiai K > 4, sunku spręsti, kokia K reikšmė yra optimali. Šiuo atveju reikia rasti kompromisinį žanrų kiekį, priklausantį nuo mokymo imties dydžio. Suskaidžius mokymo imtį į daugiau žanrų, galima geriau prisitaikyti prie nagrinėjamo teksto. Tačiau, kiekvieno žanro KM tikimybių įverčiai bus paskaičiuoti su mažesne mokymo imtimi. Galbūt įmanoma naudoti metodus, kurie mokymo imtį suskaidytų į persidengiančius žanrų klasterius.

Gauti rezultatai parodė, kad automatinis tekstų grupavimas yra pranašesnis už esamą originalų tekstų skirstymą į žanrus. Deja, didelis KM maišaties išsibarstymas rodo, kad grupavimo algoritmas dažnai patenka į lokalinius minimumus. Jo veikimas priklauso nuo pradinio atsitiktinio tekstų sugrupavimo. Tikėtina, kad viename pradiniame tekste susipina keletas žanrų, todėl, pradinius M = 1908 tekstus skaidydami į mažesnes dalis, vėliau galbūt galėtume gauti geresnį mokymo imties grupavimą į žanrus.

11 Žodžių morfologinė analizė buvo atliekama su programine įranga Lemuoklis [15].

– 312 –

Page 39: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Balsinių tinklalapių kūrimo su „Voive Web Studio“ paketu aspektai

Lygindami rezultatus, gautus grupuojant tekstus į žanrus pagal žodžius ir jų pagrindines formas, galime teigti, kad tekstų grupavimas pagal pagrindines formas yra geresnis. Dauguma KM (išskyrus 4, 11 žanrų mišinių modelius) yra geresni naudojant grupavimą pagal žodžių pagrindines formas.

3.5. Žanrų mišinio adaptacija prie nagrinėjamo teksto

KM adaptavimas prie testuojamos teksto imties (žr. 3.2 poskyrį) atliekamas keičiant modelių svorius λj. Tokiu būdu siekiama suteikti didesnius svorius žanrų modeliams geriau prognozuojantiems nagrinėjamą tekstą ir atvirkščiai sumažinti “blogų” modelių įtaką. λj parametrai paskaičiuojami remiantis žodžių istorija wi-L, ..., wi-1. Naudojant trumpesnę istoriją L, galima greičiau pastebėti teksto žanro pasikeitimus. Iš kitos pusės, naudojant ilgesnę žodžių istoriją, tiksliau įvertinami λj parametrai. Taigi, ištyrėme KM maišatį, keisdami L nuo 20 iki 300. Rezultatai, gauti naudojant K = 4, 32 ir 128 žanrų mišinius, pateikti 2 paveikslėlyje.

730

750

770

790

810

830

850

870

20,00 50,00 100,00 200,00 300,00 400,00 L

Mai

šatis

4 žanrai

32 žanrai

128 žanrai

2 pav. Maišaties priklausomybė nuo žodžių istorijos ilgio L, dinamiškai nustatant mišinio modelių svorius

KM adaptacija prie teksto, dinamiškai keičiant svorius λj, žymiai pagerina maišatį. Rezultatai parodė, kad optimali L parametro reikšmė priklauso nuo žanrų mišinių kiekio. Kuo daugiau žanrų turime, tuo optimalus L yra didesnis: (K = 4, L = 100), (K = 32, L = 200), (K = 64, L = 300). Ši priklausomybė paaiškinama tuo, kad kuo daugiau mišinių sudaro KM tuo daugiau λj parametrų reikia įvertinti. KM su 128 mišiniais turi 129 λj parametrus (128 žanrai + bendras modelis). Tokiu atveju λj įverčiai tampa patikimesni naudojant ilgesnę istoriją. Tuo tarpu, naudojant 4 mišinius, jau ir 50 žodžių istorija yra sąlyginai gera. Čia reikia rinktis kompromisą tarp svorių įvertinimo patikimumo ir teksto žanro pokyčių dažnumo.

Šiame darbe taip pat tyrėme KM, naudojantį pastovius mišinių svorius λj, kurie nustatomi vieną kartą pagal optimizavimo imtį. Skirtingai nuo kitų autorių bandymų [3, 4, 5], mūsų KM nebuvo geresnis už atskaitos trigramą. Tai aiškiname mūsų naudojamo tekstyno įvairumu.

4. Išvados

Šiame darbe pristatomi tyrimai, kuriuose lietuvių kalbos žodžių sekos pirmą kartą modeliuojamos, naudojant tekstų grupavimą į žanrus. Tyrimai parodė, kad statistiniai žanrų mišinių modeliai iki 28% pagerina KM maišatį. Tyrimo metu nustatyta, kad automatinis tekstų grupavimas į žanrus KM maišaties prasme yra geresnis už originalų tekstyno tekstų sugrupavimą. Grupavimo kriterijus, pagrįstas žodžių pagrindinėmis formomis, buvo pranašesnis už kriterijų, pagrįstą žodžiais.

Optimalus žanrų kiekis nagrinėto tekstyno modeliavimui nustatytas nebuvo. Galima teigti, kad modeliuojant reikia naudoti daugiau negu 4 žanrų mišinius. Nors didesnis mišinių kiekis teoriškai leistų labiau prisitaikyti prie teksto žanro, geriausi, bet panašūs rezultatai buvo gauti naudojant 32, 64 ir 128 žanrus.

Šiame darbe parodyta, kad, dinamiškai keičiant mišinio modelių svorius, svorių optimizavimui naudojamos žodžių istorijos optimalus dydis priklauso nuo žanrų mišinių skaičiaus ir svyruoja tarp 100 ir 300 paskutiniųjų žodžių.

– 313 –

Page 40: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

A. Vaičiūnas, G. Raškinis

Literatūros sąrašas

[1] S. Chen, J. T. Goodman. An empirical study of smoothing techniques for language modeling. Computer Speech and Language, 1999, 13:359–394.

[2] P. Clarkson, R. Rosenfeld. Statistical Language Modeling Using the CMU-Cambridge Toolkit, Proceedings of 5th European Conference on Speech Communication and Technology, 1997, Rhodes, Greece.

[3] P. Clarkson. Adaptation of Statistical Language Models for Automatic Speech Recognition. PhD thesis, Cambridge University Engineering Department, Cambridge, 1999.

[4] J. T. Goodman. A Bit of Progress in Language Modeling. Computer Speech and Language, 2001, 15(4):403–434. [5] R. Iyer, M. Ostendorf. Modeling long distance dependence in language: Topic mixture vs. dynamic cache models.

IEEE Transactions on Speech and Audio Processing, 1999, IEEE-SAP, 7:30–39. [6] P. Ircing, P. Krbec, J. Hajic, J. Psutka, S. Khudanpur, F. Jelinek, and W. Byrne. On Large Vocabulary

Continuous Speech Recognition of Highly Inflectional Language – Czech. Proceedings of 7th European Conference on Speech Communication and Technology, 2001, , Eurospeech'2001, B14, 487-491.

[7] F. Jelinek. Statistical Methods for Speech Recognition. Massachusetts Institute of Technology, Cambridge, 2001. [8] R. Kneser, V. Steinbiss. On the dynamic adaptation of stochastic language models. In Proceedings of International

Conference on Acoustics, Speech and Signal Processing, 1993, 586-589. [9] R. Rosenfeld. Two decades of statistical language modeling: Where do we go from here. 2000, Proceedings of the

IEEE, 88(8). [10] M. Sepesy Maucec, Z. Kacic. Topic Detection for Language Model Adaptation of Highly-Inflected Languages by

Using a Fuzzy Comparison Function. Proceedings of 7th European Conference on Speech Communication and Technology, 2001, Eurospeech'2001, A42 243 - 247.

[11] V. Siivola , M. Kurimo, K. Lagus. Large Vocabulary Statistical Language Modeling for Continuous Speech Recognition in Finnish. Proceedings of 7th European Conference on Speech Communication and Technology, 2001, Eurospeech'2001, B25 737 - 741.

[12] A. Vaičiūnas, G. Raškinis, V. Kaminskas. Statistical language models of Lithuanian based on word clustering and morphological decomposition. Informatica, 2004, 15(4), 565-580.

[13] A. Vaičiūnas, G. Raškinis. Statistinių lietuvių kalbos modelių kūrimas ir pirminis tyrimas. Informacinės technologijos 2003, 2003, KTU, IX 35 – 40.

[14] VDU lietuvių kalbos garsynas. http://donelaitis.vdu.lt/

[15] V. Zinkevičius. Lemuoklis – morfologinei analizei. Darbai ir dienos, Kaunas, 2000.

Statistical Topic Mixture Language Models of Lithuanian

This paper presents the experiments of modelling Lithuanian language using the topic mixture technique. Topic mixture models ranging from 4 to 128 mixtures were built upon VMU CCL text corpus. The influence of the way text clustering into topics is performed on model perplexity was investigated. It was shown that automatic text clustering into topics outperforms manual clustering as well as clustering based on word base forms outperforms clustering based on word surface forms. Different interpolation lengths for dynamically adjusting mixture weights were investigated. The best results showed a decrease of perplexity up to 28% compared with the standard trigram model.

– 314 –

Page 41: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

AUTOMATINIS LIETUVIŲ KALBOS VEIKSMAŽODŽIŲ GRUPIŲ ATPAŽINIMAS

Gintarė Grigonytė Kauno Technologijos universitetas

Erika Rimkutė Vytauto Didžiojo universitetas

Straipsnyje pristatomi pirmieji bandymai automatiškai nustatyti lietuvių kalbos veiksmažodžių grupes. Kol kas apsiribojama tik sudėtinio tarinio junginiais. Trumpai pristatomos problemos, susijusios su tarinių nustatymu, klasifikacija ir automatiniu atpažinimu anotuotuose tekstuose. Aprašoma, kaip naudojant tekstyną buvo aptikti veiksmažodžių jungimosi dėsningumai ir sudarytos veiksmažodžių junginius aprašančios taisyklės.

Šiame darbe pateikiami statistinių tyrimų rezultatai apie patikimą elektroninių tekstų imtį, skirtą veiksmažodžių junginių analizei; didžiausią galimą veiksmažodžių grandinę, sudarančią sudėtinį tarinį. Nustatyta, kad automatiškai galima skirti 40 grupių, kurios apima susijusias veiksmažodžių formas. Ilgiausi nustatyti veiksmažodžių junginiai yra keturžodžiai. Turimas taisyklių rinkinys atpažįsta veiksmažodžių grupes elektroniniuose tekstuose 95 proc. tikslumu.

Sukurtas veiksmažodžių grupių analizatorius ateityje bus pritaikytas priklausomybių gramatika paremtam sintaksiniam lietuvių kalbos analizatoriui kurti.

1. Įvadas

Lietuvių kalbos veiksmažodžiai – dažnai vartojama, formų įvairumu, sudėtingomis gramatinėmis kategorijomis pasižyminti kalbos dalis. Veiksmažodis gali turėti net 258 skirtingas formas. Tačiau toliau analizuotos tik šios veiksmažodžių formos: bendratis, tiesioginės nuosakos formos, tariamosios nuosakos formos, dalyviai, pusdalyviai, padalyviai, būdiniai, nes šios formos dažniausiai sudaro sudėtinį tarinį ir apskritai yra dažniausiai vartojamos.

Tyrimo objektu neatsitiktinai pasirinkti veiksmažodžių junginiai. Verbocentrinė teorija teigia, kad sakinio centrą sudaro tarinys ir jis yra svarbiausia sakinio dalis. Tai ir paskatino pabandyti analizuoti veiksmažodžių junginius. Jų yra daug ir įvairių: galima skirti veiksmažodines frazes, pvz., skaitau knygą, greitai bėga, sudėtinius tarinius, pvz., noriu gerti, yra žinomas, bus galima padaryti, buvo beeinąs ir pan. Kol kas išanalizuoti junginiai, apimantys sudėtinį suvestinį tarinį ir dalį analitinių tarinių. Išsamiau nenagrinėti sudėtiniai sudurtiniai tariniai, veiksmažodinės frazės (terminai paaiškinti 2.2 skyrelyje).

Analizuojant tekstus automatiniu būdu sintaksiškai, kartu išsprendžiamas ir labai dažnas lietuvių kalbos morfologinis daugiareikšmiškumas (beveik pusė visų formų yra morfologiškai daugiareikšmės, t. y. arba nurodomos kelios lemos, arba kelios morfologinės pažymos [2]), kuris šiuo metu yra didelė problema anotuojant tekstus morfologiškai.

2. Teoriniai veiksmažodžių junginių aspektai

2.1. Tarinio samprata

Tarinys lietuvių kalbotyroje apibrėžiamas taip: „Tarinys yra pagrindinė sakinio dalis, kuria teigiamas arba neigiamas tam tikras veiksmas, būsena ar ypatybė. Tarinys rodo, ką veikia (veikė, veikdavo...)“[4]. Tarinį gali sudaryti tik vienas veiksmažodis, iš kelių veiksmažodžių formų sudarytas junginys arba veiksmažodžio ir vardažodžio junginys.

Kol kas lietuvių kalbotyroje nėra išsamiai ir formaliai aprašytos veiksmažodžių grupės, todėl kai kurių junginių samprata mūsų tyrimuose šiek tiek skiriasi nuo tradicinės nuomonės, pateikiamos kalbiniuose darbuose. Dabartinėje lietuvių kalbos gramatikoje tik užsimenama apie veiksmažodžių junginius, tačiau jie konkrečiai neįvardijami ir vadinami „sudėtiniais laikais bei nuosakomis“ [1]. Tame pačiame leidinyje aprašomas tik vienas dėsningumas/taisyklė, kaip veiksmažodžiai gali jungtis į grandines: „Sudėtines laikų bei nuosakų formas sudaro veikiamieji [...] dalyviai su [...] veiksmažodžio būti asmenuojamomis formomis“ [1] . Dėl šių priežasčių, norint atlikti praktinį sintaksinės analizės įgyvendinimą, reikėjo ne tik išanalizuoti veiksmažodinių junginių struktūrų tipus, jų jungimosi galimybes, nustatyti dėsnius, pagal kuriuos veiksmažodžiai jungiasi į tas struktūras, bet ir sukurti metodiką, kuria remiantis aprašyti veiksmažodiniai junginiai bei jų automatinis atpažinimas.

– 315 –

Page 42: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

G. Grigonytė, E. Rimkutė

2.2. Tarinių rūšys

Lietuvių kalbos tarinys gali būti reiškiamas vientisinėmis veiksmažodžių formomis, pvz., eina, kalbėk, padarytų, sudėtinėmis veiksmažodžių formomis, pvz., privalo padaryti, turi būti padarytas, veiksmažodžiais kartu su vardažodžiais, pvz., buvo didelis, tapo gydytoju. Pagal tai skiriami grynieji, suvestiniai, sudurtiniai ir mišrieji tariniai.

Išsamiai tarinį yra aprašęs kalbininkas V. Labutis, kurio knygoje Lietuvių kalbos sintaksė [7] pateikta tokia tarinio klasifikacija: Vientisinis tarinys smulkiau skirstomas taip:

paprastasis – tai dažniausiai veiksmažodžio vientisinė asmenuojamoji forma, kartais netiesioginės nuosakos dalyvis, ištiktukas, bendratis ar padalyvis, pvz.: viešpatavo tyla. samplaikinis tarinys sudarytas iš dviejų semantiškai susijusių veiksmažodžių formų, pvz.: visi sušilę suplukę skubėjo grūdosi laukan. analitinį tarinį sudaro sudurtinės veiksmažodžių formos, pvz.: daug kartų buvau susirgęs. Sudėtinį tarinį sudaro ne mažiau kaip dvi savarankiškos (viena iš jų gali būti ir pusiau savarankiška) žodžių

formos. Sudėtinis tarinys turi dvi dalis (dėmenis). Sudėtinis tarinys smulkiau dar skirstomas taip: suvestinis tarinys – tai sudėtinis tarinys, sudarytas iš veiksmažodžio asmenuojamosios formos ir bendraties ar ją atstojančio dalyvio, pvz.: raštą skaityti – peklą braidyti; lietus buvo nustojęs (pagalbinė dalis) lyti (prasminė dalis)/ sudurtinis tarinys – tai sudėtinis tarinys, sudarytas iš veiksmažodžio asmenuojamosios formos ir tam tikro linksnio vardažodžio ar prieveiksmio, pvz.: jis tapo (jungtis) turtuoliu (vardinė dalis).

Sudėtingosios struktūros sudurtinis tarinys yra tada, kai jungtis turi suvestinio tarinio pavidalą, pvz., jie nori būti dideli. Jis turi būti nupraustas; kai jungtis turi kito sudurtinio tarinio pavidalą, pvz., ji sakėsi esanti tikra karalaitė.

Ne visada lengva skirti tarinius, ypač analitinius ir samplaikinius. Dar sunkiau analizuoti realiai kalboje pavartotus, o ne knygose pateiktus pavyzdžius. Taigi remiantis pateikta tarinio klasifikacija, galima teigti, kad buvo tirti samplaikiniai, dalis analitinių ir suvestinių tarinių, nes minėtos tarinių rūšys yra sudaromos iš veiksmažodinių junginių, kurie ir buvo analizuoti. Toliau nagrinėtos veiksmažodžių formos vadinamos veiksmažodžių junginiais, nes dėl sudėtingos analizės sunku aiškiai nustatyti, kuri konkreti tarinių rūšis yra nagrinėjama. Svarbiausias tikslas – ne suklasifikuoti veiksmažodžių junginius, bet juos automatiškai nustatyti.

3. Veiksmažodžių klasifikavimas ir automatinis atpažinimas

Dabartinėje lietuvių kalbos gramatikoje užsimenama apie įvairias tarinio rūšis, tačiau struktūriniai sudėtingesnių tarinių jungimosi ypatumai neaptariami, pavyzdžiui, kalbant apie sudėtinį tarinį, nepateikiama informacijos apie tai, kiek žodžių gali sudaryti sudėtinį tarinį, kokiu būdu jie jungiasi vienas prie kito.

Todėl norėdami atpažinti tarinį sakinyje, turime ne tik taikyti esamas gramatikos taisykles, bet drauge ieškoti naujų dėsningumų bei juos aprašyti (plačiau apie tai žr. [2]).

3.1. Veiksmažodžių junginių klasifikavimas

Informacija apie veiksmažodžių junginius gaunama tiriant elektroninius tekstus (tekstyną). Peržiūrimame tekste ieškomos dviejų ir daugiau veiksmažodžių grandinėlės, pvz.: turi būti norimas, galiu eiti, privalo mokėti liepti išeiti ir pan. Tokie ir panašūs junginiai klasifikuojami pagal kelis požymius:

• Junginio ilgį (keli žodžiai sudaro junginį); • Junginį sudarančias veiksmažodžių formas. Taigi veiksmažodžių junginiai skirstomi į dvižodžius, trižodžius ir keturžodžius. Kiekviena iš šių grupių turi

savo modelius, t. y. bendras savybes, kokios ir kurioje junginio vietoje bus veiksmažodžių formos, pvz.: asmenuojamoji forma + bendratis + dalyvis; asmenuojamoji forma + bendratis; asmenuojamoji forma + būdinys ir t. t. (plačiau žr. [3]).

Tiksliai išanalizuoti visus veiksmažodžių junginių modelius beveik neįmanoma, nes jų yra labai daug. Be to, apie 40 proc. retų modelių atvejų yra nereprezentatyvūs dabartinės kalbos atžvilgiu. Modelių skaičius auga analizuojant vis naujus tekstus. Tam, kad nereiktų dirbti su begalinėmis aibėmis, buvo nagrinėjami tik dažniausiai pasitaikantys modeliai. Reti modeliai toliau netirti dėl keleto priežasčių:

– 316 –

Page 43: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Automatinis lietuvių kalbos veiksmažodžių grupių atpažinimas

• Didėlės klaidų tikimybės tame modelyje. Jei turime mažai pavyzdžių, iliustruojančių tam tikrą modelį, negalime spręsti apie sintaksinius dėsningumus

visuose tokio tipo junginiuose. Keli junginiai neatspindi tikrosios padėties visoje modelio aibėje. Turimų pavyzdžių savybių negalime laikyti dėsningomis, o jei vis tik laikytume, – neišvengtume klaidų tolimesniuose darbo etapuose.

• Modelio vartojimo retumo dabartinėje kalboje. Tai, kad modelis retai aptinkamas, rodo jo neįprastumą lietuvių kalboje, vadinasi, tokio tipo junginiai vartojami

itin retai arba iš viso nevartojami. Atmetus retus variantus, bendras veiksmažodžių junginių dažnumas nepakinta, t. y. tokie modeliai neturi įtakos bendram veiksmažodžių junginių pasiskirstymui.

3.2. Automatinis veiksmažodžių grupių atpažinimas

Svarbus šio darbo rezultatas – automatiniu būdu patikrinti elektroniniai tekstai, aptikti žodžių jungimosi į grandines dėsningumai ir jų pritaikymas automatiniam veiksmažodžių grupių atpažinimui.

Galima rasti pateiktas tik kelias taisykles, aprašančias lietuvių kalbos veiksmažodžių junginius, todėl kuriant dalinį sintaksinį analizatorių, susidurta su problema, ką atpažinti. Rasti reikiamus dėsningumus padėjo kompiuterinė analizė, kurios metu buvo surasti ir automatiškai sugrupuoti aptiktieji junginiai. Kompiuterizuotai atlikus pirminį junginių klasifikavimą, iš 1 000 000 žodžių turinčių tekstinių failų gauta daugiau kaip 1200 junginių modelių. Ekspertui peržiūrėjus tuos junginius, liko tik 40 junginių modelių, kurių pavyzdžiai, remiantis turimais duomenimis, visada yra taisyklingi. Tyrimo metu rasti dėsningumai buvo apibendrinti, keletas pavyzdžių pateikta 1 lentelėje.

1 lentelė. Veiksmažodžių junginių sintaksinės taisyklės

Dėsningumas Pavyzdys Tariamoji nuosaka + dalyvis + bendratis būtume galėję pasveikinti Dalyvis + asmenuojamoji nuosaka + bendratis galima buvo tikėtis Dalyvis + tariamoji nuosaka + bendratis negalima būtų pateisinti Tr

ižod

žiai

ju

ngin

iai

Bendratis + asmenuojamoji nuosaka + dalyvis kompensuoti buvo galima

Taisyklės buvo sudaromos tokiu būdu: sugrupavus visus junginius į atskirus modelius, buvo peržiūrimi kiekvieno modelio pavyzdžiai, ieškoma dėsningumų modelyje. Dėsningais modeliais laikomi tokie, kuriuose daugiau nei 95 proc. veiksmažodžių junginių yra sintaksiškai taisyklingi. Tokių modelių sintaksinės struktūros buvo laikomos taisyklėmis. Taikant sudarytų sintaksinių taisyklių dabartinėje lietuvių kalboje sąrašą, yra atpažįstami veiksmažodžių junginiai.

Svarbus sintaksinės analizės aspektas – morfologinis vienareikšminimas, atliekamas iš kelių žodžio morfologinio sąrašo narių išrenkant vieną. Pastebėta, kad tam tikruose junginiuose praktiškai visada vartojama tik kuri nors viena veiksmažodžio forma iš morfologinio sąrašo. Analizuojant pavienes formas automatiškai, negalima nustatyti, kuri forma yra taisyklinga tame kontekste. 2 lentelėje pateikiamos kelios vienareikšminimo taisyklės (vienareikšminimo taisyklės buvo sudarytos apibendrinant įvairių modelių pavyzdžius): 2 lentelė. Morfologinio vienareikšminimo taisyklės

Nr. Morfologiškai daugiareikšmis sąrašas Vienareikšminimo taisyklė 1 Asmenuojamoji forma, daiktavardis Asmenuojamoji forma 2 Asmenuojamoji forma, būdvardis Asmenuojamoji forma 3 Asmenuojamoji forma, dalyvis Asmenuojamoji forma 4 Bendratis, dalyvis Bendratis 5 Bendratis, dalyvis, būdvardis Bendratis 6 Jungtukas, pusdalyvis Pusdalyvis 7 Būdvardis, dalyvis Dalyvis 8 Būdvardis, tariamoji nuosaka, dalyvis Tariamoji nuosaka 9 Tariamoji nuosaka, dalyvis Tariamoji nuosaka

Taigi buvo sukurtas veiksmažodžių junginius atpažįstantis įrankis, kurio veikimas pagrįstas anksčiau aptartais metodais. Komponentų sąveika ir duomenys grafiškai pavaizduoti 1 pav. Atpažinimo įrankis naudoja veiksmažodžių junginių atpažinimui reikalingus papildomus komponentus – tai specialios bibliotekos, automatiškai tekstus

– 317 –

Page 44: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

G. Grigonytė, E. Rimkutė

lemuojančios ir morfologiškai pažyminčios programos Lemuoklis komponentai, taisyklių sąrašas. Atpažinimo metu analizuojamas elektroninis tekstas. Atpažinimo įrankis tuos veiksmažodžių junginius, kuriuos atpažįsta, grąžina jau suvienareikšmintus.

analizuojaTiriamas tekstas grąžinaAtpažinimo

įrankis

Lemuoklio komponentai (*.dll, *.lib) Vienareikšmius

veiksmažodžių junginius

Taisyklių failas

naudoja

Specialios bibliotekos

1 pav. Atpažinimo įrankio komponentų ir duomenų sąveika

3.3. Svarbiausi veiksmažodžių junginių atpažinimo etapai

Toliau trumpai aprašomas veiksmažodžių grupių atpažinimo įrankio veikimas. Automatinis junginių atpažinimas ir klasifikavimas vykdomas naudojant tekstyno dalies specialiosios literatūros tekstus ir V. Zinkevičiaus programą Lemuoklis [8]. Automatinio junginių atpažinimo metu atliekami tokie veiksmai:

Parenkamos ir aprašomos elektroninių tekstų dalys – tekstiniai vienetai, kuriuose bus ieškoma veiksmažodžių junginio. Tekstiniai vienetai – tai nuo bet kokio jungtuko iki bet kokio jungtuko esanti teksto dalis.

, - .žodis 1 žodis 2 žodis 3 žodis 4 žodis 5 žodis 6 žodis 7 žodis 8

Tekstinis vienetas 1 Tekstinis vienetas 2 Tekstinis vienetas 3

Sulemuojami atskiri tekstinių vienetų žodžiai, t. y. Lemuokliu patikrinamas kiekvienas žodis ir surenkama informacija apie jo morfologines pažymas, jei tas žodis savo morfologiniame apraše turi bent vieną įrašą, rodantį, kad jo morfologinė reikšmė – veiksmažodis.

Pavyzdžiui, sakinys aš norėčiau eiti pasivaikščioti yra analizuojamas tokiu principu: žodžio aš morfologiniame apraše nėra informacijos, kad bent viena iš šio žodžio reikšmių – veiksmažodžio forma, todėl jis toliau neanalizuojamas. Jei nors viena žodžio morfologinė reikšmė – veiksmažodinė forma, tas žodis įsimenamas ir tuo pačiu principu nagrinėjamas šalia jo esantis žodis. Jei atsiranda keli vienas paskui kitą sekantys žodžiai, kurių morfologiniuose aprašuose pateikiama, kad tai veiksmažodžių formos, tada tie žodžiai laikomi veiksmažodžių junginiu ir yra įsimenami. Nagrinėjamame sakinyje rasti trys žodžiai, kurie sudaro veiksmažodinį junginį, o Lemuoklis pateikia tokius morfologinius aprašus:

<w l="norėtai" m="prvks,aukštesn.l" l="norėti(-i,-ėjo)" m="vksm,teig,nesngr,tariam.nuos,vnsk,Iasm">norėčiau<w>

<w l="eiti(eina,ėjo)" m="vksm,bndr,teig,nesngr" l="eiti(eina,ėjo)" m="vksm,dlv,teig,nesngr,neįvardž,neveik.r,būt.l,vyr.gim,dgsk,V">eiti<w>

<w l="pasivaikščioti(-ja,-jo)" m="vksm,bndr,teig,sngr" l="pasivaikščioti(-ja,-jo)"m="vksm,dlv,teig,sngr,neįvardž,neveik.r,būt.l,vyr.gim,dgsk,V">pasivaikščioti<w>

– 318 –

Page 45: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

Automatinis lietuvių kalbos veiksmažodžių grupių atpažinimas

Po to, kai veiksmažodžių junginiai įsimenami, jie sugrupuojami pagal įvairius požymius į grupes. Tokiais požymiais laikomas junginio ilgis ir tam tikro modelio atitikimas. Pavyzdžiui, norėčiau eiti pasivaikščioti yra trižodis junginys ir priskiriamas modeliui tariamoji nuosaka + bendratis + bendratis.

Veiksmažodžių junginių atpažinimo metu taip pat buvo vienareikšminamos morfologiškai daugiareikšmės formos. Tai reiškia, kad atpažįstant veiksmažodžių junginius, bandoma eliminuoti netinkamas reikšmes, paliekant tik sintaksiškai taisyklingas struktūras. Pritaikius ši metodą tiriamiems junginiams, gaunami logiškai semantiškai prasmingi veiksmažodžių junginiai.

Veiksmažodžių grupių atpažinimas apskritai remiasi tuo, kad morfologiniai tiriamųjų junginių sąrašai yra sutapatinami su morfologiniais taisyklių junginių sąrašais. Jeigu jie sutampa, tada tiriamas junginys yra atpažįstamas.

3.4. Automatinio veiksmažodžių grupių nustatymo įvertinimas

Tyrimo metu buvo ištirta apie 1 000 000 žodžių apimties specialiosios literatūros tekstų. Nustatyta, kad mažiausia patikima imtis tokiems tyrimams vykdyti – 500 000 žodžių apimties tekstai. Toliau pateikiami pakankamą tekstų imtį charakterizuojantys įverčiai.

500 000 žodžių apimties tekstuose dažniausi veiksmažodžių junginiai yra dvižodžiai – jie sudaro 86,14 proc., taip pat gana dažni ir trižodžiai junginiai, sudarantys 10,98 proc. visų junginių. Iš viso nustatyti 4029 skirtingi veiksmažodžių junginiai. Detalesnis junginių pasiskirstymas pateikiamas 2 pav.

statistinis veiksmažodinių junginių pasiskirstymas tekste

86,14%

10,98%

2,64%0,24%

2 pav. Statistinis veiksmažodinių junginių pasiskirstymas specialiosios literatūros tekstyno dalyje: 86,14 proc. – dvižodžiai junginiai, 10,98 proc. – trižodžiai junginiai, 2,64 proc. – keturžodžiai junginiai, 0,24 proc. – kiti junginiai (daugiausia

penkiažodžiai, šešiažodžiai)

Dideli dvižodžių ir trižodžių junginių dažnumai tiriamuose duomenyse lėmė, kad ilgiausi galimi veiksmažodžių junginiai yra trižodžiai (p<0,05). Ilgesni junginiai atmetami dėl didėjančių klaidos tikimybių ir iškraipymų, nors retais atvejais ir ilgesni veiksmažodžių junginiai gali būti sintaksiškai taisyklingi.

Tiriamų duomenų kiekį padidinus iki 1 000 000 žodžių apimties tekstų, gaunami 5643 skirtingi veiksmažodžių junginiai, kurių procentinis pasiskirstymas panašus kaip ir 500 000 žodžių apimties tekstuose, tačiau didinant tiriamų tekstų kiekį nežymiai auga procentinės dvižodžių ir trižodžių junginių sudedamosios dalys.

4. Išvados

Šiame tyrime atlikti statistiniai tyrimai, kurias nustatyta, kad veiksmažodžių junginiai dabartinėje lietuvių kalboje pasiskirstę pagal Puasono skirstinį. Taip pat nustatyta, kad 500 000 žodžių apimties elektroniniai tekstai – pakankama imtis veiksmažodžių junginių analizei atlikti. Ilgiausią susijusių veiksmažodžių formų junginį sudaro trys veiksmažodžių formos. Dažniausiai lietuvių kalbos veiksmažodžių junginiai būna dvižodžiai arba trižodžiai.

Ištirti veiksmažodžių junginių sintaksinio analizatoriaus įgyvendinimo būdai, nustatyta, kad tiksliausiai atpažįstama remiantis ekspertiniu būdu. Buvo suformuluota 40 veiksmažodžių junginių dėsningumus aprašančių taisyklių. Remiantis jomis sukurtas veiksmažodžių junginių sintaksinis analizatorius, kuris veiksmažodžių junginius atpažįsta 95 proc. tikslumu ir morfologiškai vienareikšmina atpažintus junginius.

– 319 –

Page 46: Informacinės technologijos kalbų inžinerijoje · pavyzdys, kad angliškas žodis splint gali būti atpažintas, net neatpažįstant priebalsinių fonemų /s/, /p/, /n/. Šis žodis

G. Grigonytė, E. Rimkutė

Literatūros sąrašas

[1] Dabartinės lietuvių kalbos gramatika, Mokslo ir enciklopedijų leidykla, 1996, 346–354. [2] E. Rimkutė Morfologinio daugiareikšmiškumo tipologija, Lituanistica, 2003, Nr. 4 (56), 60–78. [3] G. Grigonytė Dalinis sintaksinis lietuvių kalbos veiksmažodžių analizatorius, VDU bakalauro darbas, 2004. [4] P. Kniūkšta, B. Dobrovolskis Lietuvių kalbos žinynas, Šviesa, 2003, 230–234. [5] V. Čekanavičius, G. Murauskas Statistika ir jos taikymai 2, 2002, 121–123. [6] V. Daudaravičius Syntactical Analizator of Lithuanian Sentence, VDU magistro darbas, 2002. [7] V. Labutis Lietuvių kalbos sintaksė, VU leidykla, 1998, 226–260. [8] V. Zinkevičius Lemuoklis – morfologinei analizei, Darbai ir dienos, 2000, Nr. 24, 245–273.

Automatic Verb Phrases Recognition in the Lithuanian Language

First attempts to recognize Lithuanian language verb phrases automatically are presented in this article. Research is restricted to complex predicate groups. The problems related to predicates finding, classification and automated recognition in annotated texts are briefly introduced here as well. We describe our own way of finding the consistent patterns of predicate conjugations in the Lithuanian Corpora and creating verb phrase syntax rules.

The results of statistical evaluation of finding reliable set of the texts for adequate syntax analysis and also estimating the longest possible verb phrase length that forms complex predicate are being provided in this article. 40 different group models describing complex predicates in the Lithuanian language were determined. Using this 40 rules list in verb phrases recognition gives us 95 % of precision.

We are planning to apply the extracted syntax rules and reuse created syntax analysis and Lithuanian verb phrases recognition tool in the Dependency Grammar parser of the Lithuanian language.