primer geometrijske obravnave besediŠcaˇ

62
UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA JOŠT MLINARI ˇ C PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠ ˇ CA MAGISTRSKO DELO L JUBLJANA , 2019

Upload: others

Post on 02-Oct-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

UNIVERZA V LJUBLJANI

PEDAGOŠKA FAKULTETA

JOŠT MLINARIC

PRIMER GEOMETRIJSKE OBRAVNAVEBESEDIŠCA

MAGISTRSKO DELO

LJUBLJANA, 2019

Page 2: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ
Page 3: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

UNIVERZA V LJUBLJANI

PEDAGOŠKA FAKULTETA

ŠTUDIJSKI PROGRAM: DVOPREDMETNI UCITELJ

SMER: FIZIKA - MATEMATIKA

KANDIDAT: JOŠT MLINARIC

MENTOR: PROF. DR. MATIJA CENCELJ

SOMENTOR: DOC. DR. BOŠTJAN GABROVŠEK

PRIMER GEOMETRIJSKE OBRAVNAVEBESEDIŠCA

MAGISTRSKO DELO

LJUBLJANA, 2019

Page 4: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ
Page 5: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Zahvala

Iskreno se zahvaljujem mentorju prof. dr. Matiju Cenclju in somentorju doc. dr. Boštjanu

Gabrovšku iz Fakultete za strojništvo, za vse nasvete in ideje, pomoc pri programiranju, za

vodenje skozi magistrsko delo in za vse, s cimer sta pripomogla k nastanku magistrskega

dela.

Zahvala gre tudi partnerici, hcerki, staršem, sestri ter babici, za vso potrpežljivost in pod-

poro, ki so mi jo izkazali v vseh letih študija in me spodbujali vse do konca.

Page 6: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ
Page 7: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

POVZETEK

Pojem razdalje je eden izmed najosnovnejših pojmov v geometriji, ki ga spoznamo pri ge-

ometriji, že v nižjih razredih osnovne šole. Razdaljo pojmujemo kot numericno vrednost,

pridobljeno z merjenjem. V magistrskem delu sta predstavljeni dve funkciji razdalje med

besedami, ki temeljita na številu pojavitev besed v besedilih. Za nekaj množic besed izve-

demo grucenje z upoštevanjem definiranih funkciji razdalje.

Kljucne besede: razdalja, grucenje, jezik

i

Page 8: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

ABSTRACT

The concept of distance is one of the basic geometric concepts, taught already at the early

stages of elementary school. It is perceived as a numerical value obtained by measurement

with a gauge. Here two distance functions between words are introduced, based on statistics

of incidence in samples of texts. We cluster some sets of words in Slovenian language accor-

ding to the two distance functions.

Keywords: distance, cluster, language

AMS MSC(2010): 51K05, 91C20

ii

Page 9: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Kazalo

Kazalo slik 1

Kazalo programov 2

1 Uvod 3

2 Razdalja 4

2.1 Razlicni primeri razdalj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Razdalja v evklidski geometriji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3 Metrika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3.1 Metricni prostor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3.2 Manhattanska ali taksi metrika (1-norma) . . . . . . . . . . . . . . . . . . 7

2.3.3 Evklidska metrika (2-norma) . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3.4 Cebišova metrika (∞-norma) . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3.5 P-ta metrika (p-norma) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3.6 Diskretna metrika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3.7 Urejevalniška razdalja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4 Matrika razdalj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4.1 Evklidska matrika razdalj . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4.2 Poljubna matrika razdalj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.5 Razlicne metrike in matrike razdalj . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Grucenje podatkov 14

4 Algoritmi 14

4.1 Algoritem k - means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.2 Algoritem DBSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2.1 Osnova za algoritem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.2.2 Originalni algoritem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2.3 Prednosti DBSCAN algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2.4 Slabosti DBSCAN algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 DBSCAN algoritem in razlicne metrike 22

5.1 Evklidska metrika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5.2 Taksi metrika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5.3 Šahovska metrika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.4 Ugotovitve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6 Geometrijska obravnava jezika 26

6.1 Aplikacija Sketch Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

6.2 Iskanje in zapisovanje števila pojavitev . . . . . . . . . . . . . . . . . . . . . . . . 26

6.3 Razdalja med dvema besedama . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

6.3.1 Razdalja kot kolicnik preseka in unije števila pojavitev . . . . . . . . . . . 29

iii

Page 10: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

6.3.2 Razdalja kot kolicnik preseka in minimalnega števila pojavitev posame-

zne besede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

6.4 Lastnosti definirane razdalje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6.5 Matrika razdalj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6.6 Implementacija DBScan algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6.7 Program PAJEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

7 Primeri razdalj in gruc za razlicne nabore besed 36

7.1 Primerjava rezultatov za razlicno definirani razdalji . . . . . . . . . . . . . . . . . 36

7.2 Ugotovitve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

7.3 Primerjava grucenja z razdaljo MIN in z razdaljo urejanja. . . . . . . . . . . . . . 41

7.3.1 Dolocanje razdalje urejanja . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

7.3.2 Primerjava rezultatov grucenja . . . . . . . . . . . . . . . . . . . . . . . . . 42

7.4 Ugotovitve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

7.5 Grucenje sopomenk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

7.6 Analiza dveh skupin sorodnih besed . . . . . . . . . . . . . . . . . . . . . . . . . . 47

7.7 Analiza razlicnih oblik besed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

8 Zakljucek 51

Literatura 52

iv

Page 11: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Kazalo slik

1 Razdalja med tockama A in B s pomocjo Pitagorovega izreka. . . . . . . . . . . . 5

2 Manhattanska razdalja oziroma geometrija taksijev - vec krajših možnih poti. . 8

3 Kralj stoji na polju F6, številke na posameznih poljih pa prikazujejo Cebiševo

razdaljo med posameznim poljem in poljem F6. . . . . . . . . . . . . . . . . . . . 9

4 Tocke A, B in C v ravnini s pripadajocimi koordinatami in razdaljami. . . . . . . 11

5 Taksi razdalja med tockami A, B in C ter dolžine posameznih razdalj. S crno

barvo so narisane tudi daljice oziroma evklidske razdalje. . . . . . . . . . . . . . 12

6 Razlicne tocke. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

7 Tocka A kot jedro in njena okolica ε. . . . . . . . . . . . . . . . . . . . . . . . . . . 18

8 Okolice tock znotraj gruce. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

9 Okolica novih dveh tock gruce. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

10 Okolica tocke G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

11 Na levi strani je prikazana okolica dane tocke, na desni pa izvajanje DBSCAN

algoritma in iskanje okolic posameznih tock z uporabo evklidske metrike. Ob

pogoju minPts = 3, dobimo gruco treh tock (modra barva). . . . . . . . . . . . . 22

12 Levo je prikazana taksi okolica tocke, desno pa je prikazano izvajanje DBSCAN

algoritma in iskanje okolic posameznih tock z uporabo taksi metrike. Ob upo-

števanju pogoja minPts = 3, ne obstaja nobena gruca. . . . . . . . . . . . . . . . 23

13 Levo je prikazana okolica tocke z uporabo šahovske metrike, desno pa je za isto

metriko predstavljeno izvajanje DBSCAN algoritma in iskanje okolic posame-

znih tock. Ob upoštevanju pogoja minPts = 3 dobimo gruco vseh tock (tocke

znotraj modrih okolic). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

14 Okolice za vse tri metrike: rdeca - taksi, crna - evklidska in zelena - šahovska.

Tocka A leži v okolici ne glede na izbiro metrike, tocka B ne leži v okolici za

taksi metriko, tocka C pa leži le v okolici za šahovsko metriko. . . . . . . . . . . . 24

15 Zacetni zaslon aplikacije Sketch Engine, kjer lahko izberemo eno izmed osnov-

nih funkcij na podlagi naših potreb. . . . . . . . . . . . . . . . . . . . . . . . . . . 27

16 Slika zaslona iskalnika v aplikaciji Sketch Engine. . . . . . . . . . . . . . . . . . . 27

17 Izpis podatkov o grucah na zaslon. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

18 Diagram prikazuje besede ter z neposrednimi povezavami oznaci tiste, ki se-

stavljajo gruco za ε= 0.87 in mi nP t s = 3. . . . . . . . . . . . . . . . . . . . . . . . 36

19 Diagram gruc besed z uporabo razdalje MIN. . . . . . . . . . . . . . . . . . . . . 37

20 Diagram gruc besed z uporabo razdalje PU. . . . . . . . . . . . . . . . . . . . . . 37

21 Diagram gruc besed z uporabo razdalje MIN. . . . . . . . . . . . . . . . . . . . . 38

22 Diagram gruc besed z uporabo razdalje MIN. . . . . . . . . . . . . . . . . . . . . 38

23 Diagram gruc besed z uporabo razdalje MIN. . . . . . . . . . . . . . . . . . . . . 39

24 Diagram gruc besed z uporabo razdalje PU. . . . . . . . . . . . . . . . . . . . . . 40

25 Diagram gruc besed z uporabo razdalje PU. . . . . . . . . . . . . . . . . . . . . . 40

26 Diagram gruce z razdaljo urejanja, za vhodna parametra ε= 0.6 in mi nP t s = 3. 43

27 Diagram gruce z razdaljo urejanja, za vhodna parametra ε= 0.8 in mi nP t s = 3. 43

1

Page 12: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

28 Diagram gruce z razdaljo MIN za vhodna parametra ε= 0.941 in mi nP t s = 3. . 44

29 Diagram gruce z razdaljo MIN za vhodna parametra ε= 0.976 in mi nP t s = 3. . 44

30 Diagram gruce z razdaljo MIN za vhodna parametra ε= 0.998 in mi nP t s = 3. . 45

31 Diagram gruce z razdaljo MIN za vhodna parametra ε= 0.93 in mi nP t s = 4. . . 46

32 Diagram gruce z razdaljo PU za vhodna parametra ε= 0.99 in mi nP t s = 4. . . 47

33 Diagram prikazuje dve skupini besed. V prvi skupini so besede oziroma posa-

mezna podrocja znanosti, v drugi skupini pa so besedne vrste. . . . . . . . . . . 48

34 Prva najdena skupina besed sem in videl. . . . . . . . . . . . . . . . . . . . . . . . 49

35 Skupina besed sem, videl in šel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

36 Skupina besed sem, bil, šel in videl. . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Kazalo programov

1 Originalni DBSCAN algoritem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Zapis števila elementov v matriko 8×8. . . . . . . . . . . . . . . . . . . . . . . . . 28

3 Dolocanje min(M(A), M(B)) in zapis podatkov v matriko. . . . . . . . . . . . . . . 30

4 Izracun razdalj med posameznimi besedami in zapis matrik razdalj. . . . . . . . 31

5 Zapis besed v matriko (za izris diagrama in neposrednih povezav v programu

Pajek). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6 Vhodna pogoja ε in minPts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

7 Iskanje tock, ki predstavljajo jedra. . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8 Iskanje tock tock v okolici posameznih tock. . . . . . . . . . . . . . . . . . . . . . 34

9 Del kode za izpis potrebnih podatkov na zaslon. . . . . . . . . . . . . . . . . . . . 35

10 Dolocanje urejevalniške razdalje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2

Page 13: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

1 Uvod

V vsakdanjem življenju se neprestano srecujemo s pojmom razdalje, ceprav se tega sploh ne

zavedamo. Naj gre za urejanje prostora, velikost televizijskega ekrana, hojo, vožnjo z avtom,

ucenjem v šoli, vedno je prisotna razdalja. Obstajajo razlicne definicije razdalje, nam naj-

bližja pa je evklidska razdalja, ki predstavlja dolžino najkrajše poti med zacetno in koncno

tocko. Nas bo zanimala razdalja med posameznimi besedami, na podlagi katere bomo be-

sede združevali v skupine. Pri slovenšcini so posamezne besede razdeljene v družine na

podlagi korenov besed. Besedno družino tvorijo besede s skupnim korenom, to je skupna

osnovna pomenska sestavina. Besedno družino na primer sestavljajo matematika, mate-

maticen, matematik, matematizirati, saj imajo skupen koren besede matemati. Z vidika

slovenšcine besedne družine tvorimo na preprost nacin. Nas pa bo zanimalo, kako obliko-

vati družino oziroma gruco besed, kot bomo besedno družino v nadaljevanju imenovali mi,

z matematicnimi operacijami in postopki. Izkaže se, da je iz vidika matematike tvorjenje

besednih družin mnogo težje in zahteva veliko vec dela, kot tvorjenje s koreni besed. Poleg

definicij razdalj oziroma metrik bomo poskušali zapisati ustrezne metrike in matrike razdalj

med besedami, s katerimi bomo lahko dolocili razdalje med izbranimi besedami in na osnovi

le teh besede združevali v skupine.

3

Page 14: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

2 Razdalja

2.1 Razlicni primeri razdalj

Razdalja je številcni podatek, ki na podlagi meritev pove oddaljenost dveh tock, predmetov

