73
VYTAUTO DIDŽIOJO UNIVERSITETAS INFORMATIKOS FAKULTETAS TAIKOMOSIOS INFORMATIKOS KATEDRA Ieva Bumbulienė AUTOMATINIS LIETUVIŠKŲ PASTOVIŲJŲ ŽODŽIŲ JUNGINIŲ ATPAŽINIMAS Magistro baigiamasis darbas Taikomosios informatikos studijų programa, valstybinis kodas 6211BX012 Informatikos studijų kryptis Vadovas prof. dr. T. Krilavičius Moksl. laipsnis, vardas, pavardė parašas, data Apginta prof. dr. Daiva Vitkutė-Adžgauskienė Fakulteto dekanas parašas, data Kaunas, 2018

VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

VYTAUTO DIDŽIOJO UNIVERSITETAS

INFORMATIKOS FAKULTETAS

TAIKOMOSIOS INFORMATIKOS KATEDRA

Ieva Bumbulienė

AUTOMATINIS LIETUVIŠKŲ PASTOVIŲJŲ ŽODŽIŲ JUNGINIŲ

ATPAŽINIMAS

Magistro baigiamasis darbas

Taikomosios informatikos studijų programa, valstybinis kodas 6211BX012

Informatikos studijų kryptis

Vadovas prof. dr. T. Krilavičius Moksl. laipsnis, vardas, pavardė parašas, data

Apginta prof. dr. Daiva Vitkutė-Adžgauskienė Fakulteto dekanas parašas, data

Kaunas, 2018

Page 2: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

TURINYS

TURINYS ...................................................................................................................... 2

SANTRUMPŲ IR TERMINŲ ŽODYNAS ..................................................................... 4

SANTRAUKA ............................................................................................................... 5

ABSTRACT ................................................................................................................... 6

1 ĮVADAS ................................................................................................................. 7

2 PASTOVIŲJŲ JUNGINIŲ SĄVOKA .................................................................... 8

3 PASTOVIŲJŲ JUNGINIŲ IDENTIFIKAVIMO METODAI ................................ 10

3.1 Statistiniai metodai ........................................................................................ 10

3.2 Taisyklėmis paremti metodai ......................................................................... 14

3.3 Hibridiniai metodai........................................................................................ 14

3.4 Mašininio mokymo metodai .......................................................................... 15

3.4.1 Naïve Bayes ............................................................................................... 16 3.4.2 Random Forest ........................................................................................... 16 3.4.3 Atraminių vektorių metodas ....................................................................... 17 3.4.4 Conditional Random Fields (CRF) ............................................................. 18 3.4.5 Rekurentiniai neuroniniai tinklai ................................................................ 18

3.5 Apibendrinimas ............................................................................................. 19

3.6 Metodų kokybės vertinimas ........................................................................... 19

4 DUOMENYS ........................................................................................................ 21

4.1 Pirminis tekstynas ......................................................................................... 21

4.2 Morfologiškai anotuotas tekstynas ................................................................. 22

4.3 N-gramų tekstynas ......................................................................................... 22

4.3.1 N-gramų tekstynas (unikali junginio forma) ............................................... 22 4.3.2 N-gramų tekstynas (unikali junginio forma ir morfologinė informacija) ..... 25

4.4 Pastoviaisiais junginiais anotuotas tekstynas .................................................. 25

4.5 Žodžių vektoriai ............................................................................................ 26

4.6 Apibendrinimas ............................................................................................. 27

5 Eksperimentai ....................................................................................................... 28

5.1 Įrankiai ir technologijos, naudotos eksperimentams atlikti ............................. 28

5.2 Statistiniai įverčiai ......................................................................................... 28

5.3 Naïve Bayes, Random Forest, SVM .............................................................. 33

5.4 CRF............................................................................................................... 40

5.5 RNN .............................................................................................................. 42

5.6 Eksperimentų palyginimas ............................................................................. 44

6 Pastoviųjų junginių atpažintuvo prototipas ............................................................ 46

Page 3: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

6.1 Prototipo projektavimas ................................................................................. 46

6.2 Prototipo realizavimas ................................................................................... 48

6.3 Rekomendacijos tolesniam vystymui ............................................................. 52

7 REZULTATAI IR IŠVADOS ............................................................................... 53

7.1 Rezultatai ...................................................................................................... 53

7.2 Išvados .......................................................................................................... 54

8 LITERATŪROS SĄRAŠAS ................................................................................. 56

9 PRIEDAI .............................................................................................................. 61

9.1 Statistinių įverčių reikšmių histogramos ........................................................ 61

9.2 Statistinių įverčių intervalams apskaičiuoto F1-įverčio reikšmių paviršiai ...... 65

9.3 Prototipas ...................................................................................................... 67

9.4 Pirmo tiriamojo darbo santrauka .................................................................... 70

9.5 Antro tiriamojo darbo santrauka .................................................................... 71

9.6 Trečio tiriamojo darbo santrauka ................................................................... 72

9.7 Publikacijos ir pranešimai .............................................................................. 72

Page 4: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

4

SANTRUMPŲ IR TERMINŲ ŽODYNAS

PMI Pointwise Mutual Information, Abipusės informacijos įvertis

LLR Log Likelihood Ratio, Logaritminio tikėtinumo santykis

MI Mutual Information, Tarpusavio informacijos įvertis

MS Minimum Sensitivity, Minimalaus jautrumo įvertis

N-grama Žodžių junginys, sudarytas iš apibrėžto N kiekio žodžių

SVM Support Vector Machine, Atraminių vektorių metodas

CRF Conditional Random Fields, Sąlyginiai atsitiktiniai laukai

bi-LSTM Bidirectional Long Short-Term Memory, Dvikryptė ilga trumpalaikė atmintis

LSTM Long Short-Term Memory, Ilga trumpalaikė atmintis

RBF Radial Basis Function, Radialinė bazinė funkcija

HMM Hidden Markov Models, Paslėptieji Markovo modeliai

GloVe Global Vectors for Word Representation, Žodžių vektorių tipas

RNN Recurrent Neural Networks, Rekurentiniai neuroniniai tinklai

SMOTE Synthetic Minority Oversampling TEchnique, Dirbtinė pavyzdžių sukūrimo

technika

ENN Edited Nearest Neighbors, Koreguoti artimiausi kaimynai

NLTK Natural Language Toolkit, Natūraliosios kalbos apdorojimo biblioteka

OHE One Hot Encoding, Vieno vektoriaus kodavimas

L-BFGS Limited-memory Broyden–Fletcher–Goldfarb–Shanno algorithm, Ribotos

atminties Broyden–Fletcher–Goldfarb–Shanno algoritmas

API Application programming interface, API sąsaja

REST API REpresentational State Transfer API, REST tipo API sąsaja

POST HTTP užklausos metodas

JSON JavaScript Object Notation, Failo formato standartas

UTF-8 Teksto kodavimo standartas, naudojantis 8 bitus kodavimui

Page 5: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

5

SANTRAUKA

Autorius Ieva Bumbulienė

Pavadinimas Automatinis lietuviškų pastoviųjų žodžių

junginių atpažinimas

Vadovas Prof. dr. Tomas Krilavičius

Puslapių skaičius 73

Pastoviųjų junginių automatinis atpažinimas yra aktualus natūraliosios kalbos

apdorojimo sistemų, kompiuterinės lingvistikos srityse. Nekreipiant dėmesio į pastoviuosius

junginius natūraliosios kalbos sistemos gali pateikti nenatūralias išraiškas, o minimų junginių

procentinė dalis kalboje yra didelė (~41% daugelyje kalbų) ir tai šią problemą daro dar labiau

aktualia. Taigi, šiame darbe yra gvildenama automatinio pastoviųjų junginių atpažinimo

problema – siekiama sukurti metodiką automatiniam lietuviškų pastoviųjų junginių atpažinimui

ir realizuoti jos pagrindu veikiantį prototipą. Išanalizavus galimus metodus problemos

sprendimui, nuspręsta atlikti eksperimentų su statistiniais, mašininio ir giliojo mokymo metodais,

nes jų taikymas dažnais atvejais lemia lūkesčius tenkinančius rezultatus. Pirmiausia surinktas

bazinis 70 mln. žodžių tekstynas iš naujienų portalo „delfi.lt“. Atlikti eksperimentai su 17

skirtingų 2-gramoms skirtų statistinių įverčių ir tyrimai su 3 klasifikatoriais – Naïve Bayes,

Random Forest ir SVM. Klasifikatorių apmokymui naudotos statistinės (17 skirtingų įverčių) ir

lingvistinės (morfologinė informacija) savybės. Taip pat eksperimentai atlikti su 4 skirtingais

kategorinės informacijos kodavimo būdais ir klasių subalansavimo metodais (SMOTE kartu su

ENN ir SMOTE su Tomek). Paruošti duomenys ir pritaikyti sekoms skirti metodai CRF ir RNN

bi-LSTM. Tam, kad būtų apmokytas RNN, iš priminio tekstyno sugeneruoti GloVe tipo žodžių

vektoriai. Apjungus geriausius CRF ir RNN modelius gautas F1-įvertis 49%. Šių modelių

kombinacija panaudota pastoviųjų žodžių junginių atpažintuvo prototipe, taip pat apmokytas

RNN (bi-LSTM) modelis kalbos dalių žymėjimui, kuris įtrauktas į prototipą. Atpažintuvo

prototipas realizuotas kaip internetinė sistema ir API, aptartos prototipo tobulinimo galimybės.

Page 6: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

6

ABSTRACT

Author Ieva Bumbulienė

Title Automatic Identification of Lithuanian

Multiword Expressions

Supervisor Prof. dr. Tomas Krilavičius

Number of pages 73

Identification of Multiword Expressions is a significant problem in Natural Language

Processing and Computer Linguistics. Natural language processing systems might return

unnatural expressions if not enough attention is given for multiword expressions, for example, in

the field of machine translation. Moreover, in most of the languages a part of multiword

expressions varies about 41% or more. Thus, in this master project a problem of automatic

identification of multiword expressions is discussed. The goal of the project is to develop a

methodology for Lithuanian Multiword Expressions identification and build a prototype based

on the methodology. It was decided to use Statistical, Machine Learning and Deep Learning

methods due to their good performance on the similar tasks. A corpus of about 70 million words

was collected from Lithuanian news portal “delfi.lt”. 17 different lexical association measures

were calculated for bigrams and analyzed. Experiments were performed using 3 classifiers –

Naïve Bayes, Random Forest and SVM. The training of these classifiers was done using

statistical and morphological information of word expressions. In those experiments 4 different

methods of categorical data encoding and 2 combinations of classes balancing methods –

SMOTE with ENN and SMOTE with Tomek were included. Data was prepared for sequence

models CRF and RNN (bi-LSTM). GloVe word vectors were generated to use for RNN training.

After those experiments have been made, the best CRF and RNN models were combined and a

49% value of F1-Score was calculated. A combination of those models as well as trained part of

speech tagger were used in a prototype of tool for automatic multiword expressions

identification. This prototype was implemented as an internet system and API. Finally, the

possible improvement points of the prototype were discussed.

Page 7: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

7

1 ĮVADAS

Pastoviųjų junginių automatinis atpažinimas yra aktuali kompiuterinės lingvistikos ir

natūraliosios kalbos apdorojimo sričių problema. Pastoviųjų junginių pavyzdžiai lietuvių

kalboje: „sveikas protas“, „burtų keliu“, „varnas šaudyti“ ir t. t. Natūraliosios kalbos sistemos

gali pateikti nenatūralias išraiškas, jei nėra kreipiamas dėmesys į pastoviųjų junginių valdymą –

mašininio vertimo atveju pažodinis vertimas dažnai būna netikslus, o pastoviųjų junginių

atpažinimo realizavimas padeda spręsti tokią problemą [1]. Pastovieji junginiai yra mažiau

daugiareikšmiai nei atskiri žodžiai, todėl jų atpažinimas taip pat svarbus ir prasmės nustatymo

užduotyse. Be to, šių junginių dalis kalboje yra ypač didelė – net 41% [2] ir šis skaičius

apytiksliai tinka daugeliui kalbų. Pastoviųjų junginių identifikavimui yra naudojami įvairūs

metodai, kurie skirstomi į tris dideles grupes: statistinius, paremtus taisyklėmis ir hibridinius [3].

Automatinis pastoviųjų junginių atpažinimas dažnai yra įgyvendinamas taikant mašininio

mokymo metodus. Mašininio mokymo metodų apmokyme gali būti naudojamos įvairios

pastoviųjų junginių savybės – tiek statistinių įverčių reikšmės, tiek ir juos apibūdinanti

morfologinė, sintaksinė informacija. Dėl to magistrinio darbo metu nuspręsta išanalizavus

literatūrą atlikti eksperimentus siekiant automatiškai atpažinti pastoviuosius junginius ir

vertingiausius metodus pritaikyti – suprojektuoti ir suprogramuoti automatinio pastoviųjų žodžių

junginių atpažintuvo prototipą.

TIKSLAS: Sukurti metodiką automatiniam lietuviškų pastoviųjų junginių atpažinimui ir

realizuoti jos pagrindu veikiantį prototipą.

DARBO UŽDAVINIAI:

1. Atlikti literatūros ir metodų, taikomų pastoviųjų junginių atpažinimo problemai

spręsti, analizę;

2. Surinkti ir parengti duomenis, reikalingus sukurtai metodikai tobulinti;

3. Eksperimentiškai ištirti parinktus/sukurtus metodus pastovių junginių

identifikavimui;

4. Suprojektuoti automatinio pastoviųjų junginių atpažintuvo prototipą atsižvelgiant

į eksperimentų rezultatus;

5. Realizuoti automatinį pastoviųjų junginių atpažintuvo prototipą;

6. Parengti rekomendacijas tolimesniam metodų ir prototipo vystymui.

Page 8: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

8

2 PASTOVIŲJŲ JUNGINIŲ SĄVOKA

Kiekvienoje kalboje sakiniuose yra vartojami išsireiškimai, žodžių junginiai, kurie

gimtakalbiams yra savaime suprantami ir įprasti kasdienybėje. Tokių junginių vartojimas yra

nusistovėjęs reiškinys, minimi junginiai gali būti vadinami pastoviaisiais. Pastovieji junginiai

(angl. multiword expressions) nėra apibrėžiami vienareikšmišku apibrėžimu – skirtingi autoriai

pateikia šiek tiek besiskiriančias sampratas, kurių prasmė panaši, tačiau skirtingas detalumo lygis

ar akcentuojamas aspektas. Pastoviuoju junginiu gali būti įvardijama tokia žodžių seka, kuri yra

tarsi vienas atskiras vienetas žvelgiant iš tam tikro lingvistinės analizės lygmens [4]. Šiuo

apibrėžimu parodoma, kad pastovusis junginys turi kitokią, jį sudarančius žodžius vienijančią

prasmę. Atskiri pastovaus junginio žodžiai gali turėti žymiai daugiau prasmių ir gali būti

pavartoti kituose kontekstuose nei jų junginys, pavyzdžiui, junginys „praleisti laiką“ turi

vienareikšmišką prasmę, o jį sudarantys žodžiai „praleisti“ ir „laiką“, žvelgiant į juos kaip į

atskirus vienetus, gali turėti kitokią reikšmę ir būti vartojami atskirai. Kitame apibrėžime [5] yra

išskiriamos dvi dalys pastoviųjų junginių įvardijimui – pirma, tai pastovusis junginys gali būti

išskaidomas į kelis paprastus žodžius, antra, jis yra išskirtinis žvelgiant iš leksinės, sintaksės,

semantikos ar statistikos perspektyvos. Abu minėti apibrėžimai yra panašūs, tačiau antrajame

pateikiama daugiau detalumo, o tuo pačiu išaiškėja ir pastoviųjų junginių apibrėžimo

problemiškumas – pastoviajam junginiui aptikti, įvardinti nėra aiškios vienareikšmiškos

taisyklės, todėl juos nagrinėjant reikalinga nustatyti ribas ir išskirti, kurie junginiai bus laikomi

pastoviaisiais, o kurie ne, sprendžiant juos apimančias problemas.

Lietuvių kalboje pastovieji žodžių junginiai gali būti skirstomi į frazeologizmus ir

kolokacijas (tokia klasifikacija naudojama projekte „Lietuvių kalbos pastoviųjų žodžių junginių

automatinis atpažinimas (PASTOVU)“ [6]). Plačiau frazeologizmų ir kolokacijų sampratą bei šių

junginių atpažinimo kriterijus rašoma straipsnyje [7]. Frazeologizmų pavyzdžiai: „akis išdegti“,

„akla višta“, „purvais apdrėbti“ ir t. t. Kolokacijų pavyzdžiai: „bėga laikas“, „ministras

pirmininkas“, „siekti užsibrėžto tikslo“ ir t. t.

Aktualu išskirti ypač svarbią pastoviųjų junginių savybę – minimi junginiai gali turėti

įsiterpusių žodžių arba jų neturėti, pavyzdžiui, junginys „daryti spaudimą“ gali būti

nepertrauktos arba pertrauktos struktūros („daryti labai didelį spaudimą“), o žodžiai aptinkami ir

sukeisti vietomis („spaudimą daryti“). Kiek žodžių gali įsiterpti yra apibrėžiama įvairiai ir nėra

nurodyta griežtomis taisyklėmis, tačiau įvardijama, kad iki 2 žodžių įsiterpimas gali būti labai

svarbus, o įsiterpimo žodžių svarba pasiekus 4-5 įterptus žodžius mažėja [8]. Pats pastovusis

junginys taip pat yra konkrečiai neapibrėžto ilgio, aptinkama iš 2, 3 ir daugiau žodžių sudarytų

junginių, tačiau jie neperžengia sakinio ribų. Taigi, akivaizdu, kad pastovusis junginys nėra

Page 9: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

9

vienareikšmiškai apibrėžtas kalbos vienetas, tačiau galima apibendrinti, kad jis turi gramatišką

struktūrą, gali būti klasifikuojamas pagal įvairius kriterijus, būti kaitomas arba stabilus, turėti

įsiterpusių žodžių ir būti kelių žodžių ilgio neperžengiant sakinio ribos, o svarbiausia, kad yra

pastoviai vartojamas kalboje posakių, frazių, paprastų žodžių junginių ir kartais netgi sakinių

pavidalu [9].

Page 10: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

10

3 PASTOVIŲJŲ JUNGINIŲ IDENTIFIKAVIMO METODAI

Pastoviųjų junginių atpažinimas yra sudėtingas uždavinys ir jį galima suskaidyti į kelis

mažesnius: duomenų surinkimą, jų paruošimą, apdorojimą tolimesniam darbui, pastoviųjų

junginių identifikavimą – kandidatų atrinkimą ir vėliau jų filtravimą bei sprendimo priėmimą

pagal numatytus kriterijus, kuriuos turi tenkinti pastovusis junginys [10]. Identifikavimui atlikti

yra naudojami įvairūs metodai, kuriuos būtų galima suskirstyti į tris grupes [3]:

1. Statistinius;

2. Taisyklėmis paremtus;

3. Hibridinius (metodų kombinacijas).

3.1 Statistiniai metodai

Statistinių metodų dėka galima išskirti pastoviuosius junginius, remiantis

apskaičiuojamais leksiniais traukos įverčiais. Įverčių, galimų naudoti dvižodžių pastoviųjų

junginių atskyrimui, yra ypač daug: išskiriami 82 [11], 55 [12]. Nuspręsta atlikti eksperimentų

naudojant šiuos 17 skirtingų įverčių dvižodžiams junginiams:

1. Abipusė informacija PMI (angl. (Pointwise) Mutual Information) (1) [3] [11] [2] [13] [14];

2. Logaritminio tikėtinumo santykis LLR (angl. Log Likelihood Ratio) (2) [3] [11] [13] [15];

3. Dice koeficientas (4) [13] [16];

4. Logaritmuotas Dice koeficientas (5) [16];

5. T-testas (6) [11] [13] [16];

6. Pirsono Chi-kvadrato testas (7) [11] [15];

7. Phi-kvadrato testas (8) [3] [11];

8. Odds santykis (9) [11] [15];

9. Z-įvertis (angl. Z-Score) (10) [11] [15];

10. Poisson Stirling įvertis (12) [15];

11. MI (angl. Mutual Information) įvertis (13) [16] [15];

12. MI2 įvertis (14) [15];

13. MI3 įvertis (15) [16] [15];

14. Gmean įvertis (16) [15];

15. Relative Risk įvertis (17) [15];

16. Liddel koeficientas (18) [15];

17. MS įvertis (19) [15].

Page 11: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

11

Skaičiuojant statistinių įverčių reikšmes šiame darbe f raide žymimas dažnis, wi – i-tasis

junginio žodis, t. y. 𝑓(𝑤$) atitinka pirmo junginio žodžio dažnį nagrinėjamame tekstyne, o

𝑓(𝑤$, 𝑤') – dviejų žodžių (𝑤$ir𝑤') junginio dažnį. Be to, dalies įverčių skaičiavimui yra

reikalingos nenumatytų atvejų lentelės (angl. contingency tables), kurios pavyzdys 2-gramai (iš

dviejų žodžių sudarytam junginiui) matomas 1 lentelėje [13]. Čia ~𝑤$reiškia bet kuris žodis, tik