v ravnini ali prostoru. V matematiki je razdaljna funkcija, ki ji pravimo metrika, posplošitev

pojma razdalje. To je funkcija, ki je odvisna od razlicnih pravil in opisuje elemente znotraj

razlicnih prostorov, opredeli ali so si elementi blizu ali ne. Obstaja veliko razlicnih razdalj,

poglejmo si nekatere definicije razdalj, ki jih lahko izmerimo:

• Razdalja dolocena kot dolžina najkrajše poti med dvema tockama (npr. navigacija).

• Razdalja dolocena kot dolžina poti med zacetno in koncno tocko ter nazaj do zacetne

tocke (npr. kroženje Zemlje okoli Sonca).

• Razdalja kot najkrajša možna pot med dvema tockama v prostoru, ce predpostavimo,

da med tockama ni nobenih ovir. Taki razdalji pogosto recemo evklidska razdalja.

• Razdalja Manhattan ali taksi razdalja.

Poleg razdalj, ki jih lahko izmerimo, pa obstajajo tudi teoreticne razdalje. V današnjih casih,

se pogosto v racunalništvu uporablja besedna zveza urejevalniška razdalja ("edit distance”)

med dvema besedama, ki predstavlja razdaljo med razlicnimi besedami ali drugace receno

doloci, kako povezani sta si dve besedi. Pri urejevalniški razdalji ne gre za povezanost besed v

pomenu, temvec gre za število crk v katerih se dve besedi locita, zato ta razdalja ni primerna

za dolocanje sorodnosti besed na osnovi pomena. Na primer, ce vzamemo besedi pes in pet.

Na prvi pogled bi rekli, da se ti dve besedi razlikujeta le v zadnji crki, urejevalniška razdalja

je torej 1. Na podlagi urejevalniške razdalje lahko trdimo, da sta ti besedi sorodni, saj se

razlikujeta le v eni crki. A po premisleku, oziroma na podlagi iger asociacij, bi hitro ugotovili,

da besedi pes in pet nista pretirano povezani, saj tudi nista sorodni besedi. Ugotovimo pa,

da je beseda pes veliko bližje besedi macka, saj se ti besedi velikokrat pojavita skupaj in tudi

na primer pri igri asociacij lahko ugotovimo, da si pogosto sledita, saj sta sorodni besedi,

poleg tega pa velikokrat koristimo besedi skupaj, na primer KOT PES IN MACKA. Primer teh

treh besed nam nazorno prikaže, da z uporabo urejevalniške razdalje ne moremo govoriti o

sorodnosti besed na podlagi pomena, saj majhna urejevalniška razdalja ne pomeni, da sta

dve besedi po pomenu sorodni.

2.2 Razdalja v evklidski geometriji

V geometriji locimo razdalje v ravnini, kjer so tocke definirane oziroma natanko dolocene z

dvema koordinatama T(x,y) in razdalje v prostoru, kjer so tocke natanko dolocene s tremi

koordinatami T(x,y,z). V analiticni geometriji razdaljo med tockama A(x1, y1) in B(x2, y2) v

ravnini R2 definiramo:

d(A,b) =√

(∆x)2 + (∆y)2 =√

(x2 −x1)2 + (y2 − y1)2. (1)

4

Page 15: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Razdalja med tockama je definirana s pravokotnim trikotnikom, v katerem velja Pitagorov

izrek. Razliki med x - koordinatama in y - koordinatama predstavljata kateti pravokotnega

trikotnika, sama razdalja med tockama pa predstavlja hipotenuzo. Da bo bralcu lažje razu-

mljivo, si poglejmo primer v ravnini s pomocjo slike 1.

Slika 1: Razdalja med tockama A in B s pomocjo Pitagorovega izreka.

Na sliki je z rdeco barvo oznacena razdalja med tockama A(x1, y1) in B(x2, y2). Pod razdaljo

narišemo pravokotni trikotnik tako, da je ena kateta vzporedna abscisi, druga pa ordinati.

Kateta k1 predstavlja razdaljo med koordinatama x2 in x1, kateta k2 pa predstavlja razdaljo

med koordinatama y2 in y1. Razdalja d(A,B) predstavlja hipotenuzo pravokotnega triko-

tnika, zato lahko razdaljo zapišemo kot Pitagorov izrek v enacbi (1).

Podobno lahko razdaljo definiramo tudi v prostoruR3 med tockama A(x1, y1, z1) in B(x2, y2, z2):

d(A,B) =√

(∆x)2 + (∆y)2 + (∆z)2 =√

(x2 −x1)2 + (y2 − y1)2 + (z2 − z1)2. (2)

2.3 Metrika

Metrika je v matematiki posplošitev pojma razdalje. Metrika podaja oddaljenost med ele-

menti dane množice. Množici, v kateri obstaja metrika, v matematiki recemo metricni pro-

stor.

Definicija. Metrika je preslikava, ki poljubnemu paru elementov x,y iz dane množice priredi

realno število d(x,y) z naslednjimi lastnostmi:

5

Page 16: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

1. d(x,y) ≥ 0 (nenegativnost),

2. d(x,y) = 0, ce in samo ce x = y, (enakost nerazdeljivosti)

3. d(x,y) = d(y,x) (simetricnost),

4. d(x,z) ≤ d(x,y) + d(y,z) (trikotniška neenakost).

2.3.1 Metricni prostor

Metricni prostor je v matematiki množica, v kateri je dolocena metrika - to je razdalja med

njenimi elementi, ki jim pravimo tudi tocke. Nam najbližje je 3-razsežni evklidski prostor.

V njem obstaja evklidska metrika, ki razdaljo med dvema tockama doloca kot dolžino da-

ljice, ki ju povezuje. Geometrija prostora je odvisna od izbrane metrike, zato lahko z izbiro

razlicnih metrik konstruiramo tudi neevklidske prostore.

Definicija. Metricni prostor M je množica tock s pripadajoco metriko d

d : M ×M −→R,

kjer je R množica realnih števil.

Poglejmo si nekaj metricnih prostorov:

• R je metricen prostor, ce definiramo razdaljo d(A,B) kot d(A,B) = |A−B |.

• C je metricen prostor za d(z, w) = |z −w |.

• Pozitivna realna števila R+ predstavljajo metricni prostor, ce razdaljo definiramo kot

d(A,B) =∣∣∣∣l og

(B

A

)∣∣∣∣Vsaka podmnožica Y metricnega prostora X , ki ima enako definirano razdaljo kot X , je tudi

metricni prostor, ki mu pravimo metricni podprostor prostora X . Poglejmo si nekaj prime-

rov metrik.

Definicija. Naj bo X vektorski prostor nad obsegom K. Funkcija || · || : X → R1+ je norma na

vektorskem prostoru X, X = (X , || · ||) pa normiran prostor nad obsegom

K

, ce so za poljubna elementa x, y ∈ X in poljuben α ∈K izpolnjeni aksiomi normiranega pro-

stora:

(N1) ||x|| ≥ 0 in ||x|| = 0, ce in samo ce je x = 0,

(N2) ||αx|| = |α| · |x| (homogenost),

6

Page 17: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

(N3) ||x + y || ≤ ||x||+ ||y || (trikotniška neenakost).

Bralca opomnimo, da zapis R1+ pomeni pozitivna realna števila.

Nam najbolj znana je 2-norma, ki ji recemo tudi evklidska norma. V n-razsežnem evklid-

skem prostoru Rn je dolžina vektorja −→x = (x1, x2, ..., xn) dolocena z:

||x|| =√

x21 +x2

2 + ...+x2n .

Poleg 2-norme obstajajo tudi druge, zato si splošno poglejmo kako je definirana p-norma.

To je posebna skupina norm, ki je za p ≥ 1 razdalja definirana kot:

||x||p =( n∑

i=1|xi |p

) 1p

.

Kot vidimo je od števila p odvisna stopnja potence in korena. Iz norme na naraven nacin

dobimo metriko po formuli d(A,B) = ||A−B ||.

2.3.2 Manhattanska ali taksi metrika (1-norma)

Manhattanska razdalja je razdalja, poimenovana po ulicah v predelu New York City-ja. Gre

za število blokov vzhod, zahod, sever in jug, ki jih mora taksi prevoziti, da bi prišel iz zacetne

tocke A do koncne tocke B . Pri tem se taksi lahko premika le gor, dol, levo in desno. Naj bo n-

razsežen prostor Rn in naj bo tocka A(a1, a2, ..., an) zacetna, tocka B(b1,b2, ...,bn) pa koncna

tocka. Potem je metrika oziroma razdalja med A in B definirana kot:

d(A,B) = |b1 −a1|+ |b2 −a2|+ ...+|bn −an |. (3)

Ne glede na to, po katerih "ulicah"potuje taksi, je razdalja vedno enaka, kar je razvidno iz

spodnje slike.

Z razlicnimi barvami, so izmerjene razlicne poti (rdeca, modra, rumena in zelena). Vidimo,

da je izmerjena razdalja vedno enaka, ne glede na to, po kateri poti gremo od tocke A(0,0)

do tocke B(5,5). Sedaj izracunajmo še taksi metriko po enacbi (3):

d(A,B) = |b1 −a1|+ |b2 −a2| = |5−0|+ |5−0| = 5+5 = 10.

Ugotovimo, da se izracunana razdalja d(A,B) ujema z vsemi izmerjenimi razdaljami na sliki

2.

2.3.3 Evklidska metrika (2-norma)

Obicajna razdalja v evklidski geometriji je evklidska metrika, oziroma evklidska razdalja.

Evklidsko metriko v 2- in 3-dimenzionalnem prostoru smo že zapisali z enacbama (1) in (2),

sedaj pa enacbo zapišimo še za razdaljo v n-razsežnem evklidskem prostoru Rn med toc-

kama A(a1, a2, ..., an) in B(b1,b2, ...,bn):

d(A,B) =√

(b1 −a1)2 + (b2 −a2)2 + ...+ (bn −an)2. (4)

7

Page 18: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 2: Manhattanska razdalja oziroma geometrija taksijev - vec krajših možnih poti.

2.3.4 Cebišova metrika (∞-norma)

Cebišova metrika oziroma razdalja je znana tudi kot šahovska razdalja. Metrika je defini-

rana v vektorskem prostoru, razdalja med vektorjema oziroma dvema tockama, je definirana

kot najvecja razlika posameznih koordinat. Naj bosta A(a1, a2, ..., an) in tocka B(b1,b2, ...,bn)

tocki v prostoru. Šahovska razdalja med tockama A in B je definirana kot:

D(A,B) = maxi

(|bi −ai |), (5)

kjer je vrednost i med 1 in n. Poglejmo si, kako je s Cebiševo razdaljo pri šahu. Številke v

poljih predstavljajo razdaljo (najvecja razlika posameznih koordinat) med položajem kralja

in posameznega polja, kar je razvidno na spodnji sliki.

2.3.5 P-ta metrika (p-norma)

Ce v enacbi (4) kvadriranje nadomestimo s p-to potenco in kvadratni koren s p-tim kore-

nom, dobimo p-to metriko, ki izhaja iz p-te norme v vektorskem prostoru:

dp (A,B) = p√

|b1 −a1|p +|b2 −a2|p + ...+|bn −an |p , (6)

kjer je p ≥ 1, saj v nasprotnem primeru ne gre za metriko, saj ne velja trikotniška neenakost.

2.3.6 Diskretna metrika

Diskretna metrika je najpreprostejša, najmanj natancna in zato tudi najmanj uporabna me-

trika, za katero velja:

8

Page 19: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 3: Kralj stoji na polju F6, številke na posameznih poljih pa prikazujejo Cebiševo razdaljo

med posameznim poljem in poljem F6.

1. d(x, y) = 0, ce in samo ce x = y ,

2. d(x, y) = 1, v vseh ostalih primerih.

Predstavljene metrike z izjemo diskretne metrike veljajo samo v evklidskem prostoru, ne

pa tudi v drugih množicah.

2.3.7 Urejevalniška razdalja

Urejevalniška razdalja med dvema besedama je razdalja, ki nam pove minimalno število po-

trebnih operacij, da besedi postaneta enaki. Te operacije so zamenjava, izbris in dodajanje

crke. Besedi riba in rabat imata urejevalniško razdaljo d = 2, saj moramo zamenjati drugo

crko ter besedi riba dodati oziroma besedi rabat odvzeti zadnjo crko. Da bo lažje razumljivo,

si poglejmo zgled dveh enako dolgih besed.

Razdaljo urejanja uporabimo v primeru dveh besed. Kot smo že omenili na zacetku, se be-

sedi pes in pet razlikujeta v eni crki. Torej je razdalja urejanja d(pes, pet ) = 1, saj moramo v

besedi pet zamenjati le crko t s crko s, da dobimo besedo pes.

2.4 Matrika razdalj

Kadar imamo vec kot dva elementa, razdalje med posameznimi elementi najlažje predsta-

vimo z matriko, ki ji pravimo matrika razdalj.

9

Page 20: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

2.4.1 Evklidska matrika razdalj

Za n tock v evklidskem prostoru je evklidska matrika razdalj matrika velikosti n ×n, katere

elementi so razdalje med temi tockami. Naj bo D evklidska matrika razdalj in naj bodo

x1, x2, ..., xn definirane kot tocke v m-dimenzionalnem prostoru, potem lahko elemente ma-

trike D zapišemo oziroma definiramo kot:

D = (di j ),

d 2i j = ||xi −x j ||22,

kjer || ||2 predstavlja 2-normo v prostoru Rm . Evklidsko matriko razdalj D potem zapišemo

kot:

D =

0 d 212 d 2

13 . . . d 21n

d 221 0 d23 . . . d 2

2n

d 231 d 2

32 0 . . . d 23n

......

.... . .

...

d 2n1 d 2

n2 d 2n3 . . . 0

.

Za lažje razumevanje zapisa v obliki matrike si poglejmo, kaj posamezen zapis predstavlja.

Vidimo, da ima matrika po diagonali vrednosti 0. Nicla v prvi vrstici pomeni, da je razdalja

med dvema enakima elementoma enaka 0. Ce pogledamo po stolpcih, v prvem stolpcu prva

vrednost d 221 predstavlja razdaljo med 1. in 2. elementom in je po definiciji seveda enaka

razdalji d 212, saj se razdalja ne spremeni, ce merimo razdaljo med A in B ali ce merimo raz-

daljo med B in A. Na splošno v zapisu ai j , vrednost i predstavlja zaporedno številko vrstice,

vrednost j pa številko stolpca. Zaradi prej omenjene definicije razdalje, da velja enakost

d(A,B) = d(B , A), je matrika simetricna.

2.4.2 Poljubna matrika razdalj

Ker obstajajo razlicno definirane razdalje, obstajajo tudi razlicne matrike razdalj. Tudi mi

bomo pri prakticnem delu magistrskega dela, razdalje zapisali v obliki matrike. Ta izgleda

podobno kot evklidska matrika razdalj.

D =

0 d12 d23 . . . d1n

d21 0 d23 . . . d2n

d31 d32 0 . . . d3n...

......

. . ....

dn1 dn2 dn3 . . . 0

.

V osnovi gre podobno kot pri evklidski matriki razdalj1, razdalje niso dolocene na podlagi

evklidske razdalje po enacbi (1), ampak bomo postopek dolocanja razdalj opisali in pojasnili

kasneje, pri prakticnem delu. Tako kot pri evklidski matriki razdalj, so tudi tukaj elementi

1Pri evklidski matriki razdalj navadno razdalje kvadriramo, zaradi lažjega izracuna (predvsem na racunal-

niku), pri poljubni matriki razdalj, pa vnesemo nekvadrirane razdalje.

10

Page 21: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

razporejeni enako v vrstice in stolpce in jih zapišemo kot di j . Zapis d12 torej oznacuje razda-

ljo med prvim in drugim elementom, ki je po definiciji razdalje enaka razdalji d21, ki ozna-

cuje razdaljo med drugim in prvim elementom. Na splošno zapis di j predstavlja razdaljo

med i -tim in j -tim elementom. Tudi tukaj so na diagonali matrike vrednosti enake 0, saj ve-

lja enako kot prej, torej d(A1, A1) = 0, prav tako je matrika prezrcaljena preko diagonale, saj

velja d(A1, A2) = d(A2, A1). V tej obliki bomo podali tudi razdalje med razlicnimi besedami.

2.5 Razlicne metrike in matrike razdalj

Evklidska metrika

Slika 4: Tocke A, B in C v ravnini s pripadajocimi koordinatami in razdaljami.

Razdalje dolocimo oziroma izracunamo po enacbi (1):

d(A,B) = d(B , A) =√

(5−0)2 + (3−0)2 =p25+9 =p

34.= 5,83

d(A,C ) = d(C , A) =√

(4−0)2 + (5−0)2 =p16+25 =p

41.= 6,40

d(B ,C ) = d(C ,B) =√

(4−5)2 + (5−3)2 =p1+4 =p

5.= 2,24

V poglavju 2.4.1 smo zapisali, da vnašamo v matriko kvadrirane razdalje, zato lahko razdalje

zapišemo kot:

d 2(A,B) = 34,

d 2(A,C ) = 41,

d 2(B ,C ) = 5.

Dolocili smo torej razdalje med posameznimi tockami. Po definiciji o razdalji, seveda velja

d(A, A) = 0, d(B ,B) = 0 in d(C ,C ) = 0. Sedaj, ko imamo dolocene vse razdalje, lahko zapi-

šemo evklidsko matriko razdalj.

D =

0 34 41

34 0 5

41 5 0

Vidimo, da je matrika simetricna in ima po diagonali vrednosti 0. Ker smo zapisali evklidsko

matriko razdalj treh tock A, B in C , je matrika razsežnosti 3×3.

11

Page 22: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Taksi metrika

Izracunali bomo taksi metriko za tocke A, B in C iz slike 4 in zapisali matriko razdalj. Kot

smo ugotovili, ni pomembno po kateri poti potujemo med dvema tockama, zato sem med

tockami izbral najbolj preproste poti, kar je razvidno na sliki 5. Izracunajmo še taksi razdalje

Slika 5: Taksi razdalja med tockami A, B in C ter dolžine posameznih razdalj. S crno barvo so

narisane tudi daljice oziroma evklidske razdalje.

med tockami A(0,0), B(5,3) in C (4,5):

d(A,B) = |5−0|+ |3−0| = 5+3 = 8,

d(A,C ) = |4−0|+ |5−0| = 4+5 = 9,

d(B ,C ) = |4−5|+ |5−3| = 1+2 = 3.

Ce upoštevamo definicijo razdalje, lahko zapišemo matriko razdalj D :

D =

0 8 9

8 0 3

9 3 0

.

Šahovska razdalja

Po enacbi (5) izracunamo šahovsko razdaljo za tocke A, B in C iz slike 4:

d(A,B) = max(|5−0|, |3−0|) = max(5,3) = 5,

d(A,C ) = max(|4−0|, |5−0|) = max(4,5) = 5,

d(B ,C ) = max(|4−5|, |5−3|) = max(1,2) = 2.

Ob upoštevanju definicije razdalje, lahko zapišemo matriko razdalj D :

D =

0 5 5

5 0 2

5 2 0

.

12

Page 23: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Diskretna metrika

Kot smo rekli, sta pri diskretni metriki dve možnosti. Kadar velja x = y , je razdalja d(x, y) = 0,

v vseh ostalih primerih pa je razdalja enaka d(x, y) = 1. Torej lahko matriko razdalj med

tockami A, B in C zapišemo kot:

D =

0 1 1

1 0 1

1 1 0

.

Ugotovitve

Primerjajmo posamezne matrike razdalj. Sledijo si evklidska, taksi, diskretna in šahovska: 0 34 41

34 0 5

41 5 0

6=

0 8 9

8 0 3

9 3 0

6=

0 1 1

1 0 1

1 1 0

6=

0 5 5

5 0 2

5 2 0

.

Uporabili smo iste tocke A, B in C , a pri primerjavi vseh štirih matrik razdalj ugotovimo, da

so razlicne. Ugotovimo torej, da so razdalje med posameznimi tockami in posledicno ma-

trike razdalj odvisne od izbrane metrike oziroma kako smo definirali razdaljo.

Poudariti je potrebno, da izbira metrike za obravnavo konkretnega primera ni povsem po-

ljubna. Potrebno je preuciti problem, ki ga želimo razrešiti in temu primerno izbrati ustrezno

metriko.

Na primer, ce želimo pri šahu izracunati razdaljo in prešteti potrebno število premikov kralja,

do poljubnega polja, ne bomo uporabili evklidske ali taksi metrike, ampak bomo uporabili

šahovsko metriko, saj nam prvi dve metriki ne pomagata rešiti problema, ki nas zanima. Prav

tako pri vožnji po pravokotnih in vzporednah cestah ne bomo izbrali evklidske ali šahovske

metrike, saj je temu primeru primerna taksi metrika. Evklidsko metriko pa uporabljamo v

geometriji v osnovni šoli, kadar želimo izracunati razdaljo med dvema tockama, daljicama,

premicama,...

Vidimo torej, da moramo dobro poznati problem in vedeti, kaj želimo doseci, da temu pri-

merno izberemo ustrezno metriko, da bodo naši izracuni in ugotovite uporabne in natancne.

13

Page 24: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

3 Grucenje podatkov

Grucenje podatkov je postopek oziroma proces, s katerim objekte razporedimo v skupine,

glede na skupne znacilnosti. Torej, objekti znotraj iste skupine oziroma gruce imajo vec

skupnih lastnosti v primerjavi z objekti, ki so zunaj. Grucenje podatkov je glavni proces, s

katerim znotraj vecje kolicine podatkov odkrivamo dolocene vzorce s skupnimi lastnostmi

oziroma znacilnostmi. Postopek se uporablja na številnih podrocjih, kot so prepoznavanje

iskalnih vzorcev v racunalništvu, prepoznavanje vzorcev, analiziranje slik, krcenju velikosti

podatkov, racunalniški grafiki,...

Grucenje podatkov samo po sebi ni specificen algoritem, s katerim bi analizirali podatke,

ampak je to naša osnovna naloga oziroma problem, ki ga želimo rešiti. Zato obstaja vec spe-

cificnih algoritmov, s katerimi lahko analiziramo podatke. Vsi algoritmi niso primerni za vse

vrste podatkov, zato ima vsak algoritem svoje znacilnosti, prednosti in slabosti, zaradi cesar

je vsak primeren za svojo vrsto podatkov. Algoritmi temeljijo na preucevanju razdalj med

podatki, gostoto podatkov v danem obmocju. Ker so razlicni algoritmi primerni za doloceno

vrsto podatkov, to ni avtomaticni proces, ampak je potrebno dovolj znanja o podrocju ozi-

roma podatkih za analizo, da lahko izberemo ustrezen algoritem, da bodo naši rezultati za

dolocen problem cimbolj natancni in uporabni. Poglejmo si nekaj najbolj znanih algoritmov.

4 Algoritmi

Algoritme grucenja razlikujemo glede na nacin povezovanja ali razvršcanja tock. In sicer

locimo med modeli grucenja, ki temeljijo na:

• dolocanju središc grup,

• povezovanju glede na razdalje med tockami,

• gostoti tock,

• porazdelitvi tock,

• tockah in atributih tock,

• pravilih povezovanja,

• na grafih.

Obstaja veliko razlicnih algoritmov, pa si na kratko poglejmo nekatere izmed njih.

4.1 Algoritem k - means

Gre za metodo kvantizacije, algoritem pa uvršcamo med particijske algoritme. Algoritem se

uporablja pri rudarjenju podatkov. Podatke razvršca v k razredov, na osnovi vsote oddalje-

nosti podatkov od središc gruc tako, da je ta minimalna. Poglejmo si definicijo argumenta

minimuma.

14

Page 25: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Definicija. Naj bo X poljubna množica in f : X →R funkcija, ki preslika elemente množice X.

Potem je funkcija

argminx∈S⊆X

f (x) = {x|x ∈ S ∧∀y ∈ S : f (y) ≥ f (x)}. (7)

funkcija, ki vrne element iz podmnožie S ⊆ X , za katerega je vrednost funkcije najmanjša.

Algoritem k-means sedaj lahko zapišemo kot minimizacijski problem:

argminS

k∑i=1

∑x j∈Si

||x j −µi ||2.

S - množica gruc,

k - število gruc,

i - indeks gruce,

x j - tocka j gruce Si ,

µi - središce gruce i (središca so znana v naprej).

Leta 1957 je idejo za algoritem razvil Hugo Steinhaus, standardni algoritem pa je istega leta

prvic predstavil Stuart Lloyd. Ime algoritma k - means, pa se prvic uporabi 10 let kasneje, ko

je leta 1967 James McQueen poimenoval algoritem k - means. Za prvo uradno obavo algo-

ritma k - means je bilo potrebnih 25 let, saj je bil za javnost objavljen šele leta 1982, ceprav

je že leta 1965 E. W. Forgy objavil algoritem, a ne pod istim imenom. Zaradi razlicnih ob-

jav, algoritem velikokrat omenjamo Lloyd - Forgy algoritem. Poleg teh dveh obstaja še veliko

drugih algoritmov.

Omenimo dve pomembni slabosti algoritma k - means. Prva izmed slabosti je, da moramo

kot vhodni parameter navesti število gruc, kar pa ni preprosto, saj v splošnem ne vemo, ko-

liko gruc je optimalnih. Druga slabost, ki jo je vredno omeniti pa je, da algoritem ne zazna

gruc, ki so znotraj drugih gruc.

4.2 Algoritem DBSCAN

Algoritem DBSCAN (Density-based spatial clustering of applications with noise) bomo pri

analiziranju podatkov uporabili tudi mi, zato si ga bomo ogledali podrobneje. Leta 2014 je

na vodilnem kongresu rudarjenja podatkov prejel nagrado "Test of time", ki jo prejme izbran

algoritem, ki je najpogosteje uporabljen tako v teoriji kot tudi v prakticnih namenih.

Tako kot k - means, tudi algoritem DBSCAN uvršcamo med particijske algoritme in je eden

izmed najpogosteje uporabljenih algoritmov.

Algoritem preiskuje sosešcine oziroma okolice tock. Drugi pomemben kriterij oziroma pa-

rameter pa je minimalno število tock v okolici. Casovna zahtevnost algoritma je odvisna od

casovne zahtevnosti preiskovanja okolice posamezne tocke, kar lahko zmanjšamo z uporabo

matrike razdalj, kar pa bistveno poveca potrebe po pomnilniku. Prednosti algoritma sta, da

nismo omejeni s številom gruc ter njihovo obliko.

Omenili smo, da algoritem DBSCAN potrebuje dva vhodna parametra:

15

Page 26: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

1. Okolica ε - podaja maksimalno razdaljo okoli jedra, znotraj katere mora biti zadostno

število tock.

2. Minimalno število tock (minPts) - število tock (skupaj z jedrom), ki so potrebne za ob-

stoj gruce.

4.2.1 Osnova za algoritem

V osnovi gre pri algoritmu DBSCAN za razvršcanje posameznih tock (objektov) v množice,

na podlagi skupnih znacilnosti. Tocke so opredeljene in klasificirane kot:

• jedro,

• neposredno dosegljive tocke (glede na oddaljenost znotraj gruce) oziroma mejne tocke,

• tocke, ki ležijo izven gruce.

1. Tocka p je tocka jedra, ce v njeni ε-okolici leži najmanj minPts tock (znotraj metricne kro-

gle z radijem ε in središcem p).

2. Tocka q je neposredno dosegljiva iz tocke p, ce leži znotraj ε-okolice tocke p in ce je tocka

p definirana kot jedro.

3. Vse tocke, ki niso neposredno dosegljive iz tocke p, oziroma ne ležijo v njeni ε-okolici

so tocke, ki ležijo izven gruce z jedrom p.

Potrebno se je zavedati, da jedro gruc ni isto kot središce krogle, okolica pa ni enaka radiju

sfere, zato tudi mejne tocke niso kar tocke na metricni sferi.

16

Page 27: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

4.2.2 Originalni algoritem

Program 1: Originalni DBSCAN algoritem.

1 DBSCAN(DB, distFunc , eps , minPts ) {

2 C = 0 % s t e t j e mnozic grucenja

3 for each point P in database DB {

4 i f l a be l (P) = ! undefined then continue % prej uporabljene tocke v

notranj i zanki

5 Neigbors N = RangeQuery (DB, distFunc , P , eps ) % iskanje sosedov

6 i f |N| < minPts then { % preverjanje gostote tock

7 l a be l (P) = Noise % dodelitev zunanje tocke

8 continue

9 }

10 C = C + 1 % preverjanje naslednjega

11 l a be l (P) = C % oznaka zacetne tocke

12 Seed set S = N \ {P} % r a z s i r i t e v sosedov

13 for each point Q in S { % pregled vseh tock znotraj mnozice S

14 i f l a be l (Q) = Noise then l a be l (Q) = C % dolocitev mejne tocke

15 i f l a be l (Q) =! undefined then continue % prej uporabljene

tocke

16 l a be l (Q) = C % dolocitev soseda

17 Neigbors N = RangeQuery (DB, distFunc , Q, eps ) % iskanje

sosedov

18 i f |N| > minPts then { % preverjanje gostote tock

19 S = s join N % dodajanje soseda v mnozico S

20 }

21 }

22 }

23 }

Za lažje razumevanje DBSCAN algoritma, lahko postopek algoritma oziroma namen zapi-

šemo po korakih:

1. Najprej poišcemo tocko, ki ima v svoji okolici ε minimalno število tock. Jedra so vse

tocke, ki imajo v svoji okolici ε vec kot minimalno število tock (minPts).

2. Ko dobimo jedro in tocke v njeni okolici, za vsako tocko znotraj gruce preverimo, ce

ima v svoji okolici ε vsaj minimalno število tock. Ce ima zadostno število tock, nastopa

kot jedro gruce, drugace pa je to mejna tocka.

3. Ko dodajamo nove tocke v gruco, zopet preverimo, ce ima v svoji okolici vsaj mini-

malno število tock.

4. Ko pridemo do tocke, ki je znotraj gruce, a v svoji okolici nima dovolj tock, je to mejna

tocka.

17

Page 28: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

5. Vse ostale tocke, ki niso jedra ali mejne tocke, so tocke izven gruce oziroma tocke, ki

niso neposredno dosegljive iz gruce.

Da bo bralcu lažje razumljivo, si postopek algoritma DBSCAN poglejmo še s pomocjo slik.

Poleg množice tock, dolocimo še parametra ε= 1 in mi nP t s = 4. Torej, tocka je jedro, ce so

vsaj še 3 tocke od nje oddaljene manj kot 1 enoto, saj za minimalno število tock štejemo tudi

jedro. Uporabili bomo evklidsko razdaljo, torej je okolica ε dolocena s krožnico.

Slika 6: Razlicne tocke.

Naj bo tocka A prvo potencialno jedro gruce. Preverimo, ce v njeni okolici leži dovolj tock,

da ustreza pogoju mi nP t s = 4 (slika 7).

Slika 7: Tocka A kot jedro in njena okolica ε.

Vidimo, da poleg tocke A v njeni okolici ležijo še 3 tocke. Torej je tocka A res jedro gruce.

Sedaj, ko smo dobili gruco, preverimo za vse tocke v okolici jedra, ce imajo v svoji okolici

zadostno število tock, da predstavljajo jedro (slika 8).

18

Page 29: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 8: Okolice tock znotraj gruce.

Vidimo, da je v okolici obeh rdecih tock vsaj minimalno število tock, zato sta tudi ti dve tocki

jedri. V okolici tocke E , pa ni dovolj tock, torej pogoj o minimalnem številu tock ni izpolnjen.

Taki tocki recemo mejna tocka, saj leži v gruci, a ne predstavlja jedra. Sedaj preverimo še

okolici novih dveh tock.

Slika 9: Okolica novih dveh tock gruce.

Iz slike je razvidno, da je v okolici rdece tocke dovolj tock, da postane jedro, v okolici tocke

F pa ni dovolj tock, zato je tudi tocka F mejna tocka (slika 9). Ostane nam še tocka G. Preve-

rimo okolico tocke G (slika 10)

19

Page 30: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 10: Okolica tocke G .

Vidimo, da v okolici tocke G ni nobene tocke, prav tako pa tocka G ni v okolici ε nobene iz-

med tock znotraj gruce. Zato tocka G ne pripada gruci in ji recemo tocka izven gruce.

Torej, gruco sestavljajo rdece tocke in vijolicni tocki E in F. Za vse tocke znotraj gruce ve-

lja, da so neposredno dosegljive iz jedra. Iz tock E in F, ne moremo nadaljevati naprej, saj v

njunih okolicah ne leži dovolj tock, zato sta ti dve tocki mejni. V tocko G pa ne moremo priti

neposredno iz jedra, zato je to tocka izven gruce.

4.2.3 Prednosti DBSCAN algoritma

• V nasprotju s k - means algoritmom, DBSCAN ne potrebuje specificnega števila gruc.

• Algoritem prepozna poljubno oblikovane gruce, prepozna celo gruco, ki je v celoti zno-

traj neke druge gruce.

• Ima definiran pojem motenj in strogo loci tocke izven gruce, kar pomeni, da ni nujno,

da poljubna tocka pripada katerikoli gruci.

• Algoritem potrebuje le dva parametra in velja za enega najobcutljivejših algoritmov za

obdelavo podatkov.

• Parametra minPts in ε lahko poljubno spreminjamo, seveda ce dobro razumemo po-

datke.

4.2.4 Slabosti DBSCAN algoritma

• Ni popolnoma deterministicen algoritem, kar pomeni, da lahko neka tocka pripada

vec kot eni gruci. Ce mejne tocke opredelimo kot motnje oziroma tocke izven gruce,

lahko to slabost nekoliko reduciramo.

20

Page 31: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

• Kvaliteta grucenja je odvisna od merjenja oziroma dolocanja razdalj. Najpogosteje se

uporablja Evklidska razdalja, problem pa nastane pri vecdimenzionalnih podatkih.

• Ce ne razumemo dobro podatkov, je zelo težko ali skoraj nemogoce dolociti okolico ε.

21

Page 32: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

5 DBSCAN algoritem in razlicne metrike

Sam algoritem DBSCAN se seveda pri spremembi metrike ne spremeni. Algoritem raziskuje

tocke in njihove okolice, doloca jedra, mejne tocke in tocke izven gruce. Edino, kar se spre-

meni, so oblike okolic okoli posameznih tock, odvisno od metrike, ki jo izberemo.

5.1 Evklidska metrika

Evklidsko metriko smo si ogledali že v prejšnjem poglavju, kjer smo si s pomocjo slik ogledali,

kako DBSCAN algoritem sploh deluje. Torej, okolica tocke pri evklidski metriki v ravnini ima

obliko kroga, saj je krog množica tock, ki so od središca oddaljene za najvec polmer. Torej

gre za krog s polmerom r = ε. Poglejmo si na spodnji sliki.

Slika 11: Na levi strani je prikazana okolica dane tocke, na desni pa izvajanje DBSCAN algo-

ritma in iskanje okolic posameznih tock z uporabo evklidske metrike. Ob pogoju minPts = 3,

dobimo gruco treh tock (modra barva).

5.2 Taksi metrika

Pri taksi metriki v ravnini ne racunamo razdalje tako kot pri evklidski metriki, pac pa je razda-

lja med dvema tockama enaka vsoti razlik v koordinatah x in y , kar je predstavljeno v enacbi

(3).

Ce spremenimo samo eno koordinato središcne tocke naenkrat, se seveda ta lahko spremeni

za ±ε. Torej, ce ima poljubna tocka koordinati (x, y), imajo 4 tocke, ki ležijo ravno na robu

okolice ε koordinate: (x +ε, y), (x −ε, y), (x, y +ε) in (x, y −ε). Ce povežemo te štiri tocke, do-

bimo okolico v obliki kvadrata (zasukanega za 45°okrog presecišca diagonal). Poglejmo si na

spodnji sliki obliko okolice za manhattansko metriko in prikaz iskanja okolic z algoritmom

DBSCAN.

22

Page 33: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 12: Levo je prikazana taksi okolica tocke, desno pa je prikazano izvajanje DBSCAN al-

goritma in iskanje okolic posameznih tock z uporabo taksi metrike. Ob upoštevanju pogoja

minPts = 3, ne obstaja nobena gruca.

5.3 Šahovska metrika

Omenili smo, da se šahovska razdalja izracuna kot najvecja razlika posameznih koordinat,

kar je definirano v enacbi (5). Po premisleku so torej v okolici tocke s koordinatama (x, y)

vse tocke, katerim se koordinati spremenita za najvec ε, torej imajo robne koordinate x±ε in

y ±ε. Izberimo si štiri tocke s koordinatami, ki so najbolj oddaljene od tocke (x, y): (x −ε, y −ε), (x−ε, y+ε), (x+ε, y+ε) in (x+ε, y−ε). Po premisleku ugotovimo, da so te štiri tocke oglišca

kvadrata, ki predstavlja okolico ε tocke (x, y). Za lažje razumevanje si poglejmo na spodnji

sliki.

23

Page 34: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 13: Levo je prikazana okolica tocke z uporabo šahovske metrike, desno pa je za isto

metriko predstavljeno izvajanje DBSCAN algoritma in iskanje okolic posameznih tock. Ob

upoštevanju pogoja minPts = 3 dobimo gruco vseh tock (tocke znotraj modrih okolic).

5.4 Ugotovitve

Vidimo, da se z izbiro metrike spremeni oblika okolice ε. Torej poleg izbire množice tock,

okolice ε in minimalnega števila tock mi nP t s, na obliko gruce in njene elemente, mocno

vpliva tudi izbira ustrezne metrike. Ce primerjamo izvajanje algoritma DBSCAN z razlicnimi

metrikami, ugotovimo, da se pri popolnoma enakih vhodnih pogojih, obstoj oziroma veli-

kost gruce spremeni glede na izbiro metrike, kar je razvidno na slikah 11, 12 in 13. Da bo

lažje razumljivo, si poglejmo še sliko 14, na kateri so prikazane okolice za vse tri metrike.

Slika 14: Okolice za vse tri metrike: rdeca - taksi, crna - evklidska in zelena - šahovska. Tocka

A leži v okolici ne glede na izbiro metrike, tocka B ne leži v okolici za taksi metriko, tocka C

pa leži le v okolici za šahovsko metriko.

24

Page 35: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Kot smo omenili že pri poglavju o metrikah, je tudi pri izvajanju algoritma potrebno izbrati

ustrezno metriko na podlagi problema oziroma naloge, saj so od tega odvisne smiselnost,

natancnost in uporabnost naših rezultatov.

25

Page 36: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

6 Geometrijska obravnava jezika

Ustreznost definicij razdalj med besedami bomo preizkusili tudi prakticno. Najprej si bomo

izbrali osem besed: matematika, algebra, množenje, seštevanje, enacba, geometrija, premica

in daljica. Naša naloga je, dolociti besede med katerimi so razdalje dovolj majhne, da tvorijo

gruco oziroma so med seboj sorodne.

V osnovi, bomo razdaljo dolocili na podlagi število najdenih besed, s pomocjo spletne apli-

kacije Sketch Engine. Spletna aplikacija na spletu poišce število pojavitev iskanih besed na

spletnih straneh, ki so v bazi aplikacije, odvisno od izbranega kriterija.

6.1 Aplikacija Sketch Engine

Aplikacija Sketch Engine je uporabno orodje na podrocju raziskovanja jezika. Ponuja nam

velik izbor funkcij, s katerimi lahko raziskujemo besedišce na spletu v razlicnih jezikih, tudi

v slovenšcini. S funkcijo "Thesaurus" lahko poišcemo besede, ki so sorodne iskani besedi.

Poleg števila iskane besede, nam aplikacija ponudi število pojavitev, ki vsebujejo sorodne

besede. Poleg tega, lahko hkrati išcemo in primerjamo število ustreznih pojavitev za dve be-

sedi hkrati. Med kriteriji iskanja je veliko možnosti, išcemo lahko besedo, frazo, posamezno

crko, lemo,... Poleg tega lahko izberemo tudi besedno vrsto, torej ali se beseda pojavlja kot

samostalnik, pridevnik, prislov itd. Mi bomo uporabili kriterij lema. Pri iskanju s kriterijem

beseda, aplikacija poišce število pojavitev, kjer je beseda zapisana identicno, kot jo mi vpi-

šemo v iskalnik, v primeru da išcemo s kriterijem lema, pa aplikacija upošteva tudi zadetke,

kjer je beseda zapisana z razlicnimi koncnicami. Torej ne išce na primer samo besede mate-

matika, ampak tudi oblike matematike, matematiki,.... Potrebno je opozoriti, da tukaj ne gre

za matematico lemo. Pri iskanju dveh besed hkrati, lahko definiramo tudi ali morata biti dve

besedi sosedni, torej v besedilu stojita ena za drugo, lahko pa tudi dolocimo maksimalno

število besed, ki stojijo v besedilu med iskanima besedama. Pri uporabi funkcije Concor-

dance lahko izberemo naprednejše iskanje, kjer z ukazi lahko išcemo s podrobnimi pogoji,

da dobimo samo število pojavitev, ki ustrezajo našim željam oziroma potrebam.

6.2 Iskanje in zapisovanje števila pojavitev

Pri iskanju bomo uporabili tri pogoje: dve besedi hkrati in vsaj ena od dveh besed in ena be-

seda. Število pojavitev s pogojem dve besedi hkrati bomo v nadaljevanju omenjali kot presek,

število pojavitev s pogojem vsaj ena od dveh besed pa kot unijo.

Število pojavitev bi lahko vpisovali v dve razlicni matriki, a pri izbiri osmih besed je potrebno

vpisati kar 64 razlicnih podatkov. Zato bomo število pojavitev zapisovali v dve tekstovni da-

toteki, s programskim jezikom Octave pa bomo zapisali program, ki bo na podlagi teh dveh

datotek izracunal posamezni matriki, s katerima bomo kasneje izracunali razdalje.

Podatke vpišemo enega pod drugim. Ne glede na to, ali želimo zapisati matriko razdalj za

število pojavitev za presek ali unijo, je postopek enak. V eni datoteki zapisujemo podatke za

26

Page 37: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 15: Zacetni zaslon aplikacije Sketch Engine, kjer lahko izberemo eno izmed osnovnih

funkcij na podlagi naših potreb.

Slika 16: Slika zaslona iskalnika v aplikaciji Sketch Engine.

presek, v drugi pa za unijo. Izbrali smo si osem besed, zato bomo najprej eno pod drugim

zapisali število pojavitev posamezne besede v relaciji2 z besedo matematika. Prvih osem

podatkov predstavlja v našem primeru število pojavitev v preseku za besedo matematika

z vsemi ostalimi besedami (besede po vrsti so: matematika, algebra, množenje, seštevanje,

enacba, geometrija, premica in daljica). Najprej torej zapišemo število pojavitev, kjer se poja-

2Z besedo relacijo mislimo torej presek ali unijo. Torej število objav, v katerih se dve besedi pojavita skupaj

oziroma število objav, kjer se pojavlja vsaj ena od obeh besed. Kot smo že omenili, je postopek zapisovanja

popolnoma enak v obeh primerih.

27

Page 38: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

vita besedi matematika in matematika, v drugi vrstici je število pojavitev za besedi matema-

tika, algebra. Ko zapišemo v našem primeru vseh osem števil, ki se navezujejo na primerjavo

števila pojavitev z besedo matematika in ostalimi besedami, zacnemo vpisovati število poja-

vitev za besedo algebra in ostale besede. Ker smo število pojavitev za besedi matematika in

algebra zapisali že v iskanju števila posameznih besed v relaciji z besedo matematika, nam ni

potrebno ponovno vpisati. Na splošno nam ni potrebno dvakrat vpisati razdaljo med dvema

istima besedama, saj bo na podlagi teh dveh datotek program zapisal simetricni matriki. To

lahko storimo, saj smo že veckrat omenili, da je po definiciji razdalja med A in B enaka raz-

dalji med B in A. Za vsako naslednjo besedo moramo torej zapisati en podatek manj, saj je

ekvivalenten podatek bil vpisan že prej. Torej, ce smo na primer že zapisali število pojavitev

obeh besed matematika in enacba, nam ni potrebno zapisati še števila pojavitev v preseku

besed enacba in matematika, saj na število pojavitev ne vpliva vrstni red iskanih besed.

Razumljiv je, da je število pojavitev dveh istih besed enako v obeh primerih. Ko zapišemo

število pojavitev tako za unijo, kot tudi za presek besed, lahko te podatke zapišemo v ma-

triko dimenzije 8×8. Poglejmo si kodo programa in pojasnimo bistvene dele programa.

Program 2: Zapis števila elementov v matriko 8×8.

1 cl c

2 clear a l l

3 A = importdata ( ’ or . t x t ’ , ’ ’ , 0 ) ; % nalozimo podatke i z izbrane datoteke

4 m = s i z e (A, 1 ) ; % v e l i k o s t matrike

5 n = 8 ; % 8 besed bo t v o r i l o matriko 8 x 8

6 U = [ ] ;

7 s t = 1 ; % zaporedno s t e v i l o elementa i z datoteke , ki smo jo n a l o z i l i kot

matriko A

8 for i = 1 : n % v r s t i c e v matriki

9 VR = [ ] ; % posamezna v r s t i c a koncne matrike unije a l i preseka

10 for j = 1 : n % v s i s t o l p c i v matriki

11 i f 1 <= j % za vse podatke , ki j i h se nismo v p i s a l i v matriko

12 VR = [VR, A( s t ) ; ] ;

13 s t = s t + 1 ;

14 else % ce j e podatek ze b i l vpisan v matriko U, ga prepisemo i z

matrike U same

15 VR = [VR, U( j , i ) ] ;

16 endif

17 endfor

18 U = [U;VR ] ; % posamezno v r s t i c o dodamo v matriko U

19 endfor

20 U

21 save unija . mat U % shranimo matriko U

Najprej naložimo ustrezno datoteko, glede na to, ali želimo matriko števila podatkov za pre-

sek ali unijo dveh besed (3. vrstica). Podatki se zapišejo v matriko A dimenzije 1×n, kjer je

n število izbranih besed. Nadaljni postopek je enak v obeh primerih, na koncu le shranimo

28

Page 39: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

matriko pod imenom presek ali unija. V for zanki med vrsticama 9 in 26, program prebira

posamezne elemente iz matrike A in jih postavlja na ustrezno mesto v vrstici V R, kasneje

pa vrstico doda v matriko U (24. vrstica). V vrstici 13 imamo pogoj, torej ce podatka nismo

še zapisali v matriko U, ustrezen podatek prepiše iz matrike A. V kolikor pa smo podatek že

zapisali v matriko U, potem ustrezen podatek program prepiše kar iz matrike U same. S tem

smo si olajšali delo, saj nam ni bilo potrebno podatkov zapisovati v matriko rocno in dvakrat

za razlicen vrstni red dveh besed, saj je to namesto nas naredil program, ki smo ga zapisali.

Sedaj, ko imamo dve matriki moramo dolociti še razdaljo med dvema besedama.

6.3 Razdalja med dvema besedama

V tem poglavju bomo definirali dve razdalji med besedami.

6.3.1 Razdalja kot kolicnik preseka in unije števila pojavitev

Ker besede nimajo koordinat na podlagi katerih bi lahko dolocili razdaljo, bomo razdaljo

besed definirali kot:

d(A,B) = 1− |M(A)∩M(B)||M(A)∪M(B)| , (8)

kjer je M(A) množica pojavitev besede A in M(B) množica pojavitev besede B . Torej M(A)∩M(B) predstavlja presek obeh množic, kjer se skupaj pojavita obe besedi, M(A)∪M(B) pa

unijo obeh množic, torej vsebuje objave, kjer se pojavi vsaj ena od obeh besed. Kolicnik pre-

seka in unije odštejemo od števila 1 zato, ker želimo, da je razdalja manjša v primeru, kadar

ima kolicnik vecjo vrednost – veckrat kot se besedi pojavita skupaj, tem manjša je razdalja

med dvema besedama.

Po enacbi (8) bomo izracunali razdalje med posameznimi besedami in zapisali matriko raz-

dalj. Ker je to dokaj zamudno, bomo uporabili program, ki smo ga zapisali. V nadaljevanju

bomo razdaljo definirano z enacbo (8) imenovali na kratko kar razdalja PU.

6.3.2 Razdalja kot kolicnik preseka in minimalnega števila pojavitev posamezne besede

Omenili smo, da bomo definirali dve razdalji in primerjali rezultate med seboj. Ob pred-

postavki, da se število pojavitev mocno razlikuje glede na iskano besedo, bodo po enacbi

(8) razdalje med dvema besedama, kjer se ena pojavi velikokrat (npr. matematika - 22190

pojavitev), druga pa malokrat (algebra - 659 pojavitev), razdalje zelo majhne. Zato bomo

definirali razdaljo kot kolicnik preseka in minimalnega števila pojavitev posamezne besede:

dm(A,B) = 1− |M(A)∩M(B)|min(|M(A)|, |M(B)|) . (9)

V primeru besed matematika in algebra bo torej v števcu število pojavitev besede algebra.

Enako kot prej bomo število pojavitev posameznih besed vpisali v tekstovno datoteko .txt in

zapisali programsko kodo, ki bo na podlagi podatkov dolocila minimalno število pojavitev

med posameznima besedama in zapisala matriko. V nadaljevanju bomo razdaljo iz enacbe

(9) imenovali na kratko kar razdalja MIN.

29

Page 40: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Program 3: Dolocanje min(M(A), M(B)) in zapis podatkov v matriko.

1 cl c

2 clear a l l

3 A = importdata ( ’ 2skupini . t x t ’ , ’ ’ , 0 ) ;

4 n = s i z e (A, 1 ) ;

5 S = [ ] ;

6 for i = 1 :n % v r s t i c e v matriki

7 VR = [ ] ; % posamezna v r s t i c a koncnce matrike unije a l i preseka

8 for j = 1 : n %v s i s t o l p c i v matriki

9 VR = [VR, min(A( i ) ,A( j ) ) ] ;

10 endfor

11 S = [ S ;VR ] ; % posamezno v r s t i c o dodamo matriki

12 endfor

13 save 2skupini . mat S ;

6.4 Lastnosti definirane razdalje

Naša definicija razdalje ni metrika, saj dopušcamo možnost, da ne velja trikotniška neena-

kost temvec:

d(A,C ) > d(A,B)+d(B ,C ). (10)

V primerih, ki smo jih obravnavali ni prišlo do neenakosti (10), prav tako nisem uspel najti

treh besed, za katere bi veljala. A po premisleku se lahko zgodi, da za besede A, B in C velja,

da je na primer razdalja d(A,B) = 0.5, d(A,C ) = 1 in d(B ,C ) = 0.25. V tem primeru bi seveda

veljala neenakost (10), kar pomeni da ne gre za metriko, ampak semimetriko. Semimetrika

ima razen trikotniške neenakosti vse ostale lastnosti metrike. Ne glede na to za kakšno me-

triko in razdaljo gre, še vedno lahko govorimo o sorodnosti besed in sorodnosti pomenov

razlicnih besed. Poudariti je potrebno, da v našem primeru ne gre za semanticno razdaljo,

saj ima neka beseda lahko vec pomenov, temvec za neko statisticno razdaljo, doloceno na

podlagi analize besedišca.

6.5 Matrika razdalj

Poglejmo si kodo programa (4), s katerim bomo na podlagi dveh matrik števila pojavitev do-

locili razdalje med posameznimi besedami in zapisali matriko razdalj.

30

Page 41: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Program 4: Izracun razdalj med posameznimi besedami in zapis matrik razdalj.

1 cl c

2 clear a l l

3 U = importdata ( ’ 2skupini . mat ’ , ’ ’ , 0 ) ; % v matriko U nalozimo s t . pojavitev

unije

4 P = importdata ( ’ presekskupin . mat ’ , ’ ’ , 0 ) ;% v matriko P n a l o i m o s t . pojavitev

preseka

5 n = s i z e (U, 1 ) ;

6 D = [ ] ;

7 for i =1:n

8 V = [ ] ;

9 for j =1:n

10 V = [V,1−(P( i , j ) /U( i , j ) ) ] ; % izracun razdal je po enacbi in zapis v matriko

r a z d a l j

11 endfor

12 D = [D; V ] ;

13 endfor

14 D

15 save razdaljeSKUP . mat D

Kot je razvidno v programu 4, najprej naložimo podatke za presek in unijo množic pojavitev

parov izbranih besed. V 10. vrstici izracunamo razdaljo po enacbi (8) in posamezne razda-

lje vpisujemo v matriko razdalj. Ko se program izvede, dobimo matriko razdalj, na podlagi

katere bomo z algoritmom DBSCAN iskali gruce besed. V primeru obeh razdalj je program

popolnoma enak, razlika je le v matriki U, glede na izbrano razdaljo uporabimo razlicno da-

toteko. Torej ce bo v imenovalcu unija dveh besed, bomo naložili datoteko, v katero smo

vpisali matriko unije posameznih besed, v primeru, da bo v imenovalcu minimalno število

pojavitev, pa bomo naložili datoteko, v katero smo zapisali matriko minimalnega števila po-

javitev med posameznima besedama. Najprej si oglejmo matriko razdalj za razdaljo kot ko-

licnik preseka in unije pojavitev:

D =

0.00000 0.95873 0.96207 0.94106 0.92343 0.96314 0.96738 0.98200

0.95873 0.00000 0.97359 0.98469 0.93018 0.93926 0.97531 0.98984

0.96207 0.97359 0.00000 0.73359 0.86712 0.92936 0.85124 0.86851

0.94106 0.98469 0.73359 0.00000 0.87000 0.90934 0.91761 0.94355

0.92343 0.93018 0.86712 0.87000 0.00000 0.87406 0.76084 0.88174

0.96314 0.93926 0.92936 0.90934 0.87406 0.00000 0.91584 0.94944

0.96738 0.97531 0.85124 0.91761 0.76084 0.91584 0.00000 0.89983

0.98200 0.98984 0.86851 0.94355 0.88174 0.94944 0.89983 0.00000

.

Oglejmo si še matriko za razdaljo kot kolicnik preseka in minimalnega števila pojavitev:

31

Page 42: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Dm =

0.00000 0.27618 0.89970 0.88209 0.92754 0.81449 0.96929 0.96778

0.27618 0.00000 0.98179 0.98331 0.83156 0.78149 1.00000 0.99848

0.89970 0.98179 0.00000 0.72847 0.94732 0.98278 0.99291 0.98044

0.88209 0.98331 0.72847 0.00000 0.97052 0.98715 0.99169 0.99655

0.92754 0.83156 0.94732 0.97052 0.00000 0.97005 0.89706 0.94591

0.81449 0.78149 0.98278 0.98715 0.97005 0.00000 0.92734 0.94476

0.96929 1.00000 0.99291 0.99169 0.89706 0.92734 0.00000 0.65017

0.96778 0.99848 0.98044 0.99655 0.94591 0.94476 0.65017 0.00000

.

Kot vidimo, sta obe matriki razdalj D simetricni in imata po diagonali vrednosti 0. Torej

ustrezata obliki poljubne matrike razdalj in bosta v nadaljevanju uporabljeni za osnovo iska-

nja elementov gruc z algoritmom DBSCAN.

Prav tako opazimo, da so razdalje razmeroma velike, kar je posledica velikih razlik pri šte-

vilu pojavitev posameznih besed in dveh besed hkrati.

6.6 Implementacija DBScan algoritma

Dolocili smo razdalje med besedami in zapisali dobljeno matriko razdalj za naš konkreten

primer. Matriko razdalj lahko uporabimo za grucenje podatkov z DBSCAN algoritmom.

Program 5: Zapis besed v matriko (za izris diagrama in neposrednih povezav v programu

Pajek).

1 s t = s i z e (D, 1 ) ;

2 besede = [ ’ * Vert ices 10 ’ ; ’ 1 "matematika" ’ ; ’ 2 " algebra " ’ ; ’ 3 "mnozenje" ’ ; ’ 4 "

sestevanje " ’ ; ’ 5 "enacba" ’ ; ’ 6 " geometrija " ’ ; ’ 7 "premica" ’ ; ’ 8 " d a l j i c a " ’ ; ’ *Arcs ’ ] ;

S pomocjo zgornje kode (Program 5) smo torej uporabili ustrezno matriko razdalj, na pod-

lagi katerih bo algoritem iskal jedra gruc. Predno izvedemo algoritem DBSCAN, moramo

definirati še vhodna pogoja, to sta okolica ε in minimalno število tock minPts, kar je vidno

na spodnji kodi programa 6.

Program 6: Vhodna pogoja ε in minPts.

1 epsilon = 0 . 9 ;

2 minPts = 4 ;

32

Page 43: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Program 7: Iskanje tock, ki predstavljajo jedra.

1 function [ IDX , isnoise ]=DBSCAN(D, epsilon , MinPts )

2

3 C = 0 ;

4 n = s i z e (D, 1 ) ;

5 IDX = zeros (n , 1 ) ;

6

7

8 v i s i t e d = f a l s e (n , 1 ) ;

9 isnoise= f a l s e (n , 1 ) ;

10

11 for i = 1 : n

12 i f ~ v i s i t e d ( i )

13 v i s i t e d ( i ) = true ;

14 Neighbors = RegionQuery ( i ) ;

15 i f numel( Neighbors ) < MinPts % ce ni dovolj tock v okol ic i , tocka

ni vsebovana v gruci

16 isnoise ( i ) = true ;

17 else

18 C = C + 1 ;

19 ExpandCluster ( i , Neighbors ,C) ; % pregledamo se okolice

vsebovanih tock v gruci s funkcijo ExpandCluster

20 endif

21 endif

22 endfor

Program 7 vkljucuje funkcijo za iskanje jeder gruc. Definirali smo tocke izven gruce s spre-

menljivko isnoise. V vrstici številka 12 program zacne pregledovati matriko razdalj in pre-

verja ali je v okolici posamezne tocke dovolj tock, da postane jedro. V kolikor ni dovolj tock

v okolici izbrane tocke, program zacne preverjati novo tocko (vrstica 17 - tocka je definirana

kot motnja in zato ni jedro). Ce pa je v okolici dovolj tock, program zažene funkcijo Expan-

dCluster, ki bo za vse tocke v okolici jedra preverila, ali imajo tudi same zadostno število tock

v svoji okolici. Kot smo že omenili pri razlagi DBSCAN algortima s pomocjo slik, bo program

sedaj v gruco dodajal še ostale tocke, ki ustrezajo pogojema ε in minPts.

33

Page 44: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Program 8: Iskanje tock tock v okolici posameznih tock.

1 function ExpandCluster ( i , Neighbors ,C)

2 IDX( i ) =C;

3

4 k = 1 ;

5 while true

6 j = Neighbors ( k ) ;

7 i f ~ v i s i t e d ( j )

8 v i s i t e d ( j ) =true ;

9 Neighbors2=RegionQuery ( j ) ;

10 i f numel( Neighbors2 ) >=MinPts

11 Neighbors =[ Neighbors Neighbors2 ] ;

12 endif

13 endif

14 i f IDX( j ) ==0

15 IDX( j ) =C;

16 endif

17 Sosedje = unique ( Neighbors ) ;

18 save gruca . mat Sosedje ;

19 k = k + 1 ;

20 i f k > numel( Neighbors )

21 break ;

22 endif

23 endwhile

24 endfunction

Koda prikazana v programu 8 preišce vse tocke in ustrezne doda v gruco. Ko preveri vse mo-

žnosti, se vrne na zacetek in zacne ponovno iskati novo jedro, okoli katerega bo ponovno po

enakem postopku preiskovala tocke in njihove okolice ter poiskala še kakšno gruco. Za vsako

gruco posebej želimo izpisati njene elemente. Kot smo omenili, bomo besede in povezave

med njimi narisali v programu Pajek, zato bomo posamezne besede v gruci in neposredne

povezave med njimi izpisali na zaslon. Rezultate bi lahko neposredno izpisali v tekstovno da-

toteko, a se zapis v programu Octave ne ujema s potrebnim zapisom, s katerim bomo besede

izrisali v programu Pajek. Zato bo program vse potrebne podatke za izris izpisal na zaslon,

mi pa jih bomo kopirali v beležnico in izrisali graf oziroma diagram. Izpis na zaslon program

izvede s pomocjo kode v programu 9.

34

Page 45: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Program 9: Del kode za izpis potrebnih podatkov na zaslon.

1 gruca = importdata ( ’ gruca . mat ’ , ’ ’ , 0 ) ;

2 n = s i z e ( gruca , 2 ) ;

3 disp ( besede )

4 for i = 1 : 3

5 for j = ( i +1) : 4

6 disp ( [ i , j ] )

7 endfor

8 endfor

9 i f numel( gruca ) >= MinPts

10 for i = 1 : n

11 for j = ( i ) : n

12 i f i ! = j

13 disp ( [ gruca ( i ) , gruca ( j ) ] )

14 endif

15 endfor

16 endfor

17 else

18 disp ( ’ ’ )

19 endif

6.7 Program PAJEK

Program Pajek3 je brezplacen program, namenjen analizi in prikazu velikih omrežij. Mi

bomo uporabljali orodje, s katerim izrisujemo diagrame. Za izris diagrama moramo najprej

dolociti število vozlišc ter jih poimenovati. Ko definiramo vozlišca in njihova imena, se lahko

lotimo povezav. Na preprost nacin dolocimo, med katerimi vozlišci obstajajo povezave. S

pomocjo programa 9, dobimo ustrezen zapis za obdelavo podatkov v programu Pajek. Na

sliki 17 so prikazani podatki, ki jih potrebujemo, da s programom Pajek lahko izrišemo di-

agram. Ce želimo izrisati graf v programu Pajek, moramo torej najprej dolociti vozlišca in

jih poimenovati, kasneje pa dolociti povezave med posameznimi vozlišci. Te povezave bodo

ponazarjale poti med neposredno dosegljivi tockami - kot smo definirali v teoreticnem delu,

so to tocke, ki pripadajo gruci. Vidimo, da ima v skupini *Vertices vsaka beseda svojo zapo-

redno številko. Ker med vsemi elementi znotraj gruce obstaja neposredna pot, torej lahko

potujemo med vsemi elementi gruce, moramo povezati vse elemente gruce med seboj. Po-

vezave pa vpišemo v skupino *Arcs, kjer prva številka pomeni zacetno vozlišce, druga pa

koncno. Za ta nacin smo se odlocili zato, ker besede nimajo svojih koordinat, s katerimi bi

narisali graf in na podlagi razdalje med koordinatami dolocili gruco. Besede so prosto razpo-

rejene v ravnini kot tocke, gruca pa je ponazorjena z neposrednimi povezavami med njenimi

elementi. Diagram gruce, tock znotraj gruce in tock izven gruce je prikazan na spodnji sliki

18.

3Brezplacen program, dostopen na spletnem naslovu http://mrvar.fdv.uni-lj.si/pajek/ . Avtor programa je

A. Mrvar.

35

Page 46: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 17: Izpis podatkov o grucah na zaslon.

Slika 18: Diagram prikazuje besede ter z neposrednimi povezavami oznaci tiste, ki sestavljajo

gruco za ε= 0.87 in mi nP t s = 3.

7 Primeri razdalj in gruc za razlicne nabore besed

7.1 Primerjava rezultatov za razlicno definirani razdalji

Okolica ε= 0.79, minPts = 3

Postopke smo opisali že v prejšnjih poglavjih, zato bomo tukaj predstavili le diagrame in ana-

lizirali rezultate. Za okolice ε< 0.79 ne dobimo nobene gruce ne glede na izbrano definicijo

razdalje. Zato bomo zaceli z okolico ε= 0.79.

Kot je razvidno na slikah 19 in 20, se diagrama gruc razlikujeta. Pri uporabi razdalje MIN

opazimo gruco besed matematika, algebra in geometrija, v drugem primeru pa ne. Torej

vidimo, da imajo v prvem primeru te tri besede vec skupnega kot ostale besede. Kot smo

predpostavili, so razdalje na podlagi minimalnega števila pojavitev manjše. Kolicnik preseka

in unije oziroma minimalnega števila pojavitev je na splošno kolicnik ugodnih in vseh mo-

žnosti, kar je verjetnost, da se dve besedi pojavita skupaj. Mi pa smo razdaljo izracunali tako,

da smo kolicnik odšteli od števila 1, torej je razdalja verjetnost, da se dve besedi ne pojavita

skupaj. Ce vzamemo na primer dve isti besedi, kjer je razdalja med besedama d(A, A) = 0,

36

Page 47: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 19: Diagram gruc besed z uporabo razdalje MIN.

Slika 20: Diagram gruc besed z uporabo razdalje PU.

je verjetnost, da se pojavita skupaj 1, saj ce gre za isto besedo, je seveda vsebovana v vseh

ustreznih objavah. Tako je v tem primeru verjetnost, da se besede matematika, algebra in

geometrija paroma ne pojavijo skupaj 0.79, za vse ostale besede pa vecja kot 0.79. Prav tako

je verjetnost da se vsaj tri besede paroma ne pojavijo skupaj vecja tudi za razdaljo PU. Lahko

recemo, da se te besede paroma skupaj pojavljajo v 21% vseh spletnih pojavitev.

37

Page 48: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 21: Diagram gruc besed z uporabo razdalje MIN.

Okolica ε= 0.84, minPts = 3

Pri razdalji PU ponovno ni nobene gruce, zato slike diagrama ne bomo prilagali, saj je iden-

ticna diagramu na sliki 20. Na sliki 21 vidimo, da je tokrat v gruco dodana tudi beseda enacba.

Okolica ε= 0.89, minPts = 3

Slika 22: Diagram gruc besed z uporabo razdalje MIN.

Za vhodni pogoj ε = 0.89 in minPts = 3 je gruca že vecja, saj sta v gruci dodatno še besedi

množenje in seštevanje, kar je vidno na diagramu na sliki 22. Za grucenje z razdaljo PU še

38

Page 49: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

vedno ni nobene gruce.

Okolica ε= 0.9, minPts = 3

Slika 23: Diagram gruc besed z uporabo razdalje MIN.

Na sliki 23 je razvidno, da so pri okolici ε = 0.9 v gruci že vse besede, kar pomeni, da se na

spletu te besede paroma skupaj ne pojavljajo v 90% vseh pojavitev oziroma se paroma skupaj

pojavijo le v 10% vseh pojavitev. Za ε> 0.9 bodo torej za razdaljo MIN v gruci vse besede, zato

diagramov ne bomo prilagali. Zanimalo nas bo, kateri je najmanjši ε, da bomo dobili gruco

za grucenje z razdaljo PU.

Okolica ε= 0.98, minPts = 3

Na sliki 24 vidimo, da smo za vrednost ε= 0.98 dobili prvo gruco za razdaljo PU. To pomeni,

da se tri besede paroma pojavljajo skupaj le v 2% vseh pojavitev, a je hkrati v gruci kar 6

besed: matematika, algebra, enacba, geometrija, premica in daljica. Ce diagram primerjamo

z diagramom za razdaljo MIN na sliki 22, vidimo da obe gruci vsebujeta 6 besed, vendar v

gruci niso vsebovane enake besede.

Okolica ε= 0.991, minPts = 3

Da so za razdaljo PU v gruci vse besede, moramo okolico nastaviti na vrednost ε= 0.991, kar

pomeni, da se morajo vsaj tri besede paroma pojavljati v vsaj 0.9% vseh pojavitev, kar je v

primerjavi z uporabo razdalje MIN veliko manj.

39

Page 50: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 24: Diagram gruc besed z uporabo razdalje PU.

Slika 25: Diagram gruc besed z uporabo razdalje PU.

7.2 Ugotovitve

Kot je razvidno iz slik diagramov gruc, se pri enakih vhodnih parametrih rezultati oziroma

gruce mocno razlikujejo glede na izbrano razdaljo. Vidimo, da so razdalje med besedami

pri razdalji MIN manjše, kot pri razdalji PU. Prav tako se razdalje MIN med posameznimi

besedami razlikujejo dovolj, da so s spreminjanjem okolice ε postopoma v gruci vsebovane

vse besede, medtem ko so razlike pri razdalji PU majhne in dobimo le gruco šestih besed in

gruco vseh besed, pri spremembi okolice ε za vrednost 0.011.

40

Page 51: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Ker razdalja med besedami ni splošno definirana, tako kot so definirane evklidska, taksi in

šahovska razdalja, ne moremo trditi, katera definicija bolje opredeli razdaljo med besedami.

Na podlagi diagramov in dejstva, ki smo ga navedli v poglavju 6.3.2, to je velike razlike v šte-

vilu pojavitev posameznih besed, lahko sklepamo, da je razdalja MIN, definirana z enacbo

(9) primernejša za dolocanje razdalje med besedami.

7.3 Primerjava grucenja z razdaljo MIN in z razdaljo urejanja.

7.3.1 Dolocanje razdalje urejanja

Obravnavali bomo šest besed sestavljenih iz desetih crk. S pomocjo spletnega SSKJ smo si

izbrali šest nakljucnih besed: matematika, abstrakten, bancništvo, aritmetika, centimeter in

materialen. Vidimo, da so v izboru besed samostalniki in pridevniki. Razdaljo urejanja med

besedami bomo dolocil tako, kot smo zapisali v poglavju 2.3.7. Med seboj primerjamo dve

besedi hkrati, ter za vsako mesto v besedi preverimo, ali se crki v obeh besedah ujemata. Da

nam ni potrebno preverjati rocno, kar je že za 6 besed zamudno opravilo, bomo razdalje med

besedami dolocili s pomocjo programa 10.

Program 10: Dolocanje urejevalniške razdalje.

1 function [ dist , L]= levenshtein_distance ( str1 , s t r 2 )

2 L1=length ( s t r 1 ) +1;

3 L2=length ( s t r 2 ) +1;

4 L=zeros ( L1 , L2 ) ;

5

6 g=+1;

7 m=+0;% kadar se besedi ujemata v i s t o l e z n i c r k i

8 d=+1;% kadar se besedi ne ujemata v i s t o l e z n i c r k i

9

10 L ( : , 1 ) = ( [ 0 : L1−1]*g ) ’ ;

11 L ( 1 , : ) = [ 0 : L2−1]*g ;

12

13 m4=0;

14 for idx =2:L1 ;

15 for idy =2:L2

16 i f ( s t r 1 ( idx−1)== s t r 2 ( idy−1) )

17 score=m;

18 else

19 score=d ;

20 endif

21 m1=L ( idx−1, idy−1) + score ;

22 m2=L ( idx−1, idy ) + g ;

23 m3=L ( idx , idy−1) + g ;

24 L ( idx , idy ) =min(m1, min(m2,m3) ) ;

25 endfor

26 endfor

41

Page 52: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

27

28 d i s t =L ( L1 , L2 ) ;

29 return

30 endfunction

Ko dobimo podatke zapišemo poljubno matriko razdalj s programom 2, ki smo ga opisali že

v poglavju 6.2 na sliki . V spodnji matriki je prikazana poljubna matrika razdalj za razdaljo

urejanja.

DU =

0 9 9 6 8 6

9 0 10 8 8 8

9 10 0 10 8 8

6 8 10 0 9 9

8 8 8 9 0 9

6 8 8 9 9 0

.

Izbrane besede so dolžine desetih crk, zato je minimalna razdalja 0 (dve enaki besedi), ma-

ksimalna pa 10 (besedi, ki se razlikujeta v vseh desetih crkah). Da bomo lažje primerjali obe

grucenji, bomo matriko D delili z 10, da bodo vrednosti med 0 in 1, tako kot pri razdalji MIN.

Ko matriko D delimo z 10 dobimo:

DU =

0 0.9 0.9 0.6 0.8 0.6

0.9 0 1 0.8 0.8 0.8

0.9 1 0 1 0.8 0.8

0.6 0.8 1 0 0.9 0.9

0.8 0.8 0.8 0.9 0 0.9

0.6 0.8 0.8 0.9 0.9 0

.

Ko dolocimo obe matriki razdalj lahko pricnemo z grucenjem.

7.3.2 Primerjava rezultatov grucenja

Okolica ε= 0.6, mi nP t s = 3

V tem primeru, dobimo gruco le pri grucenju z razdaljo urejanja. Dobljeno gruco sestavljajo

besede matematika, aritmetika in materialen, kar je vidno na sliki 26. To je gruca besed z

najvecjo razdaljo urejanja 6 oziroma se te besede razlikujejo v šestih crkah.

Okolica ε= 0.8, mi nP t s = 3

Z izbranima vhodnima parametroma v primeru razdalje MIN še vedno ne dobimo nobene

gruce, pri grucenju z razdaljo urejanja, pa so v gruci že vse besede, kar je razvidno na sliki 27.

42

Page 53: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 26: Diagram gruce z razdaljo urejanja, za vhodna parametra ε= 0.6 in mi nP t s = 3.

Slika 27: Diagram gruce z razdaljo urejanja, za vhodna parametra ε= 0.8 in mi nP t s = 3.

Okolica ε= 0.941, mi nP t s = 3

Ker so bile pri grucenju z razdaljo urejanja v gruci vsebovane vse besede že pri okolici ε= 0.8

ne bomo prilagali nadaljnih diagramov, saj so enaki. Vidimo, da se pojavi gruca v primeru

grucenja z razdaljo MIN. Gruco sestavljajo besede matematika, abstrakten in aritmetika, kar

vidimo na sliki 28. Ce dobljeno gruco primerjamo s prvo gruco grucenja z razdaljo urejanja

ugotovimo, da v obeh primerih gruci vsebujeta tri besede, kar dve besedi pa sta v preseku

obeh gruc. To sta besedi matematika in aritmetika.

43

Page 54: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 28: Diagram gruce z razdaljo MIN za vhodna parametra ε= 0.941 in mi nP t s = 3.

Okolica ε= 0.976, mi nP t s = 3

Pri povecanju okolice ε za vrednost 0.035 se velikost gruce poveca za en element, saj je vse-

bovana še beseda materialen.

Slika 29: Diagram gruce z razdaljo MIN za vhodna parametra ε= 0.976 in mi nP t s = 3.

Okolica ε= 0.998, mi nP t s = 3

Ce želimo, da so v gruci vsebovane vse besede, moramo okolico ε nastaviti na vrednost ε =0.998. Vidimo, da je vrednost okolice ε višja, kot pri grucenju v poglavju 7.1, kar se ujema z

izborom besed, saj gre v tem primeru za besede, ki nimajo sorodnega pomena, razen besedi

matematika in aritmetika.

44

Page 55: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 30: Diagram gruce z razdaljo MIN za vhodna parametra ε= 0.998 in mi nP t s = 3.

7.4 Ugotovitve

Ce pogledamo diagrame gruc za razdaljo urejanja in razdaljo MIN ugotovimo, da se mocno

razlikujejo glede vhodnega parametra ε. Podobnost je opaziti le v elementih najmanjše do-

bljene gruce za obe razdalji. Kot smo omenili, so v obeh primerih v gruco vsebovane tri

besede, od tega kar dve isti. Tukaj gre lahko za slucajno podobnost, da sta razdalji podobni4

v obeh primerih. Razdalja urejanja nam kot že receno pove, v koliko crkah se dve besedi

razlikujeta. Pri krajših besedah, kot sta na primer pes in pet, nam razdalja urejanja ne pove

veliko o sorodnosti teh dveh besed. Ti dve besedi se razlikujeta le v eni crki a zaradi tega

še nimata sorodnega pomena. Posledicno na podlagi razdalje urejanja ne moremo sklepati

na sorodnost pomena dveh besed. Pri daljših besedah, kot sta na primer eksperimentalen

in eksperimentator, pa na podlagi razdalje urejanja lahko z vecjo verjetnostjo trdimo tudi o

sorodnosti besed. Ce se dve daljši besedi razlikujeta v majhnem številu crk, v našem primeru

se besedi razlikujeta v treh crkah, to pomeni, da imata skupnih kar 9 crk. Posledicno imata

izbrani dve besedi skupen koren, ki vpliva na sorodnost besed, saj smo rekli, da v slovenskem

jeziku, na podlagi korena v besedne družine združujemo besede s sorodnim pomenom. Ti

dve besedi imata torej na podlagi korena soroden pomen, torej je tudi verjetnost, da se bosta

ti dve besedi veckrat pojavili skupaj. Obratno pa ne velja. Ce se bosta daljši besedi razlikovali

v vecjem številu crk, bo skupen koren besed krajši oziroma ga sploh ne bosta imeli, a to ne

pomeni, da nista morebiti sorodni. Lahko se zgodi, da se dve besedi razlikujeta v skoraj vseh

crkah, a imata še vedno soroden oziroma enak pomen. Tak primer sta na primer sopomenki

svetovljan in kozmopolit. Besedi dolžine desetih crk, se razlikujeta kar v devetih crkah, zato

nimata skupnega korena, a imata popolnoma enak pomen.

7.5 Grucenje sopomenk

Dosedanji rezultati kažejo, da je za dolocitev razdalje med dvema besedama, ki vkljucuje tudi

sorodnost pomena dveh besed bolj primerna definicija zapisana z enacbo (9), torej razdalja

MIN. Predno izberemo ustreznejšo enacbo razdalje, si bomo pogledali, katera razdalja bo

4S podobnostjo razdalj ne mislimo na podobnost natancnih vrednosti, ampak, da je razdalja med tema

dvema besedama v obeh primerih najmanjša v primerjavi z razdaljami med ostalimi besedami.

45

Page 56: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

prepoznala skupino sopomenk. Izbrali si bomo nekaj sopomenk ter druge besede, naš cilj

pa bo, da bodo v gruci le sopomenke. Definicija razdalje, na podlagi katere bodo izracunane

razdalje ustrezale našemu razumevanju sopomenk, to je, da bo algoritem na podlagi razdalj

prepoznal te besede kot sorodne in jih združil v skupno gruco, ustreznejša. Postopek dolo-

canja razdalje in preverjanja z algoritmom DBSCAN smo že podrobno opisali, zato bomo za

rezultate grucenja besed neumnost, maloumnost, nesmisel, nespametnost, zahod, modra, ve-

likost, vesolje in avtobus priložili le diagrama gruc oziroma skupin besed dolocenih z obema

definiranima razdaljama.

Slika 31: Diagram gruce z razdaljo MIN za vhodna parametra ε= 0.93 in mi nP t s = 4.

46

Page 57: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Slika 32: Diagram gruce z razdaljo PU za vhodna parametra ε= 0.99 in mi nP t s = 4.

Diagrama na slikah 31 in 32 prikazujeta prvi dobljeni gruci za obe razdalji. Poiskali smo

najmanjšo okolico ε, da za minimalno število tock mi nP t s = 3 dobimo prvo gruco. Na sliki

31 se vidi, da so v gruci najprej vsebovane samo sopomenke, na sliki 32 pa vidimo, da dve

sopomenki nista v gruci, vse ostale nesorodne besede pa so. Na podlagi diagramov lahko

trdimo, da je primernejša definicija za dolocitev numericne razdalje zapisana z enacbo (9),

to je razdalja kot kolicnik števila pojavitev v preseku in minimalnega števila pojavitev dveh

besed, saj so v gruci najprej vsebovane sorodne besede oziroma sopomenke, kar je bil tudi

naš namen. Kot je razvidno iz rezultatov, smo uspeli zapisati definicijo razdalje med dvema

besedama, s katero lahko sorodnosti pomena pripišemo numericno vrednost, kar je bil tudi

naš glavni namen v tem magistrskem delu. Do sedaj smo preverjali definiciji le v primerih,

kjer smo pricakovali le eno gruco oziroma skupino besed. Preverimo še, ali lahko z našo

definicijo razdalje prepoznamo vsaj dve skupini sorodnih besed in jih na podlagi numericnih

vrednosti smiselno združimo v skupine, kot so združene na podrocju jezika.

7.6 Analiza dveh skupin sorodnih besed

Na podlagi razlicnih preizkusov smo izbrali ustreznejšo definicijo razdalje. Zato tokrat ne

bomo uporabili obeh, temvec le razdaljo MIN in preverili, ali je primerna za uporabo tudi v

primeru, ko pricakujemo vsaj dve skupini sorodnih besed. Definicijo bomo preverili za sku-

pino besed matematika, fizika, naravoslovje, kemija, glagol, samostalnik, pridevnik, zaimek,

frizer in miza. Ko si ogledamo izbrane besede, nam je takoj jasno, da imamo dve skupini

sorodnih besed ter dve besedi, ki nista sorodni z nobeno drugo besedo, to sta frizer in miza.

Naš namen je, da na podlagi izracunanih razdalj ter preverjanjem z grucenjem dobimo dve

skupini besed. V prvi skupini bodo besede, ki predstavljajo posamezna podrocja znanosti

(matematika, fizika, naravoslovje, kemija), v drugi skupini pa bodo besedne vrste (glagol, sa-

47

Page 58: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

mostalnik, pridevnik, zaimek). Ce nam uspe dobiti omenjeni dve skupini besed, potem je to

potrditev, da je naša definicija ustrezna tudi za iskanje vec skupin sorodnih besed. Oglejmo

si rezultate, ki smo jih dobili na podlagi razdalje MIN za vhodna parametra mi nP t s = 4 in

ε= 0.89.

Slika 33: Diagram prikazuje dve skupini besed. V prvi skupini so besede oziroma posamezna

podrocja znanosti, v drugi skupini pa so besedne vrste.

Na sliki 33 je razvidno, da smo dobili pricakovane rezultate. Tako kot smo predpostavili na

podlagi pomena besed, smo dobili dve skupini sorodnih besed, besedi frizer in miza pa ni-

sta vkljuceni v nobeni skupini, saj nimata sorodnega pomena z nobeno drugo besedo. S tem

lahko argumentiramo, da je zapisana definicija ustrezna, za dolocanje razdalje med dvema

besedama na podlagi sorodnosti dveh besed.

7.7 Analiza razlicnih oblik besed

Videli smo, da je program na podlagi razdalje, ki smo jo definirali, prepoznal ustrezni dve

skupini sopomenk. Preverimo še, kako se definicija razdalje obnese pri izboru besed razlic-

nih oblik. Uporabili bomo razlicne glagolske oblike in samostalnik, da bomo preverili ali bo

program prepoznal ustrezne glagolske oblike in jih uvrstil v skupino skupaj s samostalnikom.

Uporabili bomo besede sem, bil, grem, šel, vidim, videl, imam in ime. Tokrat bomo uporabili

strožji kriterij, zanima nas število pojavitev, v katerih se besedi pojavita skupaj. V prejšnjih

primerih nas je zanimalo, ali se skozi celotno besedilo pojavita dve besedi vsaj enkrat, tokrat

pa se bosta dve besedi morali pojaviti skupaj kot sosednji besedi. Ker ima slovenšcina pred-

preteklik, bomo dopustili, da se lahko med iskanima besedama pojavi ena beseda. Torej,

dopušcamo možnost, da v primeru besed sem in šel, upoštevamo tudi predpreteklik, kar po-

meni, da bo med ustreznimi zapisi tudi sem bil šel. Ob pogledu na izbor besed pricakujemo,

da bomo dobili eno skupino besed v sestavi: sem, bil, šel in videl, saj so to oblike glagolov,

48

Page 59: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

ki jih v slovenskem jeziku lahko uporabimo skupaj s samostalnikom sem. Minimalno število

tock, potrebnih za oblikovanje skupine, bi lahko nastavili na 4 in preverili, ali se bodo te be-

sede prve pojavile skupaj. Ker pa imamo razlicne casovne oblike istega glagola, na primer

grem in šel ter vidim in videl, bomo za kriterij minimalno število tock izbrali 2 besedi in s tem

dopustili možnost, da program prepozna omenjeni skupini.

Okolica ε= 0.79 in minimalno število tock mi nP t s = 2

Prvo skupino besed, ki jo program zazna, sestavljata dve besedi, pri ε = 0.79. Ti dve besedi

sta sem in videl, kar za enkrat ustreza oziroma potrjuje naše predpostavke in je razvidno na

sliki 34.

Slika 34: Prva najdena skupina besed sem in videl.

Okolica ε= 0.84 in minimalno število tock mi nP t s = 2

Naslednja sprememba se zgodi pri ε = 0.84. Poleg besed sem in videl se v skupini pojavi še

veseda šel, kar je razvidno na sliki 35. Vidimo, da so v skupini še vedno le tiste besede, ki smo

jih pricakovali.

Slika 35: Skupina besed sem, videl in šel.

49

Page 60: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Okolica ε= 0.943 in minimalno število tock mi nP t s = 2

Pri spreminjanju okolice se pojavi sprememba pri ε= 0.943, ko se skupini besed pridruži še

beseda bil, kar je razvidno na sliki 36.

Slika 36: Skupina besed sem, bil, šel in videl.

Dobili smo torej pricakovani rezultat, saj so se v skupini najprej pojavile besede sem, bil, šel

in videl. Ce bomo povecevali vrednost ε, bodo v skupini prej ali slej vsebovane vse besede,

kar pa nas v tem primeru ne zanima. Za nas je pomembno to, da program ni prepoznal

nobene druge skupine vsaj dveh besed, poleg tega pa je v skupino vkljucil vse pricakovane

besede. Dobljeni rezultat potrjuje, da je naša definicija razdalje MIN ustrezna.

50

Page 61: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

8 Zakljucek

Naš namen je bil ustrezno definirati razdaljo med dvema besedama, s katero lahko dolocimo

oziroma izmerimo numericno razdaljo med dvema besedama oziroma sorodnosti dveh be-

sed pripišemo numericno vrednost. Zapisali smo dve definiciji in jih veckrat prakticno pre-

verili. Za dva razlicna izbora besed smo si ogledali grucenje in posamezne gruce. V prvem

izboru so bile besede s sorodnim pomenom oziroma so imele skupno nadpomenko, to je bila

beseda matematika, v drugem pa so bile nakljucne besede enake dolžine. Ugotovili smo, da

je bila za obstoj gruce v prvem primeru potrebna manjša okolica ε, kot v drugem primeru

nakljucnih besed, prav tako je bila potrebna tudi manjša okolica ε, da so bili v gruci vse-

bovane vse besede. To potrjuje, da smo razdalji med dvema besedama ustrezno definirali,

obenem pa smo uspeli z razlicnimi preverjanji dolociti tudi primernejšo razdaljo. Z uporabo

razdalje MIN smo znotraj množice besed uspeli dolociti dve skupini sorodnih besed in sku-

pino ustreznih casovnih oblik glagola skupaj s samostalnikom. Na podlagi rezultatov lahko

trdimo, da smo uspeli doseci zastavljene cilje. Dopušcamo možnost, da obstaja izbor besed,

za katere bi se izkazalo, da naša definicja ni primerna. Na primer, ce bi v izbor besed vkljucili

še veznike, ne bi dobili znotraj skupine samo sorodne besede, saj se v besedilih vezniki po-

gosto pojavijo ob vseh samostalnikih, ceprav nimajo sorodnega pomena. Zato je potrebno

smiselno izbrati besede, katerim želimo izracunati razdalje.

Vidimo, da nam je uspelo povezati dva na videz nesorodna podrocja. Z vidika matematike in

uporabo matematicnih operacij in zakonitosti smo analizirali besedišce in rezultate primer-

jali z opisi oziroma pravili, ki jih poznamo na podrocju jezikoslovja. Zakljucimo lahko, da

je možno podrocje jezika in njegove elemente analizirati z uporabo matematicnih postop-

kov, ter konkretno v našem primeru, dolociti numericno razdaljo med dvema besedama. V

prihodnje, bi lahko za iskanje uporabili le daljša besedila in s tem dobili bolj realisticne re-

zultate, oziroma bi upoštevali zgolj besedila, ki dve besedi smiselno vkljucujejo skupaj. Na

koncu še omenimo, da je razdalja, kot smo je definirali mi, v slovenskem jeziku bilžje seman-

ticni razdalji, kot v nekaterih drugih jezikih, ki imajo manj razlicnih pomenov za isto besedo

( na primer anglešcina).

51

Page 62: PRIMER GEOMETRIJSKE OBRAVNAVE BESEDIŠCAˇ

Literatura

[1] Mucherino, A., Lavor, C., Liberti, L., Maculan, N., 2013. Distance geometry: Theory, Me-

thods, and Applications. Springer.

[2] Guojun Gan, Chaoqun Ma, Jianhong Wu, 2007. Data Clustering: Theory, Algorithms, and

Applications (ASA-SIAM Series on Statistics and Applied Probability), Filadelfija, ZDA.

[3] Magajna, B.,2011. Linearna algebra, metricni prostor in funkcije vec spremenljivk,

DMFA, Slovenija.

[4] Pietrosanu, M., 2016. The analysis of topological structure in data using persistent ho-

mology: applications to lexical word association networks, diplomska delo, University of

Alberta, Canada.

[5] Vrabec, J., 1990. Metricni prostori, DMFA, Slovenija.

[6] Založnik, B., 2013. Grucenje podatkov LiDAR. Diplomsko delo.

[7] Liberti, L., Lavor, C., 2016. Open research areas in distance geometry. 51K99, I.3.5.

Dostopno na: https://arxiv.org/pdf/1610.00652.pdf [10.11.2018].

52