ne 𝑤$ ir analogiškai ~𝑤' – bet kuris žodis, tik ne 𝑤'. 𝑓(𝑤$,~𝑤') žymi dažnį junginių, kurių

pirmas žodis yra 𝑤$, o antras bet koks žodis, tik ne nagrinėjamos 2-gramos antrasis žodis 𝑤'.

𝑓(𝑁) yra dažnių 𝑓(𝑤$) ir 𝑓(~𝑤$) arba 𝑓(𝑤') ir 𝑓(~𝑤') suma – visų žodžių tekstyne skaičius.

1 lentelė. Nenumatytų atvejų lentelės pavyzdys bigramai [13]

w2 -w2 Sumos

w1 𝑓(𝑤$, 𝑤') 𝑓(𝑤$,~𝑤') 𝑓(𝑤$)

-w1 𝑓(~𝑤$, 𝑤') 𝑓(~𝑤$, ~𝑤') 𝑓(~𝑤$)

Sumos 𝑓(𝑤') 𝑓(~𝑤') 𝑓(𝑁)

Žemiau pateikiamos formulės, naudotos statistinių įverčių reikšmių apskaičiavimui.

PMI įgyja teigiamas ir neigiamas reikšmes – kuo didesnė reikšmė, tuo labiau tikėtina, kad

žodžiai sudaro pastovųjį junginį. Yra žinoma, kad PMI įvertis dideles reikšmes teikia retai

pasitaikantiems junginiams [14].

LLR naudojamas iškeltų hipotezių tikrinimui. Nuline hipoteze yra laikoma, kad

nagrinėjami žodžiai yra nepriklausomi ir kartu pasitaiko atsitiktinai – jų pasirodymas kartu yra

statistiškai nereikšmingas, todėl junginys nelaikomas pastoviuoju. Tuo tarpu kita hipoteze

teigiama, kad žodžiai yra pastovaus junginio komponentai.

𝑃𝑀𝐼(𝑤$,𝑤') = 𝑙𝑜𝑔𝑝(𝑤$, 𝑤')

𝑝(𝑤$) ∙ 𝑝(𝑤'),

(1)

kur 𝑝(𝑤$, 𝑤') = 𝑓(𝑤$,𝑤')/𝑓(𝑁), o 𝑝(𝑤7) = 𝑓(𝑤7)/𝑓(𝑁).

𝐿𝐿𝑅 = −2< 𝑓7=𝑙𝑜𝑔𝑓7=

𝑓7=>?@>AB>C ,

7=

(2)

kur 𝑓7= yra dažnis langelyje ij, randamas nenumatytų atvejų lentelėje, t. y. 𝑓$$ = 𝑓(𝑤$, 𝑤'),

𝑓$' = 𝑓(𝑤$, ~𝑤'), 𝑓'$ = 𝑓(~𝑤$,𝑤') ir 𝑓'' = 𝑓(~𝑤$,~𝑤'), o

𝑓7=>?@>AB>C = 𝑓(𝑑𝑎𝑡𝑎𝐼𝑡𝑒𝑚$) ∙ 𝑓(𝑑𝑎𝑡𝑎𝐼𝑡𝑒𝑚')/𝑁, (3)

Page 12: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

12

Dice koeficientas suteikia galimybę įvertinti junginį sudarančių žodžių tarpusavio darną.

Dice koeficiento įverčių reikšmės dažnai yra labai mažos, o siekiant to išvengti, galima

rezultatus logaritmuoti. Logaritmuojant nepakinta minimumai ir maksimumai, tačiau reikšmės

atsiduria mažesniame intervale (susiaurinama amplitudė) ir gali būti lengviau interpretuojamos.

Literatūroje siūlomas logaritmuotas Dice koeficiento įvertis logDice, kuris gali būti

apskaičiuotas pagal (5) formulę.

Pastoviųjų junginių atpažinimo kontekste t-testas suteikia galimybę patikrinti, ar žodžiai,

sudarantys junginį, kartu pasitaikė atsitiktinai, ar vis tik tarp jų yra ryšys ir jie gali būti pavadinti

pastoviuoju junginiu.

Pirsono Chi-kvadrato testas leidžia patikrinti hipotezę, ar junginį sudarantys žodžiai yra

nepriklausomi. Analogiškai kaip ir logaritminio tikėtinumo skaičiavimo atveju nuline hipoteze

teigiama, kad žodžiai yra nepriklausomi ir mažai tikėtina, kad sudarytų pastovųjį junginį. Toliau

pateikiamos likusių įverčių formulės.

kur dataItem yra 𝑤$, 𝑤',~𝑤$,~𝑤', priklausomai nuo to, kuris lentelės langelis tuo metu

yra naudojamas.

𝐷𝑖𝑐𝑒(𝑤$, 𝑤') =2 ∙ 𝑓(𝑤$,𝑤')𝑓(𝑤$) + 𝑓(𝑤')

(4)

𝑙𝑜𝑔𝐷𝑖𝑐𝑒(𝑤$, 𝑤') = 14 + 𝑙𝑜𝑔'2 ∙ 𝑓(𝑤$,𝑤')𝑓(𝑤$) + 𝑓(𝑤')

, (5)

𝑡 =𝑓(𝑤$, 𝑤') −

O(PQ)∙O(PR)S

T𝑓(𝑤$, 𝑤')

(6)

𝜒' = <(𝑓7= − 𝑓7=

>?@>AB>C)'

𝑓7=>?@>AB>C ,

7=

(7)

kur 𝑓7= yra dažnis langelyje ij, randamas nenumatytų atvejų lentelėje, t. y. 𝑓$$ = 𝑓(𝑤$, 𝑤'),

𝑓$' = 𝑓(𝑤$, ~𝑤'), 𝑓'$ = 𝑓(~𝑤$,𝑤') ir 𝑓'' = 𝑓(~𝑤$,~𝑤'), o 𝑓7=>?@>AB>C pateikta (3)

formulėje

𝜙' =(𝑓(𝑤$, 𝑤') ∙ 𝑓(~𝑤$, ~𝑤') − 𝑓(𝑤$, ~𝑤') ∙ 𝑓(~𝑤$, 𝑤'))'

𝑓(𝑤$) ∙ 𝑓(𝑤') ∙ 𝑓(~𝑤$) ∙ 𝑓(~𝑤')

(8)

𝑜𝑑𝑑𝑠𝑟𝑎𝑡𝑖𝑜C7YA =(𝑓(𝑤$, 𝑤') + 0.5) ∙ (𝑓(~𝑤$,~𝑤') + 0.5)(𝑓(𝑤$, ~𝑤') + 0.5) ∙ (𝑓(~𝑤$, 𝑤') + 0.5)

(9)

Page 13: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

13

Taigi, statistinių įverčių, kuriuos galima naudoti pastoviųjų junginių atpažinimui yra ypač

daug. Šiame skyriuje įvardinta 17 įverčių, tačiau jų yra žymiai daugiau – kaip tinkami pastoviųjų

junginių atpažinimui yra įvardijami 55 [12] ir net 82 [11] įverčiai. Dažniausiai yra naudojami

keli įverčiai, kurių rezultatai apibendrinami ir tik tada priimamas sprendimas, ar tikėtina, kad

junginys gali būti pastovusis. Įprastai įverčių reikšmių interpretavimas ir slenksčio nustatymas

nėra pagrįstas konkrečiais matematiniais metodais – tai atliekama eksperimentuojant ir remiantis

publikacijose paskelbtomis rekomendacijomis.

𝑧𝑠𝑐𝑜𝑟𝑒 =𝑓(𝑤$, 𝑤') − 𝑒$$

√𝑒$$

(10)

kur 𝑒$$ =O(PQ)∙O(PR)

O(S) (11)

𝑃𝑜𝑖𝑠𝑠𝑖𝑜𝑛𝑆𝑡𝑖𝑟𝑙𝑖𝑛𝑔 = 𝑓(𝑤$, 𝑤') ∙ (log𝑓(𝑤$,𝑤') − log𝑒$$ − 1) (12)

kur 𝑒$$ iš (11)

𝑀𝐼 = log𝑓(𝑤$, 𝑤')

𝑒$$

(13)

kur 𝑒$$ iš (11)

𝑀𝐼2 = log𝑓(𝑤$,𝑤')'

𝑒$$

(14)

kur 𝑒$$ iš (11)

𝑀𝐼3 = log𝑓(𝑤$,𝑤')e

𝑒$$

(15)

kur 𝑒$$ iš (11)

𝐺𝑚𝑒𝑎𝑛 =𝑓(𝑤$, 𝑤')

T𝑓(𝑤$) ∙ 𝑓(𝑤')

(16)

𝑅𝑒𝑙𝑎𝑡𝑖𝑣𝑒𝑅𝑖𝑠𝑘 = log𝑓(𝑤$,𝑤') ∙ 𝑓(~𝑤')𝑓(𝑤$,~𝑤') ∙ 𝑓(𝑤')

(17)

𝐿𝑖𝑑𝑑𝑒𝑙 =(𝑓(𝑤$,𝑤') ∙ 𝑓(~𝑤$,~𝑤')) − (𝑓(𝑤$, ~𝑤') ∙ 𝑓(~𝑤$, 𝑤'))

𝑓(𝑤') ∙ 𝑓(~𝑤')

(18)

𝑀𝑆 = 𝑚𝑖𝑛 i𝑓(𝑤$, 𝑤')𝑓(𝑤$)

,𝑓(𝑤$, 𝑤')𝑓(𝑤')

j (19)

Page 14: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

14

3.2 Taisyklėmis paremti metodai

Taisyklėmis paremti metodai dar gali būti įvardijami kaip filtrai, sukurti remiantis

lingvistinėmis žiniomis apie pastoviuosius junginius. Apibrėžiamos gramatikos arba/ir sintaksės

taisyklės, būdingos pastoviesiems junginiams ir ištraukiami kandidatai, kurie jas tenkina. Norint

taikyti tokio tipo metodus reikalinga turėti morfologiškai ar dar ir sintaksiškai anotuotą tekstyną.

Tekstynas turi būti anotuotas, nes būtent tokiomis anotacijomis ir yra remiamasi nustatant

kandidatus. Anotavimo detalumas gali varijuoti, pavyzdžiui, morfologiškai anotuotame tekstyne

pažymėtos tik žodžių kalbos dalys (angl. part of speech) arba dar nurodyta ir detalesnė

informacija – linksnis, asmuo ir kita.

Kalbos dalių šablonai (angl. POS patterns), pagal kuriuos ištraukiami pastovieji

junginiai, nėra universalūs – jie skirtingose kalbose nesutampa ir turi būti parinkti tinkamai

siekiant kuo kokybiškesnių rezultatų [17]. Kalbos dalių šablonų pavyzdžiai: „daiktavardis

daiktavardis“, „veiksmažodis daiktavardis“ ir t. t., o sintakse paremti šablonai gali

būti tokie kaip „subjektas–veiksmažodis“ ar „veiksmažodis–objektas“ ir kiti.

Įvardijama, kad morfologinio ir sintaksinio anotavimo metodai nėra tarpusavyje konkuruojantys

ir puikiai papildo vienas kitą. Eksperimentais [18] atskleidžiama, kad šių dviejų metodų pateiktų

rezultatų persidengimas yra nedidelis, o tai reiškia, kad juos derinant galima pasiekti geresnių

rezultatų nei pasirinkus vieną kažkurį metodą. Nerasta, kad šiuo metu būtų taikomi gryni, vien

tik taisyklėmis paremti metodai nenaudojant kitų metodų rezultatų rangavimui ar kandidatų

filtravimui. Tačiau taisyklėmis paremti metodai yra dažnai aptinkama ir labai svarbi pastoviųjų

junginių automatinio atpažinimo proceso sudedamoji dalis.

3.3 Hibridiniai metodai

Dažniausiai automatinis pastoviųjų junginių atpažinimas realizuojamas taikant ne vieną iš

anksčiau aprašytų metodų, o juos kartu jungiant įvairiais būdais. Yra kombinuojami kelių

statistinių įverčių rezultatai, pavyzdžiui, taisyklėmis besiremiančių metodų rezultatai filtruojami

pagal statistinius įverčius [13]. Rezultatui pateikti neretai taikomi įvairūs mašininio mokymo

metodai, pavyzdžiui, klasifikatoriai – Bayes metodas [2], dirbtiniai neuroniniai tinklai [19], SVM

[20] ir kiti.

Neretai literatūroje aptinkamo hibridinio metodo schemos variantas matomas 1 pav. Šiuo

atveju pirmiausia yra apdorojamas tekstynas (anotuojamas, kartais dar ir lemuojamas), kitu

žingsniu generuojamos n-gramos. Tada ištraukiami junginiai, kurie yra kandidatai būti

pastoviaisiais junginiais. Šių junginių radimui naudojami lingvistiniai filtrai, tokie kaip

gramatinės arba sintaksinės struktūros, būdingos nagrinėjamos kalbos pastoviesiems junginiams

Page 15: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

15

– junginiai, kurie tenkina nustatytas sąlygas yra įrašomi į kandidatų sąrašą. Gautas sąrašas

filtruojamas pagal statistinius kriterijus, pavyzdžiui, logaritminio tikėtinumo santykį, abipusės

informacijos ir Poisson-Stirling įverčius [17]. Atlikus statistinį filtravimą yra pateikiami

rezultatai, kurie išrikiuojami pagal įverčių reikšmes nuo labiausiai iki mažiausiai tikėtinų.

1 pav. Hibridinio metodo schemos pavyzdys [10]

Tyrėjų atliktame eksperimente [19] palyginti 9 algoritmai – sprendimų medžio (angl.

decision tree), Random Forest, Ada Boost, Bagging, k-artimiausių kaimynų (k = 3), SVM,

neuroninio tinklo (3 paslėptų sluoksnių), Naïve Bayes ir Bayes tinklo, kaip požymiai naudota

statistinė informacija. Eksperimentas atliktas su 2-gramomis portugalų kalboje ir prieita išvada,

kad rezultatai skiriasi nežymiai, vienintelis išsiskiriantis metodas – SVM, kurio tikslumas buvo

mažiausias. Įvertinimas atliktas naudojant tikslumo, išsamumo, teisingai atpažintų (angl. true-

positive) ir klaidingai pripažintų (angl. false-positive) įverčius [19].

Kitas hibridinio metodo variantas – tai kelių metodų apjungimas, kombinacija.

Pavyzdžiui, naudojamas rekurentinis neuroninis tinklas, o sprendimo priėmimui taikomas CRF

metodas [21], bi-LSTM jungiama su žodžio koreliacijos skaičiavimais ir klasterizavimo

metodais [22]. Matoma, kad yra didelė hibridinių metodų įvairovė ir būtent hibridiniai metodai

šiuo metu yra plačiausiai naudojami pastoviųjų junginių atpažinime. Vis tik nėra aptikto vieno

tinkamiausio hibridinio metodo pastoviųjų junginių automatiniam atpažinimui, yra realizuojama

daug įvairių jų variantų, kuriuose skirtingai naudojami arba nenaudojami lingvistiniai kriterijai,

statistiniai įverčiai ir mašininio mokymo metodai.

3.4 Mašininio mokymo metodai

Dažnai automatinio pastoviųjų junginių atpažinimo uždaviniui spręsti yra taikomi

mašininio mokymo metodai. Toliau šiame skyriuje aptariami penki mašininio mokymo metodai,

kurie yra naudojami siekiant automatiškai atpažinti pastoviuosius junginius. Pirmiausia

nagrinėjami klasifikatoriai, kurie taikomi pasitelkiant n-gramų modelius: Naivusis Bajesas (angl.

Naïve Bayes) (toliau Naïve Bayes), atsitiktinių medžių rinkinys (angl. Random Forest) (toliau

Page 16: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

16

Random Forest), atraminių vektorių mašina SVM (angl. Support Vector Machine) (toliau SVM).

Vėliau aptariami metodai, skirti sekų žymėjimui: sąlyginiai atsitiktiniai laukai CRF (angl.

conditional random fields) (toliau CRF), rekurentiniai neuroniniai tinklai RNN (toliau RNN).

3.4.1 Naïve Bayes

Naïve Bayes – tai tikimybinis klasifikatorius, skirtingų jų variacijų grupė.

Klasifikatoriaus principas – yra sekama, kokie požymiai kuriai klasei yra būdingi [23].

Skaičiavimuose yra remiamasi Bajeso taisykle (20). Geriausia klasė parenkama ta, kuri labiau

tikėtina, jog bus teisinga (21). Yra išskiriamos skirtingos Naïve Bayes klasifikatoriaus versijos,

priklausomai nuo to, kokia pasiskirstymo funkcija yra naudojama [23]:

1. Gausinis Naïve Bayes (angl. Gaussian Naïve Bayes). Yra laikoma, kad požymių vertės

pasiskirstę normaliuoju skirstiniu;

2. Multinominis Naïve Bayes (angl. Multinomial Naïve Bayes). Yra laikoma, kad požymiai

žymi dažnius, požymiuose negali būti neigiamų reikšmių;

3. Bernulio Naïve Bayes (angl. Bernoulli Naïve Bayes). Naudojami binariniai požymiai.

3.4.2 Random Forest

Random Forest yra sprendimo medžiu paremtas modelis. Šio klasifikatoriaus veikimo

principas – skirtingiems atsitiktiniams požymių poaibiams yra apmokomi atskiri medžiai,

sprendimas priimamas apibendrinant visų medžių pateikiamus rezultatus [24]. Metodo

iliustracija matoma 2 pav. Klasifikavimo atveju sprendimas gali būti priimamas skaičiuojant

vidurkį arba pagal tai, kuri klasė surinko daugiausiai balsų (angl. majority voting), o regresijos

atveju iš visų medžių gautų reikšmių skaičiuojamas vidurkis [25].

𝑃(𝐴) ∙ 𝑃(𝐵|𝐴) = 𝑃(𝐵) ∙ 𝑃(𝐴|𝐵) (20)

𝐶o>YB = 𝑎𝑟𝑔𝑚𝑎𝑥A∈r𝑃(𝐶 = 𝑐) ∙s𝑃(𝑥7|𝐶 = 𝑐)t

7u$

(21)

Page 17: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

17

2 pav. Random Forest metodo iliustracija [24]

3.4.3 Atraminių vektorių metodas

Atraminių vektorių metodo (angl. Support Vector Machine, SVM) veikimo esmė –

siekiama maksimizuoti atstumą tarp klases skiriančios hiperplokštumos ir arčiausiai šalia jos

esančių pavyzdžių, vadinamų atraminiais vektoriais [26]. Šio uždavinio iliustracija matoma 3

pav. SVM metodas yra galimas naudoti su skirtingais branduoliais, pavyzdžiui, tiesiniu (angl.

linear) ir radialinių bazinių funkcijų (RBF) arba dar kitaip Gausiniu branduoliu [25]. Galimas

skirtingų branduolių naudojimas suteikia galimybę SVM metodą pritaikyti įvairesniems

uždaviniams spręsti.

3 pav. SVM metodo iliustracija [25]

Page 18: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

18

3.4.4 Conditional Random Fields (CRF)

CRF metodas yra skirtas sekų modeliavimui ir klasifikavimui kai kintamieji yra

priklausomi nuo vieni kitų [27]. Galima pastoviųjų junginių identifikavimo uždavinį spręsti šiuo

metodu, nes pastovieji junginiai yra aptinkami sakiniuose – žodžių sekose.

CRF metodas gali būti apibendrinamas kitų metodų kontekste. Jis yra panašus į logistinę

regresiją ir netgi įvardijamas kaip logistinės regresijos (angl. logistic regression) versija sekoms

[28]. Taip pat CRF metodas giminingas paslėptiesiems Markovo modeliams HMM (angl. hidden

Markov models) – bet kuris HMM modelis gali būti išreikštas tam tikru CRF modeliu, bet ne

atvirkščiai [28], CRF metode atsisakoma nepriklausomumo prielaidos. Taigi, CRF yra sąlyginis,

išskiriantis (angl. discriminative), o ne apibendrinantis modelis, skirtas sekų prognozavimui [27].

Šis metodas yra naudojamas pastoviųjų junginių atpažinimui [29] arba kaip paskutinis sluoksnis

sprendimo priėmimui [21].

4 pav. Klasifikatorių ryšių diagrama [27]

3.4.5 Rekurentiniai neuroniniai tinklai

Rekurentiniai neuroniniai tinklai – tai giliojo mokymo metodų grupė. Jie taip pat kaip ir

CRF yra naudojami sekų modeliavimui, t. y. kiekvienas išėjimas yra priklausomas ne tik nuo

požymių, bet ir nuo prieš tai buvusių išėjimų. Tipinė rekurentinio tinklo schema matoma 5 pav.,

kur pavaizduota, kaip rekurentinė dalis yra išskleidžiama į pilną tinklą: xt žymi įėjimą laiko

momentu t, st yra t žingsnio būsena (tai yra tarsi tinklo atmintis) ir ot yra išėjimo reikšmė [30].

Vis tik yra įvairių rekurentinių tinklų realizacijų (pavyzdžiui, LSTM), kurios gali būti taikomos

įvairiems uždaviniams spręsti. Apžvelgus literatūrą matoma, kad rekurentiniai neuroniniai

tinklai, o ypač dvikryptis LSTM yra dažnai naudojami pastoviųjų junginių atpažinimo uždaviniui

spręsti [21] [31] [22].

Page 19: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

19

5 pav. Rekurentinio tinklo schema [30]

3.5 Apibendrinimas Pasirinkta taikyti statistinius ir hibridinius metodus, o taisyklėmis paremtų metodų

nenaudoti dėl šiuo metu esamo mažo jų populiarumo. Ketinama statistinius metodus taikyti 2-

gramoms, nes daugiausiai leksinių traukos įverčių yra aptinkama būtent 2-gramoms ir įvertinti jų

klasifikavimo kokybę. Taip pat juos planuojama apjungti su lingvistine informacija ir panaudoti

apmokant mašininio mokymo metodus (Gausinį Naïve Bayes, SVM su RBF branduoliu ir

Random Forest) taip išbandant hibridinę metodiką. Be to, nuspręsta taikyti ir sekoms skirtus

metodus, nes yra aktualu identifikuoti ne tik iš dviejų žodžių sudarytus pastoviuosius junginius,

bet ir ilgesnius bei su įsiterpusiais žodžiais. Todėl pasirinkta atlikti eksperimentų su CRF ir RNN

metodais įtraukiant morfologinę informaciją mokymo metu.

3.6 Metodų kokybės vertinimas Eksperimentų, metodų kokybės įvertinimui kaip kokybės matą pasirinkta naudoti F1-

įvertį. Šis matas skirtas apibendrinant įvertinti klasifikavimo tikslumą ir išsamumą [32]. F1-

įvertis skaičiuojamas (22) panaudojant sumaišymo matricos (angl. confusion matrix) (2 lentelė)

vertes [32]. Taip pat įvertinimui naudotos teisingumo (angl. accuracy) (25), tikslumo (angl.

precision) (23) ir išsamumo (angl. recall) (24) metrikos. 2 lentelė. Sumaišymo matrica

Klasifikuota kaip pastovusis

junginys

Klasifikuota kaip

nepastovusis junginys

Yra pastovusis junginys TP (angl. true positives) FN (angl. false negatives)

Yra nepastovusis junginys FP (angl. false positives) TN (angl. true negatives)

Page 20: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

20

𝐹 =2 ∙ 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∙ 𝑟𝑒𝑐𝑎𝑙𝑙𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙

(22)

kur 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = wxwxyzx

,

o𝑟𝑒𝑐𝑎𝑙𝑙 = wxwxyzS

(23)

(24)

𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =𝑇𝑃 + 𝑇𝑁

𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁 (25)

Page 21: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

21

4 DUOMENYS

Visų eksperimentų atlikimui yra reikalingi duomenys. Šiame skyriuje aprašomi pirminiai

duomenys ir iš jų suformuoti papildomi duomenų rinkiniai, tai: n-gramų, anotuoti tekstynai ir

žodžių vektoriai (angl. embeddings).

4.1 Pirminis tekstynas

Tekstynas yra būtinas išteklius darbui su pastoviųjų junginių automatiniu atpažinimu.

Nagrinėtuose šaltiniuose naudojamų tekstynų dydis varijuoja (50 mln. [33], 52 mln. [10], 67

mln. [13] žodžių arba net virš 180 mln. sakinių anglų kalba [34]), nuspręsta tekstus surinkti taip,

kad žodžių skaičius būtų iki 100 mln.

Pasirinkta tekstus rinkti iš internetinio portalo „delfi.lt“. Tekstų rinkimas – skanavimas

vykdytas automatiniu būdu, t. y. sukurtas internetinis robotas (angl. web crawler) panaudojus

įrankį „Scrapy“ [35]. Internetinis robotas skanavo minėtą tinklalapį ir straipsnius saugojo

MongoDB duomenų bazėje [36]. Be pačių straipsnių saugota ir papildoma informacija apie juos:

autorius, pavadinimas, data, šaltinis, nuoroda, kategorija ir žodžių skaičius. Straipsniai surinkti

iš šio laikotarpio: nuo 2014 m. kovo iki 2016 m. lapkričio imtinai. Iš viso nuskanuota 190 tūkst.

straipsnių, kuriuos sudaro 70 mln. žodžių. Žodžių skaičiaus pasiskirstymas tekstyne pavaizduotas

1 paveiksle. Matoma, kad yra nemažai išskirčių, o ilgiausias straipsnis sudarytas iš beveik 20

tūkst. žodžių, tačiau didžioji straipsnių dalis nesiekia 1000 žodžių.

1 pav. Žodžių skaičiaus pasiskirstymas tekstyne

Page 22: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

22

4.2 Morfologiškai anotuotas tekstynas

Pirminis tekstynas buvo morfologiškai anotuotas Vytauto Didžiojo universitete,

kompiuterinės lingvistikos centre (KLC), naudotos universalios priklausomybės pažymos (angl.

Universal Dependencies) [37]. Nuspręsta tekstyną morfologiškai anotuoti, kad klasifikatorių

mokymo metu būtų galima kaip požymius naudoti ne tik statistinius įverčius, bet ir morfologinę

informaciją, taikyti lingvistinius filtrus. Taigi, kiekvienas straipsnis, esantis atskirame

tekstiniame faile, buvo anotuotas ir gautas rinkinys morfologiškai anotuotų tekstų, vieno tokio

failo fragmentas matomas 6 pav.

6 pav. Morfologiškai anotuoto tekstyno fragmentas

4.3 N-gramų tekstynas

N-grama – tai N nuosekliai sakinyje einančių žodžių seka [38]. N-gramų generavimą

būtų galima apibrėžti kaip N žodžių skaičiaus dydžio lango slinkimą per sakinį kas vieną žodį

kol yra pasiekiama sakinio pabaiga. N-gramų sudarymo schema matoma 7 pav. (šiame

pavyzdyje N=2 ir 2-gramos būtų tokios: „Lorem ipsum“, „ipsum dolor“ ir t. t.). N-gramos

generuotos iš pirminio tekstyno.

7 pav. N-gramos sudarymas

4.3.1 N-gramų tekstynas (unikali junginio forma)

Visų pirma, kad būtų galima generuoti n-gramas yra reikalinga tekstą suskaidyti

sakiniais. Tekstyno suskaidymas į sakinius buvo atliktas Vytauto Didžiojo Universiteto

Kompiuterinės Lingvistikos Centro darbuotojų sukurta programa. Toliau dirbta su sakiniais

Page 23: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

23

segmentuotu tekstynu, kur kiekvienas sakinys yra naujoje failo eilutėje. Pirmiesiems

eksperimentams su n-gramomis pastarosios sugeneruotos apibrėžus tokias taisykles:

1. Kiekvienas sakinys suskaidomas pagal tarpo simbolius;

2. Analizuojama, ar suskaidytos dalys gali būti vadinamos žodžiais ir išsaugomos, ar

reikalingas simbolių valymas. Jei simbolių grupė yra sudaryta tik iš raidžių ar skaičių, tai ji iš

karto yra laikoma žodžiu. Jei leksema (angl. token) yra sudaryta tik iš vieno simbolio, kuris nėra

nei raidė, nei skaičius, tai ji nėra laikoma žodžiu ir atmetama kaip skyrybos ženklas ar

nereikalingas simbolis;

3. Toliau yra analizuojama, ar simbolių sekos tenkina numatytas struktūras, t. y.

naudojant reguliariąsias išraiškas yra ieškoma URL, el. pašto adresų, trupmeninių skaičių, kitų

numatytų žodžių formų. Kadangi aptikta skirtingo kodavimo tos pačios prasmės simbolių,

sudaryti simbolių sąrašai kiekvienai ieškomai struktūrai, pavyzdžiui, taip atrodo brūkšnių sąrašas

UTF8 koduote:

b"\xef\xb9\xa3_\-

\xe2\x80\x93\xe2\x80\x94\xe2\x88\x92\xe2\x80\x92\xe2\x80\x91\xe2\x

94\x80\xe2\x80\x95\xe2\x80\x90\xe2\x81\xbb\xcb\x97"

(simboliai saugoti UTF8 kodais, o ne pačiais simboliais, nes jų įvairovė per didelė ir dalį

šių simbolių programavimo aplinka nesupranta esant skirtingais);

4. Sutrumpinimų žodynas [39] naudojamas siekiant taisyklingai išsaugoti įvairius

trumpinius ir palikti taškus prie trumpinių;

5. Vėliau ieškoma struktūrų, kur būtų galima atskirti kelis žodžius, pavyzdžiui,

„skaičius:skaičius“ yra atskiriama į du skaičius, kurie yra laikomi atskirais žodžiais. Kaip ir

kitoms anksčiau aprašytoms ieškomoms struktūroms, taip ir šioms yra apibrėžiami simboliai

UTF8 koduote, pagal kuriuos žodžiai yra atskiriami į kelis skirtingus. Visi žodžiai yra saugomi

mažųjų raidžių pavidalu;

6. Simbolių grupės, kurios netenkina numatytų struktūrų yra atmetamos.

Išnagrinėjus šiuos atmestus elementus pastebėta, kad didžiąją jų dalį sudaro įvairios skyrybos

simbolių grupės tokios kaip <...>.

Taigi, pagal aprašytas taisykles buvo generuojamos n-gramos, kai n=1,2,3,4. Gautos 4 n-

gramų kolekcijos, jas panaudojant suskaičiuoti n-gramų dažniai ir taip sukurtos dar 4 n-gramų

kolekcijos. Sudarius n-gramų tekstyną apskaičiuota jo statistika, kuri pateikiama 3 lentelėje ir yra

vizualizuota 8 pav. Matoma, kad tekstyną sudaro 72 mln. 1-gramų (žodžių) ir šis skaičius mažėja

didėjant N skaičiui – yra 67 mln. 2-gramų, 62 mln. 3-gramų ir 57 mln. 4-gramų. Unikalių n-

gramų skaičius didėja, kai didėja N – 1-gramų atveju yra 1.41% unikalių, o 4-gramų jau net

87.78% unikalių junginių. Analogiška tendencija aptinkama ir n-gramų, kurių dažnis yra

Page 24: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

24

vienetas statistikoje. 1-gramos, kurių dažnis 1, sudaro tik 0.6% visų 1-gramų, tuo tarpu tokio

dažnio 4-gramų yra žymiai daugiau – net 81.99%. Dažniausia 1-grama „ir“ tekstyne randama

daugiau nei 2 mln. kartų, 2-grama „taip pat“ virš 130 tūkst., 3-grama „dėl to kad“ beveik 10

tūkst., o 4-grama „delfi už šio rašinio“ šiek tiek virš 3 tūkst. kartų. Šis n-gramų tekstynas

naudotas eksperimentams su statistiniais įverčiais atlikti.

3 lentelė. Pirmojo n-gramų tekstyno statistika

1-gramos 2-gramos 3-gramos 4-gramos

Viso 72 883 351 67 557 525 62 346 416 57 264 503

Viso unikalių skaičius 1 030 562 21 374 307 44 449 481 50 264 648

Viso unikalių (%) 1.41 31.64 71.29 87.78

N-gramų, kurių dažnis 1, skaičius 434 506 15 634 799 38 911 544 46 950 054

N-gramų, kurių dažnis 1 (%) 0.6 23.14 62.41 81.99

Didžiausias vienos n-gramos dažnis 2 167 369 132 781 9 697 3 274

8 pav. Pirmojo n-gramų tekstyno statistika

Page 25: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

25

4.3.2 N-gramų tekstynas (unikali junginio forma ir morfologinė informacija)

Iš anotuotų failų (4.2 skyrius) sugeneruotos 2-gramos ir išsaugotos duomenų bazėje kartu

saugant pačią 2-gramą, lemą, jos žodžių kalbos dalis, morfologinę informaciją ir dokumentą,

kuriame rastas junginys. Iš viso išsaugota beveik 64 mln. tokių 2-gramų.

Siekiant suskaičiuoti 2-gramų dažnius ir statistinius įverčius yra reikalingas jų

agregavimas. Šiuo atveju unikalia nuspręsta laikyti tokią 2-gramą, kurios šių požymių rinkinys

yra unikalus: forma, lema, kalbos dalis ir morfologinė informacija. Kalbos dalį ir kitą

morfologinę informaciją nuspręsta įtraukti kaip unikalumo požymį, nes kai kurie junginiai,

rašomi tokia pačia forma, turi skirtingą prasmę, nors atrodo taip pat, pavyzdžiui, junginys „vieną

dieną“ morfologinio analizatoriaus skirtingame kontekste buvo pažymėtas 3 skirtingais kalbos

dalių variantais („PRON NOUN“, „ADJ NOUN“ ir „NUM NOUN“) ir net 6 skirtingais kitos

morfologinės informacijos variantais. Suagregavus 2-gramas iš viso gautas 21 mln. unikalių 2-

gramų. Suagreguotų 2-gramų įrašo duomenų bazėje pavyzdys matomas 9 pav. Agreguotoms 2-

gramoms apskaičiuotos statistinių įverčių (3.1 skyrius) reikšmės. Šią 2-gramų kolekciją su

apskaičiuotais statistiniais įverčiais ir morfologine informacija nuspręsta naudoti apmokant

klasifikatorius.

9 pav. Agreguotų 2-gramų įrašo pavyzdys

4.4 Pastoviaisiais junginiais anotuotas tekstynas

Dalis pirminio tekstyno (175 straipsniai, 4695 sakiniai) Vytauto Didžiojo Universiteto

Kompiuterinės Lingvistikos Centre buvo suanotuota, t. y. straipsniuose sužymėta, kurie junginiai

yra pastovieji. Anotavimas atliktas naudojant BRAT anotavimo įrankį [40].

Anotuotą tekstyną daugiausiai sudaro dvižodžiai pastovieji junginiai – net 85%, tuo tarpu

trižodžiai sudaro 12%, o likusią dalį dar ilgesni junginiai. 18% junginių aptinkami su intarpais.

Žvelgiant tik iš 2-gramų perspektyvos, sužymėtą tekstyną sudaro 67 tūkst. junginių, iš kurių 4

tūkst. pažymėti kaip pastovieji junginiai, o likę 63 tūkst. – nepastovieji.

Naudojimui sekų modeliuose šis anotuotas tekstynas paruoštas taikant BIO schemą:

pastovaus junginio pirmas žodis pažymėtas B-MWE, kiti junginiui priklausantys žodžiai I-

Page 26: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

26

MWE, junginiui nepriklausantys žodžiai O. Taip suformatuotų duomenų fragmentas kartu su

kalbos dalių informacija matomas 10 pav.

10 pav. Pastoviaisiais junginiais anotuotas tekstynas BIO formatu su kalbos dalių informacija

Pastoviaisiais junginiais anotuotas tekstynas įvairiomis formomis (2-gramų, sakinių)

naudotas mašininio mokymo metodų apmokyme ir tyrinėjant leksinius traukos įverčius.

4.5 Žodžių vektoriai

Nuspręsta, kad giliųjų mokymo metodų apmokymui reikalingi GloVe tipo [41] žodžių

vektoriai (angl. word embeddings). Vektoriai apmokyti panaudojant StanfordNLP GitHub

saugykloje pateiktą GloVe vektorių generavimui skirtą programinį kodą [42], mokymo tekstai –

pirminis tekstynas. Pirmiausia tekstynas apjungtas į vieną failą, skyrybos ženklai nepašalinti,

visos raidės paverstos mažosiomis. Vektorių mokymas susidarė iš kelių etapų. Pirma sudarytas

žodynas, nuspręsta atmesti žodžius, kurie pasitaikė rečiau nei 5 kartus. Tada panaudojant

numatytas komandas sudarytas žodžis-žodžis buvimo kartu statistikos failas, pasirinktas lango

dydis 5. Šis failas atsitiktinai sumaišytas. Galiausiai sugeneruotas žodžių vektorių failas,

generavimui pasirinkta 100 iteracijų, vektorių dimensija – 200. Iš viso išsaugoti 331 203 skirtingi

žodžių vektoriai, failo fragmentas matomas 11 pav.

11 pav. GloVe žodžių vektorių fragmentas

Page 27: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

27

4.6 Apibendrinimas Taigi, surinkti tokie tekstynai ir eksperimentams paruošta:

1. 70 mln. žodžių pirminis tekstynas;

2. Morfologiškai (universaliomis priklausomybės pažymomis) anotuotas tekstynas;

3. 2-gramų, 3-gramų ir 4-gramų rinkiniai, kur unikalia n-grama yra laikoma tokia, kurios forma

yra unikali. 2-gramų rinkinys paruoštas eksperimentams su statistiniais įverčiais;

4. 2-gramų rinkinys, kur unikalia n-grama laikoma tokia, kurios unikali ne tik forma, bet ir

morfologinė informacija. Šie duomenys paruošti statistinių įverčių skaičiavimui ir

naudojimui mašininio mokymo metoduose;

5. 2-gramų tekstynas, kur sužymėti pastovieji junginiai (4 tūkst. pastovieji, 63 tūkst. –

nepastovieji), eksperimentų, kur naudojamos 2-gramos įvertinimui;

6. BIO formatu paruoštas pastoviaisiais junginiais anotuotas tekstynas (4695 sakiniai), skirtas

eksperimentams su sekų modeliais;

7. GloVe tipo žodžių vektoriai, naudojimui rekurentiniuose neuroniniuose tinkluose.

Page 28: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

28

5 EKSPERIMENTAI

Atlikti skirtingi eksperimentai siekiant atpažinti pastoviuosius junginius. Dvižodžiams

junginiams tyrimai atlikti taikant statistinius įverčius, Naïve Bayes, Random Forest ir SVM

klasifikatorius. Siekiant atpažinti neriboto žodžių skaičiaus pastoviuosius junginius pritaikyti

CRF ir RNN metodai. Eksperimentų eiga aprašyta šiame skyriuje.

5.1 Įrankiai ir technologijos, naudotos eksperimentams atlikti

Visi eksperimentai atlikti Python programavimo kalba naudojant įvairias bibliotekas:

1. Matplotlib [43]. Skirta grafikų braižymui;

2. Pandas [44]. Biblioteka naudota manipuliavimui duomenimis – jų nuskaitymui,

transformavimui ir t. t.;

3. Scikit-Learn [45]. Taikyti šioje bibliotekoje realizuoti mašininio mokymo,

duomenų skaidymo į skirtingas imtis, įvertinimo metrikų ir kiti metodai. Papildomas bibliotekos

modulis Sklearn-Crfsuite [46] naudotas CRF metodo taikymui, imbalanced-learn [47] –

SMOTE, ENN ir Tomek metodams;

4. Natural Language Toolkit NLTK [48]. Skirta darbui su kalba, naudoti duomenų

nuskaitymui BIO formatu;

5. Gensim [49]. Skirta darbui su žodžių vektoriais;

6. Keras [50]. Atlikta eksperimentų su giliaisiais mokymo metodais;

7. Tensorflow [51]. Atlikta eksperimentų su giliaisiais mokymo metodais.

5.2 Statistiniai įverčiai

Statistiniai įverčiai (3.1 skyrius) apskaičiuoti 2-gramų kolekcijai, kurios suformavimas

aprašytas 4.3.1 skyriuje. Išanalizuoti įverčių reikšmių pasiskirstymai. Statistinių įverčių reikšmių

histogramas pagal formą galima suskirstyti į dvi dideles grupes:

1. daugiausiai pasiskirstančias siaurame intervale (Dice, Gmean, Liddel, LLR, MS,

Phi-kvadratas, Chi-kvadratas, Poisson Stirling, T-testas, Z-įvertis), gausu išskirčių. Pavyzdys

matomas 12 pav. kairėje;

2. artimas normaliajam pasiskirstymui (PMI, logDice, MI, MI2, MI3, Odds Ratio,

Relative Risk). Pavyzdys matomas 12 pav. dešinėje.

Visų kitų apskaičiuotų įverčių reikšmių histogramos pateikiamos 9.1 priede.

Page 29: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

29

12 pav. Chi-kvadrato ir PMI įverčių reikšmių histogramos

Literatūroje yra pateikiamos įvairios rekomendacijos dalies statistinių įverčių

slenkstinėms vertėms nustatant pastoviuosius junginius, pavyzdžiui, patariama junginį laikyti

nepastoviuoju jei logDice vertė mažesnė už 0 [16]. Vis dėl to slenkstinės reikšmės gali varijuoti

priklausomai nuo nagrinėjamos kalbos, o taip pat rekomendacijos pateikiamos ne visiems

įverčiams. Nuspręsta ištirti, kaip teisingai pavieniai statistiniai įverčiai gali atskirti pastoviuosius

junginius nuo nepastoviųjų. Statistinių įverčių įvertinimas atliktas panaudojant pastoviaisiais

junginiais anotuotą tekstyną (4.4 skyrius), kokybės matas F1-įvertis.

Kadangi dalies įverčių reikšmių intervalai yra dideli, nuspręsta visus įverčius sunormuoti,

kad jų reikšmės atsidurtų intervale nuo 0 iki 1. Iš pradžių dėmesys nekreiptas į esamas išskirtis ir

naudota (26) formulė [52] įverčių reikšmių sustūmimui į intervalą [0;1].

F1-įverčio reikšmės skaičiuotos įvairiems statistinių įverčių reikšmių intervalams.

Eksperimento eiga kiekvienam įverčiui:

1. Nustatoma intervalo pradžia 0, pabaiga 1, žingsnis 0.02;

2. Sugeneruojamos x ašies reikšmės nuo 0 iki 0.98 kas 0.02;

3. Cikle einama per gautą x (intervalo pradžia) reikšmių sąrašą. Kiekvieną kartą

prasidedant naujai šio ciklo iteracijai yra sugeneruojamas y reikšmių sąrašas. Jis generuojamas

nuo esamos intervalo pradžios reikšmės pridėjus žingsnį iki 1;

𝑋t��� =𝑋 − 𝑋�7t

𝑋��? − 𝑋�7t (26)

Page 30: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

30

4. Cikle einama per y (intervalo pabaigos) reikšmių sąrašą. Turimam intervalui [x;

y] skaičiuojama F1-įverčio vertė;

5. Suskaičiavus visas F1-įverčio reikšmes atvaizduojamas šio mato reikšmių

paviršius kiekvienam įverčiui.

Taip buvo nubraižyti paviršiai visiems 17 įverčių. Nagrinėjant paviršius yra matomi

apytiksliai įverčių intervalai, kuriuose yra didžiausios F1-įverčio reikšmės, o kartu tai reiškia,

kad šie intervalai gali padėti atskirti pastoviuosius junginius nuo nepastoviųjų. Sugeneruoto PMI

įverčio paviršiaus pavyzdys pateiktas 13 pav., jame matoma, kad F1-įverčio reikšmė neviršija

0.25. Kitų įverčių paviršiai pateikiami 9.2 priede.

13 pav. PMI įverčio F1-įverčio paviršius

Matoma, kad įverčiams F1 didžiausios reikšmės yra skirtinguose intervaluose, o taip pat

skiriasi ir maksimalios vertės – vieni įverčiai gali geriau atskirti pastoviuosius junginius nuo

nepastoviųjų nei kiti. Nuspręsta palyginti geriausius intervalus ir jų F1 vertes visiems

nagrinėjamiems įverčiams – intervalai su pirma maksimalia gauta F1 verte atvaizduoti bendrame

grafike (14 pav.) ir yra pateikti 4 lentelėje. Matoma, kad įverčiai susigrupavo į kelias grupes:

1. Dice, Z-įvertis, Gmean, MS įverčių maksimalios vertės yra intervalo pirmoje

pusėje, F1 vertė apie 0.3;

2. MI2, logDice maksimalios vertės yra intervalo pabaigoje, F1 vertė apie 0.3;

3. PMI, MI, MI3, Relative Risk ir Odds įverčių maksimalios vertės pasiskirstę nuo

intervalo vidurio, antrojoje pusėje, F1 vertė apie 0.25;

Page 31: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

31

4. Liddel, Phi-kvadrato, Chi-kvadrato, Poisson Stirling, T-testo F1-įverčio reikšmės

yra tarp 0.15 ir 0.2, intervalų pradžia ir pabaiga varijuoja. Matomas Chi-kvadrato ir Phi-kvadrato

persidengimas;

5. LLR įvertis labiausiai nereprezentatyvus, gauta mažiausia F1-įverčio reikšmė.

14 pav. Geriausių F1-įverčio verčių intervalai skirtingiems statistiniams įverčiams

4 lentelė. Įverčių intervalai su geriausia gauta F1-įverčio verte

Įvertis Intervalo pradžia Intervalo pabaiga F1-įverčio vertė

1. PMI 0.56 0.74 0.255

2. LLR 0.02 1.0 0.098

3. Dice 0.02 0.46 0.306

4. logDice 0.70 0.94 0.309

5. T-testas 0.94 0.96 0.171

6. Chi-kvadratas 0.02 0.82 0.172

7. Phi-kvadratas 0.02 0.82 0.172

8. Odds Ratio 0.46 0.70 0.240

9. Z-įvertis 0.06 0.50 0.307

10. Poisson Stirling 0.04 0.16 0.167

Page 32: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

32

Įvertis Intervalo pradžia Intervalo pabaiga F1-įverčio vertė

11. MI 0.56 0.74 0.254

12. Relative Risk 0.48 0.72 0.247

13. Liddel 0.06 0.98 0.188

14. MS 0.02 0.38 0.289

15. Gmean 0.04 0.46 0.304

16. MI2 0.74 0.94 0.306

17. MI3 0.64 0.96 0.252

Nuspręsta tęsti eksperimentą su LLR įverčiu, kadangi tikėtina, jog paviršių generavimui

naudotas žingsnis 0.02 yra per didelis. Pasirinktas intervalas nuo 0.9 iki 1, žingsnelis 0.001.

Matoma, kad F1-įverčio vertė padidėjo du kartus, geriausias rezultatas (0.2) gaunamas, kai

pradžia 0.94, pabaiga 0.999 (15 pav.).

15 pav. Normuoto LLR įverčio F1-įverčio paviršius, pradžia 0.9, pabaiga 1, žingsnis 0.001

Parinkus visus rastus geriausius intervalus ir sujungus „ir“ sąlyga, t. y., kad būtų

tenkinami visų įverčių intervalai gauta 0.12 F1-įverčio reikšmė: 179 pastovieji junginiai atpažinti

teisingai, 178 neteisingai pavadinti pastoviais ir net 2438 pastoviųjų junginių pavadinti

nepastoviaisiais. Akivaizdu, kad įverčiai leidžia atpažinti skirtingų savybių pastoviuosius

junginius, kadangi bendras rezultatas prastesnis nei kiekvieno įverčio atskiras rezultatas, todėl

reikalinga rasti tokią įverčių jungimo kombinaciją, su kuria būtų išnaudojami kiekvieno įverčio

privalumai. Šiam tikslui įgyvendinti gali būti taikomi mašininio mokymo metodai, kur statistinių

įverčių reikšmės yra naudojamos kaip požymiai.

Page 33: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

33

5.3 Naïve Bayes, Random Forest, SVM

Pasirinkta eksperimentus atlikti su trimis klasifikatoriais siekiant atpažinti dvižodžius

pastoviuosius junginius – Naïve Bayes, Random Forest ir SVM. Mokymui naudotas

pastoviaisiais junginiais anotuotas 2-gramų tekstynas su morfologinėmis žymomis. Visoms 2-

gramoms iš mažo tekstyno surasti atitikmenys visame pilname 2-gramų tekstyne – įverčių vertės

priskirtos iš viso turimo tekstyno, o ne mažos jo dalies, kad jų reikšmės būtų kuo artimesnės

tikrosioms.

Kadangi morfologinė informacija yra kategoriniai požymiai, jų negalima tiesiogiai

panaudoti apmokyme ir yra reikalinga transformuoti, specifiškai paruošti naudojimui.

Eksperimentų metu taikyti trys skirtingi metodai kategorinių duomenų transformavimui:

1. Vieno vektoriaus kodavimas OHE (angl. One Hot Encoding) [53] [54]. OHE

metodo esmė – kiekvieną požymyje aptinkamą kategoriją paversti nauju binariniu požymiu,

pavyzdys matomas 16 pav. Tai yra įvardijamas kaip pats paprasčiausias metodas, tačiau turintis

kelis svarbius trūkumus: esant didelei kategorijų įvairovei požymių skaičius gali smarkiai

išaugti, todėl mokymas užtrunka ilgiau, atsiradus anksčiau nematytai kategorijai yra sudėtinga ją

pridėti. Vienas iš būdų, leidžiantis išvengti dalies metodo minusų, tai ne visų kategorijų

kodavimas binariniais požymiais, o tik dalies jų, pavyzdžiui, tokių, kurių dažnis viršija numatytą

skaičių ar tam tikrą procentinę dalį kategorijų. Tokiu būdu yra sumažinamas naujai sukurtų

binarinių požymių skaičius, o taip pat ir labiau apibendrinama kategorijų informacija.

16 pav. OHE transformacijos pavyzdys [53]

2. Požymių maiša (angl. feature hashing, hashing trick) [55] [56]. Nurodytiems

požymiams yra pritaikoma maišos funkcija ir gaunamos naujos požymių reikšmės. Viena

paprasčiausių maišos funkcijų gali būti liekanos skaičiavimas, pavyzdžiui, kategorinio požymio

Page 34: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

34

10 skirtingų verčių yra sužymimos skaitmenimis nuo 0 iki 9, tada gautas skaičius dalinamas iš 5

ir išsaugoma liekanos vertė, eilutei (vienam pavyzdžiui) sužymimos maišos funkcijos reikšmės

kiekvienai liekanos vertei. Maišos funkcijų naudojimas leidžia sumažinti naujai sukurtų požymių

kiekį [56], lyginant su OHE metodu. Be to, metodas yra atsparus naujoms kategorijoms, kadangi

nematytai kategorijai gali būti suskaičiuojama „hash“ reikšmė. Nors yra galimas požymių

persidengimas (angl. collision), tačiau pastebėta, kad jo poveikis nėra reikšmingas ir nelemia

blogų rezultatų, o apskritai požymių maišos taikymas sąlygoja mažesnį kompiuterinių resursų

naudojimą [55].

3. Kategorijų kodavimas pagal jų statistiką [57]. Duomenų kategorijas galima

užkoduoti pagal jų statistiką. Toks kodavimas gali būti atliekamas įvairiai, pavyzdžiui, naudojant

dažnius (kiek kartų kategorija pasikartoja nagrinėjamame požymyje).

Eksperimentų metu duomenų masteliui keisti išbandyti du metodai:

1. Standartizavimas, standartinis mastelio keitimas (angl. Standard Scaler).

Kiekvienam požymiui nepriklausomai vienas nuo kito vykdomas centravimas ir mastelio

keitimas – atimamas vidurkis, mastelis keičiamas pagal standartinį nuokrypį [58];

2. Transformavimas pagal kvantilius (angl. Quantile Transformer). Kiekvienam

požymiui nepriklausomai vienas nuo kito atliekama transformacija, kuri yra netiesinė, kaip

pirmu atveju. Kiekvieno požymio kumuliacinė tankio funkcija yra naudojama požymio reikšmių

transformacijai, toks transformavimo būdas sumažina išskirčių poveikį [59].

Atliekant eksperimentus klasifikavimo gerumui įvertinti pasirinkta skaičiuoti F1 įvertį.

Taip pat naudota 10 žingsnių sluoksniuota (angl. stratified) kryžminė patikra. Eksperimentų

atlikimo eiga:

1. Duomenų nuskaitymas;

2. Duomenų suskaidymas į 10 dalių;

3. Paeiliui kiekviena dešimtoji dalis duomenų yra testinė, kiekvienai imčiai:

3.1.1. Kategorinių duomenų transformavimas mokymo imčiai;

3.1.2. Kategorinių duomenų transformavimas testavimo imčiai pagal mokymo imtį;

3.1.3. Mokymo duomenų mastelio keitimas (angl. scaling);

3.1.4. Testavimo duomenų mastelio keitimas pagal mokymo duomenis;

3.1.5. Klasifikatoriaus mokymas;

3.1.6. Klasifikatoriaus testavimas;

3.1.7. Testavimo duomenų F1 įverčio išsaugojimas;

4. Testavimo duomenų F1 įverčio reikšmių vidurkio apskaičiavimas.

Eksperimentų rezultatai pateikti 5 lentelėje. Matoma, kad kategorijų kodavimas OHE

metodu ir jo modifikacija, kai retos kategorijos sujungiamos į vieną, šių eksperimentų metu lėmė

Page 35: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

35

žemas F1 įverčio reikšmes nepaisant pasirinkto duomenų mastelio keitimo ir mašininio mokymo

metodų. Trys geriausi pasiekti rezultatai lentelėje paryškinti, geriausia pasiekta F1 įverčio

reikšmė – 44% kai kategorinių duomenų transformavimui naudojama požymių maiša,

transformuojama pagal kvantilius, o klasifikuojama su Naïve Bayes klasifikatoriumi.

5 lentelė. Eksperimentų rezultatai (Naïve Bayes, Random Forest, SVM)

Nr. Kategorinių duomenų

transformavimas

Duomenų mastelio

keitimas

Mašininio

mokymo metodas

F1 įverčio

reikšmė

1. OHE Standartizavimas Naïve Bayes 1.5%

2. Random Forest 0.0%

3. SVM 0.0%

4. Transformavimas

pagal kvantilius

Naïve Bayes 0.0%

5. Random Forest 0.0%

6. SVM 0.0%

7. OHE, kategorijos laikomos

viena „reta“ jei pasitaiko

mažiau nei 100 kartų

Standartizavimas Naïve Bayes 1.0%

8. Random Forest 0.0%

9. SVM 0.0%

10. Transformavimas

pagal kvantilius

Naïve Bayes 0.0%

11. Random Forest 0.0%

12. SVM 0.0%

13. Požymių maiša. POS

keičiama į 6 požymius,

morfologinė informacija į

50

Standartizavimas Naïve Bayes 39.0%

14. Random Forest 7.0%

15. SVM 31.0%

16. Transformavimas

pagal kvantilius

Naïve Bayes 44.0%

17. Random Forest 8.0%

18. SVM 42.0%

19. Kategorijos koduojamos jų

dažniu

Standartizavimas Naïve Bayes 34.0%

20. Random Forest 36.0%

21. SVM 35.0%

22. Transformavimas

pagal kvantilius

Naïve Bayes 28.0%

23. Random Forest 38.0%

24. SVM 41.0%

Nuspręsta paanalizuoti trijų geriausių kombinacijų ne tik F1 įverčio reikšmes, bet ir kitas

metrikas – teisingumą (angl. accuracy), tikslumą (angl. precision), išsamumą (angl. recall).

Page 36: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

36

Nubraižytos šių metrikų stačiakampės diagramos (angl. boxplot) kiekvienam atvejui (17 pav., 18

pav., 19 pav.). Matoma, kad visuose trijuose atvejuose yra aukšta teisingumo metrikos vertė,

tačiau tai gali nulemti didelis kiekis neigiamos klasės (nepastoviųjų junginių). Tuo tarpu

tikslumo ir išsamumo vertės skiriasi – naudojant požymių maišą ir duomenis transformuojant

pagal kvantilius bei taikant tiek Naïve Bayes (17 pav.), tiek ir SVM metodą (18 pav.) tikslumo

vertė yra didesnė nei išsamumo, o taikant kategorijų kodavimą dažniu, transformavimą pagal

kvantilius ir SVM metodą (19 pav.) išsamumas yra žymiai didesnis nei tikslumas.

17 pav. Metrikų verčių stačiakampės diagramos, kai naudojama požymių maiša, transformavimas pagal kvantilius ir

Naïve Bayes klasifikatorius

18 pav. Metrikų verčių stačiakampės diagramos, kai naudojama požymių maiša, transformavimas pagal kvantilius ir

SVM klasifikatorius

Page 37: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

37

19 pav. Metrikų verčių stačiakampės diagramos, kai naudojamas kategorijų kodavimas dažnius, transformavimas

pagal kvantilius ir SVM klasifikatorius

Kadangi naudojant požymių maišą ir duomenis transformuojant pagal kvantilius bei

taikant Naïve Bayes klasifikatorių tikslumas didesnis nei išsamumas, nuspręsta išanalizuoti, kaip

pasiskirsto junginių tikimybės priklausyti kažkuriai iš klasių. Nuline klase žymimas nepastovusis

junginys, 1 klase – pastovusis. Matoma, kad esant tikrajai klasei pastoviajam junginiui tikimybė

priklausyti tiek pirmai, tiek antrai klasei pasiskirsto panašiai ir apima reikšmes nuo 0 iki 1. Tuo

tarpu tikrai klasei esant 0, tikimybė ir priklausyti teisingai nulinei klasei yra 1, o priklausyti

pastoviųjų junginių klasei yra 0 (matoma, kad yra išskirčių, tačiau bendras pasiskirstymas

teisingas) (20 pav.). Dėl šios priežasties nuspręsta išbandyti kitokį priskyrimo klasei metodą –

nepastoviuoju junginiu laikyti tokį, kurio tikimybė priklausyti nulinei klasei yra lygiai 1, o visus

likusius junginius vadinti pastoviaisiais. Apmokius klasifikatorių ir apskaičiavus metrikas

matoma, kad F1 įverčio vidutinė reikšmė padidėja iki 64.0%, išsamumo vertė taip pat padidėja, o

tikslumo pokyčiai labai nežymūs ir sunkiai pastebimi (21 pav.)

Page 38: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

38

20 pav. Priklausymo klasei tikimybių stačiakampės diagramos (taikyta požymių maiša, transformavimas pagal

kvantilius ir Naïve Bayes klasifikatorius)

21 pav. Metrikų verčių stačiakampės diagramos, kai naudojama požymių maiša, transformavimas pagal kvantilius ir

Naïve Bayes klasifikatorius, nepastoviuoju junginiu laikomas toks junginys, kurio tikimybė priklausyti šiai klasei

yra lygi 1

Page 39: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

39

Kadangi yra pastebimas didelis klasių nesubalansuotumas, nuspręsta pritaikyti

kombinuotus duomenų generavimo mažesniajai klasei ir naikinimo didesniajai klasei metodus.

Išbandyti du metodai (metodai taikyti tik mokymo duomenims):

1. SMOTE + ENN. SMOTE (angl. Synthetic Minority Oversampling TEchnique)

metodas pritaikomas naujų pavyzdžių sugeneravimui, ENN (angl. Edited Nearest Neighbors)

taikomas pavyzdžių kiekio sumažinimui;

2. SMOTE + Tomek. SMOTE metodas pritaikomas naujų pavyzdžių sugeneravimui,

o Tomek metodas taikomas pavyzdžių kiekio sumažinimui.

Kaip minėta, SMOTE metodas [60] leidžia sugeneruoti naujų mažesnės klasės

pavyzdžių. Generavimo metu dėmesys kreipiamas tik į tą klasę, kuriai duomenys yra pridedami.

Duomenų pridėjimas vykdomas interpoliavimo būdu, todėl visi nauji pavyzdžiai yra

sugeneruojami tarp esamų ir niekada neperžengia esamų ribų.

Naujų pavyzdžių sugeneravimo (angl. over-sampling) metu gali atsirasti įvairių

netinkamų triukšmingų pavyzdžių, todėl yra patartina papildomai po to atlikti pavyzdžių

sumažinimą, kuris gali padėti dar geriau subalansuoti klases [61]. Vienas iš metodų, kuris leidžia

atlikti pavyzdžių naikinimą (angl. under-sampling) yra ENN [62]. Šio metodo esmė –

pavyzdžiai, kurie neturi pakankamai savo klasės kaimynų yra panaikinami. Kitas metodas,

skirtas pavyzdžių šalinimui yra Tomek. Šis algoritmas padeda surasti vadinamąsias Tomek

nuorodas (angl. links). Laikoma, kad Tomek nuoroda egzistuoja, jei du pavyzdžiai yra artimiausi

kaimynai ir priklauso skirtingoms klasėms. Tokiu atveju yra pasirinktinai šalinami arba abu

pavyzdžiai arba didesniosios klasės pavyzdys [63].

Šio eksperimento metu naudota imbalanced-learn biblioteka [47], kurioje yra realizuoti

SMOTE, ENN ir Tomek metodai: metodai galimi naudoti atskirai arba iš karto kombinuotu būdu

– SMOTE + ENN ir SMOTE + Tomek (eksperimentų metu naudoti kombinuoti metodai).

Eksperimentai atlikti neišbandant visų kategorijų kodavimo variantų, o pasirinkus du, su kuriais

pasiekti geriausi rezultatai – tai požymių maiša ir kategorijų kodavimu dažniu. Rezultatai

matomi 6 lentelėje. Pastebėtina, kad F1 įverčio reikšmė nepagerėja taikant Naïve Bayes

klasifikatorių. Tuo tarpu naudojant Random Forest klasifikatorių gaunami geriausi rezultatai

šiame eksperimente (52.0% F1 įverčio reikšmė), taip pat pastebimas didžiausias F1 įverčio

reikšmės augimas pritaikius pavyzdžių generavimą ir sumažinimą. Trečiojo klasifikatoriaus,

SVM, rezultatus pavyzdžių pridėjimas paveikia skirtingai priklausomai nuo kategorinių

duomenų transformavimo metodo: taikant požymių maišą rezultatas pablogėja, o taikant

kodavimą dažniu įverčio reikšmės šiek tiek padidėja.

Page 40: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

40

6 lentelė. Rezultatai taikant pavyzdžių generavimo ir naikinimo algoritmus

Nr. Kategorinių

duomenų

transformavi

mas

Duomenų

mastelio keitimas

Mašininio

mokymo

metodas

F1

įverčio

reikšmė

F1 įvertis.

Taikyta

SMOTE

+ ENN

F1 įvertis.

Taikyta

SMOTE +

Tomek

1. Požymių

maiša. POS

keičiama į 6

požymius,

morfologinė

informacija į

50

Standartizavimas Naïve

Bayes

39.0% 39.0% 38.0%

2. Random

Forest

7.0% 19.0% 9.0%

3. SVM 31.0% 25.0% 16.0%

4. Transformavimas

pagal kvantilius

Naïve

Bayes

44.0% 46.0% 42.0%

5. Random

Forest

8.0% 19.0% 9.0%

6. SVM 42.0% 28.0% 21.0%

7. Kategorijos

koduojamos jų

dažniu

Standartizavimas Naïve

Bayes

34.0% 31.0% 30.0%

8. Random

Forest

36.0% 51.0% 51.0%

9. SVM 35.0% 36.0% 38.0%

10. Transformavimas

pagal kvantilius

Naïve

Bayes

28.0% 26.0% 26.0%

11. Random

Forest

38.0% 52.0% 52.0%

12. SVM 41.0% 43.0% 45.0%

5.4 CRF

CRF metodo mokymui duomenys išskaidyti į tris imtis:

1. 2917 sakiniai mokymui;

2. 879 sakiniai patikrai (angl. validation);

3. 899 sakiniai testavimui.

Eksperimentų taikant CRF metodą atlikimo eiga (kiekvienam požymių rinkiniui):

1. Nuskaitomi mokymo, patikros ir testavimo sakiniai į atskirus sąrašus. Sakinio

formato pavyzdys matomas 22 pav.;

Page 41: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

41

2. Šiuose trijuose rinkiniuose esančiuose sakiniuose kiekvienas žodis pakeičiamas

požymių rinkiniu. Požymių rinkinys skiriasi kiekvieno eksperimento atveju, vienas pavyzdys

matomas 23 pav. Sudaromi atskiri žodžių klasių sąrašai;

3. Apmokomas CRF modelis. Parametrai: mokymo algoritmas – gradientinis

nusileidimas taikant L-BFGS metodą, maksimalus iteracijų skaičius 100, leidžiama generuoti

būsenų požymius, kurie nematomi mokymo duomenyse, parametrai c1 ir c2 nustatomi 0.1.

Testavimo imčiai įvertinamos F1 metrikos kiekvienai klasei (B-MWE ir I-MWE) ir bendrai;

4. Atliekama parametrų c1 ir c2 tinkamiausių verčių paieška, geriausias modelis

išsaugomas, apskaičiuojamos įvertinimo metrikos.

22 pav. Nuskaityti duomenys CRF metodui

23 pav. Žodžio „atlingavo“ savybės

Eksperimentų rezultatai testavimo duomenims pateikiami žemiau esančioje 7 lentelėje.

Matoma, kad eksperimentų rezultatai labai panašūs ir atlikti požymių pakeitimai nedarė didelės

įtakos metodo rezultatų gerumui. Vis tik geriausia F1-įverčio reikšmė pasiekta kai kaip požymiai

Page 42: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

42

yra žodis, 2 žodžiai jam iš kairės ir dešinės, jų kalbos dalys, 3 simboliai nuo žodžių pradžios ir

pabaigos.

7 lentelė. CRF metodo rezultatai

Požymiai Tikslumas

(angl. Precision)

Išsamumas F1-įverčio

vertė

1. Žodis, 2 žodžiai jam iš kairės ir dešinės, jų

kalbos dalys, 3 simboliai nuo žodžių

pradžios ir pabaigos.

0.456 0.262 0.333

2. Žodis, 2 žodžiai jam iš kairės ir dešinės, jų

kalbos dalys, 3 ir 2 simboliai nuo žodžių

pradžios ir pabaigos.

0.446 0.262 0.330

3. Žodis, po 1 žodį jam iš kairės ir dešinės, jų

kalbos dalys, 3 simboliai nuo žodžių

pradžios ir pabaigos.

0.488 0.250 0.331

4. Žodis, po 1 žodį jam iš kairės ir dešinės, jų

kalbos dalys, 3 ir 2 simboliai nuo žodžių

pradžios ir pabaigos.

0.446 0.241 0.313

5.5 RNN

Taikant giliuosius mokymo metodus naudotas tas pats sakinių rinkinys kaip ir apmokant

CRF metodą – išlaikyti tie patys sakiniai mokymui, patikrai ir testavimui, kad būtų galima geriau

palyginti abiejų metodų rezultatus. Atlikti keli skirtingi eksperimentai. Modelis, siūlomas [21],

kuriuo pasiekti ypač geri rezultatai (F1-įverčio reikšmė tarp 90 ir 91 procentų) esybių ir kalbos

dalių žymėjimo užduotyse. Vėliau eksperimentuota su kitais modeliais naudojant Keras [50]

biblioteką.

Pirmojo taikyto modelio principas [21] [64]: žodžiai reprezentuojami GloVe vektoriais,

kaip požymiai dar papildomai naudojami simbolių vektoriai (angl. character embeddings), kurie

apjungiami ir leidžiamas dvikryptis LSTM per žodžių vektorių sekas. Rezultatų iškodavimas

vykdomas taikant tiesinį CRF metodą. Pasirinkti modelio parametrai ir hiperparametrai: simbolių

vektorių dimensija 100, paketo (angl. batch) dydis 20, mokymosi algoritmas Adam, mokymosi

greitis 0.001, iškarpa (angl. clip) 5, paslėptų simbolių vektorių sluoksnio dydis 100, paslėptų

žodžių vektorių sluoksnio dydis 200. Gautas F1-įvertis 26%.

Page 43: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

43

Toliau sudarytas kitoks modelis pridedant kalbos dalis kaip požymius, nenaudojant

simbolių vektorių. Eksperimento atlikimo eiga:

1. Nuskaitomi duomenys. Žodžiams, kalbos dalims ir klasėms priskiriami indeksai;

2. Atskirai mokymo, patikros ir testavimo imtyse žodžiai ir kalbos dalys pakeičiami

jų indeksais, sakiniai užpildomi iki maksimalaus sakinio ilgio mokymo duomenyse (139

žodžiai), užpildoma „<unk>“ žodžiu, kuris žymi nežinomą žodį;

3. Sudaroma žodžių vektorių matrica. Ji sudaroma taip, kad kreipiantis nurodant

indeksą, kuris kiekvienam žodžiui priskirtas ankstesniame žingsnyje, yra grąžinamas žodžio

vektorius;

4. Sudaromas modelis. Yra du įėjimai: žodžių vektoriai ir kalbos dalys koduotos

OHE būdu, šie du įėjimai sujungiami. Po to yra išmetimo (angl. dropout) sluoksnis, kuris

sumažina tikimybę persimokyti bei dvikryptis LSTM sluoksnis su 100 vienetų. Galiausiai yra

Softmax aktyvavimo sluoksnis;

5. Modelis sukompiliuojamas ir apmokomas, apskaičiuojama F1-įverčio reikšmė

testavimo imčiai. Keičiamos optimizatoriaus ir nuostolio funkcijos, šioms funkcijoms palikti

numatytieji jų parametrai. Išbandytos 7 optimizatoriaus [65] ir 2 kategorinėms klasėms skirtos

nuostolio [66] funkcijos.

8 lentelė. Eksperimentų su RNN rezultatai

Optimizatorius Nuostolio funkcija F1-įverčio vertė

1. RMSprop kategorinė krosentropija 0.378

2. RMSprop kategorinė Hinge funkcija 0.397

3. Stochastinis gradientinis nusileidimas kategorinė krosentropija 0.449

4. Stochastinis gradientinis nusileidimas kategorinė Hinge funkcija 0.398

5. Adagrad kategorinė krosentropija 0.427

6. Adagrad kategorinė Hinge funkcija 0.408

7. Adadelta kategorinė krosentropija 0.435

8. Adadelta kategorinė Hinge funkcija 0.419

9. Adam kategorinė krosentropija 0.412

10. Adam kategorinė Hinge funkcija 0.428

11. Adamax kategorinė krosentropija 0.428

12. Adamax kategorinė Hinge funkcija 0.423

13. Nadam kategorinė krosentropija 0.415

14. Nadam kategorinė Hinge funkcija 0.423

Page 44: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

44

Matoma, kad eksperimetų metu gautos F1-įverčio reikšmės svyruoja nuo 0.378 iki 0.449.

Geriausias rezultatas pasiektas, kai taikomas stochastinis gradientinis nusileidimas kaip

optimizatorius ir kategorinė krosentropijos nuostolio funkcija.

5.6 Eksperimentų palyginimas

2-gramų ir sekų modelių rezultatai negali būti lyginami tiesiogiai vertinant tik F1-įverčio

reikšmes, nes 2-gramų modeliai gali atpažinti tik dvižodžius pastoviuosius junginius, tuo tarpu

sekų modeliai nėra apriboti žodžių skaičiumi, taip pat leidžia aprašyti junginius su įsiterpimais.

Dėl to 2-gramų modeliai ir sekų modeliai turi būti lyginami atskirai.

Eksperimentų su 2-gramomis rezultatų stačiakampės diagramos pateiktos 24 pav. 2-

gramų analizės atveju geriausias rezultatas (F1-įverčio reikšmė 64%) pasiektas taikant Naïve

Bayes klasifikatorių kaip požymius naudojant statistinių įverčių reikšmes ir morfologinę

informaciją bei taikant nestandartinę sprendimo priėmimo taisyklę – nepastoviuoju junginiu

laikomas tas, kurio tikimybė būti nepastoviuoju yra 1 (24 pav. grafike pažymėta raudonu tašku,

taškas neįtrauktas į stačiakampę diagramą, nes taikyta kitokia sprendimo taisyklė). Šis rezultatas

yra daugiau nei 2 kartus geresnis nei pasiektas geriausias rezultatas taikant statistinius įverčius.

Aukščiausia F1-įverčio reikšmė, gauta eksperimentų su statistiniais įverčiais metu, yra 30.9%

naudojant logaritmuotą Dice koeficientą.

24 pav. Eksperimentų su 2-gramomis rezultatų palyginimas

Taikant sekų modelius pastebėta, kad gaunamos F1-vertės yra mažesnės nei 2-gramų

modelių atveju, tačiau, kaip minėta anksčiau, sekų modeliai leidžia atpažinti neriboto ilgio

Page 45: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

45

pastoviuosius junginius. Geriausias rezultatas taikant CRF metodą yra 33.3%, o RNN 44.9%

(F1-įverčio vertės). Gautos F1-įverčio reikšmės pateiktos stačiakampėse diagramose 25 pav.

Matoma, kad priklausomai nuo parametrų šių modelių gerumas varijuoja mažiau nei 2-gramų

modelių. Nuspręsta patikrinti, ar modeliai žymi tuos pačius junginius ar skirtingus. Abiejų

metodų grąžinamos žymės testavimo duomenims sujungtos. Siekiant kuo didesnio išsamumo

nuspręsta esant klasifikavimo nesutapimams palikti žymes, reiškiančias pastovųjį junginį, be to,

B-MWE ir I-MWE žymės sujungtos į MWE siekiant neskirti pirmumo nei vienam klasifikatoriui

nesutapimo atveju. Apskaičiavus F1-įvertį gauta 49% vertė (tikslumas 47%, išsamumas 51%)

(vertė pažymėta raudonu tašku 25 pav.), kuri parodo, kad modeliai atpažįsta ne visiškai tuos

pačius junginius ir jų sujungimas yra prasmingas, tai matoma ir 26 pav., kuriame pateiktas

metodų žymėjimo persidengimas. Pasirinkta šiuos du modelius kartu naudoti prototipo kūrime.

25 pav. Eksperimentų su sekų modeliais rezultatų palyginimas

26 pav. CRF ir RNN žymėjimo palyginimas (pasviręs šriftas žymi teisingus pastoviuosius junginius, mėlynas

tekstas – CRF pažymėtus junginius, paryškintas šriftas – RNN pažymėtus junginius)

Page 46: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

46

6 PASTOVIŲJŲ JUNGINIŲ ATPAŽINTUVO PROTOTIPAS

Panaudojant geriausius apmokytus, anksčiau aprašytus modelius iškeltas tikslas sukurti

pastoviųjų junginių atpažintuvo prototipą. Toliau šiame skyriuje aprašoma projektavimo ir

realizavimo eiga bei galutinis rezultatas – sukurtas prototipas.

6.1 Prototipo projektavimas

Nuspręsta atpažintuvo prototipą kurti internetinės sistemos forma ir kaip API, kuris

galėtų būti pasiekiamas ir kitiems specialistams jų kuriamose sistemose. Siekta, kad vartotojo

sąsaja būtų kuo paprastesnė. Numatyta, kad vartotojas, atsidaręs internetinį puslapį per naršyklę

galėtų pasirinkti tekstinį failą, jį peržiūrėti, nusiųsti į serverį ir gauti rezultatus – pastoviaisiais

junginiais anotuotą failą. Šie galimi vartotojo veiksmai matomi panaudos atvejų diagramoje 27

pav.

27 pav. Panaudos atvejų diagrama pastoviųjų junginių atpažintuvo prototipui

Pagrindiniame puslapio lange numatyta pateikti trumpą informacinį tekstą, kuris

informuotų apie parsiunčiamus rezultatus į asmens įrenginį, leisti vykdyti tekstinio failo įkėlimą

tiek naršant kompiuterio failuose, tiek ir nutempimo (angl. drag&drop) būdu. Pagrindinio lango

eskizas matomas 28 pav.

Page 47: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

47

28 pav. Pagrindinio vartotojo sąsajos lango schema

Atliekant anksčiau aprašytus eksperimentus naudota teksto morfologinė informacija. 2-

gramų modeliui yra reikalinga kalbos dalių ir detali (skaičius, giminė, linksnis, asmuo ir t. t.)

morfologinė informacija, tuo tarpu sekų modeliams reikia tik kalbos dalių. Kadangi neturima

prieigos prie morfologinio analizatoriaus (anotavimas atliktas VDU KLC), nuspręsta prototipe

naudoti tik sekų modelius (geriausius CRF ir RNN variantus išbandytus eksperimentų metu), o

kalbos dalių žymėjimo modelį apmokyti taikant anksčiau pastoviesiems junginiams žymėti

išbandytą modelį, kurio pirminė paskirtis yra kalbos dalių ir esybių žymėjimas [21] ir

panaudojant turimą anotuotą 70 mln. žodžių tekstyną.

Sistemos logiką nuspręsta realizuoti taikant REST API principus. Tam, kad būtų galima

perduoti duomenų failą anotavimui pastoviaisiais junginiais nutarta sukurti „/upload“ prieigos

tašką, į kurį kreipiantis POST užklausa būtų siunčiamas duomenų failas, sistema sužymėtų

pastoviuosius junginius ir grąžintų rezultatus. Perduoto duomenų failo apdorojimo sistemoje

schema matoma 29 pav.

Page 48: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

48

29 pav. Serveryje gauto failo apdorojimo ir pastoviųjų junginių žymėjimo schema

Sistemos nefunkciniai reikalavimai:

1. REST API principų taikymas;

2. Sistemos prieinamumas per naršyklę.

Sistemos funkciniai reikalavimai:

1. Vartotojui leidžiama įkelti failą naudojantis vartotojo sąsaja;

2. Į API leidžiama kreiptis ne tik per vartotojo sąsają, bet ir kreipiantis užklausa

tiesiogiai, pavyzdžiui, naudojant trečiųjų šalių sukurtus įrankius, tokius kaip „Postman“ [67];

3. Vartotojo sąsajoje ir funkcinėje logikoje turi būti atlikta failo patikra. Failas yra

neteisingas, negaliojantis ir neapdorojamas jei jis nėra tekstinis;

4. Vartotojui leidžiama peržiūrėti jo įkeltą failą;

5. Sistema apdorodama vartotojo įkeltą tekstinį failą turi sužymėti pastoviuosius

junginius.

6.2 Prototipo realizavimas

Pirmiausia, kad būtų galima realizuoti prototipą, buvo apmokytas kalbos dalių žymėjimo

modelis. Pasirinkta apmokyti anksčiau minėtą modelį [21], kuriame naudojami GloVe tipo

žodžių vektoriai (dimensija 200), simbolių vektoriai (dimensija 100), simbolių vektoriai

apmokomi naudojant LSTM (dydis 100), išėjimo sluoksnyje taikomas CRF metodas, parametrai

Page 49: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

49

ir hiperparametrai: išmetimas (angl. dropout) 0.5, paketo dydis 20, optimizavimo algoritmas

Adam, mokymosi greitis 0.001, iškarpa 5, dvikrypčio LSTM dydis 200. Mokymui naudotas

VDU KLC morfologiškai anotuotas 70 mln. žodžių tekstynas. Duomenys mokymui paruošti

tokiu formatu: žodis, tarpas, kalbos dalis, naujos eilutės simbolis ir t. t. (30 pav.) Sakinių ribas

žymi papildoma tuščia eilutė. Duomenys suskirstyti į 3 imtis: mokymo (apie 60%), patikros (apie

20%) ir testavimo (apie 20% duomenų). Mokymo gerumas vertintas taikant F1 ir „Accuracy“

metrikas. Mokymas truko 10 dienų, patikros duomenims gauta 98.78% F1 ir 98.93% „Accuracy“

įverčių vertės, o testavimo duomenims: 98.76% F1 ir 98.91% „Accuracy“ vertės. Vis tik būtina

atkreipti dėmesį, kad į šias metrikų vertes neįskaičiuotos klaidos, kurias padarė VDU KLC

taikytas įrankis, tačiau priimta, kad modelis gali būti naudojamas tolesniame darbe.

30 pav. Kalbos dalių žymėjimo mokymo duomenų fragmentas

Vartotojo sąsajai kurti naudotos šios technologijos:

1. HTML, JavaScript. Įprastos technologijos tinklalapiams kurti;

2. Bootstrap 4 [68] vartotojo sąsajos struktūrai ir stiliui papildyti;

3. jQuery [69]. Biblioteka, palengvinanti darbą su JavaScript, yra reikalinga kitų

papildinių veikimui;

4. Krajee Bootstrap File Input biblioteka [70] failų įkėlimo funkcionalumui

realizuoti kliento dalyje ir siuntimui į serverį.

Prototipo tinklalapio struktūra aprašyta naudojant HTML žymėjimo kalbą. Inicializuotas

ir sukonfigūruotas failų įkėlimo funkcionalumas pasitelkiant Krajee Bootstrap File Input

biblioteką. Papildinio nustatymuose nurodoma, kad būtų leidžiama vienu metu įkelti tik vieną

failą, leidžiami tik tekstinio turinio „txt“ failai, į kokį API prieigos tašką bus kreipiamasi norint

perduoti failą. Failas gali būti įkeliamas nutempimo (angl. drag&drop) būdu arba ieškant norimo

failo kompiuteryje, įgalinta failo peržiūra prieš jo perdavimą serveriui (dalis failų įkėlimo

funkcionalumo konfigūravimo pateikta 31 pav.). Prototipo pradinis langas matomas 32 pav.

Daugiau sukurto prototipo sąsajos vaizdų pateikta 9.3 priede.

Page 50: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

50

31 pav. Krajee Bootstrap File Input bibliotekos nustatymų dalis

32 pav. Prototipo vartotojo sąsajos pagrindinis langas

REST API kūrimui naudotas Flask karkasas [71]. Buvo siekiama naudoti karkasą, skirtą

Python programavimo kalbai, nes Python ir papildomos jo bibliotekos naudotos eksperimentų

atlikimui, o jau sukurtus modelius nuspręsta pernaudoti prototipe. Dėl pakankamo suteikiamo

funkcionalumo, reikalingo prototipo programavimui, pasirinktas būtent Flask karkasas.

Naudojant šį karkasą realizuotas prieigos taškas „/upload“, į kurį kreipiantis POST

užklausa perduodamas tekstinis failas. Patikrinama, ar failas yra įkeltas ir ar jis yra tekstinis, jei

ne, į kliento dalį siunčiamas atitinkamas atsakymas (angl. response). Saugumo tikslais prieš

nuskaitant failą naudojama Flask rekomenduojama funkcija „secure_filename“, kuri pakeičia

failo pavadinimą taip, kad šis negalėtų pakenkti serverio failų sistemai. Nuskaitytas failas

dekoduojamas UTF-8 koduote, tekstas suskaidomas sakiniais, sakiniai žodžiais pasitelkiant

Page 51: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

51

NLTK biblioteką [48]. Tada sužymimos kalbos dalys taikant anksčiau šiame skyriuje aprašytą

modelį, po to paruošiami duomenys CRF ir RNN modeliams, pastarieji pritaikomi. Taip pat

sužymimi junginiai, esantys žodyne, o galiausiai visi rezultatai apjungiami ir išsiunčiami atgal

kaip atsakymas.

API paleidimo serveryje metu vykdoma inicializacija: užkraunami kalbos dalių

žymėjimo, CRF ir RNN modeliai (vėliau užtenka tik kreiptis kreipiniu „predict“), pastoviųjų

junginių žodynas, žodžių sąrašas, reikalingas modelių veikimui.

Iš pradžių API testuotas be vartotojo sąsajos, pasitelkiant „Postman“ [67] įrankį.

Perdavus tekstinį failą, API grąžina rezultatus JSON formatu, kadangi toks formatas

reikalaujamas failų įkėlimo bibliotekos, kad būtų patvirtintas sėkmingas perdavimas. Sėkmingo

rezultato grąžinimas testuojant su „Postman“ matomas 33 pav., nesėkmingo 34 pav. Kreipiantis

per internetinę sistemą ir grąžinus rezultatą vartotojo sąsajoje yra suformuojamas failas ir

atsiunčiamas vartotojui. Failas atsiunčiamas tokiu formatu: kiekvienoje eilutėje yra žodis,

tabuliavimo ženklas, žymė, ar junginys pastovusis ar ne ir naujos eilutės simbolis, o tuščia eilutė

žymi sakinių ribas. Tokio suformuoto rezultatų failo pavyzdys matomas 35 pav.

33 pav. Sėkmingo rezultato grąžinimas

Page 52: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

52

34 pav. Nesėkmingo rezultato grąžinimas, kai perduodamas netekstinis failas

35 pav. Atsiunčiamo rezultatų failo pavyzdys

Prototipo programinis kodas pateiktas „Bitbucket“ saugykloje, nuoroda:

https://bitbucket.org/ievabumb/mwe_tagger_prototype.

6.3 Rekomendacijos tolesniam vystymui

Prototipą būtų galima toliau vystyti šiomis kryptimis:

1. Optimizuoti veikimo greitį. Identifikuoti lėčiausius komponentus ir rasti

sprendimą, kaip juos pagreitinti siekiant sumažinti laukimo laiką;

2. Išplėsti prototipą papildomais modeliais: pridėti 2-gramų, 3-gramų, kitų

architektūrų neuroninių tinklų modelius;

3. Išanalizuoti lingvistinio filtro pridėjimo galimybes ir jį realizuoti esant galimybei.

Page 53: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

53

7 REZULTATAI IR IŠVADOS

7.1 Rezultatai

1. Išanalizuota pastoviųjų junginių sąvoka;

2. Atlikus literatūros analizę aprašyta, kokios yra išskiriamos metodų, skirtų pastoviųjų junginių

automatinio atpažinimo uždaviniui spręsti, grupės, aptarti taikytini metodai, jų veikimo

principas;

3. Sukurtas internetinis robotas, kuriuo nuskanuota (angl. scraped) dalis „delfi.lt“ portalo ir

suformuotas apie 70 mln. žodžių pradinis tekstynas. Iš jo sugeneruotos keturios kolekcijos n-

gramų, kai n=1,2,3,4 (72, 67, 62, 57 mln. n-gramų), 2-gramų kolekcija su detalia

morfologine informacija (morfologinis anotavimas atliktas VDU KLC), GloVe tipo žodžių

vektoriai;

4. 2-gramų kolekcijoms apskaičiuotos dažnių lentelės ir 17 statistinių įverčių, išnagrinėtas jų

reikšmių pasiskirstymas;

5. Atlikti eksperimentai:

5.1. su statistiniais įverčiais 2-gramoms be morfologinės informacijos – surasti geriausi

kiekvieno įverčio reikšmių intervalai kaip gerumo matą naudojant F1-įvertį;

5.2. naudojant 2-gramų kolekciją (kartu su morfologine informacija) su 3 klasifikatoriais

(Naïve Bayes, Random Forest ir SVM) taikant 4 skirtingus kategorinių duomenų

kodavimo metodus (OHE, OHE, kai kategorijos, kurių dažnis mažesnis nei 100,

laikomos viena, požymių maiša, kategorijų kodavimas dažniu) bei 2 skirtingus duomenų

mastelio keitimo metodus – standartizavimą ir transformavimą pagal kvantilius. Taip pat

atlikti eksperimentai taikant duomenų generavimo mažesnei klasei SMOTE metodą ir

duomenų kiekio sumažinimo metodus ENN ir Tomek;

5.3. su CRF metodu kaip požymius parinkus žodį, jo kontekstą (1,2 žodžius), pradžios ir

pabaigos simbolius (2 arba 3) bei kalbos dalis;

5.4. su rekurentiniais neuroniniais tinklais (bi-LSTM) kaip požymius naudojant žodžių

vektorius ir kalbos dalis, išbandant skirtingus optimizavimo algoritmus ir nuostolio

funkcijas;

6. Suprojektuotas pastoviųjų žodžių junginių atpažintuvo prototipas;

7. Apmokytas kalbos dalių žymėjimo modelis naudojant šiai užduočiai kitoms kalboms gerus

rezultatus lėmusį neuroninių tinklų modelį;

8. Sukurtas pastoviųjų junginių atpažintuvo prototipas apjungiant geriausius apmokytus CRF ir

RNN modelius. Prototipas realizuotas kaip internetinė sistema;

Page 54: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

54

9. Pasiūlytos gairės tolimesniam prototipo vystymui.

10. Tyrimų rezultatai publikuoti:

10.1. N-gramų tekstynai. Bumbulienė I., Mandravickaitė J., Boizou L., Krilavičius T.

2017: An overview of Lithuanian Internet media n-gram corpus. SYSTEM 2017:

Symposium for Young Scientists in Technology, Engineering and Mathematics. CEUR

Workshop Proceedings, 24–28.

10.2. Mašininio mokymo metodų taikymas pastoviųjų junginių atpažinimui.

Bumbulienė I., Mandravickaitė J., Krilavičius T. 2017: Application of Machine

Learning for MWE Identification. The 9 th international workshop Data Analysis

Methods for Software Systems. Druskininkai, 2017 m. gruodžio 1 d.

10.3. Visos publikacijos ir pranešimai pateikti 9.7 priede.

7.2 Išvados

1. Analizuojant pastoviųjų junginių sąvoką išsiaiškinta, kad tai yra sąlyginai laisva

kalbos struktūra ir negali būti apibrėžta vienareikšmiškai;

2. Nagrinėjant pastoviųjų junginių identifikavimo metodus išsiaiškinta, kad yra

išskiriamos trys pagrindinės sprendimo metodų grupės, o plačiausiai naudojami hibridiniai

metodai, kurie suteikia galimybę apjungti lingvistines ir statistines pastoviųjų junginių savybes.

Automatiniam pastoviųjų junginių atpažinimui yra taikoma didelė įvairovė mašininio mokymo

metodų ir nėra vieno geriausiai tinkančio metodo šio uždavinio sprendimui;

3. Sugeneravus n-gramas pastebėta, kad didėjant n reikšmei didėja ir unikalių n-

gramų bei n-gramų, kurių dažnis 1, skaičius. Tuo tarpu didėjant n didžiausias vienos n-gramos

dažnis mažėja, t. y. dažniausia n-grama randama rečiau, kai n didesnis;

4. Apskaičiavus statistinių įverčių reikšmes 2-gramoms pastebėta, kad PMI,

logDice, MI, MI2, MI3, Odds Ratio, Relative Risk verčių histogramos artimos normaliajam

pasiskirstymui, o kitų nagrinėtų įverčių dauguma reikšmių yra aptinkamos viename intervale;

5. Atlikus eksperimentinę geriausių įverčių intervalų paiešką išskirti kiekvieno

normuoto įverčio intervalai, kai gaunama didžiausia F1-įverčio vertė. Pastebėta, kad pagal

naudotą skalę geriausiai (F1-įverčio reikšmė 30.9%) pastoviuosius junginius nuo nepastoviųjų

atskiria logaritmuotas Dice koeficientas intervale [0.7; 0.94];

6. Analizuojant literatūrą išsiaiškinta, kad yra daug metodų, leidžiančių kategorinius

duomenis transformuoti naudojimui apmokant klasifikatorius. Atlikus eksperimentus pastebėta,

kad naudotiems duomenims OHE metodas nėra tinkamas ir lemia prastus klasifikavimo

rezultatus;

Page 55: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

55

7. Atlikus eksperimentus netaikant papildomo duomenų generavimo ir šalinimo

pastebėta, kad didžiausia F1 įverčio reikšmė (44%) gaunama, kai kategorinių duomenų

transformavimui taikoma požymių maiša, duomenų mastelis keičiamas transformuojant pagal

kvantilius ir taikomas Naïve Bayes klasifikatorius. Pakeitus šio klasifikatoriaus sprendimo

priėmimą į tokį, kad nepastoviuoju junginiu laikomas tas, kurio tikimybė būti nepastoviuoju yra

lygi 1 pasiektas geresnis F1 įverčio rezultatas – 64%;

8. Atlikus eksperimentus taikant duomenų generavimo ir naikinimo metodus

geriausias rezultatas pasiektas naudojant kategorijų kodavimą dažniu, transformavimą pagal

kvantilius, Random Forest klasifikatorių ir SMOTE + ENN bei SMOTE + Tomek metodus (F1

įverčio rezultatas – 52%);

9. Taikant CRF metodą pastebėta, kad nėra didelio rezultatų pagerėjimo žvelgiant į

2 žodžių kontekstą lyginant su 1 žodžio kontekstu. Geriausias rezultatas (F1 vertė 33.3%)

pasiektas su tokiu požymių rinkiniu: žodis, 2 žodžiai jam iš kairės ir dešinės, jų kalbos dalys, 3

simboliai nuo žodžių pradžios ir pabaigos;

10. Atlikus eksperimentus su rekurentiniais neuroniniais tinklais išsiaiškinta, kad

geriausias rezultatas gaunamas taikant stochastinį gradientinį nusileidimą kaip optimizatorių ir

kategorinę krosentropiją kaip nuostolio funkciją (F1 vertė 44.9%);

11. Apibendrinant eksperimentų rezultatus pastebėta, kad taikant sekų modelius

gaunamos mažesnės F1-įverčio vertės nei taikant 2-gramų modelius, tačiau CRF ir RNN metodai

leidžia atpažinti ne tik dvižodžius junginius, bet ir ilgesnius bei turinčius įsiterpusių žodžių.

Apjungus CRF ir RNN geriausius modelius gaunama 49% F1-įverčio reikšmė, kuri yra didesnė

nei pavienių modelių ir parodo, kad metodai atpažįsta nevisiškai tuos pačius junginius;

12. Prototipo kūrimo metu įsitikinta, kad apmokyti modeliai gali būti sėkmingai

pernaudojami internetinėje sistemoje.

Page 56: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

56

8 LITERATŪROS SĄRAŠAS

[1] N. S. P. Z. Dhouha Bouamor, „Identifying bilingual Multi-Word Expressions for Statistical

Machine Translation,“ 2012.

[2] S. W. Yulia Tsvetkov, „Identification of Multiword Expressions by Combining Multiple

Linguistic Information Sources,“ t. 40, nr. Computational Linguistics, pp. 449-468, 2014.

[3] S. N. S. B. Asif Ekbal, Emerging Applications of Natural Language Processing: Concepts

and New Research, IGI Global, 2012.

[4] C. J. F. R. G. N. I. A. L. C. M. A. Z. Nicoletta Calzolari, „Towards Best Practice for

Multiword Expressions in Computational Lexicons,“ 2002.

[5] T. Baldwin, 2004. [Tinkle]. Available:

https://people.eng.unimelb.edu.au/tbaldwin/pubs/altss2004.pdf. [Kreiptasi 13 04 2018].

[6] „http://mwe.lt/,“ VDU, BPTI, [Tinkle]. Available: http://mwe.lt/. [Kreiptasi 3 5 2018].

[7] J. K. E. R. L. V. Agnė Bielinskienė, „Kolokacijų ir frazeologizmų atpažinimo kriterijai,“

Kalbų studijos, t. 31, p. 83–101, 2017.

[8] S. J. i. R. D. John Sinclair, English collocation studies: The OSTI Report, University of

Birmingham Press, 2004.

[9] R. Marcinkevičienė, „Tradicinė frazeologija ir kiti stabilūs žodžių junginiai,“ įtraukta

Lituanistica, Kaunas, lmaleidykla.lt, 2001, pp. 81-98.

[10] K. V. P. A. V. Rodrigo Augusto Scheller Boos, „Identification of Multiword Expressions in

the brWaC,“ 2014.

[11] P. S. Pavel Pecina, „Combining Association Measures for Collocation Extraction,“ įtraukta

Proceedings of the COLING/ACL 2006 Main Conference Poster Sessions, Sydney, 2006.

[12] P. Pecina, LEXICAL ASSOCIATION MEASURES Collocation Extraction, Institute of

Formal and Applied Linguistics, 2009.

[13] R. W. L. M. E. W. S. C. A. V. Leonardo Zilio, „Joining Forces for Multiword Expression

Identification,“ įtraukta "Computational Processing of the Portuguese Language: 12th

International Conference, PROPOR 2016, Tomar, Portugal, July 13-15, 2016, Proceedings,

Springer International Publishing, 2016, pp. 233-238.

[14] M. N. François ROLE, „HANDLING THE IMPACT OF LOW FREQUENCY EVENTS

ON CO-OCCURRENCE BASED MEASURES OF WORD SIMILARITY A Case Study of

Page 57: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

57

Pointwise Mutual Information,“ 2011.

[15] S. Evert, „collocations.de,“ 6 4 2004. [Tinkle]. Available:

http://www.collocations.de/AM/contents.html. [Kreiptasi 13 4 2018].

[16] P. Rychlý, „A Lexicographer-Friendly Association Score,“ įtraukta Proceedings of Recent

Advances in Slavonic Natural Language Processing, 2008.

[17] S. C. F. M. Malvina Nissim, „Extracting MWEs from Italian corpora: A case study for

refining the POS-pattern methodology,“ įtraukta Proceedings of the 10th Workshop on

Multiword Expressions (MWE 2014), Gothenburg, 2014.

[18] G. E. L. A. L. F. M. M. N. L. P. Sara Castagnoli, „POS-Patterns or Syntax? Comparing

Methods for Extracting Word Combinations,“ įtraukta EUROPHRAS 2015 - Computerised

and Corpus-based Approaches to Phraseology: Monolingual and Multilingual

Perspectives., Malaga, 2015.

[19] F. S. Alexsandro Fonseca, „A Comparative Study of Different Classification Methods for

the Identification of Brazilian Portuguese Multiword Expressions,“ įtraukta Proceedings of

the First Workshop on Computational Approaches to Compound Analysis, pages 53–62,

Dublin, 2014.

[20] M.-C. d. M. C. D. M. Spence Green, „Parsing Models for Identifying Multiword

Expressions,“ Computational Linguistics, t. 39, pp. 195-227, 2012.

[21] G. Genthial, „Sequence Tagging with Tensorflow,“ 5 4 2017. [Tinkle]. Available:

https://guillaumegenthial.github.io/sequence-tagging-with-tensorflow.html. [Kreiptasi 25 4

2018].

[22] H. T. H. L. Yinghong Liang, „A language-independent hybrid approach for multi-word

expression extraction,“ įtraukta Neural Networks (IJCNN), Anchorage, AK, USA, 2017.

[23] L. P. C. Willi Richert, „Chapter 6: Classification II – Sentiment Analysis,“ įtraukta

Introducing the Naive Bayes classifier, Birmingham, Packt Publishing, 2013.

[24] J. Leek, „coursera.org,“ [Tinkle]. Available: https://www.coursera.org/learn/practical-

machine-learning/lecture/XKsl6/random-forests. [Kreiptasi 14 4 2018].

[25] S. Raschka, „Chapter 3: A Tour of Machine Learning Classi ers Using Scikit-learn,“

įtraukta Python Machine Learning, Birmingham, Packt Publishing, 2016, pp. 49-99.

[26] Y. Y. Colin Campbell, „Support Vector Machines for Classification,“ įtraukta Learning

with Support Vector Machines, Morgan & Claypool, 2011, pp. 1-27.

[27] A. M. Charles Sutton, „An Introduction to Conditional Random Fields,“ 17 11 2010.

[Tinkle]. Available: https://arxiv.org/pdf/1011.4088.pdf. [Kreiptasi 15 4 2018].

Page 58: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

58

[28] E. Chen, „Introduction to Conditional Random Fields,“ 03 01 2012. [Tinkle]. Available:

http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields/. [Kreiptasi 19 4

2018].

[29] C. R. Manon Scholivet, „Identification of Ambiguous Multiword Expressions Using

Sequence Models and Lexical Resources,“ įtraukta Proceedings of the 13th Workshop on

Multiword Expressions (MWE 2017),, Valencia, Spain, 2017.

[30] D. Britz, „Recurrent Neural Networks Tutorial, Part 1 – Introduction to RNNs,“ 2015.

[Tinkle]. Available: http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-

part-1-introduction-to-rnns/. [Kreiptasi 4 5 2018].

[31] V. C. B. P. C. Waseem Gharbieh, „Deep Learning Models For Multiword Expression

Identification,“ įtraukta Proceedings of the 6th Joint Conference on Lexical and

Computational Semantics (*SEM 2017), Vancouver, Canada, 2017.

[32] G. I. W. Claude Sammut, Encyclopedia of Machine Learning, Sidnėjus: Springer, 2011.

[33] S. A. i. A. Mendes, „An evaluation of the role of statistical measures and frequency for

MWE identification,“ 2014.

[34] A. v. C. Federico Sangati, „Multiword Expression Identification with Recurring Tree

Fragments and Association Measures,“ Denver, Colorado, 2015.

[35] „Scrapy,“ [Tinkle]. Available: https://scrapy.org/. [Kreiptasi 4 5 2018].

[36] „MongoDB,“ MongoDB, Inc., [Tinkle]. Available: https://www.mongodb.com/. [Kreiptasi

19 4 2018].

[37] „universaldependencies.org,“ [Tinkle]. Available: http://universaldependencies.org/.

[Kreiptasi 23 4 2018].

[38] K. Ganesan, „Text Mining, Analytics & More,“ 23 11 2014. [Tinkle]. Available: http://text-

analytics101.rxnlp.com/2014/11/what-are-n-grams.html. [Kreiptasi 4 05 2018].

[39] „Lietuvių kalbo sutrumpinimų žodynas,“ TokenMill, 15 06 2016. [Tinkle]. Available:

https://github.com/tokenmill/ltlangpack/blob/master/tokenizer/abbr-dictionary.xml.

[Kreiptasi 4 5 2018].

[40] „brat rapid annotation tool,“ [Tinkle]. Available: http://brat.nlplab.org/index.html.

[Kreiptasi 23 4 2018].

[41] R. S. C. D. M. Jeffrey Pennington, „GloVe: Global Vectors for Word Representation,“

įtraukta Empirical Methods in Natural Language Processing (EMNLP), 2014, pp. 1532-

1543.

[42] „Github GloVe,“ [Tinkle]. Available: https://github.com/stanfordnlp/GloVe. [Kreiptasi 24 4

Page 59: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

59

2018].

[43] „matplotlib,“ [Tinkle]. Available: http://matplotlib.org/. [Kreiptasi 23 4 2018].

[44] „Python Data Analysis Library,“ [Tinkle]. Available: http://pandas.pydata.org/. [Kreiptasi

23 4 2018].

[45] „scikit-learn,“ [Tinkle]. Available: http://scikit-learn.org/. [Kreiptasi 23 4 2018].

[46] „sklearn-crfsuite,“ [Tinkle]. Available: https://sklearn-crfsuite.readthedocs.io/en/latest/.

[Kreiptasi 23 4 2018].

[47] G. L. a. F. N. a. C. K. Aridas, „Imbalanced-learn: A Python Toolbox to Tackle the Curse of

Imbalanced Datasets in Machine Learning,“ Journal of Machine Learning Research, t. 18,

pp. 1-5, 2017.

[48] „Natural Language Toolkit,“ [Tinkle]. Available: https://www.nltk.org/. [Kreiptasi 25 4

2018].

[49] R. Řehůřek, „Gensim,“ [Tinkle]. Available: https://radimrehurek.com/gensim/. [Kreiptasi

25 4 2018].

[50] „Keras,“ [Tinkle]. Available: https://keras.io/. [Kreiptasi 23 4 2018].

[51] „Tensorflow,“ [Tinkle]. Available: https://www.tensorflow.org/. [Kreiptasi 23 4 2018].

[52] S. Raschka, „About Feature Scaling and Normalization,“ 11 07 2014. [Tinkle]. Available:

http://sebastianraschka.com/Articles/2014_about_feature_scaling.html. [Kreiptasi 4 5 2018].

[53] Y. (. Liu, Python Machine Learning By Example, Packt Publishing, 2017.

[54] J. Brownlee, „machinelearningmastery.com,“ 28 07 2017. [Tinkle]. Available:

https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/.

[Kreiptasi 4 5 2018].

[55] o. Attenberg, K. Weinberger, A. Smola, A. Dasgupta ir M. Zinkevich, „Collaborative spam

filtering with the hashing trick,“ Virus Bulletin, 01 11 2009.

[56] K. Weinberger, A. Dasgupta, J. Langford, A. Smola ir J. Attenberg, „Feature Hashing for

Large Scale Multitask Learning,“ įtraukta ICML, 2009.

[57] „Patsy: Contrast Coding Systems for categorical variables,“ [Tinkle]. Available:

http://www.statsmodels.org/devel/contrasts.html. [Kreiptasi 23 4 2018].

[58] „sklearn.preprocessing.StandardScaler,“ [Tinkle]. Available: http://scikit-

learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html. [Kreiptasi

24 4 2018].

[59] „sklearn.preprocessing.QuantileTransformer,“ [Tinkle]. Available: http://scikit-

Page 60: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

60

learn.org/stable/modules/generated/sklearn.preprocessing.QuantileTransformer.html.

[Kreiptasi 24 4 2018].

[60] K. W. B. L. O. W. P. K. N. V. Chawla, „SMOTE: synthetic minority over-sampling

technique,“ Journal of artificial intelligence research, pp. 321-357, 2002.

[61] F. N. D. O. C. A. G. Lemaitre, „4. Combination of over- and under-sampling,“ [Tinkle].

Available: http://contrib.scikit-learn.org/imbalanced-learn/stable/combine.html. [Kreiptasi 4

5 2018].

[62] D. Wilson, „Asymptotic Properties of Nearest Neighbor Rules Using Edited Data,“ In IEEE

Transactions on Systems, Man, and Cybernetrics, pp. 408-421, 1972.

[63] F. N. D. O. C. A. G. Lemaitre, „3.2.2.1. Tomek’s links,“ [Tinkle]. Available:

http://contrib.scikit-learn.org/imbalanced-learn/stable/under_sampling.html#tomek-s-links.

[Kreiptasi 4 5 2018].

[64] G. Genthial, „Named Entity Recognition with Tensorflow,“ [Tinkle]. Available:

https://github.com/guillaumegenthial/sequence_tagging. [Kreiptasi 25 4 2018].

[65] „Keras. Optimizers,“ [Tinkle]. Available: https://keras.io/optimizers/. [Kreiptasi 26 4 2018].

[66] „Keras. Loss functions,“ [Tinkle]. Available: https://keras.io/losses/. [Kreiptasi 25 4 2018].

[67] „Postman,“ Postdot Technologies, Inc., [Tinkle]. Available: https://www.getpostman.com/.

[Kreiptasi 1 5 2018].

[68] „Bootstrap,“ [Tinkle]. Available: https://getbootstrap.com/. [Kreiptasi 1 5 2018].

[69] „jQuery,“ [Tinkle]. Available: http://jquery.com/. [Kreiptasi 4 5 2018].

[70] K. Visweswaran, „Bootstrap File Input,“ [Tinkle]. Available: http://plugins.krajee.com/file-

input. [Kreiptasi 1 5 2018].

[71] A. Ronacher, „Flask,“ [Tinkle]. Available: http://flask.pocoo.org/. [Kreiptasi 1 5 2018].

[72] Z.-M. Gao, „Automatic Extraction of English Collocations and their Chinese-English

Bilingual Examples: A Computational Tool for Bilingual Lexicography,“ Concentric:

Studies in Linguistics, t. 40.1, pp. 95-121, 2014.

Page 61: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

61

9 PRIEDAI

9.1 Statistinių įverčių reikšmių histogramos

Page 62: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

62

Page 63: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

63

Page 64: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

64

Page 65: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

65

9.2 Statistinių įverčių intervalams apskaičiuoto F1-įverčio reikšmių

paviršiai

Page 66: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

66

Page 67: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

67

9.3 Prototipas

Page 68: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

68

Page 69: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

69

Page 70: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

70

9.4 Pirmo tiriamojo darbo santrauka

Autorius Ieva Bumbulienė

Pavadinimas Pastoviųjų junginių automatiniam atpažinimui

taikytinų metodų ir įrankių analizė

Vadovas Prof. dr. Tomas Krilavičius

Darbas pristatytas Vytauto Didžiojo Universitetas,

Informatikos fakultetas, Kaunas

(2016-12-21)

Puslapių skaičius 34

Priedų skaičius 3

Pastoviųjų junginių automatinis atpažinimas yra aktualus natūraliosios kalbos apdorojimo

sistemų, kompiuterinės lingvistikos srityse. Nekreipiant dėmesio į pastoviuosius junginius

natūraliosios kalbos sistemos gali pateikti nenatūralias išraiškas, pavyzdžiui, mašininiame

vertime, o minimų junginių procentinė dalis kalboje yra didelė (~41% daugelyje kalbų) ir tai šią

problemą daro dar labiau aktualia. Taigi, šiame darbe yra gvildenama automatinio pastoviųjų

junginių atpažinimo problema, ieškomi žinomi sprendimo būdai. Išsikeltas darbo tikslas:

išanalizuoti metodus ir įrankius, naudojamus automatiniam pastoviųjų junginių atpažinimui

atlikti. Šio tiriamojo darbo metu išnagrinėta ir aprašyta pastoviųjų junginių sąvoka, jų

klasifikacija. Atlikus literatūros analizę išsiaiškinta, kad minimi junginiai negali būti apibrėžti

vienareikšmiškai ir yra sudėtinga juos atpažinti automatiškai. Taip pat aprašytos 3 metodų

grupės, kurios taikomos pastoviųjų junginių atpažinime, ir išsiaiškinta, kad plačiausiai naudojami

hibridiniai metodai, apimantys tiek lingvistines, tiek ir statistines pastoviųjų junginių vartojimo

ypatybes. Be to, palyginti du įrankiai („MWEtoolkit“ ir „Text-NSP“), skirti jų analizei bei

atpažinimui, kurie buvo ypač dažnai aptinkami literatūroje. Sukūrus internetinį robotą, surinktas

apie 72 mln. žodžių tekstynas, kurį dar papildomai apdorojus ketinama naudoti eksperimentų

atlikimui kitame tiriamajame darbe.

Page 71: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

71

9.5 Antro tiriamojo darbo santrauka

Autorius Ieva Bumbulienė

Pavadinimas N-gramų sąrašo sudarymas iš surinkto

lietuviško tekstyno ir eksperimentai su

statistiniais įverčiais pastoviųjų junginių

atpažinimui

Vadovas Prof. dr. Tomas Krilavičius

Darbas pristatytas Vytauto Didžiojo Universitetas,

Informatikos fakultetas, Kaunas

(2017-06-08)

Puslapių skaičius 38

N-gramos yra taikomos sprendžiant įvairias natūraliosios kalbos apdorojimo srities

problemas, o tarp jų ir siekiant atpažinti pastoviuosius junginius, bei gali būti reikalingos taikant

statistinius atpažinimo metodus. Šio darbo metu užsibrėžta sugeneruoti n-gramų sąrašą iš

surinkto lietuviško tekstyno ir atlikti eksperimentus su statistiniais įverčiais, kurie yra taikomi

pastoviųjų junginių atpažinimui. Išanalizavus, kokie simboliai sudaro iš „delfi.lt“ surinktą

tekstyną, sukurtos n-gramų generavimo taisyklės, kuriomis remiantis sugeneruotos n-gramos, kai

n=1,2,3,4. Po to atliktas n-gramų dažnių skaičiavimas ir sudarytos dažnių lentelės. Panaudojant

jas kiekvienai bigramai apskaičiuoti septyni įverčiai: abipusė informacija (PMI), logaritminio

tikėtinumo santykis (LLR), Dice ir logaritmuotas Dice koeficientai, T-testas, Chi-kvadratas ir

Phi-kvadratas. Išanalizuoti įverčių reikšmių pasiskirstymai ir rasti geriausi įverčių verčių

intervalai panaudojant F-Score matą kaip gerumo kriterijų. Galiausiai išbandytas „MWEtoolkit“

įrankis n-gramų generavimui ir įverčių skaičiavimui. Toliau ketinama tęsti eksperimentus su

bigramomis, trigramomis ir tetragramomis bei išbandyti mašininio mokymo metodus.

Page 72: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

72

9.6 Trečio tiriamojo darbo santrauka

Autorius Ieva Bumbulienė

Pavadinimas Mašininio mokymo metodų taikymas

lietuviškų pastoviųjų junginių atpažinimui

Vadovas Prof. dr. Tomas Krilavičius

Darbas pristatytas Vytauto Didžiojo Universitetas,

Informatikos fakultetas, Kaunas

(2017-12-20)

Puslapių skaičius 30

Automatinis pastoviųjų junginių atpažinimas – tai natūraliosios kalbos apdorojimo srities

uždavinys, kuris yra sprendžiamas taikant mašininio mokymo metodus. Šio darbo metu

išanalizuoti literatūros šaltiniai, aprašantys mašininio mokymo metodų taikymą sprendžiamo

uždavinio kontekste ir atlikti eksperimentai su trimis klasifikatoriais – Naive Bayes, Random

Forest ir SVM. Klasifikatorių apmokymui naudotos statistinės dvižodžių pastoviųjų ir

nepastoviųjų junginių savybės – tai 18 skirtingų statistinių įverčių ir lingvistinės savybės –

morfologinė informacija. Taip pat eksperimentai atlikti su 4 skirtingais kategorinės informacijos

kodavimo būdais ir klasių subalansavimo metodais (SMOTE kartu su ENN ir SMOTE su

Tomek). Geriausias rezultatas (F1 įverčio reikšmė 64%) eksperimentų metu pasiektas taikant

požymių maišą kategoriniams požymiams, duomenų mastelį transformuojant pagal kvantilius,

naudojant Naive Bayes klasifikatorių ir nepastoviuoju junginiu vadinant tokį, kurio tikimybė būti

nepastoviuoju yra 1. Po to suprojektuota ir realizuota duomenų bazė, kuri skirta pastoviųjų

junginių saugojimui. Ketinama toliau eksperimentuoti taikant mašininio mokymo metodus, ypač

gilųjį mokymą.

9.7 Publikacijos ir pranešimai 1. Bumbulienė I., Mandravickaitė J., Boizou L., Krilavičius T. 2017: An overview

of Lithuanian Internet media n-gram corpus. SYSTEM 2017: Symposium for Young Scientists

in Technology, Engineering and Mathematics. CEUR Workshop Proceedings, 24–28, http://ceur-

ws.org/Vol-1853/p05.pdf.

2. Savary, Agata; Ramisch, Carlos; Cordeiro, Silvio Ricardo; et al., 2017, Annotated

corpora and tools of the PARSEME Shared Task on Automatic Identification of Verbal

Page 73: VYTAUTO DIDŽIOJO UNIVERSITETAS Ieva Bumbulienė

73

Multiword Expressions (edition 1.0), LINDAT/CLARIN digital library at the Institute of Formal

and Applied Linguistics (ÚFAL), Faculty of Mathematics and Physics, Charles University,

http://hdl.handle.net/11372/LRT-2282. (Lietuvių kalbai - Kovalevskaitė J., Rimkutė E., Boizou

L., Bielinskienė A., ir Bumbulienė I.).

3. Bumbulienė I., Mandravickaitė J., Krilavičius T. 2017: Application of Machine

Learning for MWE Identification. The 9 th international workshop Data Analysis Methods for

Software Systems. Druskininkai, 2017 m. gruodžio 1 d.

4. Rimkutė E., Bielinskienė A., Boizou L., Bumbulienė I., Kovalevskaitė J.,

Krilavičius T., Mandravickaitė J., Vilkaitė L. 2017: Duomenų bazė lietuvių kalbos pastoviesiems

junginiams. 24-oji tarptautinė Jono Jablonskio konferencija Skaitmeniniai kalbos ištekliai, jų

plėtros kryptys ir panaudos galimybės. Lietuvių kalbos instituto Bendrinės kalbos tyrimų centras

ir Vilniaus universiteto Taikomosios kalbotyros instituto Lietuvių kalbos katedra. Vilnius, 2017

m. rugsėjo 29 d. http://mwe.lt/wp-content/uploads/2017/10/Jablonskio_konferencijos_tezes.pdf.

5. Bielinskienė A., Boizou L., Bumbulienė I., Kovalevskaitė J., Krilavičius T.,

Mandravickaitė J., Rimkutė E., Vilkaitė L. 2017: Lietuvių kalbos pastoviųjų junginių nustatymo

metodika ir aprašymo principai. LITAKOS asociacijos seminaras. Vilnius, Vilniaus universitetas,

2017 m. rugsėjo 8 d. http://mwe.lt/wp-content/uploads/2017/09/PASTOVU-projekto-

pristatymas_2017-09-08.pdf.

6. Rimkutė E., Kovalevskaitė J., Bielinskienė A., Boizou L., Krilavičius T.,

Mandravickaitė J., Bumbulienė I., Vilkaitė L. 2017: Lietuvių kalbos terminų ir kolokacijų

automatinis nustatymas. 2-oji tarptautinė mokslinė terminologijos konferencija Moksliniai,

administraciniai ir edukaciniai terminologijos lygmenys. Vilnius, Lietuvių kalbos institutas,

2017 m. birželio 1 d. http://mwe.lt/wp-

content/uploads/2017/09/TEZES_Moksliniai_administraciniai_ir_edukaciniai_terminologijos_ly

gmenys_2017.pdf.