106
UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RA ˇ CUNALNI ˇ STVO IN INFORMATIKO Mladen Boroviˇ c Sistem priporoˇ canja dokumentov in analiza kvalitete vsebinskega priporoˇ canja pri razliˇ cnih obdelavah vhodnega besedila Magistrsko delo Maribor, September 2012

Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

UNIVERZA V MARIBORU

FAKULTETA ZA ELEKTROTEHNIKO, RACUNALNISTVO IN

INFORMATIKO

Mladen Borovic

Sistem priporocanja dokumentovin analiza kvalitete vsebinskega

priporocanja pri razlicnihobdelavah vhodnega besedila

Magistrsko delo

Maribor, September 2012

Page 2: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega
Page 3: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

UNIVERZA V MARIBORU

FAKULTETA ZA ELEKTROTEHNIKO, RACUNALNISTVO IN

INFORMATIKO

Sistem priporocanja dokumentovin analiza kvalitete vsebinskega

priporocanja pri razlicnihobdelavah vhodnega besedila

Magistrsko delo

Avtor: Mladen Borovic

Mentor: izr. prof. dr. Milan Ojstersek

Studijski program: Racunalnistvo in informacijske tehnologije (MAG)

Smer: Racunalniske metodologije in aplikacije

UDK: 004.777:004.93(043.2)

III

Page 4: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega
Page 5: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Naslov: Sistem priporocanja dokumentov in analiza kvalitete vsebinskega

priporocanja pri razlicnih obdelavah vhodnega besedila

Kljucne besede: priporocilni sistemi, vsebinsko priporocanje dokumentov,

funkcija razvrscanja BM25, latentna semanticna analiza, belezenje

uporabniskih aktivnosti, pomensko oznacevanje, statisticne metode,

procesiranje naravnega jezika, jezikovne tehnologije

UDK: 004.777:004.93(043.2)

Povzetek

V magistrskem delu obravnavamo nacrtovanje in razvoj sistemov za vsebinsko pri-

porocanje pomensko sorodnih dokumentov. V teoreticnem delu najprej podamo

osnovne znacilnosti priporocilnih sistemov. Ker v priporocilnem sistemu obdelujemo

besedila v slovenskem jeziku, najprej podamo pregled nekaterih obdelav vhodnega

besedila (lematizacija, izlocanje pogostih besed in pomensko oznacevanje). Nato

opisemo funkcijo razvrscanja BM25 in pristop z latentno semanticno analizo. Sledi

podroben opis razvoja priporocilnega sistema, ki je tudi prakticni izdelek tega ma-

gistrskega dela. V nadaljevanju predstavimo in analiziramo uspesnost vsebinskega

priporocanja pri razlicnih obdelavah vhodnega besedila. Na koncu podamo se nekaj

potencialnih izboljsav v smislu pomenskega grucenja, klasifikacije, hibridnega pristopa

pri razvrscanju dokumentov in uporabe razvitega sistema v drugih aplikacijah.

V

Page 6: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Title: A document recommendation system and content-based recommendation

quality analysis with different text processing methods applied

Keywords: recommender systems, content-based document recommendation, ranking

function BM25, latent semantic analysis, user-action tracking, semantic

tagging, statistical methods, natural language processing, language

technologies

UDC: 004.777:004.93(043.2)

Abstract

In this thesis we discuss the planning and development of content-based recommender

systems for semantically related documents. The theoretic part describes the basic

features of recommender systems. Due to processing of Slovene language, we provide

an overview in the field of text processing methods (lemmatisation, stop word lists

and semantic tagging). Then we describe the ranking function BM25 and the latent

semantic analysis method. Further on, we describe in detail, the development of a

content-based recommender system for documents, which is also the practical result

of this thesis. We then analyse the success rate of the recommendation with different

text processing methods applied. Finally, we describe some of the potential enhance-

ments such as semantic clustering, user classification, a hybrid approach in ranking

documents as well as using the developed system with other applications.

VI

Page 7: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Zahvala

Zahvaljujem se mentorju izr. prof. dr. Milanu Ojstersku za vodenje in pomoc pri

opravljanju magistrskega dela. Hvala tudi sodelavcem iz Laboratorija za heterogene

racunalniske sisteme za nasvete in profesionalno delovno okolje. Predvsem gre zahvala

mag. Janezu Brezovniku univ. dipl. inz. rac. in inf. in univ. dipl. inz. rac. in inf.

Marku Fermetu za pomoc pri tehniski izvedbi. Zahvaljujem se univ. dipl. inz. rac.

in inf. Goranu Hrovatu in dipl. inz. rac. in inf. tehnol. (UN) Marku Burjeku za

uporabo lematizatorja in pomenskega oznacevalnika.

Zahvaljujem se tudi ljudem, ki so sodelovali pri ocenjevanju kvalitete priporocanja.

To so bili nekateri sodelavci in studenti iz Fakultete za elektrotehniko, racunalnistvo

in informatiko na Univerzi v Mariboru. Sodelovali so studenti naslednjih studijskih

programov:

• 1. in 2. letnik programa Racunalnistvo in informacijske tehnologije (MAG),

• 1. letnik programa Telekomunikacije (MAG),

• 2. letnik programa Elektrotehnika (MAG),

• 2. letnik programa Medijske komunikacije (MAG),

• 2. in 3. letnik programa Racunalnistvo in informacijske tehnologije (UN),

• 2. in 3. letnik programa Racunalnistvo in informacijske tehnologije (VS),

• 3. letnik programa Informatika in tehnologije komuniciranja (VS).

Nazadnje se zahvaljujem se druzini in prijateljem za podporo in potrpljenje.

VII

Page 8: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Kazalo

Uvod 1

1 Sistemi priporocanja 4

1.1 Struktura sistema priporocanja . . . . . . . . . . . . . . . . . . . . . 4

1.2 Zbiranje informacij o uporabniku . . . . . . . . . . . . . . . . . . . . 5

1.2.1 Seja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.2 Piskotki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.3 Evercookie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3 Tipi priporocanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3.1 Splosno priporocanje . . . . . . . . . . . . . . . . . . . . . . . 9

1.3.2 Specificno priporocanje . . . . . . . . . . . . . . . . . . . . . . 9

1.4 Pristopi priporocanja . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.4.1 Sodelujoce filtriranje . . . . . . . . . . . . . . . . . . . . . . . 11

1.4.2 Filtriranje na podlagi vsebine . . . . . . . . . . . . . . . . . . 15

1.5 Priporocanje dokumentov . . . . . . . . . . . . . . . . . . . . . . . . 15

1.5.1 Pristopi merjenja podobnosti med dokumenti . . . . . . . . . 16

VIII

Page 9: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

2 Obdelava dokumentov 19

2.1 Izlocanje pogostih besed . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2 Lematizacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.3 Avtomatsko pridobivanje kljucnih besed s pomenskim oznacevanjem . 21

3 Funkcija razvrscanja BM25 24

3.1 Izbira parametrov k1 in b . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2 Izpeljanke BM25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2.1 BM11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2.2 BM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2.3 BM25F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2.4 Izpeljanke avtorjev Lv in Zhai . . . . . . . . . . . . . . . . . . 31

3.3 Prednosti in slabosti . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4 Latentna semanticna analiza 33

4.1 Dokumenti v vektorskem prostoru . . . . . . . . . . . . . . . . . . . . 33

4.2 Algoritem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.3 Primer delovanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.4 Prednosti in slabosti . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.5 Izboljsave LSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5 Razvoj sistema priporocanja 45

5.1 Motivacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.2 Struktura razvitega sistema . . . . . . . . . . . . . . . . . . . . . . . 46

5.3 Mehanizem belezenja uporabniskih aktivnosti . . . . . . . . . . . . . 48

5.4 Razvrscanje rezultatov . . . . . . . . . . . . . . . . . . . . . . . . . . 48

IX

Page 10: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

5.5 Izboljsave za robustno uporabo v praksi . . . . . . . . . . . . . . . . 50

5.5.1 Filtriranje ocen BM25 . . . . . . . . . . . . . . . . . . . . . . 50

5.5.2 Uvedba paralelizma . . . . . . . . . . . . . . . . . . . . . . . . 52

6 Rezultati 54

6.1 Primerjava razlicnih obdelav . . . . . . . . . . . . . . . . . . . . . . . 55

6.2 Vpliv priporocanja na statistiko obiska . . . . . . . . . . . . . . . . . 59

6.3 Razprava o dobljenih rezultatih . . . . . . . . . . . . . . . . . . . . . 60

7 Ideje za nadaljnje delo 62

7.1 Pomensko grucenje . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7.1.1 Algoritem Lingo . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7.2 Klasifikacija uporabnika . . . . . . . . . . . . . . . . . . . . . . . . . 64

7.3 Uvedba hibridne funkcije razvrscanja . . . . . . . . . . . . . . . . . . 65

7.4 Uporaba priporocanja v drugih aplikacijah . . . . . . . . . . . . . . . 67

Zakljucek 68

Literatura 69

A Lematizacija in LSA 74

B Porocila Google Analytics 80

X

Page 11: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Slike

1.1 Struktura sistema priporocanja in njegova funkcija v ze obstojecem

sistemu s podatki. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Replikacijske lokacije, ki jih uporablja piskotek Evercookie. . . . . . . 8

1.3 Splosno priporocanje kot ciklicni proces. . . . . . . . . . . . . . . . . 10

1.4 Proces specificnega priporocanja. . . . . . . . . . . . . . . . . . . . . 11

1.5 Tvorba binarne matrike uporabnikov in izdelkov. . . . . . . . . . . . 12

1.6 Podobni dokumenti kot vozlisca v okolici aktivnega vozlisca v pomenski

mrezi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.7 Polno povezan graf podobnosti dokumentov. . . . . . . . . . . . . . . 17

3.1 Odvisnost lokalne utezi od frekvence pri razlicnih razmerjih||dj ||A

(I). . 27

3.2 Odvisnost lokalne utezi od frekvence pri razlicnih razmerjih||dj ||A

(II). 27

3.3 Vpliv parametra k1 na krivuljo odvisnosti lokalne utezi od frekvence

pri konstantnem b. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.4 Obnasanje odvisnosti lokalne utezi od gostote pri konstantnih parame-

trih k1 in b in razlicnih povprecnih dolzinah dokumentov A. . . . . . 29

4.1 Stanje matrik po singularnem razcepu (I). . . . . . . . . . . . . . . . 36

4.2 Stanje matrik po singularnem razcepu (II). . . . . . . . . . . . . . . . 36

XI

Page 12: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4.3 Stanje matrik po redukciji dimenzij na rang k. . . . . . . . . . . . . . 37

4.4 Delovanje LSA nad slovenskim jezikom. . . . . . . . . . . . . . . . . . 40

4.5 Delovanje LSA nad angleskim jezikom. . . . . . . . . . . . . . . . . . 42

5.1 Potek komunikacije v scenariju splosnega priporocanja. . . . . . . . . 47

5.2 Potek komunikacije v scenariju specificnega priporocanja. . . . . . . . 47

5.3 Potek komunikacije ob posodobitvi indeksa dokumentov. . . . . . . . 48

6.1 Primerjava ustreznosti razlicnih obdelav. . . . . . . . . . . . . . . . . 57

6.2 Primerjava casovne zahtevnosti razlicnih obdelav. . . . . . . . . . . . 58

6.3 Primerjava prostorske zahtevnosti razlicnih obdelav. . . . . . . . . . . 58

6.4 Vpliv delovanja sistema priporocanja na odbojno stopnjo. . . . . . . . 59

7.1 Delovanje hibridne funkcije razvrscanja. . . . . . . . . . . . . . . . . . 65

A.1 Primerjava matrike A brez lematizacije in z uporabo lematizacije. . . 76

A.2 Primerjava k-aproksimacije matrike A brez lematizacije in z uporabo

lematizacije. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

A.3 Primerjava kovariancne matrike cov(A) brez lematizacije in z uporabo

lematizacije. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

A.4 Primerjava korelacijske matrike corr(A) brez lematizacije in z uporabo

lematizacije. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

A.5 Rezultat LSA brez lematizacije. . . . . . . . . . . . . . . . . . . . . . 78

A.6 Rezultat LSA z lematizacijo. . . . . . . . . . . . . . . . . . . . . . . . 78

XII

Page 13: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Tabele

2.1 Razlika med krnjenjem in lematizacijo. . . . . . . . . . . . . . . . . . 21

5.1 Strategija razvrscanja rezultatov priporocanja. . . . . . . . . . . . . . 49

5.2 Filtriranje z dinamicno mejo; neustrezen zadetek izpade iz seznama

priporocil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.1 Meritev delovanja sistema pri uporabi besed in lematiziranih besed. . 55

6.2 Meritev delovanja sistema pri uporabi besednih zvez in lematiziranih

besednih zvez. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.3 Meritev delovanja sistema pri uporabi besed in lematiziranih besed z

avtomatskim pridobivanjem kljucnih besed s pomenskim oznacevanjem. 56

6.4 Meritev delovanja sistema pri uporabi besednih zvez in lematiziranih

besednih zvez z avtomatskim pridobivanjem kljucnih besed s pomen-

skim oznacevanjem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

XIII

Page 14: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Algoritmi

1 LSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2 Paralelno racunanje ocen BM25 . . . . . . . . . . . . . . . . . . . . . 52

3 Paralelno racunanje vhodne matrike A pri LSA . . . . . . . . . . . . 53

4 Paralelno racunanje uteznih vektorjev po redukciji ranga . . . . . . . 53

5 Paralelno racunanje kosinusnih razdalj . . . . . . . . . . . . . . . . . 53

6 Pomensko grucenje . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7 Klasifikacija uporabnika . . . . . . . . . . . . . . . . . . . . . . . . . 64

XIV

Page 15: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Oznake in simboli

Slope One

di,j razdalja med i-tim in j-tim izdelkom

di,j povprecna razdalja med i-tim in j-tim izdelkom

Ni,j stevilo vseh uporabnikov, ki so ocenili i-ti in j-ti izdelek

rating(x)i ocena uporabnika x za izdelek i

r(x)i,j predvidena ocena uporabnika x za izdelek i glede na oceno izdelka j

SlopeOne(x, y) ocena Slope One za izdelek x in uporabnika y

BM25

t beseda

d dokument

tf(t, d) tf utez besede t v dokumentu d

n(t) stevilo dokumentov, v katerih se pojavlja beseda t

idf(t) idf utez besede t v celotni zbirki dokumentov

D zbirka dokumentov

||D|| velikost zbirke D

q zahteva

qi beseda v zahtevi

||q|| stevilo besed v zahtevi

s(d, q) ocena BM25 za dokument d in zahtevo q

||d|| stevilo besed v dokumentu

A povprecno stevilo besed v dokumentih iz zbirke D

XV

Page 16: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

BM25 nad.

k1 parameter za uravnavanje pomembnosti utezi tf

b parameter za uravnavanje pomembnosti dolzine dokumentov

B funkcija normalizacije dolzine dokumenta

L(ti, dj) lokalna utez za i-to besedo t vsebovano v j-tem dokumentu d

itd(ti, dj) gostota i-te besede t v j-tem dokumentu d

LSA

tf -idf(t, d) utez tf − idf za besedo t v dokumentu d

||T || stevilo vseh besed v zbirki dokumentov

||D|| stevilo vseh dokumentov v zbirki dokumentov

A matrika utezi

dj stolpicni utezni vektor dokumenta

q vektor zahteve

U ortonorm. baza vek. prostora (levi lastni vektorji)

Σ matrika singularnih vrednosti

V∗ ortonorm. baza vek. prostora (desni lastni vektorji

k rang redukcije

Uk reducirana matrika U

Σk reducirana matrika Σ

dj,k reduciran utezni vektor dokumenta

qk reduciran utezni vektor zahteve

sim(qk,dj,k) razdalja med reduciranima vektorjema zahteve in dokumenta

Funkcija razvrscanja

da aktivni dokument

D mnozica dokumentov

W mnozica utezi

R mnozica priporocenih dokumentov

XVI

Page 17: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Pomensko grucenje

C mnozica gruc

c gruca

nmaxDrugo najvecje stevilo gruc z oznako Drugo

imax najvecje stevilo iteracij

L oznaka gruce

Klasifikacija uporabnika

U mnozica uporabnikov

UC gruce, katerim pripada uporabnik U

cmax gruca z najvecjim stevilom ogledov

imax indeks gruce z najvecjim stevilom ogledov

Hibridna funkcija razvrscanja

x aktivni dokument

P mnozica parametrov

D mnozica priporocenih dokumentov

d priporocen dokument

r parameter k pri LSA (rang redukcije)

XVII

Page 18: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Kratice

HTTP Hyper-Text Transfer Protocol

API Application Programming Interface

LSO Local Shared Object

BM25 Best Match 25

BM11 Best Match 11

BM15 Best Match 15

BM25F Best Match 25 for Fields

XML eXtensible Markup Language

LSA Latent Semantic Analysis

SVD Singular Value Decomposition

PLSA Probabilistic Latent Semantic Analysis

DKUM Digitalna Knjiznica Univerze v Mariboru

XVIII

Page 19: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Uvod

Kadar se clovek znajde v situaciji kjer se mora odzvati, nima pa veliko znanja o tema-

tiki, je edino naravno, da bo iskal pomoc v smislu nasvetov in priporocil. Vzemimo

primer kadar se nam pokvari avto, nimamo pa avtomehanika h kateremu bi redno

hodili. Intuitivno zacnemo sprasevati prijatelje in znance ali poznajo kaksnega do-

brega avtomehanika. Rezultat je ponavadi vec priporocil, odlocimo pa se za tistega

avtomehanika, ki nam je bil najveckrat priporocan.

Z razmahom svetovnega spleta, ki je danes izredno pomemben medij in vir informacij,

so se pojavile ideje o sistemih na spletu, ki bi s priporocili pomagali cloveku pri

odlocitvah. Dandanes lahko vidimo, da so te ideje realizirane prakticno vsepovsod

- od priporocanja video vsebin na YouTube, do priporocanja oseb na Facebook-u

pa tudi v bolj resnih aplikacijah kot so diagnosticni ekspertni sistemi v medicini.

Priporocanje najdemo tudi na spletnih trgovinah, kjer prodajalca povsem zamenja

sistem za priporocanje. To je tudi ena izmed strategij spletnih trgovin, da bi kupca

pripravile do tega, da bi kupil vec artiklov. Vidimo torej, da so sistemi priporocanja

pravzaprav vsepovsod ceprav jih sploh vec ne opazimo. Dejstvo je, da ob vsaki

uporabi spleta iscemo informacije, ki bi nas po najboljsi poti pripeljale do zadanega

cilja. Sisteme priporocanja lahko tako opisemo kot posebno vrsto spletnih iskalnikov,

ki ne potrebujejo direktno podanih iskalnih vnosov. Le-ti so pri sistemih priporocanja

v obliki aktivnosti, klikov in porabljenem casu na spletni strani. Ideja priporocanja na

spletu je, da uporabniku vedno ponudimo zanj najbolj relevantne informacije, glede

na njegovo trenutno zanimanje. Sistem priporocanja mora torej na inteligentni nacin

razpoznati uporabnikovo zanimanje zgolj na podlagi njegovih aktivnosti na spletni

Page 20: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

2

strani. Navadno gre za mesanico podatkovnega rudarjenja in procesiranja naravnega

jezika - slednje predvsem zaradi velike vecine tekstovnih informacij na spletu. Zelo

zanimiva veja priporocanja je priporocanje dokumentov, saj ponuja veliko izzivov na

podrocju jezikovnih tehnologij. Najbolj prideta do izraza razresevanje vecpomenskosti

in iskanje podobnih dokumentov na podlagi vsebine. S to problematiko se ukvarjajo

razlicne metode, ki si jih bomo vse nadaljevanju tudi podrobneje ogledali. Bistven

del vsakega sistema priporocanja je metoda razvrscanja zadetkov. Od slednje je

odvisna kvaliteta priporocanja. Obstaja vec razlicnih metod razvrscanja, hkrati pa

iz dneva v dan nastajajo tudi nove. Magistrsko delo opisuje nekaj uveljavljenih,

prav tako pa opisuje idejo o lastni metodi razvrscanja. Skupaj z opisom razvoja

sistemov za priporocanje je bila ideja, da magistrsko delo sluzi kot vodic pri izdelavi

taksnih sistemov kot tudi dodatna motivacija za razvoj novih pristopov, se posebej

na podrocju priporocanja dokumentov s pomocjo procesiranja naravnega jezika.

Cilj tega magistrskega dela je razviti sistem priporocanja dokumentov, ki bo deloval

nad mnozico opisov dokumentov. Posledicno je potrebna tudi metoda razvrscanja,

ki bo uredila dokumente po ustreznosti na podlagi pomenske podobnosti. Preuciti

zelimo tudi vplive predprocesiranja dokumentov v smislu lematizacije in avtomatskega

pridobivanja kljucnih besed s pomenskim oznacevanjem. Na koncu zelimo ugotoviti

tudi, ali bi sistem priporocanja izboljsal statistiko obiskov. V ta namen preizkusimo

veljavnost naslednjih hipotez:

Hipoteza 1: obravnava kljucnih besed v obliki besednih zvez se izkaze za boljso

kot obravnava v obliki besed.

Hipoteza 2: uporaba lematizacije kot korak predobdelave dokumentov izboljsa

kvaliteto priporocanja.

Hipoteza 3: uporaba kljucnih besed avtorja skupaj s kljucnimi besedami pri-

dobljenimi s pomenskim oznacevanjem bolje definira pomen dokumenta, kot

uporaba zgolj kljucne besede s strani avtorja.

Hipoteza 4: sistem priporocanja izboljsa statistiko obiskov v smislu zmanjsanja

odbojne stopnje in povecanju povprecnega prestanega casa obiska.

Page 21: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

3

To magistrsko delo je razdeljeno na sedem poglavij. V prvem poglavju bomo spo-

znali osnove sistemov priporocanja. Podrobneje si bomo ogledali tipe priporocanja,

nacine sledenja uporabnikovim aktivnostim in pristope za merjenje podobnosti med

dokumenti. V drugem poglavju bomo spoznali nekaj tehnik obdelave dokumentov.

S tretjim poglavjem bomo presli v tehnicne vode in spoznali eno izmed uveljavljenih

metod razvrscanja dokumentov - funkcijo razvrscanja BM25. Spoznali bomo njene

lastnosti, izpeljanke in si podrobneje ogledali njeno delovanje. Podobno bomo tudi v

cetrtem poglavju nadaljevali z latentno semanticno analizo (LSA), ki je se en uspesen

pristop razvrscanja dokumentov. Peto poglavje opisuje razvoj sistema priporocanja

z lastno funkcijo razvrscanja, temeljeco na pristopu BM25. Spoznali bomo strukturo

razvitega sistema, in preverili ali je BM25 bolj primerna za prakticno uporabo kot

LSA. Prav tako je podanih nekaj izboljsav, ki omogocajo boljso robustnost razvitega

sistema. V sestem poglavju opisemo testno okolje in zastavljene preizkuse razvitega

sistema. Razprava o dobljenih rezultatih obsega vpliv razlicnih tehnik obdelave na

koncen rezultat in evaluacijo uspesnosti. V sedmem poglavju je podanih tudi ne-

kaj predlogov za izboljsavo razvitega sistema priporocanja kot tudi nekaj zamisli o

uporabi taksnega sistema v drugih aplikacijah.

Page 22: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Poglavje 1Sistemi priporocanja

Uporabniki svetovnega spleta porabijo veliko casa za iskanje informacij na spletu. Nji-

hove strategije iskanja se razlikujejo, zato je kvaliteta najdene informacije razlicna.

Veliko ugodneje je, ce uporabnikom priporocamo vsebine, ki bi jih utegnile zanimati

na tak nacin, da bi vedno dobili najbolj kvalitetno informacijo. Tukaj je izziv ugoto-

viti kaj uporabnika pravzaprav zanima. To vprasanje resujejo sistemi priporocanja, ki

podobne informacije zdruzujejo, nato pa na podlagi uporabnikovih aktivnosti predvi-

devajo katere informacije uporabnika zanimajo. Gre za avtomatiziran sistem obdelave

podatkov, ki mora biti ucinkovit, zanesljiv in ne prevec vsiljiv do uporabnika. Danes

lahko delovanje taksnih sistemov vidimo na spletnih straneh kot so YouTube, Face-

book in Amazon, iskalnik Google pa metode, ki jih najdemo v sistemih priporocanja

uporablja za poosebljeno iskanje.

V tem poglavju bomo spoznali strukturo takih sistemov, razlicne tipe in pristope pri-

porocanja ter nacine identificiranja in predvidevanja uporabnikovih aktivnosti. Po-

drobneje si bomo ogledali podrocje priporocanja dokumentov in nekaj metod, ki se

za ta namen uporabljajo.

1.1 Struktura sistema priporocanja

Vsak sistem priporocanja lahko predstavimo kot del vecjega sistema s podatki, ki

uporablja sistem priporocanja za iskanje podobnih vsebin. Podatki so lahko v po-

ljubnem formatu; priporocamo lahko video posnetke, slike, besedilo, povezave do ljudi

Page 23: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 5

in podobno. Kljucnega pomena je, da imamo podatke dobro strukturirane, saj je le

tako mozno izvesti kvalitetno priporocanje. V kolikor podatki niso strukturirani, jih

je potrebno strukturirati pred nadaljnjo obdelavo. Zelo pomemben del sistemov pri-

porocanja so tudi aktivnosti in navade uporabnikov. Za sisteme priporocanja je to

kljucno, saj se na podlagi tega doloci vsebina za priporocanje. V ta namen se upo-

rabniske aktivnosti belezijo tako, da lahko sistem nudi istemu uporabniku rezultate,

ki zanimajo le njega, lahko pa se tvorijo tudi uporabniski profili in se uporabnika uvr-

sti v dolocen profil. Sistem v tem primeru priporoca enake vsebine vec uporabnikom

z istim profilom. Pri sistemih priporocanja gre pravzaprav za filtriranje podatkov

glede na uporabniske aktivnosti, saj zelimo uporabniku dostaviti le tisto kar ga za-

nima. V praksi je to tezje storiti, saj lahko uporabnika v nekem obdobju zanimajo

dolocene tematike, kratek cas za tem pa ga bodo zanimale druge tematike. Zato

je potrebno najti nacin posodabljanja podatkov o uporabniku. Ponavadi se vkljuci

casovna komponenta, ki daje prioriteto novejsim uporabniskim aktivnostim, starejsim

uporabniskim aktivnostim pa ali zelo zniza prioriteto, ali pa jih v celoti odstrani.

Sistem priporocanja tako vsebuje modul za obdelavo podatkov, modul za belezenje in

ovrednotenje uporabniskih aktivnosti in pristop za razvrstitev rezultatov po ustrezno-

sti. Podatki in uporabniske aktivnosti sta vhoda v sistem, izhod pa predstavlja nabor

informacij, ki ustrezajo pogojem filtriranja. Splosno graficno predstavitev sistemov

priporocanja lahko vidimo na sliki 1.1.

1.2 Zbiranje informacij o uporabniku

Da lahko sploh zacnemo s priporocanjem, potrebujemo mehanizem za zbiranje in-

formacij o uporabniku. Le tako lahko vemo kaj uporabnika zanima. Informacije o

uporabniku pridobimo tako, da belezimo njegove aktivnosti. Poudariti je treba, da

nas tukaj ne zanimajo podatki kot so kateri brskalnik uporablja, verzija operacij-

skega sistema ali zaslonska locljivost. Zanima nas katere tematike iz vsebin, ki jih

ponujamo, so za uporabnika najbolj zanimive. Obstajata dva nacina pridobivanja

informacij o uporabniku. Eksplicitni nacin poteka tako, da uporabniku zastavimo

nekaj vprasanj o tem kaj ga zanima, ga prosimo, da ocenjuje vsebine po kvaliteti

ali pa mu ponudimo dve vsebini in ga prosimo, da izbere bolj ustrezno. Ta nacin

Page 24: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 6

Slika 1.1: Struktura sistema priporocanja in njegova funkcija v ze obstojecem sistemu spodatki.

je direkten, saj izvajamo interakcijo z uporabnikom. Nekateri uporabniki ne zelijo

sodelovati v tem procesu, preprosto zato, ker jim vzame prevec casa in jih v bistvu

ovira pri ogledu vsebin. Zato obstaja tudi implicitni nacin. Pri tem nacinu uporabnik

ne ve, da zbiramo informacije o njem. Tukaj je med drugim potrebno beleziti kaj si

je uporabnik ogledal, kako dolgo je gledal tisto in na koncu primerjati dobljeno z

obiski drugih uporabnikov. Tvori se torej profil za vsakega uporabnika. Implicitni

nacin je naceloma boljsi s stalisca uporabnikove izkusnje, saj uporabnika ne motimo

pri ogledu vsebin. Prihaja pa do vprasanj o vdorih v zasebnost. Tukaj moramo biti

zelo previdni in tudi predhodno obvestiti uporabnike, da bomo spremljali njihove de-

Page 25: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 7

javnosti. V tem magistrskem delu se bomo bolj osredotocili na implicitni del zbiranja

informacij o uporabniku. V nadaljevanju si bomo pogledali nekaj pristopov zbiranja

informacij, ki smo jih tudi vkljucili v prakticni del tega magistrskega dela.

1.2.1 Seja

Vsa komunikacija med sistemom priporocanja poteka preko protokola HTTP po prin-

cipu odjemalec-streznik. Ker protokol HTTP ne ohranja stanja, potrebujemo seje,

da stanje ohranimo. Z ohranjanjem stanja si lahko zapomnimo pretekle aktivnosti

uporabnika hkrati pa lahko identificiramo ali gre za enakega uporabnika. Seja je

definirana kot mnozica uporabnikovih aktivnosti znotraj casovnega intervala, ki ga

dolocimo. Sejo lahko tudi avtomatsko podaljsujemo kadar nastopi nova aktivnost. V

sejo lahko shranimo kakrsnekoli podatke, ki nastanejo med obiskom spletne strani.

Glavna pomanjkljivost sej je v tem, da seja potece po casovnem intervalu obenem pa

se seja zakljuci ko zapremo okno brskalnika. To pomanjkljivost lahko odpravimo z

uporabo piskotkov.

1.2.2 Piskotki

Piskotke lahko razumemo kot podatke, ki jih spletni streznik poslje odjemalcu. Nava-

dno se piskotki uporabljajo za hranjenje identifikacijskih podatkov uporabnikov kot

sta uporabnisko ime in geslo. Podobno kot pri seji lahko tudi v piskotke shranju-

jemo poljubne podatke, ki nam lahko koristijo pri belezenju uporabniskih aktivnosti.

Na podrocju sistemov priporocanja se piskotki najbolj uporabljajo v namen identi-

fikacije uporabnika, saj zelimo vedeti za katerega uporabnika gre. Pri implicitnem

nacinu zbiranja informacij, uporabnik ni vedno identificiran z uporabniskim imenom

in geslom, temvec ga lahko v ozadju oznacimo z enolicnim identifikatorjem, ki je

shranjen v piskotku na odjemalcevi strani. Tako vemo za katerega uporabnika gre,

hkrati pa lahko vse njegove aktivnosti neposredno ob njihovem nastanku shranju-

jemo v podatkovno bazo tako, da so podatki o uporabniku azurni. Problem nastopi

kadar uporabnik pobrise piskotke. Takrat izgubimo enolicni identifikator, ki je bil

shranjen v piskotku. Streznik bi v tem primeru ustvaril nov enolicni identifikator za

istega uporabnika in ga smatral kot novega uporabnika. Posledicno bi bili rezultati

Page 26: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 8

priporocanja slabsi. Mozna resitev tega scenarija je uporaba persistentnih piskotkov

imenovanih Evercookie.

Slika 1.2: Replikacijske lokacije, ki jih uporablja piskotek Evercookie.

1.2.3 Evercookie

Evercookie je persistentni piskotek, ki ga je leta 2010 zasnoval strokovnjak za varnost

in bivsi heker Samy Kamkar. Gre za Javascript API, ki omogoca uporabo v spletnih

straneh. Cilj teh piskotkov je, da se ohranijo na odjemalcu tudi kadar uporabnik po-

brise piskotke. Princip na katerem delujejo ti piskotki je pravzaprav zelo inovativen.

Ob ustvarjanju piskotka Evercookie, se najprej ustvari standardni HTTP piskotek.

Zatem se le-ta replicira na vec razlicnih lokacij (slika 1.2), med drugim tudi v LSO

shrambe namenjene za Flash in Silverlight animacije. Kar je se bolj zanimivo je to, da

mehanizem za uporabo piskotka sam zazna, ce je bil piskotek na katerikoli replicirani

lokaciji izbrisan. V kolikor se je to zgodilo, se bodo podatki rekonstruirali iz drugih

obstojecih repliciranih lokacij. Gre za avtomatski mehanizem samovzdrzevanja, ki je

podoben delovanju raznih racunalniskih virusov in crvov. Ravno zaradi tega je upo-

raba piskotkov Evercookie vprasljiva in jih v prakticnem delu nismo implementirali.

Page 27: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 9

1.3 Tipi priporocanja

Pri priporocanju lahko imamo v splosnem dva scenarija. Prvi scenarij nastopi kadar

je uporabnik v zacetnem stanju, kjer se ni izvedel nobene aktivnosti. Drugi scenarij

obicajno sledi prvemu scenariju in se zgodi kadar je uporabnik ze izvedel aktivnost.

Prvi scenarij lahko smatramo kot splosno priporocanje (angl. general recommenda-

tion), saj nimamo podatka o tem kaj uporabnika zanima. Drugi scenarij pa lahko

smatramo kot specificno priporocanje (angl. specific recommendation), saj je upo-

rabnik ze izvedel aktivnost in mu glede na to aktivnost lahko priporocamo ustrezne

vsebine.

1.3.1 Splosno priporocanje

Splosno priporocanje nastopi ob zacetnem stanju uporabnika. To je recimo takrat,

kadar uporabnik obisce glavno stran spletne strani. Ce vzamemo primer spletne

strani YouTube, je uporabnik v zacetnem stanju takrat, ko obisce glavno stran in

si se ne izbere video posnetka, ki si ga bo ogledal. V primeru, da je uporabnik

ze prej obiskal spletno stran in smo njegove aktivnosti belezili, mu lahko nudimo

splosno priporocanje v obliki seznama vsebin, ki se navezuje na vsebine ogledane v

preteklosti. Ce je uporabnik prvic obiskal spletno stran, nimamo dovolj podatkov o

uporabniku, da bi mu lahko nudili kvalitetno priporocanje. V tem primeru uberemo

drugo strategijo - recimo priporocanje najbolj ogledanih vsebin s strani vseh uporab-

nikov. Splosno priporocanje lahko smatramo kot ciklicni proces kot kaze slika 1.3. Na

podlagi uporabnikove zgodovine se izberejo podobne vsebine, ki se priporocajo. Klik

na priporoceno vsebino se belezi v zgodovino in cikel se ponovi.

1.3.2 Specificno priporocanje

Pri specificnem priporocanju je situacija enostavnejsa kot pri splosnem priporocanju.

V bistvu informacije o uporabniku sploh niso potrebne, lahko pa zelo izboljsajo pri-

porocanje. Specificno priporocanje lahko izvajamo kadarkoli, saj imamo podano upo-

rabnisko aktivnost in s tem priblizno idejo, kaj bi uporabnika utegnilo zanimati. Ce

znova vzamemo primer spletne strani YouTube, je aktivnost uporabnika klik na video

Page 28: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 10

Slika 1.3: Splosno priporocanje kot ciklicni proces.

posnetek. Ker je video posnetek s strani sistema priporocanja obdelan in posledicno

vemo kateri video posnetki so mu podobni, lahko tvorimo seznam podobnih video

posnetkov. Ta seznam je tudi rezultat priporocanja. Za priporocanje torej niso bile

potrebne informacije o uporabniku, v primeru da bi jih imeli, pa bi lahko se bolje

razvrstili elemente v seznamu priporocila.

Tako pri splosnem kot tudi pri specificnem priporocanju (slika 1.4) gre za ciklicni pro-

ces. To je ena izmed tezav sistemov priporocanja, saj uporabniku ne zelimo ponujati

vedno istih vsebin. To lahko do neke mere odpravimo z nakljucnim razvrscanjem ele-

mentov v seznamu priporocila. Na tak nacin lahko dlje casa obdrzimo uporabnikovo

pozornost in mu ponudimo vec vsebin. Podoben pojav so odkrili na spletni strani

YouTube, kjer je specificno priporocanje zraven dobrega iskalnika in vsebine glavni

razlog za veliko kolicino casa, ki ga uporabniki prezivijo na strani. Pojav je znan kot

“YouTube zanka”(angl. YouTube loop).

Page 29: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 11

Slika 1.4: Proces specificnega priporocanja.

1.4 Pristopi priporocanja

Ko imamo zasnovano strategijo belezenja uporabniskih aktivnosti, lahko zacnemo

nacrtovati na kaksen nacin bomo obdelovali vsebine. Ta proces vpliva na koncni re-

zultat priporocanja, saj definiramo predstavitev podatkov in nacin njihove obdelave.

Pristop sodelujocega filtriranja deluje zgolj na podlagi analize uporabniskih aktivno-

sti, obstaja pa tudi pristop filtriranja na podlagi vsebine, ki daje vecjo tezo vsebini.

Seveda obstajajo tudi sistemi, ki zdruzujejo ta dva pristopa v hibridni pristop. Zani-

mivo je dejstvo, da oba pristopa delujeta podobno dobro kljub obratnima strategijama

obdelave podatkov.

1.4.1 Sodelujoce filtriranje

Sodelujoce filtriranje (angl. collaborative filtering) je pristop obdelave podatkov v sis-

temih priporocanja, kjer imajo uporabniske aktivnosti vecjo tezo kot sama vsebina.

Pri tem pristopu vsebina ni pomembna, saj pristop deluje po principu podobnih

Page 30: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 12

mnenj. Ta temelji na predpostavki, da ce ima oseba A isto mnenje kot oseba B, ob-

staja vecja moznost strinjanja teh dveh oseb o drugi zadevi, kot je moznost strinjanja

ene izmed njiju z nakljucno izbrano osebo C. Pri sistemih priporocanja so mnenja iz

zgornje predpostavke predstavljena kot uporabnikova ocena vsebine, lahko pa zgolj

kot ogled vsebine. Te vrednosti nato upostevamo pri razvrscanju rezultatov glede

na klasifikacijo uporabnikov. Sodelujoce filtriranje lahko tako predstavimo v dveh

korakih:

1. Iskanje uporabnikov s podobnimi vzorci ocenjevanja kot jih ima aktivni upo-

rabnik (tisti, ki mu priporocamo).

2. Upostevanje vrednosti ocen uporabnikov iz 1. koraka za razvrscanje rezultatov

v priporocilu.

Ta pristop pa ima veliko slabost na samem zacetku. Ker na zacetku nimamo upo-

rabniskih ocen za vsebine, bi bilo priporocanje po tem pristopu nemogoce. Tako je

ta pristop primeren le takrat, ko imamo dovolj obsezno mnozico uporabniskih ocen.

Pristop z binarnimi vektorji

Pri Amazonu, ki je znan po svojem sistemu priporocanja, uporabljajo pristop binarnih

vektorjev. Osnova za delovanje je tvorba binarne matrike uporabnikov in izdelkov. V

primeru, da je uporabnik izdelek kupil se v polje vnese enica, sicer pa nicla. Nato se

za vsaki par dveh izdelkov iz matrike vzameta njuna pripadajoca binarna vektorja.

Izracuna se kosinusna razdalja med tema vektorjema, ki predstavlja mero ustreznosti

za priporocanje. Poglejmo si preprost primer:

Uporabnik Izdelek 1 Izdelek 2 Izdelek 3Ales kupil ni kupil kupil

Mateja ni kupila kupila kupilaBojan ni kupil kupil ni kupil

1 0 10 1 10 1 0

Slika 1.5: Tvorba binarne matrike uporabnikov in izdelkov.

Imamo tri uporabnike in tri izdelke, katere so uporabniki ali kupili ali ne. Za vsak

izdelek lahko dobimo pripadajoc vektor tako, da vzamemo stolpicni vektor iz binarne

Page 31: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 13

matrike. Izracunajmo torej ustreznosti za priporocanje med danimi izdelki s kosinusno

razdaljo:

rel(1, 2) =(1, 0, 0) · (0, 1, 1)

||(1, 0, 0)||||(0, 1, 1)||= 0

rel(1, 3) =(1, 0, 0) · (1, 1, 0)

||(1, 0, 0)||||(1, 1, 0)||=

1√2≈ 0.7

rel(2, 3) =(0, 1, 1) · (1, 1, 0)

||(0, 1, 1)||||(1, 1, 0)||=

1

2= 0.5

Po tem pristopu bi uporabnik, ki si ogleduje izdelek 1 ali izdelek 2 dobil za priporocilo

izdelek 3. Gre za uporabo linearne regresije oblike f(x) = ax + b. V praksi lahko to

pomeni slabost prenasicenja (angl. overfitting) kar pomeni, da sistem uposteva sum,

namesto koristnih informacij. To slabost lahko odpravimo z uporabo preprostejse

linearne regresije oblike f(x) = x+ b. Slednja se uporablja pri pristopu imenovanem

Slope One.

Pristop Slope One

Algoritmi Slope One so se prvic pojavili v clanku [10] leta 2005 kot nacin za pri-

porocanje s sodelujocim filtriranjem. Gre za zelo preprost pristop, hkrati pa je na-

tancnost priporocanja primerljiva z bolj kompleksnimi metodami. Implementacija teh

algoritmov ni zahtevna, uporabljajo pa se tudi kot sestavni del drugih algoritmov za

priporocanje. Pri tej druzini algoritmov najveckrat upostevamo uporabnikove ocene

za doloceno vsebino, ki jo ponujamo. Ideja je, da poskusamo predvidevati kako bi upo-

rabnik ocenil se neogledano vsebino. Na podlagi tega lahko izvedemo priporocanje.

Oglejmo si primer delovanja pristopa Slope One, ko imamo podanih nekaj ocen vse-

bin. Ocene so na intervalu [1, 5], znak “?” pa pomeni da izdelek se ni bil ocenjen.

Zanima nas kako bi Bojan ocenil izdelek 1 na podlagi svojih prejsnjih ocen in ocen

ostalih uporabnikov.

Uporabnik Izdelek 1 Izdelek 2 Izdelek 3

Ales 5 3 2

Mateja 3 4 ?

Bojan ? 2 5

Page 32: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 14

Najprej izracunamo povprecni razdalji med izdelkoma 1 in 2 ter 1 in 3. Pri tem

upostevamo stevilo uporabnih podatkov Ni,j, saj ni nujno, da so vsi uporabniki ocenili

vse izdelke:

d1,2 =

5

3

?

3

4

2

=

2

−1

?

⇒ d1,2 =2 + (−1)

2= 0.5, N1,2 = 2

d1,3 =

5

3

?

2

?

5

=

3

?

?

⇒ d1,3 =3

1= 3, N1,3 = 1

Nato izracunamo predvideno Bojanovo oceno za izdelek 1 z njegovima ocenama za

izdelka 2 in 3:

r(Bojan)1,2 = rating(Bojan)2 + d1,2 = 2 + 0.5 = 2.5

r(Bojan)1,3 = rating(Bojan)3 + d1,3 = 5 + 3 = 8

Iz dobljenega izracunamo koncno predvideno Bojanovo oceno za izdelek 1 po pristopu

Slope One:

SlopeOne(x, y) =

∑ni=1Nx,i · r(y)x,i∑n

i=1Nx,i

(1.1)

SlopeOne(1, Bojan) =

∑ni=1N1,i · r(Bojan)1,i∑n

i=1N1,i

=N1,2 · r(Bojan)1,2 +N1,3 · r(Bojan)1,3

N1,2 +N1,3

=2 · 2.5 + 1 · 8

2 + 1=

13

3= 4.33

Bojan bi tako izdelek 1 predvidoma ocenil z oceno 4.33. Ker je to blizu maksimalne

ocene, bi bil ta izdelek verjetno uvrscen med prve rezultate priporocanja.

Page 33: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 15

1.4.2 Filtriranje na podlagi vsebine

V sistemih priporocanja lahko priporocila tvorimo tudi na podlagi vsebine (angl.

content-based filtering). Gre za pristop, kjer ima vecjo veljavo vsebina, uporabniske

aktivnosti pa nam lahko pomagajo pri uvrscanju uporabnika v gruco ljudi z zanima-

njem za podobno tematiko. Pri tem pristopu se uporabljajo algoritmi, ki analizirajo

znacilnosti vsebin, nato pa se uporabniku priporocajo tiste vsebine, ki najbolj spadajo

med njegove tematike zanimanja. Na tem podrocju je aktualna uporaba algoritmov

grucenja, nevronskih mrez in odlocitvenih dreves. Najpomembnejsa je dobra defini-

cija znacilnosti, saj le-ta opisuje vsebino na enolicen nacin. Navadno se za znacilnosti

vsebin vzamejo metapodatki, ki zagotavljajo dovolj enolicen opis. Tukaj vstopamo v

svet procesiranja naravnega jezika, saj je vecina teh opisov danih s tekstom. Ceprav

lahko z obdelavo opisov v tekstovni obliki priporocamo karkoli, se bomo v nadaljeva-

nju osredotocili na priporocanje dokumentov. Ti so v celoti dani v tekstovni obliki in

ni potrebno eksplicitno tvoriti opisa, saj je le-ta ze vsebovan v vsebini dokumenta.

1.5 Priporocanje dokumentov

Vecina informacij na spletu je danih v tekstovni obliki. Tukaj gre za mnozico doku-

mentov v razlicnih formatih, ki so si lahko po vsebini podobni. Priporocanje doku-

mentov torej poteka na podlagi filtriranja glede na vsebino. Da bi lahko priporocali

dokumente, jih moramo najprej spraviti v standardiziran format. Tako se resimo pro-

blemov z razlicnimi formati dokumentov, hkrati pa ohranimo le vsebino, saj oblike pri

obdelavi ne potrebujemo. Obdelavo lahko klasificiramo v razred statisticnih metod

in v razred metod, ki uporabljajo pomenske mreze. Statisticne metode so veliko bolj

razvite in tudi v prakticni uporabi prednjacijo pred metodami s pomenskimi mrezami.

To je zaradi tega, ker so metode s pomenskimi mrezami dokaj novo podrocje, ki je

se razmeroma neraziskano. Statisticne metode vecinoma delujejo na principu “vrece

besed”, ki dokumente predstavi v obliki vektorjev v vektorskem prostoru, katerega

razpenjata kolicini stevila besed in stevila dokumentov. Tukaj gre za stetje pojavitev

besed v dokumentu in upostevanje raznih utezi, ki izhajajo iz tega podatka. Znane

metode na tem podrocju so med drugim BM25 [23], LSA [27, 28] in nakljucno inde-

Page 34: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 16

ksiranje (angl. random indexing) [37]. V nadaljevanju si bomo podrobneje ogledali

metodi BM25 (poglavje 3) in LSA (poglavje 4), ki smo ju preizkusili pri razvrscanju.

1.5.1 Pristopi merjenja podobnosti med dokumenti

V sistemih priporocanja dokumentov je potrebna dobra definicija dokumenta in me-

trike za merjenje podobnosti. Pri statisticnih metodah se ponavadi zbirka dokumen-

tov pretvori v matriko, ki predstavlja vektorski prostor. Dokumenti so predstavljeni

kot n-dimenzionalni vektorji, kjer so komponente vektorja utezi za vsako vsebujoco

besedo. Podobnost je definirana z razdaljo dveh vektorjev v vektorskem prostoru.

Najveckrat se uporablja kosinusna razdalja, v literaturi pa se uporabljata tudi evklid-

ska razdalja in razdalja Manhattan, ki sta pravzaprav razdalji Minkowski za p = 1 in

p = 2, ter razdalja Chebyshev (enacbe 1.2 do 1.6).

cosine(a,b) =a · b

||a|| · ||b||(1.2)

euclidean(a,b) =

√√√√ n∑i=1

(ai − bi)2 (1.3)

manhattan(a,b) =n∑

i=1

|ai − bi| (1.4)

minkowski(a,b) =

(n∑

i=1

|ai − bi|p) 1

p

(1.5)

chebyshev(a,b) = maxi

(|ai − bi|) (1.6)

Page 35: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 17

Pri pristopih s pomenskimi mrezami gre za drugacen pogled na situacijo. Zbirka

dokumentov je predstavljena kot polno povezan graf, kjer vsako vozlisce grafa pred-

stavlja dokument. Vrednosti povezav med vozlisci so njihove pomenske podobnosti.

Podobni dokumenti so torej vozlisca v okolici aktivnega vozlisca kot kaze slika 1.6.

Slika 1.6: Podobni dokumenti kot vozlisca v okolici aktivnega vozlisca v pomenski mrezi.Aktivno vozlisce (rdece), podobna vozlisca (modro) in povezave aktivnega z ostalimi vo-zlisci. Povezave med ostalimi vozlisci niso prikazane. Dolzina crte, ki povezuje dve vozlisci,ponazarja pomensko podobnost med njima.

A

B

C D

E

Slika 1.7: Polno povezan graf podobnosti dokumentov. Vrednosti povezav so na intervalu[0, 1], kjer manjsa vrednost pomeni vecjo podobnost. Aktivno vozlisce A (rdece) je najboljpodobno vozliscema B (modro) in E (zeleno), ki pa sta med sabo zelo razlicni. Podobnovelja za vozlisci C in D. A je torej interdisciplinarne narave, saj sta tematiki modrih inzelenih vozlisc razlicni.

Page 36: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

1. Sistemi priporocanja 18

Pri teh pristopih se uporabljajo algoritmi nad grafi za iskanje poti med vozlisci. Velika

prednost teh pristopov je moznost grucenja vozlisc, saj imamo podane medsebojne

podobnosti vozlisc. To se lahko uporabi za iskanje tematik (angl. topic discovery), kar

omogoca tvorbo hierarhije dokumentov po tematiki. Nekatera vozlisca lahko imajo

enake podobnosti z aktivnim vozliscem, zato lahko s podatkom o drugih enako po-

dobnih vozliscih tvorimo hierarhijo vozlisc. Ob preverjanju medsebojnih podobnosti

dobljenih vozlisc lahko dolocimo gruce dokumentov s podobnimi tematikami. To je

se posebej uporabno pri dokumentih iz interdisciplinarnih podrocij kot sta recimo

mehatronika in bioinformatika.

Page 37: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Poglavje 2Obdelava dokumentov

Dokumente je pred priporocanjem skoraj vedno potrebno ustrezno obdelati. To po-

meni, da dokumente pretvorimo v taksen format, ki bo vseboval dovolj konteksta o po-

menu dokumenta, hkrati pa ne bo vseboval sumnih informacij, ki bi utegnile pokvariti

koncni rezultat. Navadno obdelava dokumentov vsebuje vec korakov, kjer se z vsakim

korakom priblizamo zelenemu koncnemu opisu dokumenta. Obstaja vec nacinov ob-

delave, opisali pa bomo izlocanje pogostih besed, sumarizacijo besedila, lematizacijo

besedila in avtomatsko pridobivanje kljucnih besed s pomenskim oznacevanjem.

2.1 Izlocanje pogostih besed

V stavkih besedila se pogosto pojavljajo besede, ki nimajo nobene pomenske vre-

dnosti. To so slovnicne besedne vrste med katere spadajo vezniki, predlogi, clenki

in medmeti. Besede teh besednih vrst zelimo odstraniti iz besedila, saj nas zanima

zgolj pomen. To storimo z uporabo seznama prepovedanih besed (angl. stop word

list), ki vsebuje slovnicne besedne vrste za jezik, v katerem je besedilo. Ce besedilo

vsebuje besedo na seznamu, jo iz besedila odstranimo. Tako nam v besedilu osta-

nejo le predmetnopomenske besedne vrste; to so samostalniske besede, pridevniske

besede, glagoli, povedkovniki in prislovi. Tvorba taksnega seznama je v bistvu zelo

dobrodosla tudi kadar zelimo izvajati strojno ucenje slovnicnih pravil dolocenega je-

zika. Prav tako se tak seznam lahko uporabi za hitro detekcijo jezika. Vcasih je dobro

na seznam prepovedanih besed dodati tudi kaksne predmetnopomenske besedne vrste,

Page 38: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

2. Obdelava dokumentov 20

ki se velikokrat pojavljajo skozi korpus besedil. Ce se katera beseda velikokrat po-

javlja v korpusu besedil, jo lahko smatramo kot prevec splosno. Za dobre specificne

rezultate iskalnikov in drugih sistemov, ki uporabljajo obdelavo besedil, je taksna

strategija nujna.

Poglejmo si primer vhodnega besedila in besedila po izlocanju pogostih besed v slo-

venskem jeziku. Vhodno besedilo so prvi trije stavki iz Cankarjeve zbirke crtic Moje

zivljenje:

Vhod

Nedavno je Slovenska Matica razposiljala po nasih krajih formular, na katerega najbi ljudje napisali poglavitne zanimivosti iz svojega zivljenja in nehanja. Tudi jazsem dobil tak formular, pa nisem vedel, kaj bi z njim. Besedilo je bilo namrechrvasko, moj obcevalni jezik pa je doma edinole slovenski.

Izhod

Nedavno Slovenska Matica razposiljala krajih formular katerega ljudje napisali po-glavitne zanimivosti svojega zivljenja nehanja. jaz dobil formular nisem vedel njim.Besedilo hrvasko, moj obcevalni jezik doma edinole slovenski.

Opazimo, da je na izhodu manj besed, pomen besedila pa ostane. S tem smo odstranili

sum, ki ga vnasajo slovnicne lastnosti jezika.

2.2 Lematizacija

Lematizacija (angl. lemmatisation) ali geslenje, je postopek dolocanja osnovne slovar-

ske oblike (leme) besedam v besedilu. Lematizaciji zelo podoben postopek je krnjenje.

Glavna razlika med lematizacijo in krnjenjem je v tem, da krnjenje besede ne pretvori

v slovarsko obliko ampak preprosto odreze koncnico besede tako, da ostane le krn.

Pri besedilnem rudarjenju se lematizacija uporablja pri odkrivanju kontekstov bese-

dil. Ce imamo besedilo podano z lemami je veliko lazje ugotoviti pomen besedil, saj

je primerna obdelava sklanjatev zahteven postopek. Tako si z lematizacijo olajsamo

delo, saj sklepamo da bo lema obdrzala pomen besede, kar v veliki vecini tudi velja.

Tako krnjenje kot lematizacija se uporabljata pri besedilnem rudarjenju, vendar je

lematizacija primernejsa za morfolosko bogate jezike kot je slovenski jezik. Medtem

Page 39: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

2. Obdelava dokumentov 21

ko je za angleski jezik rezultat krnjenja in lematizacije skorajda enak, se pri sloven-

skem jeziku pojavijo pomembne razlike. Krnjenje besed slovenskega jezika povzroci

zelo kratke krne. Posledicno se ti kratki krni zlijejo s pomenom ostalih besed v be-

sedilu, kar je problematicno za postopke, ki se zanasajo na krnjenje. Za ilustracijo

razlike med krnjenjem in lematizacijo si poglejmo primer (tabela 2.1) nekaterih besed

slovenskega jezika, ki prikazujejo delovanje krnjenja in lematizacije ter njun rezultat.

beseda krnjenje lematizacija

hodim hod hoditi

boljsi bolj dober

(pri) gori (Triglav) gor gora

(ogenj) gori gor gora

Tabela 2.1: Razlika med krnjenjem in lematizacijo. Pri besedi boljsi vidimo, da se pomenbolje izrazi z uporabo lematizacije. Pri besedi (ogenj) gori pa vidimo, da lematizacija vrnerezultat z zelo razlicnim pomenom.

2.3 Avtomatsko pridobivanje kljucnih besed s po-

menskim oznacevanjem

Za opis tematike dokumenta ponavadi vzamemo kljucne besede. S slednjimi lahko

uvrstimo dokument v ustrezne kategorije. Nekatere kljucne besede pa niso vedno

primerne, saj so prevec splosne ali pa prevec specificne. V tem primeru poznamo

resitev v obliki avtomatskega pridobivanja kljucnih besed. Postopek deluje tako, da

kot vhod podamo celoten dokument ali pa le en odsek, na izhodu pa dobimo besede,

ki opisujejo tematiko vhodnega dokumenta.

V diplomskem delu Marka Burjeka [8] je opisan postopek pomenskega oznacevanja

besedil s pomocjo Wikipedije. Ta postopek lahko uporabimo tudi za avtomatsko pri-

dobivanje kljucnih besed. Pomenski oznacevalnik prejme vhod v obliki teksta, lahko

pa mu podamo tudi seznam prepovedanih besed. Nato se z algoritmom za iskanje

Page 40: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

2. Obdelava dokumentov 22

besed poiscejo besede primerne za pomensko oznacevanje. Na tem mestu se opravi se

obdelava teksta v obliki pretvorbe v male crke in lematizacije. Rezultat te faze (korak

I) je seznam besed, ki so primerne za pomensko oznacevanje. Imamo torej besede,

ki se pojavljajo v besedilu, ne vemo pa njihovega pomena in ali gre za vecpomenske

besede. Ta problem resuje naslednja faza (korak II), ki razvrsti besede glede na po-

datek o temah, na katere je posamezna beseda kazala v Wikipediji. Ce se zazna samo

en pomen oziroma vec pomenov kjer je en izrazito velik, se beseda obravnava kot

enopomenska. S pomocjo algoritma za izracun sorodnosti, razlocevalnika in klasifika-

torja naucenega z algoritmom C4.5 se izracuna se splosnost (korak III). Postopek se

zakljuci z izracunom vrednosti za verjetnost, da bi bila beseda povezava na temo, ce

bi se pojavila v Wikipediji (korak IV). Rezultat je XML z verjetnostmi in besedami,

ki pomensko opisujejo dokument in jih lahko smatramo kot kljucne besede.

Vhod

V diplomskem delu obravnavamo problematiko pisanja tehnicnih vsebin in obja-vljanj le-teh na spletu. V teoreticnem delu predstavimo slovnico oznacevalnih jezikovLaTeX in MathML. V prakticnem delu smo izdelali spletni urejevalnik WYSIWYG,ki omogoca vnos matematicnih in kemijskih formul, zapisanih v oznacevalnem jezikuMathML.

Izhod

MathML, WYSIWYG, LaTeX, Jezik, Slovnica, Splet, Tehnika

V koraku I pred izbiranjem primernih besed za pomensko oznacevanje uporabimo pa-

rameter pmin, ki predstavlja minimalno zahtevano verjetnost, da je beseda oznacena

kot povezava v Wikipediji. Ta parameter lahko nastavljamo poljubno, avtor pa sve-

tuje vrednost 0.85, kar pomeni 85% verjetnost, da gre za povezavo v Wikipediji. Ver-

jetnosti se izracunajo z enacbo 2.1, kjer nl(w) pomeni stevilo pojavitev kot beseda,

nW (w) pa stevilo vseh pojavitev v Wikipediji.

pl(w) =nl(w)

nW (w)(2.1)

Page 41: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

2. Obdelava dokumentov 23

Po koraku I so znane besede, ki so se pojavile v besedilu, ne pa tudi njihov pomen.

Zato v koraku II ugotavljamo pomen besed na podlagi tematik, v katerih so se poja-

vile. Besede lahko imajo vec pomenov, zato je treba ugotoviti katere so enopomenske

in katere vecpomenske. To storimo tako, da ovrednotimo povezavo med besedami in

tematikami glede na pogostost uporabe. Tukaj igrajo glavno vlogo verjetnosti, da

so besede povezave v Wikipediji. V kolikor je verjetnost besede vecja od minimalne

zahtevane verjetnosti, jo smatramo kot enopomensko in tako dolocimo pomen besede.

V koraku III s pomocjo razlocevalnika izracunamo verjetnosti misljenih pomenov

pri ostalih besedah. Razlocevalnik izracuna verjetnost s pomocjo splosnosti angl.

commonness, sorodnosti in podatkov s konteksta. Pri kontekstu se uposteva kvaliteta

konteksta; ce so enopomenske besede v istem dokumentu sorodne, je pri dolocanju

pomena vecpomenskih besed bolj pomembna sorodnost, v primeru slabe sorodnosti

pa je bolj pomembna splosnost. Splosnost je dana z enacbo 2.2 in predstavlja inverz

verjetnosti, da je beseda povezava v Wikipediji.

c(w) =nW (w)

nl(w)(2.2)

Sledi se korak IV, kjer se za vsako besedo izracuna vrednost za verjetnost, da bi bila

beseda povezava na temo, ce bi se pojavila v Wikipediji. To se izracuna s pomocjo

algoritma C4.5, ki uporablja pojavitve, izhod razlocevalnika (verjetnost, da je pomen

pravilen), sorodnost z ostalimi tematikami, verjetnost povezave, globina tematike

v hierarhiji in pozicija besede v besedilu (pojavitev na enem mestu ali razprsena

pojavitev). Vse besede z verjetnostjo manjso od pmin se odstranijo iz seznama. S

korakom V se seznam preostalih besed uredi po verjetnostih.

Page 42: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Poglavje 3Funkcija razvrscanja BM25

BM25 (Best Match 25 ) je funkcija razvrscanja, ki omogoca razvrscanje dokumentov

po podobnosti na podlagi besed, ki se pojavljajo v dokumentih. Zacetki razvoja te

funkcije segajo med 1970 in 1980, ko sta Stephen E. Robertson in Karen Sparck Jones

zacela razvijati ogrodje za pridobivanje informacij na podlagi verjetnosti. Med 1980

in 1990 je ta funkcija dozivela tudi vecjo publiciteto, saj je bila prvic implementirana

v sistemu Okapi. Tako je dobila tudi drugo ime - Okapi BM25. Prav tako je imple-

mentirana v razlicnih resitvah povezanih z iskalniki kot so Xapian, Apache Lucene in

Apache Solr. BM25 je ze od svojega nastanka ena izmed najboljsih funkcij za iska-

nje podobnih dokumentov, se pa tudi danes - vec kot 40 let po nastanku - se vedno

izboljsuje. V nadaljevanju bomo spoznali zakaj je temu tako in kaj tocno naredi to

funkcijo tako dobro in zanesljivo. BM25 v bistvu ni samo ena funkcija temvec druzina

vec funkcij, ki se razlikujejo po uteznih shemah in vrednostih parametrov pomembno-

sti za utezi. Najveckrat se uporabljata utezi tf in idf . Utez tf (angl. term frequency)

predstavlja frekvenco dolocene besede v dokumentu, utez idf pa pomembnost besede

glede na celotno zbirko dokumentov. Enacbe za izracun utezi tf in idf za BM25 se

glasijo:

tf(t, d) = ||n : t ∈ d|| (3.1)

n(t) = ||d ∈ D : t ∈ d|| (3.2)

idf(t) = log||D|| − n(t) + 0.5

n(t) + 0.5(3.3)

Page 43: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

3. Funkcija razvrscanja BM25 25

||D|| v enacbi 3.3 predstavlja kardinalnost (velikost) zbirke D, n(t) dan z enacbo 3.2

pa stevilo dokumentov, ki vsebujejo besedo t. Prav tako je potrebno omeniti, da

enacba 3.3 vnasa nekaj slabosti, ko se beseda t pojavi v vec kot polovici dokumentov

iz zbirke D. Recimo da imamo opravka z dvema zelo podobnima dokumentoma in se

v enem pojavi beseda t, v drugem pa ne. Dokument, ki ne vsebuje besede t bo dobil

visjo oceno, saj BM25 vnasa nizanje pomembnosti zelo pogostim besedam. To lahko

resimo z uporabo drugacne enacbe za utez idf (recimo z enacbo 4.2, opisano v poglavju

LSA), ali pa z ustreznim predhodnim filtriranjem besed, ki opisujejo dokument.

Ocena BM25 je odvisna od utezi tf in idf ter parametrov k1 in b. Splosna enacba

izracuna ocene BM25 za dokument d glede na zahtevo q z besedami qi je podana z

enacbo 3.4.

s(d, q) =

||q||∑i=1

idf(qi) ·tf(qi, d) · (k1 + 1)

tf(qi, d) + k1 ·(

1− b+ b · ||d||A

) , qi ∈ q (3.4)

||d|| =n∑

i=1

tf(ti, d), ti ∈ d (3.5)

A v zgornji enacbi predstavlja povprecno stevilo besed v dokumentih iz zbirke D kar

nakazuje, da je delovanje BM25 odvisno od zbirke dokumentov in njihove predsta-

vitve. Prav tako imata kljucno vlogo parametra k1 in b, ki uravnavata tezo utezi

tf in tezo dolzine dokumentov v koncnem izracunu. Dolzina dokumentov se meri s

stevilom besed. Parametra sta bila uvedena zaradi dveh znacilnosti, ki se pojavljata

pri pisanju dokumentov.

Pa recimo, da imamo dva podobna dokumenta, ki imata enako tematiko, uporabljata

enake besede in sta ju napisala dva razlicna avtorja. Dokumenta sta lahko razlicna

v dolzinah zaradi razlicnih stilov avtorjev. En izmed avtorjev lahko ima taksen stil,

kjer uporablja veliko nepomembnih ali redundantnih besed, da pove enako stvar kot

drugi avtor. V tem primeru lahko predpostavimo, da imata oba dokumenta enako

dolzino in lahko posledicno normaliziramo frekvence besed z dolzino dokumenta brez

da bi spremenili vpliv unikatnosti in ustreznosti. Temu pravimo predpostavka o sirini

vsebine dokumenta (angl. verbosity hypothesis). Obstaja pa tudi drug pogled na

Page 44: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

3. Funkcija razvrscanja BM25 26

situacijo; dokumenta lahko imata razlicno dolzino zaradi tega, ker je en avtor na-

pisal bistveno vec o tematiki kot drug avtor. O tem govori predpostavka o obsegu

dokumenta (angl. scope hypothesis). V praksi gre za kombinacijo teh dveh predpo-

stavk, zato potrebujemo ustrezno normalizacijo. Dolzino vsakega dokumenta lahko

normaliziramo s povprecno dolzino dokumentov, dano z enacbo 3.6. Nadalje lahko

to normalizacijo reguliramo s parametrom b kot kaze enacba 3.7, v enacbi 3.4 pa

vidimo, da uporabimo funkcijo normalizacije B za normalizacijo utezi tf v navezi s

parametrom k1.

A =

∑||D||j ||dj||||D||

(3.6)

B = 1− b+ b · ||dj||A

(3.7)

3.1 Izbira parametrov k1 in b

Parameter k1 uravnava pomembnost utezi tf , parameter b pa pomembnost dolzine

dokumentov. V interesu nam je, da sestavimo taksno funkcijo, ki bo delovala najbolje

na razlicnih dokumentih v zbirki. To pomeni, da je potrebno ugotoviti katere vredno-

sti parametrov k1 in b so najboljse za dano zbirko. Vrednosti teh dveh parametrov

niso striktno definirane, navadno pa se uporabijo vrednosti k1 ∈ [1.2, 2.0] in b = 0.75.

Da bomo bolje razumeli kako parametra dejansko vplivata na samo delovanje BM25,

si poglejmo odvisnost lokalnih utezi od frekvence besed. Za boljso ilustracijo bomo

reproducirali primere na to temo, ki so podani v [23]. Definirajmo lokalno utez L za

i-to besedo t vsebovano v j-tem dokumentu d, ki je dana z enacbo 3.8.

L(ti, dj) =tf(ti, dj) · A

||dj ||A||dj || · k1 ·B + tf(ti, dj) · A

||dj ||, ti ∈ dj (3.8)

Oglejmo si grafe krivulj odvisnosti lokalnih utezi od frekvence besed za razlicna raz-

merja||dj ||A

, ce pri tem spreminjamo parametra k1 in b.

Page 45: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

3. Funkcija razvrscanja BM25 27

0 2 4 6 8 100

0.2

0.4

0.6

0.8

1

tf

L

0 2 4 6 8 100

0.2

0.4

0.6

0.8

1

tfL

Slika 3.1: Odvisnost lokalne utezi od frekvence za razmerja||dj ||A = 0.1 (modra),

||dj ||A = 1

(rdeca) in||dj ||A = 10 (zelena) pri parametrih b = 0.5 in k1 = 1 (levo) ter k1 = 2 (desno).

0 2 4 6 8 100

0.2

0.4

0.6

0.8

1

tf

L

0 2 4 6 8 100

0.2

0.4

0.6

0.8

1

tf

L

Slika 3.2: Odvisnost lokalne utezi od frekvence za razmerja||dj ||A = 0.1 (modra),

||dj ||A = 1

(rdeca) in||dj ||A = 10 (zelena) pri parametrih b = 0.8 in k1 = 1 (levo) ter k1 = 2 (desno).

Iz slik 3.1 in 3.2 je razvidno, da parameter b vpliva na ukrivljenost krivulj, parameter

k1 pa na polozaj krivulje. Visja vrednost parametra k1 pri konstantnem b potisne

krivuljo k nizjim vrednostim kot je to vidno na sliki 3.3. Zaradi tega lahko parameter

b definiramo kot normalizacijski parameter za doseganje mehke normalizacije (angl.

Page 46: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

3. Funkcija razvrscanja BM25 28

soft normalization), parameter k1 pa definiramo kot dusilni faktor normalizacijske

funkcije B. Vidimo torej, da parametra k1 in b skupaj vzajemno vplivata na krivulje

kar pa pomeni tudi, da je potrebno prilagajati oba hkrati kadar ju zelimo spreminjati.

0 2 4 6 8 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

tf

L

k1 = 0.2

k1 = 1

k1 = 3

k1 = 10

Slika 3.3: Vpliv parametra k1 na krivuljo odvisnosti lokalne utezi od frekvence pri kon-stantnem b. Vecje vrednosti k1 potisnejo funkcijske vrednosti nizje kot manjse vrednostik1.

Poglejmo se kako na delovanje BM25 vplivajo dolzine dokumentov. Dolzino doku-

menta lahko preprosto definiramo kot sestevek vseh frekvenc besed, ki jih vsebuje.

Ce zelimo ugotoviti vpliv posamezne besede v dokumentu, moramo definirati se t.i.

gostoto besede itd (angl. index term density), ki jo izracunamo za vsako besedo kot

kolicnik njene frekvence in dolzine dokumenta v katerem je vsebovana (enacba 3.9).

itd(ti, dj) =tf(ti, dj)

||dj||, ti ∈ dj (3.9)

Upostevajmo gostoto besed v enacbi 3.8 in poglejmo kaj se zgodi, ce fiksiramo para-

metra k1 in b, hkrati pa spreminjamo povprecno dolzino dokumentov A:

L(ti, dj) =itd(ti, dj) · A

A||dj || · k1 ·B + itd(ti, dj) · A

, ti ∈ dj (3.10)

Page 47: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

3. Funkcija razvrscanja BM25 29

0 0.5 1 1.5 20.8

0.82

0.84

0.86

0.88

0.9

0.92

0.94

0.96

0.98

1

itd

L

A = 500A = 1000A = 1500A = 2000A = 2500A = 3000

Slika 3.4: Obnasanje odvisnosti lokalne utezi od gostote pri konstantnih parametrih k1in b in razlicnih povprecnih dolzinah dokumentov A. Na zacetku vrednost L sorazmernonarasca z vrednostjo itd, cez cas pa doseze tocko nasicenosti, kjer vrednost itd nima vecmocnega vpliva nanjo.

Zaradi tocke nasicenosti, lahko ugotovimo kje se nahaja regija nasicenosti ali ne-

nasicenosti zgolj na podlagi povprecne dolzine dokumenta. Torej, ce imamo podano

povprecno vrednost dokumenta, zeleno vrednost za itd in dolzino dokumenta, lahko

ugotovimo kolikokrat se naj beseda ponovi, da se bomo izognili regiji nasicenosti ozi-

roma nenasicenosti. Slednja opazka nam lahko pomaga pri izbiri parametrov k1 in b,

ce imamo vec zbirk dokumentov in iscemo najboljsi vrednosti za k1 in b, ki bi delovali

dovolj zadovoljivo na vseh zbirkah hkrati.

3.2 Izpeljanke BM25

Razvoj BM25 cez leta ni stal, saj se je podrocje pridobivanja znanja zelo hitro razsirilo,

se posebej v smislu razvoja iskalnikov. Tako danes poznamo kar nekaj izpeljank

BM25, ki osnovni ideji funkcije vnasajo dodatno funkcionalnost, nekatere pa izboljsajo

Page 48: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

3. Funkcija razvrscanja BM25 30

delovanje v celoti. Potrebno je omeniti tudi avtorja Lv in Zhai [25, 41, 42, 43], ki sta

na podrocju izpeljank BM25 v zadnjih letih doprinesla kar 5 razlicnih izpeljank.

3.2.1 BM11

BM11 v resnici ni izpeljanka v pravem pomenu besede. Gre le za BM25, kjer para-

meter b nastavimo na 1, parameter k1 pa prosto izbiramo. Ker parameter b nastopa v

normalizacijski funkciji B, govorimo o polni normalizaciji (angl. full normalization).

Tako lahko skrajsamo enacbo 3.4 v enacbo 3.11:

s(d, q) =

||q||∑i=1

idf(qi) ·tf(qi, d) · (k1 + 1)

tf(qi, d) + k1 · ||d||A

, qi ∈ q (3.11)

3.2.2 BM15

Podobno kot pri BM11, se tudi pri BM15 nastavi parameter b na konstantno vre-

dnost, vendar tokrat na 0. Parameter k1 tudi tukaj prosto izbiramo. BM15 lahko iz

normalizacijskega stalisca interpretiramo kot komplement BM11, saj gre za nicelno

normalizacijo (angl. zero normalization). Rezultat je enacba 3.12:

s(d, q) =

||q||∑i=1

idf(qi) ·tf(qi, d) · (k1 + 1)

tf(qi, d) + k1, qi ∈ q (3.12)

3.2.3 BM25F

S prihodom strukturiranih virov podatkov, je bilo potrebno razviti metodo, ki bi

omogocala sestavljeno ocenjevanje glede na strukturo podatkov. Pri nekaterih oblikah

podatkov je tako, da nekateri deli strukturiranega dokumenta bolje opisujejo tema-

tiko kot drugi. Tako lahko damo vecjo utez oceni, ki jo dobimo iz naslova in kljucnih

besed, manjso pa tisti oceni, ki jo dobimo iz zakljucka. Taksno shemo ocenjevanja

omogoca izpeljanka BM25F. Poudariti je treba, da je za delovanje te izpeljanke po-

trebna standardizirana struktura dokumenta (recimo XML), kar pa je tezko doseci ce

Page 49: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

3. Funkcija razvrscanja BM25 31

te strukture ne definiramo ze vnaprej. Tekst je lahko poljubno zgrajen, zato je v pra-

ksi skoraj vedno potrebno implementirati se orodje, s katerim oznacujemo strukturo

dokumenta.

3.2.4 Izpeljanke avtorjev Lv in Zhai

Lv in Zhai sta v zadnjih letih razvila veliko izpeljank, ki izboljsujejo delovanje BM25.

Med njimi gre za sicer manjse spremembe, ki pa imajo veliko vpliva v uporabi. Naj-

bolj znana izmed njunih izpeljank je BM25L [25], ki odpravlja slabo delovanje BM25

kadar imamo dolge dokumente. To pomanjkljivost sta odkrila prav avtorja in jo tudi

odpravila s prilagajanjem normalizacije tako, da sta uvedla parameter zamika δ. Sle-

dnji zagotavlja, da so dolgi dokumenti enakovredni krajsim, kar izboljsa razvrscanje.

Druge izpeljanke teh avtorjev so BM25C, BM25Q, BM25T [43] in BM25+ [42], ki pa

jih ne bomo podrobneje obravnavali zaradi njihove prevelike obseznosti.

3.3 Prednosti in slabosti

Skozi to poglavje smo podrobneje spoznali delovanje BM25 in spoznali nekatere la-

stnosti s teoreticnega vidika. Dejstvo je, da je BM25 zelo ucinkovita metoda v praksi.

Z njeno uporabo hitro ugotovimo, da ima kar nekaj pozitivnih lastnosti, nekaj pa

je tudi negativnih. Oglejmo si torej nekaj prednosti in slabosti BM25 s prakticnega

vidika.

Prednosti

• Preprosta implementacija.

• Moznost paralelnega racunanja utezi.

• Neodvisnost od jezika.

• Uporaba priporocenih vrednosti parametrov k1 in b se v splosnem dobro obnese.

Page 50: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

3. Funkcija razvrscanja BM25 32

Slabosti

• Dokumenti z besedami, ki se velikokrat pojavijo v zbiri dokumentov so vcasih

slabse uvrsceni, kar ni vedno zazeleno. Ce zelimo to odpraviti, moramo spre-

meniti implementacijo ali pa ustrezneje nastaviti parametra k1 in b.

• Rezultati so odvisni od vsebine dokumentov. Ce je le-ta obsezna, lahko upora-

bimo izpeljanko BM25L, ki pa vnasa nov parameter δ. Posledicno je implemen-

tacija kompleksnejsa, vnesemo pa se eno novo spremenljivko pri optimizaciji

vrednosti parametrov.

Page 51: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Poglavje 4Latentna semanticna analiza

Latentna semanticna analiza (angl. latent semantic analysis) ali LSA, je izum Scotta

Deerwesterja in njegove ekipe [27, 28] iz leta 1988. Gre za tehniko analize podobnosti

med besedili na podlagi pomenov. Tehnika predpostavlja, da se besede s podob-

nim pomenom pojavljajo v okolici podobnih besed. Metoda se aktivno uporablja

pri inteligentnih iskalnikih, sistemih priporocanja, detekciji plagiatov in tudi kot del

postopkov pomenskega grucenja. Na podrocju iskalnikov je postopek znan tudi kot

latentno semanticno indeksiranje (LSI - angl. latent semantic indexing). V tem po-

glavju bomo spoznali delovanje metode LSA, njene posebnosti in lastnosti ter nekaj

izboljsav.

4.1 Dokumenti v vektorskem prostoru

Dokumente razumemo kot mnozico besedil, stavkov ali besednih zvez. V taksni obliki

je dokument s stalisca matematicnih modelov neustrezno definiran, saj s stavki tezko

operiramo. Z drugimi besedami: nimamo ustreznih matematicno definiranih opera-

cij, ki bi jih lahko uporabljali za obdelavo dokumentov, predstavljenih na ta nacin.

Zaradi tega iscemo nacine predstavitve dokumentov v drugacni, matematicno bolj

ustrezni obliki. Upraviceno lahko sklepamo, da je vsak dokument definiran s svojo

vsebino. Nasa naloga je torej ugotoviti ustrezen nacin pretvorbe besed iz dokumenta v

obliko, ki je primerna za obdelavo. Ker ima vsak dokument vec razlicnih besed lahko

predpostavimo, da je vsaka beseda lastnost dokumenta, ki mu pripada. Pri LSA in

Page 52: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4. Latentna semanticna analiza 34

tudi nekaj drugih metodah, te lastnosti preprosto prestejemo. Izhajamo iz predpo-

stavke, da je frekvenca besed pokazatelj konteksta. Ker je besed vec, vsaka beseda

predstavlja svojo dimenzijo. Na tak nacin dobimo predstavitev dokumenta v obliki

vektorja, kjer so komponente vektorja frekvence, ki pa s svojimi vrednostmi predsta-

vljajo utezi. Vec taksnih vektorjev lahko zdruzimo v matriko in imamo matematicno

dobro definirano strukturo zbirke besedil.

LSA deluje nad zbirko besedil in zahtevo, ki ju pretvori v matriko in vektor z utezmi.

Pretvorbo zbirke opravimo tako, da za besede v dokumentih izracunamo utezi v

vsakem dokumentu. Dobljene utezi lahko kompaktno shranimo v matriko A, s tem

pa dobimo n-dimenzionalni prostor, katerega dimenzije segajo do stevila vseh besed

v zbirki. Utezi so lahko zgolj frekvence besed v besedilu, lahko pa so to tf -idf utezi

(angl. term frequency - inverse document frequency). Slednje dobimo po naslednjih

enacbah:

tf(t, d) = ||n : t ∈ d|| (4.1)

idf(t) =||D||n(t)

(4.2)

n(t) = ||d ∈ D : t ∈ d|| (4.3)

tf -idf(t, d) = tf(t, d) · idf(t) (4.4)

Utez tf torej predstavlja frekvenco besede v dokumentu d, utez idf pa pomeni po-

membnost besede t v celotni zbirki dokumentov D. Kot vidimo je utez tf enako

definirana kot pri funkciji BM25, utez idf pa ne. To je zaradi tega, ker BM25 upo-

rablja drugacno definicijo utezi idf zaradi drugacnega verjetnostnega modela. ||D||je kardinalnost (velikost) zbirke dokumentov, n(t) pa pomeni stevilo dokumentov iz

zbirke dokumentov D, ki vsebujejo besedo t. Pri enacbi 4.2 je treba poudariti, da

pride do deljenja z 0 v kolikor je vrednost enacbe 4.3 enaka 0. To lahko resimo tako,

da ne upostevamo besed, ki niso v zbirki ali pa priredimo enacbo 4.3 tako, da eno-

stavno pristejemo 1. Na ta nacin se resimo deljenja z 0, za vse ostale vrednosti pa se

ucinkovitost delovanja ne spremeni.

Page 53: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4. Latentna semanticna analiza 35

Matrika utezi A je matrika, kjer vrstice predstavljajo besede, stolpce pa dokumenti v

zbirki. Ker ni nujno da bo stevilo besed enako stevilu dokumentov v zbirki, matrika A

naceloma ni kvadratna. Naj bo ||T || stevilo vseh besed v zbirki, ||D|| pa stevilo vseh

dokumentov v zbirki. Stevca i = 1, 2, ...||T || in j = 1, 2, ...||D|| naj stejeta po vrsticah

(besedah) in stolpcih (dokumentih). Matrika A je tako velikosti ||T ||×||D||. Tvorimo

jo tako, da izracunamo stolpicne utezne vektorje dj za posamezne dokumente in jih

zlagamo skupaj.

Pretvorba zahteve je identicna tvorbi stolpicnega uteznega vektorja dj. Zahtevo torej

razumemo kot dokument, ki pa ga ne upostevamo v zbirki. Lahko se zgodi, da zahteva

vsebuje besede, ki v zbirki ne obstajajo. V taksnih primerih teh besed ne upostevamo

pri racunanju uteznega vektorja. Rezultat pretvorbe sta torej utezna matrika zbirke

A in utezni vektor zahteve q.

4.2 Algoritem

Po preslikavi v vektorski prostor lahko izvajamo matematicne operacije nad podatki,

saj nimamo vec opravka z besedami temvec z realnimi stevili. Najprej utezno matriko

A razcepimo na matrike U, Σ in V∗ s postopkom singularnega razcepa (angl. singular

value decomposition). V nadaljevanju bomo singularni razcep oznacevali s kratico

SVD. U in V∗ sta v bistvu ortonormirani bazi vektorskega prostora, katerega smo

ustvarili, Σ pa je diagonalna matrika, ki vsebuje singularne vrednosti. Ta korak je

tudi racunsko najbolj zahteven in predstavlja ozko grlo metode LSA.

Sledi redukcija dimenzij matrik U, Σ in V∗ na rang k. To je kljucna operacija v al-

goritmu, saj predstavlja neke vrste filter suma zaradi katerega je tezko najti podobne

pomene med besedami v zbirki. Z redukcijo enostavno odrezemo odvecne dimenzije

vektorskega prostora, rezultat pa je k-aproksimacija originalnega vektorskega pro-

stora. Rang k lahko interpretiramo kot parameter filtriranja. Od tega parametra je

odvisno delovanje LSA, saj z majhno vrednostjo izgubimo informacije in zmanjsamo

racunsko zahtevnost, obratno pa ohranimo informacije (vcasih tudi nepotrebne) in

povecamo racunsko zahtevnost. Ta parameter je odvisen od zbirke besedil in se v

praksi nastavlja po potrebi, studija [32] pa je pokazala, da se za splosno besedilo

Page 54: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4. Latentna semanticna analiza 36

A

w × d

U Σ V

w × w w × d

d × d

*

Slika 4.1: Stanje matrik po singularnem razcepu. Slika prikazuje stanje matrik pokoncanem koraku 1 v algoritmu 1.

A

w × d

U Σ V

w × d

d × d d × d

*

Slika 4.2: Stanje matrik po singularnem razcepu. Vrednosti v matriki Σ po vrstici D soenake 0 in ne doprinesejo nic h koncnemu rezultatu zato jih lahko zavrzemo. Posledicnose spremeni velikost matrike U zaradi pogoja o ujemajocih se notranjih dimenzijah primnozenju matrik.

najbolje obnese vrednost med k = 100 in k = 300. Slike 4.1, 4.2 in 4.3 prikazujejo

stanje matrik pred in po izvajanju tega koraka.

Zatem moramo izracunati nove utezne vektorje dokumentov dj,k in zahteve qk. To

je potrebno zato, ker nekaterih informacij po redukciji nimamo vec, prvotni utezni

vektorji pa te informacije se vedno upostevajo. Nove utezne vektorje dobimo tako,

da originalne vektorje pomnozimo z reducirano matriko Uk in inverzom reducirane

Page 55: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4. Latentna semanticna analiza 37

w × d w × k

k × k k × d

VΣA U *kkkk

Slika 4.3: Stanje matrik po redukciji dimenzij na rang k (korak 2 v algoritmu 1). Matrikamiz stanja na sliki 4.2 spremenimo dimenzije glede na parameter ranga k.

matrike Σk. Izracun novih uteznih vektorjev opravimo z enacbama 4.5 in 4.6.

dj,k = dTj UkΣ

−1k (4.5)

qk = qTUkΣ−1k (4.6)

Na koncu moramo izracunati le se podobnosti med vektorjem zahteve qk in vsemi

vektorji dokumentov dj,k. To storimo z racunanjem razdalje med vektorji. Naceloma

lahko vzamemo katerokoli metriko razdalje, ponavadi pa vzamemo kosinusno razdaljo

dano z enacbo:

sim(qk,dj,k) =qk · dj,k

||qk|| · ||dj,k||(4.7)

Kosinusna razdalja vraca podobnost dveh dokumentov glede na kot dveh vektorjev

v vektorskem prostoru. Manjsi je ta kot, bolj sta si dokumenta podobna, saj lezita

blizje skupaj v vektorskem prostoru. Dokument d, ki kot vektor lezi najblizje vektorju

zahteve q je torej rezultat algoritma, zlahka pa lahko LSA modificiramo tako, da vrne

n najbolj podobnih dokumentov. Koraki algoritma so zbrani v 1.

Page 56: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4. Latentna semanticna analiza 38

Algoritem 1 LSA

1: function Latent-Semantic-Analysis(A, q)// Korak 1: singularni razcep

2: (U,Σ,V∗) = SVD(A)// Korak 2: redukcija dimenzij U, Σ in V∗

3: U→ Uk // redukcija po stolpcih4: Σ→ Σk // redukcija po vrsticah in stolpcih5: V∗ → V∗k // redukcija po vrsticah

// Korak 3: izracun novih uteznih vektorjev dokumentov dj,k

6: dj,k ← dTj UkΣ

−1k

// Korak 4: izracun novega uteznega vektorja zahteve qk

7: qk ← qTUkΣ−1k

// Korak 5: izracun podobnosti med dj,k in qk

8: S ← ∅9: for dk ∈ Dk do

10: S ← S ∪ {sim(qk,dk)}11: end for

// Korak 6: iskanje n najbolj podobnih dokumentov v S12: max← maxn{S}13: return max14: end function

4.3 Primer delovanja

V nadaljevanju si bomo poblizje ogledali delovanje LSA nad slovenskim in angleskim

jezikom. Primer v slovenscini je izmisljen, primer v anglescini pa je primer iz [46].

Na obeh primerih bomo pokazali delovanje algoritma, hkrati pa bosta primera sluzila

kot dokaz, da je metoda LSA neodvisna od jezika. To pomeni, da deluje enako dobro

ne glede na jezik zbirke dokumentov. To je posledica verjetnostnega modela, ki se

ustvari, ko tvorimo utezno matriko A.

Delovanje nad slovenskim jezikom

Naj bo zbirka dokumentov D sestavljena iz treh stavkov a, b in c (|D| = 3) v slo-

venskem jeziku, kjer vsak stavek predstavlja en dokument. Zahteva q naj bo stavek

Hotel sem sobo v hotelu.

Page 57: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4. Latentna semanticna analiza 39

a Hotel je placati racun za sobo

b Ta hotel ima zelo poceni sobe

c Kdor bo hotel, bo spal v hotelu

Informacije pretvorimo v vektorski prostor in dobimo matriko A ter vektor q:

A =

0 0 2

1 1 1

0 0 1

0 1 0

1 0 0

0 0 1

1 0 0

0 1 0

1 0 0

0 0 1

1 0 0

0 0 1

0 1 0

0 0 1

1 0 0

0 1 0

q =

0

1

1

0

0

0

0

0

0

0

1

0

0

1

0

0

bo

hotel

hotelu

ima

je

kdor

placati

poceni

racun

sobe

sobo

spal

ta

v

za

zelo

Izvedemo SVD(A), reduciramo matrike U, Σ in V∗ na rang k = 2 in izracunamo

nove utezne vektorje:

ak =

−0.25

0.83

bk =

−0.21

0.44

ck =

−0.94

−0.33

qk =

−0.33

0.18

Page 58: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4. Latentna semanticna analiza 40

Izracunamo kosinusne razdalje med novimi uteznimi vektorji dokumentov ak, bk, ck

in novim uteznim vektorjem zahteve qk ter poiscemo maksimalni element mnozice S:

S = {0.71, 0.81, 0.67}

max = max{S} = 0.81

Najvecje ujemanje se pojavi pri dokumentu b. LSA za zahtevo Hotel sem sobo v

hotelu vrne dokument Ta hotel ima zelo poceni sobe. Delovanje v vektorskem prostoru

prikazuje slika 4.4.

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

LSA dimenzija 1

LSA

dim

enzija2

LSA - prikaz vektorjev

ZahtevaDokumenti

Slika 4.4: Delovanje LSA nad slovenskim jezikom. Roza vektor predstavlja dokument znajvecjim ujemanjem.

Page 59: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4. Latentna semanticna analiza 41

Delovanje nad angleskim jezikom

Naj bo zbirka dokumentovD sestavljena iz treh stavkov a, b in c (|D| = 3) v angleskem

jeziku, kjer vsak stavek predstavlja en dokument. Zahteva q naj bo stavek gold silver

truck.

a Shipment of gold damaged in a fire

b Delivery of silver arrived in a silver truck

c Shipment of gold arrived in a truck

Informacije pretvorimo v vektorski prostor in dobimo matriko A ter vektor q:

A =

1 1 1

1 1 0

1 0 0

0 1 0

1 0 0

1 0 1

1 1 1

1 1 1

1 0 1

0 2 0

1 1 0

q =

0

0

0

0

0

1

0

0

0

1

1

a

arrived

damaged

delivery

fire

gold

in

of

shipment

silver

truck

Izvedemo SVD(A), reduciramo matrike U, Σ in V∗ na rang k = 2 in izracunamo

nove utezne vektorje:

ak =

−0.49

−0.64

bk =

−0.64

0.71

ck =

−0.58

−0.24

qk =

−0.21

0.18

Page 60: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4. Latentna semanticna analiza 42

Izracunamo kosinusne razdalje med novimi uteznimi vektorji dokumentov ak, bk, ck

in novim uteznim vektorjem zahteve qk ter poiscemo maksimalni element mnozice S:

S = {−0.05, 0.99, 0.44}

max = max{S} = 0.99

Najvecje ujemanje se pojavi pri dokumentu b. LSA za zahtevo gold silver truck vrne

dokument Delivery of silver arrived in a silver truck. Delovanje v vektorskem prostoru

prikazuje slika 4.5.

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

LSA dimenzija 1

LSA

dim

enzija2

LSA - prikaz vektorjev

ZahtevaDokumenti

Slika 4.5: Delovanje LSA nad angleskim jezikom. Roza vektor predstavlja dokument znajvecjim ujemanjem.

4.4 Prednosti in slabosti

Iskanje podobnih pomenov v besedilih je zelo tezka naloga, ki jo LSA dobro opravlja.

Trenutno je to ena izmed najbolj popularnih metod za iskanje podobnih pomenov v

besedilih. Vendar ker na podrocju procesiranja naravnega jezika za to nalogo obstaja

Page 61: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4. Latentna semanticna analiza 43

veliko razlicnih metod, hitro ugotovimo, da nobena izmed njih ni popolna. Metoda

LSA je priljubljena ravno zaradi dobrih rezultatov. V nadaljevanju je navedenih nekaj

glavnih prednosti in slabosti LSA.

Prednosti

• Neodvisnost od jezika.

• Dobro zaznavanje sinonimov.

• Omogoca iskanje podobnih besedil v razlicnih jezikih, ce imamo prevedeno ba-

zno mnozico besedil.

• Mozna je paralelna implementacija.

Slabosti

• Slabo zaznavanje polisemije (vecpomenskosti).

• Verjetnostni model LSA predvideva, da dokumenti in besede v vektorskem pro-

storu tvorijo model z Gaussovo porazdelitvijo, v praksi pa se pojavi model s

Poissonovo porazdelitvijo.

• Casovno in prostorsko potratna metoda pri velikih kolicinah podatkov.

4.5 Izboljsave LSA

Veliko raziskovalcev se ukvarja z resevanjem slabosti LSA, saj so v praksi dolocene

omejitve, katere je potrebno zaobiti za dobro delovanje LSA. Prva taksna omejitev

je racunanje SVD. Izracun navadno poteka v dveh fazah. Najprej je potrebno redu-

cirati matriko tako, da postane bidiagonalna, nato pa sledi izracun SVD za dobljeno

bidiagonalno matriko z iterativnim algoritmom. Racunska zahtevnost za matriko di-

menzij m × n je O(mn2) [44]. Ko imamo veliko dokumentov in besed, traja izracun

SVD tudi po vec dni. V tem primeru lahko ali zmanjsamo mnozico dokumentov,

ali pa izboljsamo algoritem za izracun SVD. Operacija SVD predstavlja ozko grlo

Page 62: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

4. Latentna semanticna analiza 44

metode LSA, zelimo pa hitro delovanje pri veliki kolicini podatkov, saj drugace ne

bi mogli izvesti neposrednega serviranja rezultatov, kar pa je potrebno recimo pri

iskalnikih. V ta namen so bile razvite metode, med njimi tudi inkrementalne, ki

hitreje izracunajo SVD [31, 38, 35]. Trenutno najbolj aktualni metodi sta Brandov

algoritem [36] in metoda stohasticne aproksimacije Gorellove in Webba [33]. Medtem

ko Brandov algoritem izracuna natancno resitev, metoda Gorellove in Webba vrne le

zelo dober priblizek zaradi iterativnega pristopa. Rezultat obeh izboljsav je podoben

uveljavljenim metodam za izracun SVD, ki jih najdemo v [38, 44, 45]. Naslednja

pomanjkljivost LSA je ta, da verjetnostni model LSA predvideva, da so dokumenti in

besede v vektorskem prostoru normalno porazdeljeni, ceprav so v bistvu porazdeljeni

po Poissonovi porazdelitvi. V ta namen je bila razvita metoda PLSA (angl. Probabili-

stic LSA) [34], ki daje ravno zaradi upostevanja prave porazdelitve se boljse rezultate

kot LSA. Zaznavanje polisemije je najvecja pomanjkljivost LSA, ki je raziskovalno se

najbolj neresena. Resevanja tega problema bi se lahko lotili z vklucitvijo semanticnih

mrez. Slednje nosijo informacije o vec pomenih istih besed. Tezava je v tem, da je

gradnja semanticnih mrez trenutno se zelo neraziskano podrocje in zaradi tega se ni

dovolj dobrih postopkov, ki bi jih lahko uporabili v praksi.

Page 63: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Poglavje 5Razvoj sistema priporocanja

V tem poglavju bomo opisali razvoj sistema priporocanja dokumentov, ki je tudi

prakticni izdelek tega magistrskega dela. Spoznali bomo zasnovano strukturo sistema

in uporabljene metode, podrobneje pa si bomo pogledali pristop opisovanja dokumen-

tov s kombinacijo vec razlicnih nacinov. Na koncu si bomo ogledali se nekaj izboljsav,

ki smo jih implementirali za bolj robustno uporabo v praksi. Med razvojem smo za

zbirko dokumentov uporabljali diplomske, magistrske in doktorske naloge ter druge

dokumente shranjene v digitalni knjiznici Univerze v Mariboru (DKUM).

5.1 Motivacija

Digitalna knjiznica Univerze v Mariboru je spletna aplikacija, ki omogoca dostop do

akademskih gradiv kot so diplomske, magistrske in doktorske naloge v digitalni obliki.

V sklepu diplomskega dela Diane Kolar [7], katerega namen je bil dolociti uporabniske

profile iz analize klikov na DKUM, je podana ugotovitev, da vecina obiskovalcev

DKUM zelo hitro zapusti spletno stran z malim stevilom klikov. Ugotovljeno je bilo

tudi dejstvo, da si vec kot 90% obiskovalcev ogleda le eno gradivo. Kot resitev tega

problema je omenjen sistem priporocanja v namen vabljenja k ogledu vec sorodnih

gradiv.

Namen prakticnega dela tega magistrskega dela je torej zasnovati in izdelati splosni

sistem priporocanja, ki ga lahko vkljucimo v DKUM z namenom izboljsanja povra-

tnega obiska. Hkrati zelimo uporabnikom nuditi kvalitetno priporocanje, ki temelji

Page 64: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

5. Razvoj sistema priporocanja 46

na analizi vsebine dokumentov. Da bi to dosegli, smo zasnovali nacin pridobivanja

kontekstnega opisa posameznega dokumenta, razvili mehanizem za belezenje upo-

rabniskih aktivnosti in aplikacijo, ki vraca priporocitve. V nadaljevanju je podana

struktura tega sistema skupaj s potekom komunikacije med posameznimi komponen-

tami sistema, kot tudi podroben opis metod, ki se uporabljajo v razvitem sistemu

priporocanja.

5.2 Struktura razvitega sistema

Pri razvoju sistema priporocanja smo sledili smernicam opisanim v poglavju 1. Nas

sistem tvorijo streznik, spletne storitve za dostop do streznika in uporabniski vme-

snik, ki prikazuje rezultate priporocanja. Za belezenje uporabniskih aktivnosti smo

razvili modul v strezniku in ustrezno spletno storitev. Kombinacija obeh omogoca

belezenje dokumentov, ki si jih je dolocen uporabnik ogledal in kolikokrat je to storil.

V strezniku se nahaja tudi modul za obdelavo dokumentov ki zagotavlja standar-

diziran format opisa za vsak dokument. Po obdelavi dokumentov se pricne inde-

ksiranje dokumentov, kjer uporabimo ocene funkcije razvrscanja BM25. Streznik

obdelavo dokumentov izvaja periodicno, saj se v zbirko dokumentov dodajajo novi

dokumenti. Na tak nacin posodabljamo indeks dokumentov. Za potrebe splosnega

priporocanja bi lahko opravljali tudi pomensko grucenje dokumentov. Rezultat tega

so gruce dokumentov, katerim bi priredili uporabnike s klasifikacijo na podlagi ze

ogledanih dokumentov. Pomensko grucenje dokumentov nam tako nudi osnovo za

splosno priporocanje, saj lahko izpisemo vse dokumente v gruci, kot priporocila. Ker

je uporabnik povezan z gruco, bo tudi priporocilo ustrezno. Specificno priporocanje

nudimo na zahtevo odjemalca, kjer nasa funkcija razvrscanja vrne najbolj podobne

dokumente za aktivni dokument. Sliki 5.1 in 5.2 prikazujeta komunikacijo v scenari-

jih splosnega in specificnega priporocanja, slika 5.3 pa prikazuje posodobitev indeksa

dokumentov.

Page 65: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

5. Razvoj sistema priporocanja 47

Slika 5.1: Potek komunikacije v scenariju splosnega priporocanja. Uporabnik si ogledaprvo stran spletne strani, ta aktivnost pa se zabelezi v njegov profil. Iz ze obstojecegaprofila se pridobi seznam dokumentov, ki so ustrezni za uporabnika. Iz tega seznama seizbere n dokumentov, ki predstavljajo splosno priporocilo.

Slika 5.2: Potek komunikacije v scenariju specificnega priporocanja. Uporabnik si ogledavsebino dokumenta, ta aktivnost pa se zabelezi v njegov profil. Glede na aktivni dokumentse pridobijo podobni dokumenti iz indeksa dokumentov. Funkcija razvrscanja po podobnostiz aktivnim dokumentom filtrira n dokumentov iz indeksa, ki tvorijo specificno priporocilo.

Page 66: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

5. Razvoj sistema priporocanja 48

Slika 5.3: Potek komunikacije ob posodobitvi indeksa dokumentov. Ob dodajanju no-vih dokumentov se le-ti obdelajo, modul za periodicno posodabljanje pa posodobi indeksdokumentov.

5.3 Mehanizem belezenja uporabniskih aktivnosti

Za belezenje uporabniskih aktivnosti smo implementirali mehanizem, ki deluje na

podlagi piskotkov in seje. Vsakemu novemu uporabniku se dodeli enolicni identi-

fikator. Da v prihodnosti lahko identificiramo uporabnika, shranimo ta podatek v

piskotek, ki se hrani pri uporabniku. Vsak uporabnikov ogled dokumenta si za-

belezimo z vnosom v podatkovno bazo, hkrati pa lahko stejemo kolikokrat je bil ta

dokument ogledan s strani uporabnika. Tako lahko na podlagi veckratnih ogledov

dajemo vecjo tezo dolocenim dokumentom, kar se uporabi pri razpoznavanju tematik

zanimivih za uporabnika. Mehanizem je v resnici zelo preprost, saj ima zgolj dve sta-

nji - vnos novega uporabnika in posodobitev informacij o ze obstojecem uporabniku.

Na tak nacin gradimo uporabniske profile, kjer imamo podatke le o ogledanih doku-

mentih. Na podlagi stevila ogledov dolocenega dokumenta lahko ugotovimo katere

tematike uporabnika zanimajo.

5.4 Razvrscanje rezultatov

Za potrebe razvrscanja rezultatov smo zasnovali funkcijo razvrscanja, ki deluje nad

vec parametri. Funkcija ima vec faz, skozi katere razvrsca rezultate. Najprej se med

vsemi dokumenti izracunajo podobnosti v obliki ocen BM25. Tvorimo torej indeks

Page 67: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

5. Razvoj sistema priporocanja 49

dokumentov v obliki kvadratne matrike. Iz tega indeksa glede na vhodni dokument

izberemo tiste dokumente, ki imajo z vhodom najvisjo vrednost podobnosti. Medtem,

ko ocena BM25 nosi vecino teze pri razvrscanju, pa uporabljamo tudi druge parame-

tre. Vsak dokument ima podatek o letu izida, stevilu ogledov, stevilu prenosov in

stevilu ter vsoti uporabniskih ocen. Te parametre uporabimo kot pomozne za boljse

razvrscanje. Strategija razvrscanja, ki jo uporabljamo je podana v tabeli 5.1.

pomembnost utez

1 ocena BM25

2 leto izida

3 stevilo prenosov

4 stevilo ogledov

5 povprecna ocena

6 fakulteta

7 mentor

8 studijski program

Tabela 5.1: Strategija razvrscanja rezultatov priporocanja.

Formalno zapisemo uporabljeno funkcijo razvrscanja kot funkcijo treh vhodov. Prvi

vhod je aktivni dokument, drugi vhod je mnozica parametrov za razvrscanje, tretji

vhod pa mnozica utezi poravnana s parametri za razvrscanje. Definirajmo relacijo

podobnosti ∼, ki nosi podatek o podobnosti med dvema dokumentoma. Funkcija

razvrscanja slika iz obstojece mnozice dokumentov D v novo mnozico dokumentov R.

Mnozica R je tako podmnozica mnozice D. Mnozica R vsebuje tiste dokumente, ki

so najbolj podobni aktivnemu dokumentu da, obenem pa so razvrsceni po podobnosti

padajoce.

f : (da, D,W ) 7→ R

∀r ∈ R : r ∼ da ∧ sim(ri, da) > sim(ri+1, da) ∧R ⊂ D

Page 68: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

5. Razvoj sistema priporocanja 50

Gre torej za prioritetni sistem razvrscanja, kjer ima vsebinska podobnost najvecjo

tezo, sledijo pa ji casovni in uporabniski faktorji (mnozica utezi W ). Dodajali bi lahko

tudi druge faktorje, kot sta fakulteta in mentor. Pri tem bi ju morali previdno uvrstiti

v strategijo, saj bi drugace lahko prislo do priporocanja enakih dokumentov za vec

razlicnih dokumentov, ki pa imajo slucajno enakega mentorja. Taksno delovanje ni

zazeleno, saj uporabniku ne ponujamo nic novega. Zadnja faza je dolocanje koncnega

seznama priporocil. To storimo preprosto tako, da iz mnozice R vzamemo prvih n

priporocil. Stevilo priporocil lahko dolocimo fiksno, lahko pa ga sproti racunamo na

podlagi utezi priporocil v mnozici R.

5.5 Izboljsave za robustno uporabo v praksi

Razvit sistem smo preizkusali pri razlicnih kolicinah podatkov. Izkazalo se je, da je

sistem deloval slabse pri vecjih kolicinah podatkov, kar pa je v praksi nekaj povsem

obicajnega. Glavna razloga sta bila predvsem kolicina obdelanih podatkov in cas, ki

ga je potreboval za obdelavo podatkov. Tako smo se osredotocili na resevanje teh

dveh pomanjkljivosti. Po pregledu podatkov smo ugotovili, da bi dolocene obdelane

podatke lahko zanemarili, saj so bili neuporabni. Prav tako smo razmislili katera

opravila v sistemu se lahko pospesijo s paralelnim procesiranjem. Ugotovili smo, da

bi z uvedbo paralelizma signifikantno zmanjsali cas procesiranja, ce bi ga uporabili

pri racunanju ocen BM25 in vektorjev pri LSA.

5.5.1 Filtriranje ocen BM25

Pri velikih kolicinah dokumentov je tudi indeks z ocenami BM25 velik. V njem so

shranjene podobnosti vseh dokumentov z vsemi drugimi dokumenti. Ker so podob-

nosti med dolocenimi dokumenti majhne, jih lahko zavrzemo. S tem pridobimo na hi-

trosti poizvedbe podobnih dokumentov, saj je mnozica obdelovanja bistveno manjsa.

Za to je potrebno ustrezno dolociti prag filtriranja. Slednji je odvisen tudi od stevila

dokumentov, ki jih zelimo na koncu priporocati. Prag filtriranja ocen BM25 lahko po-

stavimo tako, da dobimo tocno toliko stevilo dokumentov kot jih zelimo priporocati.

Prav tako lahko prag postavimo tako, da bomo imeli tudi nekaj vec dokumentov na

razpolago kot pa jih bomo pravzaprav priporocali. Prva moznost je bolj uporabna,

Page 69: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

5. Razvoj sistema priporocanja 51

ce zelimo hitrost. Z drugo moznostjo lahko uporabniku priporocamo tudi ne najbolj

podobne dokumente z namenom, da bi mu nudili se druge vsebine, ki pa imajo vsaj

nekaj podobnosti z vsebino, ki si jo trenutno ogleduje. Prihranek pri prostoru je tako

pogojen s pragom filtriranja. Pri uporabi tega postopka na gradivih iz DKUM smo

zabelezili 95% prihranek pri prostoru (iz 13GB na 600MB), kar nakazuje na dejstvo,

da so gradiva raznolika.

Naslov vhodnega dokumenta

Izdelava WYSIWYG urejevalnika s podporo matematicnim in kemijskim znakom

Seznam zadetkov

i Naslov dokumenta BM25 ∆i

1 Izdelava e-dokumentov s programskim jezikom LaTeX 12.64 0

2 Objava znanstvenih dokumentov na spletnih straneh 10.91 1.73

3 Urejanje in obdelava besedil 7.05 5.59

4 Analiza uporabnosti urejevalnikov besedil v poslovnih sistemih 6.85 5.79

5 Virtualna radijska novinarska redakcija 5.93 6.71

Tabela 5.2: Filtriranje z dinamicno mejo; neustrezen zadetek izpade iz seznama priporocil.

Tudi pri uporabi filtriranja ocen BM25 se lahko zgodi, da za rezultat ne bomo vedno

dobili dobrih priporocil. Razlog je ravno v raznolikosti gradiv, ki nam ne zagotavlja

da obstaja toliko podobnih dokumentov, kolikor je nase minimalno zeleno stevilo

priporocil. V tem primeru je potrebno razviti naknadno filtriranje z dinamicno mejo,

ki deluje nad delnim rezultatom. Ce je v seznamu priporocil zaznana velika razlika

med vrednostmi ocen BM25, lahko iz seznama odstranimo vse zadetke, ki se pojavijo

za zaznano veliko razliko. Posledica tega je, da ni zagotovljeno minimalno zeleno

stevilo priporocenih dokumentov, po drugi strani pa zagotovimo le pomensko ustrezne

zadetke. Primer filtriranja z dinamicno mejo je podan v tabeli 5.2, kjer je vrednost

minimalnega zelenega stevila zadetkov enaka 5. Dinamicna meja je postavljena na

polovico najvecje ocene, kar lahko interpretiramo kot upostevanje vseh zadetkov, ki

so za vec kot 50% pomensko povezani z najustreznejsim zadetkom. Nato izracunamo

Page 70: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

5. Razvoj sistema priporocanja 52

razlike ∆i med najvecjo oceno in vsako naslednjo oceno. Iz seznama odstranimo tiste

zadetke, kjer je razlika ocen vecja od dinamicne meje.

5.5.2 Uvedba paralelizma

Nekatera opravila pri obdelavi dokumentov v nasem sistemu priporocanja so racunsko

zahtevna. Primer taksnih opravil sta racunanje ocen BM25 in vektorjev v reducira-

nem vektorskem prostoru pri LSA. Ta opravila lahko pospesimo z uporabo parale-

lizma. Zasnova struktur za shranjevanje podatkov nam omogoca, da racunamo ocene

BM25 povsem paralelno, saj gre za kvadratno matriko, njeni elementi pa predstavljajo

podobnosti med dvema dokumentoma. Tako lahko socasno racunamo podobnosti za

vec dokumentov hkrati, kar pohitri delovanje tega koraka obdelave podatkov. Ta

paralelni pristop je prikazan v algoritmu 2.

Algoritem 2 Paralelno racunanje ocen BM25

1: function Parallel-Compute-BM25-Scores(D)2: A← matrix(0, D.Count, D.Count) // A je matrika nicel3: parallel for di ∈ D do4: for dj ∈ D do5: Ai,j ← BM25(di, dj)6: end for7: end parallel for8: return A9: end function

Podobno imamo tudi pri LSA matriko, ki pa ni vedno kvadratna in vsebuje fre-

kvence besed v dokumentih. Tudi tukaj lahko izracun paraleliziramo tako, da socasno

racunamo vrednosti za vec dokumentov (algoritem 3). Enake strategije se lahko po-

sluzimo tudi pri izracunu uteznih vektorjev po redukciji ranga (algoritem 4), kot tudi

pri izracunu kosinusnih razdalj med dokumenti (algoritem 5).

Page 71: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

5. Razvoj sistema priporocanja 53

Algoritem 3 Paralelno racunanje vhodne matrike A pri LSA

1: function Parallel-Compute-Term-Document-Matrix(D, T )2: A← matrix(0, T.Count, D.Count) // A je matrika nicel3: parallel for dj ∈ D do4: for ti ∈ T do5: Ai,j ← tf(ti, dj)6: end for7: end parallel for8: return A9: end function

Algoritem 4 Paralelno racunanje uteznih vektorjev po redukciji ranga

1: function Parallel-Compute-Weight-Vectors(A, k)2: Dk ← matrix(0, A.Columns, A.Columns− k) // Dk je matrika nicel3: parallel for dj ∈ A.Columns do4: dT

j,k ← dTj UkΣ

−1k

5: setrow(Dk, j, dj,k) // Vektor dj,k shranimo kot vrstico j v matriki Dk

6: end parallel for7: return Dk

8: end function

Algoritem 5 Paralelno racunanje kosinusnih razdalj

function Parallel-Compute-Cosine-Distances(qk, Dk)S ← ∅parallel for dj,k ∈ Dk do

S ← S ∪{

qk·dj,k

||qk||·||dj,k||

}// Izracunano razdaljo dodamo v mnozico razdalj S

end parallel forreturn S

end function

Page 72: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Poglavje 6Rezultati

Da bi preverili delovanje razvitega sistema za priporocanje, smo se odlocili za vec

preizkusov pri razlicnih nastavitvah. Najprej smo preverili ali sistem opravlja svoj

namen in priporoca dokumente, ki so si podobni. Preverili smo delovanje z utezmi

BM25, preucevali pa smo tudi obnasanje sistema pri razlicnih obdelavah vhodnih

dokumentov. Natancneje smo preverjali kaksen je rezultat, ce vhode obdelujemo na

nivoju besed in besednih zvez, prav tako pa smo poskusali z lematiziranim vhodom

pri obeh variantah. Nato smo se preucili kako na rezultat vpliva avtomatsko pridobi-

vanje kljucnih besed s pomenskim oznacevanjem. Na koncu smo sistem priporocanja

vkljucili v DKUM in preverjali njegov vpliv na statistiko obiska. Zeleli smo preizku-

siti tudi metodo LSA, vendar smo hitro ugotovili, da je preizkus te metode na realnih

podatkih nemogoc zaradi casovne in prostorske zahtevnosti. LSA bi tako morali po-

gnati na porazdeljenem sistemu, katerega pa med casom pisanja tega magistrskega

dela nismo imeli na voljo.

Za vhodne podatke smo vzeli 20000 elektronskih gradiv (diplomskih, magistrskih in

doktorskih nalog) iz DKUM. Parametri za dolocanje utezi BM25 so bili pri vseh sce-

narijih enaki (k1 = 1.2, b = 0.75). Uspesnost smo merili na nakljucno izbranih 80

dokumentih iz vhodne mnozice, kjer smo se omejili na gradiva iz fakultete za ele-

ktrotehniko, racunalnistvo in informatiko na Univerzi v Mariboru (v nadaljevanju

UM-FERI). Vracali smo vedno po 5 priporocil za izbran dokument, nato pa prever-

jali ali je priporocilo za cloveka relevantno. Ustreznost smo merili tako, da je skupina

Page 73: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

6. Rezultati 55

izbranih ljudi ocenila priporocilo z oceno med 0 in 5, kjer ocena pomeni stevilo ustre-

znih zadetkov v seznamu. Ocene smo za vsak scenarij sesteli in izracunali odstotek

relevantnosti. Ocenjevalci so bili studenti zakljucnih letnikov studijskih programov

1. bolonjske stopnje, studenti studijskih programov 2. bolonjske stopnje in zaposleni

na UM-FERI, tako da smo lahko predpostavili, da nam ocene podajajo domenski

strokovnjaki. Izvedenih je bilo 1600 meritev nad 80 dokumenti. Za preverjanje vpliva

na statistiko obiska smo si pomagali z resitvijo Google Analytics, ki se aktivno upo-

rablja na DKUM dovolj casa, da lahko dobimo reprezentativen vzorec. Pri tem smo

opazovali odbojno stopnjo (angl. bounce rate) in povprecni cas obiska.

6.1 Primerjava razlicnih obdelav

S prvim preizkusom smo zeleli ugotoviti, ali se z izbrano funkcijo razvrscanja bo-

lje obnese obdelava na nivoju besed ali besednih zvez. Zanimal nas je tudi vpliv

lematizacije pri obeh pristopih. Merili smo ustreznost, porabljen cas procesiranja

in porabljen prostor za koncne sezname priporocanja. Rezultati tega preizkusa so

podani v tabelah 6.1 in 6.2.

besede (A) lematizirane besede (B)

Ustreznost 5181000

5571000

Ustreznost [%] 51.80 55.70

Porabljen cas 17m 44s 22m 50s

Porabljen prostor [MB] 387 464

Tabela 6.1: Meritev delovanja sistema pri uporabi besed in lematiziranih besed.

Z drugim preizkusom smo zeleli ugotoviti, ali bi avtomatsko pridobivanje kljucnih be-

sed pomenskim oznacevanjem pripomoglo k boljsemu opisu dokumenta. Tukaj smo

namesto kljucnih besed podanih s strani avtorja uporabili tudi avtomatsko prido-

bljene kljucne besede. Tudi tukaj smo preizkusili vpliv lematizacije in vpliv uporabe

Page 74: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

6. Rezultati 56

besedne zveze (C)lematizirane besedne

zveze (D)

Ustreznost 5261000

5971000

Ustreznost [%] 52.60 59.70

Porabljen cas 12m 19s 37m 50s

Porabljen prostor [MB] 180 237

Tabela 6.2: Meritev delovanja sistema pri uporabi besednih zvez in lematiziranih besednihzvez. S krepko pisavo so oznaceni globalni maksimumi oz. minimumi.

besed ter besednih zvez. Enako kot pri prejsnjem preizkusu, smo tudi tukaj me-

rili ustreznost, porabljen cas procesiranja in porabljen prostor za koncne sezname

priporocanja. Rezultati pristopa z obdelavo na nivoju besed so dani v tabeli 6.3,

rezultati pristopa z obdelavo na nivoju besednih zvez pa v tabeli 6.4.

besede + pomenskooznacevanje (E)

lematizirane besede +pomensko oznacevanje

(F)

Ustreznost 4741000

4621000

Ustreznost [%] 47.40 46.20

Porabljen cas 26m 33s 34m 19s

Porabljen prostor [MB] 541 674

Tabela 6.3: Meritev delovanja sistema pri uporabi besed in lematiziranih besed z avto-matskim pridobivanjem kljucnih besed s pomenskim oznacevanjem.

V nadaljevanju so podani grafi primerjave med vsemi kombinacijami uporabljenih

obdelav, ki smo jih preizkusili. Vsak postopek obdelave ima pripadajoco oznako v

obliki crke zaradi kompaktnejsega izgleda grafa primerjave. Oznake so A (besede), B

(lematizirane besede), C (besedne zveze), D (lematizirane besedne zveze, E (besede

in pomensko oznacevanje), F (lematizirane besede in pomensko oznacevanje), G (be-

Page 75: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

6. Rezultati 57

besedne zveze +pomensko oznacevanje

(G)

lematizirane besednezveze + pomenskooznacevanje (H)

Ustreznost 4861000

5551000

Ustreznost [%] 48.60 55.50

Porabljen cas 18m 42s 51m 56s

Porabljen prostor [MB] 273 335

Tabela 6.4: Meritev delovanja sistema pri uporabi besednih zvez in lematiziranih besednihzvez z avtomatskim pridobivanjem kljucnih besed s pomenskim oznacevanjem.

sedne zveze in pomensko oznacevanje) in H (lematizirane besedne zveze in pomensko

oznacevanje).

A B C D E F G H0

10

20

30

40

50

60

70

80

90

100

Ustreznost[%

]

Tip predobdelave

Primerjava ustreznosti

Slika 6.1: Graf primerjave ustreznosti. Najbolje so se odrezale obdelave D (lematiziranebesedne zveze) - 59.7%, B (lematizirane besede) - 55.7% in H (lematizirane besedne zvezein pomensko oznacevanje) - 55.5%. Povprecna ustreznost je bila 52.19% (oznaceno z rdecocrto), kar je malenkost vec od minimalne pricakovane ustreznosti (50%) (oznaceno z zelenocrto).

Page 76: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

6. Rezultati 58

A B C D E F G H0

500

1000

1500

2000

2500

3000

Porabljen

cas[s]

Tip predobdelave

Primerjava casovne zahtevnosti

Slika 6.2: Graf primerjave casovne zahtevnosti. Najbolje so se odrezale obdelave C (be-sedne zveze), G (besedne zveze in pomensko oznacevanje) in A (besede). Povprecen cas jebil 27m 45s (oznaceno z rdeco crto).

A B C D E F G H0

100

200

300

400

500

600

700

Porabljen

prostor[M

B]

Tip predobdelave

Primerjava prostorske zahtevnosti

Slika 6.3: Graf primerjave prostorske zahtevnosti. Najbolje so se odrezale obdelave C (be-sedne zveze), D (lematizirane besedne zveze) in G (besedne zveze in pomensko oznacevanje).Povprecni porabljen prostor je bil 386.4 MB (oznaceno z rdeco crto).

Page 77: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

6. Rezultati 59

6.2 Vpliv priporocanja na statistiko obiska

S pomocjo Google Analytics smo spremljali odbojno stopnjo in povprecen cas obiska

na DKUM medtem, ko je bil sistem priporocanja aktiven. Ker se Google Analytics

na DKUM uporablja od maja 2010, smo primerjali obdobje med mesecem majem in

junijem za leta 2010, 2011 in 2012. Pri tem smo merili razlike v odbojni stopnji. Ker

je stevilo obiskov na DKUM med letom 2010 in letom 2012 naraslo (dodatek B.2), je

smiselno pricakovati tudi povisanje v odbojni stopnji (dodatek B.1). Tako smo zeleli

ugotoviti, ali se vpliv sistema priporocanja kaze pri pomanjsanem povisanju odbojne

stopnje za izbrano obdobje v letu 2012. To smo preverili tako, da smo racunali

razlike v odstotnih tockah odbojnih stopenj po tednih v izbranem obdobju. Slika 6.4

prikazuje graf razlik odstotnih tock odbojnih stopenj za obdobje maj - junij v letih

2011 in 2012.

Teden 1 Teden 2 Teden 3 Teden 4 Teden 5 Teden 6 Teden 7 Teden 8 Teden 9

44

46

48

50

52

Analiza odbojne stopnje za obdobje maj − junij

Teden v obdobju

Odb

ojna

sto

pnja

[%]

20112012napoved

Slika 6.4: Odstotki odbojne stopnje za obdobje maj - junij v letih 2011 (rdece) in 2012(modro). Pricakovana funkcija (oranzno) je v skladu s povecanim stevilom obiskov in jev povprecju za 1.88% vecja od leta 2011. Navpicni crti nakazujeta obdobje aktivnegadelovanja sistema priporocanja na DKUM.

Page 78: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

6. Rezultati 60

6.3 Razprava o dobljenih rezultatih

Iz dobljenih rezultatov smo ugotovili, da se z vidika kvalitete boljse obnese obdelava

besedil na nivoju besednih zvez. Ko besedne zveze uporabljamo v navezi z lema-

tizacijo, je potrebnega nekaj dodatnega dela, saj je najprej potrebno lematizirati

besede v besedni zvezi, nato pa dobljene lematizirane besede ponovno zdruziti v be-

sedno zvezo. Koncni casi teh obdelav so tako daljsi, kar je smiselno, saj lematizacija

vzame dodaten cas procesiranja. Ugotovili smo tudi, da se z vidika kvalitete rezul-

tata boljse obnesejo obdelave, ki uporabljajo lematizacijo. To velja za vse primere

razen za obdelavo, ki uporablja besede in pomensko oznacevanje (E), kjer se je upo-

raba lematizacije izkazala za slabso. V vseh drugih primerih je lematizacija bistveno

pripomogla k boljsemu odstotku ustreznosti. Obdelave z lematizacijo vracajo vec

podobnih dokumentov, zato je vecja tudi kolicina prostora, ki ga zavzema rezultat.

S temi ugotovitvami smo potrdili prvo in drugo hipotezo tega magistrskega dela.

Ugotovitve veljajo za pristop BM25, ugotovili pa smo tudi nekaj zanimivosti glede

lematizacije in LSA, ki so podane v dodatku A.

Avtomatsko pridobivanje kljucnih besed se je v vecini primerov izkazalo kot dober

nacin bogatenja konteksta v opisu dokumenta. Ker smo uporabljali genericno pri-

porocene parametre s strani razvijalcev pomenskega oznacevalnika, menimo, da bi

lahko ob podrobnejsi analizi izbire parametrov se povecali faktor vpliva na koncni

rezultat. Ta ugotovitev potrjuje tretjo hipotezo tega magistrskega dela.

Sistem priporocanja je imel tudi vpliv na statistiko obiska. V obdobju, ko je bil sistem

priporocanja aktiven smo zabelezili padec odbojne stopnje na nivo iz leta 2011. Ko

sistem priporocanja ni bil aktiven, je odbojna stopnja znova narasla po vrednosti

in bila v skladu s pricakovanim trendom. Povprecna razlika v odbojni stopnji za

obdobje maj - junij v letih 2011 in 2012 je pred in po aktivnem delovanju sistema

priporocanja znasala med 2 in 3%. Med aktivnim delovanjem sistema priporocanja je

povprecna razlika znasala med 0.6 in 1.6%, kar nakazuje na dejstvo, da so si uporabniki

v tem obdobju ogledali vec vsebin na DKUM. Povprecni cas obiska se ni bistveno

spremenil med aktivnim delovanjem sistema priporocanja. Vpliv sistema priporocanja

na statistiko obiska bi bilo potrebno preuciti se na daljsem obdobju, saj nastopajo tudi

Page 79: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

6. Rezultati 61

drugi faktorji. Znano je, da se pred obdobji zagovorov zakljucnih del obisk na DKUM

poveca, odbojna stopnja pa pade. Ta obdobja so ponavadi v mesecu marcu, aprilu,

juniju, septembru in oktobru. Prav tako je med poletjem manj obiska na DKUM, zato

je tudi odbojna stopnja manjsa. Ob upostevanju vseh teh faktorjev, bi lahko dobili

veliko boljsi vidik na dejanski vpliv delovanja sistema priporocanja. Ta ugotovitev

delno potrjuje cetrto hipotezo tega magistrskega dela, saj smo zabelezili zmanjsanje

odbojne stopnje, ne pa tudi povecanja povprecnega prestanega casa obiska.

Page 80: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Poglavje 7Ideje za nadaljnje delo

Med razvojem prakticno uporabnega sistema za priporocanje smo spoznali, da obstaja

nekaj izboljsav, s katerimi bi morda izboljsali rezultate priporocanja ali pa vpeljali

nove funkcionalnosti. Trenutno razvit sistem nima podpore za splosno priporocanje,

kar bi bilo mozno, ce bi dokumente grucili nato pa na podlagi uporabniskih aktivnosti

klasificirali uporabnika v ustrezno gruco. Prav tako bi morda izboljsali rezultate z

uporabo hibridne funkcije razvrscanja, kjer bi uporabili kombinacijo BM25 in LSA.

Nazadnje smo ugotovili, da bi rezultati nasega sistema za priporocanje lahko bili vhod

tudi za druge aplikacije kot tudi sestavni del v delovnem toku teh aplikacij.

7.1 Pomensko grucenje

Pomensko grucenje dokumentov je postopek zdruzevanja podobnih dokumentov na

podlagi semantike. Rezultat so gruce dokumentov s podobno tematiko. Gre torej

za klasicne postopke grucenja, ki za metriko razdalje uporabljajo mero pomenske

podobnosti. S postopkom pomenskega grucenja lahko torej tvorimo gruce podobnih

dokumentov, lahko pa na podlagi teh gruc zgradimo pomensko hierarhijo. V nasem

sistemu bi pomensko grucenje uporabili za tvorbo gruc podobnih dokumentov, v

katere bi nato uvrscali uporabnike. Sklepamo, da bo uporabnik zelel videti podobne

dokumente z enako tematiko in da bi z uporabo gruc lahko izvedli boljse priporocanje.

Gruce bi tvorili recimo z algoritmom Lingo, ki je namenski algoritem za pomensko

grucenje dokumentov.

Page 81: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

7. Ideje za nadaljnje delo 63

7.1.1 Algoritem Lingo

Leta 2004 so avtorji Osınski, Stefanowski in Weiss predstavili algoritem Lingo [21,

20], ki sluzi grucenju zadetkov pri iskalnikih. Kot stranski produkt je bil razvit

tudi iskalnik Carrot2, ki lahko isce z iskalniki kot so Google, Bing in Yahoo!, vrne

pa zadetke zdruzene na podlagi semantike. Lingo deluje na podlagi singularnega

razcepa, njegova dobra lastnost pa je, da vsaki gruci kot oznako dodeli uporabniku

prijazno frazo. Vsaka taksna fraza se smatra kot reprezentativna fraza za tisto gruco

in pomensko predstavlja vse dokumente v pripadajoci gruci. Algoritem je podrobneje

predstavljen v [21], kjer je podan tudi psevdokod. Ta pristop ima dve glavni slabosti.

Zaradi racunanja singularnega razcepa za veliko mnozico dokumentov je postopek

casovno zelo zahteven. Prav tako algoritem veliko stevilo dokumentov uvrsti v gruco

z oznako Drugo. Za resitev slednjega problema bi lahko gruco z oznako Drugo dalje

delili na podgruce. Nakar bi iskali podobnosti z ze obstojecimi grucami. Ce bi nasli

dovolj podobno gruco, bi gruci zdruzili. Postopek je dan v nadaljevanju:

Algoritem 6 Pomensko grucenje

1: function Semantic-Clustering(D, nmaxDrugo, imax)2: C ← Lingo(D) // Prvo grucenje3: nDrugo ← C[Drugo].Stevilo4: i← 05: Ctmp ← C // Nadaljnje grucenje nad gruco z oznako Drugo6: while nDrugo > nmaxDrugo and i < imax do7: Ci ← Lingo(Ctmp[Drugo].Documents)8: for c ∈ Ci do9: if ∃C[L] : L = c.Label then

10: C[L] = C[L] ∪ c // Zdruzevanje gruc s podobnimi oznakami11: end if12: end for13: Ctmp ← Ci[Drugo]14: nDrugo ← Ctmp.Count15: i← i+ 116: end while17: return C18: end function

Page 82: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

7. Ideje za nadaljnje delo 64

7.2 Klasifikacija uporabnika

Ko imamo enkrat zbrane informacije o uporabnikovih aktivnostih, lahko zanj zgra-

dimo profil. Belezimo lahko katere dokumente si je uporabnik ogledal. Uporabniski

profil tako vsebuje identifikatorje dokumentov in stevilo uporabnikovih ogledov ti-

stega dokumenta. Nasa zelja je, da bi sedaj uporabnika na podlagi njegovega profila

klasificirali in s tem povezali z gruco dokumentov, ki so najbolj podobni tistim, ki

si jih je ze ogledal. Pristop, ki bi ga lahko uporabili za to je zelo preprost. Za

vsako gruco, ki je na voljo, vodimo stevce ogledov. Nato gremo skozi vse dokumente

v uporabnikovem profilu in pogledamo stevilo ogledov. Ker imamo podatek kateri

dokument spada v katero gruco, lahko povecamo stevec gruce za stevilo ogledov, ki

pripadajo dokumentu iz gruce. Na koncu dobimo gruco z najvec ogledi in jo priredimo

uporabniku. Iz te gruce nato uporabniku nudimo splosne priporocitve, saj sklepamo,

da so dokumenti iz te gruce interesantni zanj. Sklep je upravicen na podlagi stevila

ogledov dokumentov iz te gruce. Potek klasifikacije je dan v 7. Ta postopek bi se

izvajal periodicno, saj moramo upostevati novejse uporabnikove aktivnosti. Zaradi

tega se lahko zgodi tudi, da se cez cas uporabniku dodeli druga gruca. Hkrati lahko

dodamo tudi casovno komponento, ki sluzi kot utez. Taksen pristop bi scasoma dajal

manjso veljavo dokumentom, ki so bili ogledani zelo dolgo nazaj. To bi bilo smiselno,

saj se lahko zgodi tudi, da dolocena tema uporabnika zanima le kratek cas. Zaradi

tega uporabniku ne zelimo priporocati stvari, ki ga trenutno ne zanimajo in se raje

zanesemo na njegove najbolj aktualne oglede dokumentov.

Algoritem 7 Klasifikacija uporabnika

1: procedure User-Classification(U , C)2: for u ∈ U do3: acc← array(Count, 0, C.Size)4: UC ← C[u]5: for c ∈ UC do6: acc[c].Count← acc[c].Count+ u.Document[c].V iews7: end for8: (cmax, imax)← max acc9: update(U , u, cmax, imax)

10: end for11: end procedure

Page 83: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

7. Ideje za nadaljnje delo 65

7.3 Uvedba hibridne funkcije razvrscanja

V poglavjih 3 in 4 smo podrobneje spoznali dva pristopa merjenja podobnosti med do-

kumenti. Ugotovili smo, da je BM25 zelo hitra, preprosta in ucinkovita metoda, hkrati

pa omogoca spremembo delovanja glede na vhodna parametra k1 in b. Prav tako smo

ugotovili da je LSA zelo dobra izbira, ko gre za zaznavanje sinonimov. Tezava LSA

je v tem, da obdelava na veliki kolicini podatkov traja zelo dolgo, kar pa ne zelimo,

saj zelimo v dolocenem casovnem okviru izracunati podobnosti. Tako imamo dve

omejitvi; zadovoljivo hiter izracun podobnih dokumentov in kvalitetno mero podob-

nosti, ki dobro zaznava sinonime. Resitev obstaja v uporabi tako BM25 kot LSA pri

razvrscanju dokumentov, ki bi skupaj tvorili hibridno funkcijo razvrscanja.

Slika 7.1: Delovanje hibridne funkcije razvrscanja. Z BM25 izberemo podobne dokumenteiz podatkovne baze, z LSA pa jih bolje razvrstimo po podobnosti.

Dejstvo je, da ob priporocanju ponavadi vracamo le manjse stevilo dokumentov -

ponavadi do 15. Prav tako se izkaze, da ob tem stevilu vrnjenih dokumentov, BM25

zajame veliko vecino dokumentov, ki so ustrezni, vendar so v rezultatu zaradi slabsega

zaznavanja sinonimov uvrsceni nizje. Tako ne dobimo vedno najbolj primernega re-

zultata s stalisca semantike, saj sinonimom zaradi narave BM25 ne dajemo dovolj

teze. Obenem lahko opazimo, da smo sedaj zmanjsali mnozico podatkov iz vec tisoc

dokumentov na nekaj deset. Da bi dvignili pomembnost sinonimom, lahko sedaj upo-

rabimo LSA nad to manjso mnozico podatkov. To bo delovalo hitro, saj je mnozica

Page 84: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

7. Ideje za nadaljnje delo 66

majhna, hkrati pa bo ze obstojec seznam priporocenih dokumentov bolje razvrscen

zaradi upostevanja sinonimov. Pristop torej tvorita dve fazi (slika 7.1). V prvi fazi

se z BM25 izbere mnozica dokumentov, ki imajo najboljso podobnost z zahtevo, v

drugi fazi pa se z LSA dodatno razvrsti dokumente v mnozici tako, da se upostevajo

sinonimi.

Gre torej za grobo filtriranje z BM25 in naknadno fino razvrscanje z LSA. Hibridna

funkcija razvrscanja je odvisna od parametrov BM25 in LSA hkrati, saj jih podeduje

zaradi uporabe obeh metod. Zapisimo formalno definicijo za BM25 in LSA, nato pa

se za hibridno funkcijo razvrscanja. Najprej definirajmo relacijo ∼, ki predstavlja po-

dobnost med dvema dokumentoma. BM25 bomo predstavili kot funkcijo f (enacba

7.1), ki slika iz vhodnega dokumenta x in mnozico parametrov P v mnozico doku-

mentov D, iz katere so vsi podobni dokumentu x. Analogno storimo za LSA (funkcija

g, enacba 7.2), le da tukaj nastopa parameter redukcije ranga k, ki ga bomo zaradi

podobnosti s parametrom k1 oznacevali z r.

f : (x, P ) 7→ D, ∀d ∈ D : d ∼ x, P = {k1, b} (7.1)

g : (x, r) 7→ D, ∀d ∈ D : d ∼ x (7.2)

Hibridno funkcijo razvrscanja h lahko formalno zapisemo kot kompozitum funkcij g

in f (enacba 7.3) pri dokumentu x in mnozici parametrov P . Funkcija h (enacba 7.4)

slika iz vhodnega dokumenta x in mnozico parametrov P v mnozico dokumentov D,

iz katere so vsi podobni dokumentu x.

h = g ◦ f (7.3)

h : (x, P ) 7→ D, ∀d ∈ D : d ∼ x, P = {k1, b, r} (7.4)

S tako zasnovano funkcijo razvrscanja bi zadovoljili potrebo po priporocanju, ki

uposteva sinonime. Parametra k1 in b lahko optimiziramo kar enako, kot bi ju opti-

mizirali v primeru, ko bi uporabili samo BM25. To je zato, ker se v hibridni funkciji

najprej izvede BM25, ki izbira iz zbirke vseh dokumentov. Tako sta parametra od-

Page 85: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

7. Ideje za nadaljnje delo 67

visna od narave dokumentov v zbirki vseh dokumentov. Parametra r pa ne moremo

optimizirati s tradicionalnim pristopom zato, ker gre za reducirano mnozico dokumen-

tov. V LSA ze dobimo mnozico dokumentov, s podobno tematiko, pa tudi dimenzije

vektorskega prostora so premajhne, da bi lahko uporabljali priporocene optimalne

vrednosti podane v [32]. Uporabimo lahko znano razmerje 1:3, ki se uporablja pri

razdelitvi ucne in testne mnozice pri ucenju metod umetne inteligence. Ker je mnozica

dokumentov, ki je vhod v LSA, ze dobro pomensko definirana s strani BM25, lahko

sklepamo, da je tretjina dokumentov dovolj za ohranitev pomenskega bistva tiste

mnozice podobno kot je tretjina ucnih vzorcev dovolj, da se pravilno razpozna te-

stne vzorce. Tako bi pri implementaciji uporabljali vrednost r = n3, kjer je n stevilo

zahtevanih dokumentov v priporocilu.

7.4 Uporaba priporocanja v drugih aplikacijah

Priporocanje dokumentov lahko uporabimo tudi za druge namene. Zaradi narave

rezultata (to je seznam podobnih dokumentov) lahko priporocanje dokumentov uvr-

stimo v delovni tok kot korak obseznejsega procesa. Primer taksnega procesa je

recimo odkrivanje potencialnih plagiatov. Za odkrivanje potencialnih plagiatov nava-

dno delamo primerjave med vsemi dokumenti. Z vkljucitvijo priporocanja dokumen-

tov bi lahko eliminirali dokumente, ki si niso podobni, kar bi zmanjsalo obdelovano

mnozico. S tem bi ustvarili seznam filtriranih dokumentov, katere naj sistem za od-

krivanje potencialnih plagiatov uposteva pri nadaljnji obdelavi. V tem primeru se

torej priporocanje dokumentov obnasa kot filter.

Se ena aplikacija priporocanja bi lahko bila v obliki podpornega orodja za studente pri

izbiri mentorja za diplomske, magistrske in doktorske naloge. Student bi v aplikacijo

vpisal kljucne besede iz podrocja, ki ga zanima, aplikacija pa bi med diplomskimi, ma-

gistrskimi in doktorskimi nalogami nasla najbolj ustreznega mentorja. To bi potekalo

tako, da bi najprej poiskali dokumente, ki so podobni vhodnim kljucnim besedam,

nato pa bi presteli kolikokrat se mentorji pojavljajo v seznamu. V primeru izenacenja,

bi lahko uporabili se dodatno utez glede na to kateri dokument ima najvecjo podob-

nost z vhodnimi kljucnimi besedami.

Page 86: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Zakljucek

V tem magistrskem delu smo s stirimi hipotezami utemeljili tezo o razvoju in ana-

lizi delovanja sistema vsebinskega priporocanja dokumentov pri razlicnih obdelavah

vhodnega besedila. Pokazali smo, da se uporaba besednih zvez bolje obnese kot upo-

raba besed pri obdelavi zbirke besedil, v kateri zelimo najti podobne dokumente. Z

uporabo lematizacije pri obdelavi smo pokazali, da se uspesnost iskanja podobnih do-

kumentov poveca, saj s tem ohranimo vec pomenskih informacij v opisu dokumentov.

To je se posebej uspesno, kadar gre za morfolosko bogate jezike kot je tudi sloven-

ski jezik. Pokazali smo tudi, da avtomatsko pridobivanje kljucnih besed s pomocjo

pomenskega oznacevanja dodatno in hkrati ustrezno obogati pomensko informacijo

o vsebini dokumenta. Implicitno smo tudi pokazali, da je mogoce izvajati vsebin-

sko priporocanje z dobrimi rezultati ze z minimalnim naborom pomenskih informacij

- to so naslovi in kljucne besede. Nazadnje smo se pokazali, da uporaba sistema

priporocanja na zbirki dokumentov kot je DKUM pripomore k izboljsanju statistike

obiska v smislu zmanjsanja odbojne stopnje. Hkrati smo ugotovili, da se cas obiska

ne spremeni, potrebna pa je podrobnejsa analiza, da bi to hipotezo lahko v popolnosti

potrdili ali ovrgli. S tem ugotavljamo, da teza magistrskega dela utemeljuje zadane

hipoteze.

Nadaljnje raziskovalno delo na obravnavanem podrocju bi lahko obsegalo preucevanje

hibridne funkcije razvrscanja, opisane v zadnjem poglavju tega magistrskega dela.

Ta temelji na pomenskih informacijah pridobljenih iz sinonimov s pomocjo latentne

semanticne analize. Dokumente bi lahko tudi pomensko grucili in jih predstavili kot

vozlisca v grafu, kjer bi nato razvijali metriko vsebinske podobnosti.

Page 87: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Literatura

[1] P. Melville, V. Sindhwani, Recommender Systems, Encyclopedia of Machine Le-

arning, Springer, 829-838, 2010.

[2] F. Ricci, L. Rokach, B. Shapira, Introduction to Recommender Systems Han-

dbook, Recommender Systems Handbook, Springer, 1-35, 2011.

[3] J. Brezovnik, Programsko orodje za procesiranje besedil v naravnem jeziku, Ma-

gistrsko delo, Fakulteta za elektrotehniko, racunalnistvo in informatiko Maribor,

Univerza v Mariboru, 2009.

[4] J. Brezovnik, M. Ojstersek, TextProc - a natural language processing framework

and its use as plagiarism detection system, International Journal of Education

and Information Technologies, 1(5):293-300, 2011.

[5] M. Ferme, Zasnova poosebitvenega streznika, Diplomsko delo, Fakulteta za elek-

trotehniko, racunalnistvo in informatiko Maribor, Univerza v Mariboru, 2008.

[6] G. Hrovat, Izdelava oblikoslovnega oznacevalnika za slovenski jezik in primerjava

z drugimi resitvami, Diplomsko delo, Fakulteta za elektrotehniko, racunalnistvo

in informatiko Maribor, Univerza v Mariboru, 2010.

[7] D. Kolar, Dolocanje uporabniskega profila z analizo klikov, Diplomsko delo, Fa-

kulteta za elektrotehniko, racunalnistvo in informatiko Maribor, Univerza v Ma-

riboru, 2011.

Page 88: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Literatura 70

[8] M. Burjek, Wikifikacija vsebin v digitalni knjiznici UM, Diplomsko delo, Fakul-

teta za elektrotehniko, racunalnistvo in informatiko Maribor, Univerza v Mari-

boru, 2011.

[9] G. Adomavicius, A. Tuzhilin, Toward the Next Generation of Recommender Sy-

stems: A Survey of the State-of-the-Art and Possible Extensions, IEEE Transac-

tions on Knowledge and Data Engineering, 17(6):734-749, 2005.

[10] D. Lemire, A. Maclachlan, Slope One Predictors for Online Rating-Based Colla-

borative Filtering, Proceedings of SIAM Data Mining (SDM’05), 471-475, 2005.

[11] B. Mobasher, Effective Personalization Based on Association Rule Discovery

from Web Usage Data, Proceedings of the 3rd international workshop on Web

information and data management, 9-15, 2001.

[12] K. V. Lester, M. C. Martiny, Information Retrieval in Document Spaces Using

Clustering, Magistrsko delo, Department of Informatics and Mathematical Mo-

delling, Technical University of Denmark, 2005.

[13] O. E. Zamir, Clustering Web Documents: A Phrase-Based Method for Grouping

Search Engine Results, Doktorsko delo, University of Washington, 1999.

[14] C. Castelluccia, E. de Cristofaro, D. Perito, Private Information Disclosure from

Web Searches (The case of Google Web History), Privacy Enhancing Technolo-

gies, Lecture Notes in Computer Science, Volume 6205/2010, 38-55, 2010.

[15] M. Steinbach, G. Karypis, V. Kumar, A Comparison of Document Clustering

Techniques, KDD Workshop on Text Mining, 2000.

[16] B. Mobasher, Automatic Personalization Based on Web Usage Mining, Commu-

nications of the ACM, 2000.

[17] D. Pierrakos, et. al. Web Usage Mining as a Tool for Personalization: A Survey,

User Modeling and User-adapted Interaction, 13(4):311-372, 2003.

[18] M. Grobelnik, D. Mladenic, Text-Mining Tutorial, predavanje, J. Stefan Insti-

tute, Slovenia, 2004.

Page 89: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Literatura 71

[19] A. Kuhn, S. Ducasse, T. Gırba, Semantic clustering: Identifying topics in source

code, Information and Software Technology, 49(3):230-243, 2007.

[20] S. Osinski, D. Weiss, A Concept-driven Algorithm for Clustering Search Results,

IEEE Intelligent Systems, 20(3):48-54, 2005.

[21] S. Osinski, J. Stefanowski, D. Weiss, Lingo: Search Results Clustering Algorithm

Based on Singular Value Decomposition, 2004, citirano 13.07.2011. Dostopno na

naslovu: http://www.cs.put.poznan.pl/jstefanowski/pub/lingo.pdf

[22] E. Gabrilovich, S. Markovitch, Computing Semantic Relatedness using

Wikipedia-based Explicit Semantic Analysis, Proceedings of the 20th interna-

tional joint conference on Artifical intelligence, 1606-1611, 2007.

[23] E. Garcia, A Tutorial on Okapi BM25, predavanje, 2011, citi-

rano 30.08.2011. Dostopno na naslovu: http://www.miislita.com/

information-retrieval-tutorial/okapi-bm25-tutorial.pdf

[24] E. Garcia, A Tutorial on Okapi Simple BM25F, predavanje, 2011,

citirano 30.08.2011. Dostopno na naslovu: http://www.miislita.com/

information-retrieval-tutorial/okapi-simple-bm25f-tutorial.pdf

[25] Y. Lv, C. Zhai, When documents are very long, BM25 fails!, Proceedings of the

34th International ACM SIGIR Conference on Research and Development in

Information Retrieval, 1103-1104, 2011.

[26] J. L. Vasireddy, Applications of Linear Algebra to Information Retrieval, Magi-

strsko delo, Department of Mathematics and Statistics, Georgia State University,

2009.

[27] S. Deerwester, et. al. Indexing by Latent Semantic Analysis, Journal of the Ame-

rican Society for Information Science, 41(6):391-407, 1990.

[28] S. Dumais, Latent Semantic Analysis, Annual Review of Information Science and

Technology, 38:188-230, 2004.

[29] J. R. Bellegarda, Latent Semantic Mapping [Information Retrieval], Signal Pro-

cessing Magazine, IEEE, 22(5):70-80, 2005.

Page 90: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Literatura 72

[30] J. Flynn, Latent Semantic Indexing Using SVD and Riemannian SVD, preda-

vanje, University of California, Santa Cruz, 2007, citirano 08.09.2011. Dosto-

pno na naslovu: http://classes.soe.ucsc.edu/cmps290c/Spring07/proj/

Flynn_talk.pdf

[31] C. A. Kumar, S. Srinivas, Latent Semantic Indexing Using Eigenvalue Analysis

for Efficient Information Retrieval, International Journal of Applied Mathema-

tics and Computer Science, 16(4):551-558, 2006.

[32] S. Sathiappan, V. P. Gopalan, Finding the Optimal Rank for LSI Models Pro-

ceedings of the International Conference on Advances and Emerging Trends in

Computing Technologies, 2010.

[33] G. Gorrell, B. Webb, Generalized Hebbian Algorithm for Incremental Latent Se-

mantic Analysis, INTERSPEECH-2005, 1325-1328, 2005.

[34] T. Hoffman, Probabilistic Latent Semantic Indexing, Proceedings of the 15th

Conference on Uncertainty in Artificial Intelligence, 289-296, 1999.

[35] Y. Koren, R. Bell, C. Volinsky, Matrix Factorization Techniques for Recommen-

der Systems, Computer 42(8):30-37, 2009.

[36] M. Brand, Fast Online SVD Revisions for Lightweight Recommender Systems,

Proceedings of the 3rd SIAM International Conference on Data Mining, 3:37-46,

2003.

[37] M. Sahlgren, Introduction to Random Indexing Proceedings of the Methods and

Applications of Semantic Indexing Workshop at the 7th International Conference

on Terminology and Knowledge Engineering, 2005.

[38] N. Bosner, Fast Methods for Large Scale Singular Value Decomposition, Doktor-

sko delo, University of Zagreb, Department of Mathematics, 2006.

[39] M. Taylor, et. al. Optimisation methods for ranking functions with multiple para-

meters, Proceedings of the 15th ACM International Conference on Information

and Knowledge Management, 585-593, 2006.

Page 91: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Literatura 73

[40] D. Bollegala, N. Noman, H. Iba, RankDE: Learning a Ranking Function for In-

formation Retrieval Using Differential Evolution, Proceedings of the 13th Annual

Conference on Genetic and Evolutionary Computation, 1771-1778, 2011.

[41] Y. Lv, C. Zhai, Adaptive Term Frequency Normalization for BM25, 20th ACM

Conference on Information and Knowledge Management, 2011.

[42] Y. Lv, C. Zhai, Lower-bounding Term Frequency Normalization, 20th ACM Con-

ference on Information and Knowledge Management, 2011.

[43] Y. Lv, C.Zhai, A Log-logistic Model-based Interpretation of TF Normalization of

BM25, Proceedings of the 34th European Conference on Information Retrieval,

2012.

[44] L. N. Trefethen, D. Bau III, Numerical Linear Algebra, poglavje V/31 - Compu-

ting the SVD, 1997.

[45] B. Plestenjak, Numericna Linearna Algebra, poglavje 4 - Singularni razcep, 2010.

[46] D. A. Grossman, O. Frieder, Information Retrieval: Algorithms and Heuristics,

Springer, 2nd edition, 2004.

Page 92: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Dodatek ALematizacija in LSA

Pristopa LSA v prakticnem delu tega magistrskega dela nismo uporabili zaradi pre-

velike casovne in prostorske zahtevnosti, vendar smo v casu razvoja prakticne resitve

poskusali primerjati LSA in BM25. Pri tem smo naleteli na zanimivo ugotovitev

glede uporabe lematizacije z LSA. Izkaze se, da pri LSA z lematizacijo dobimo slabse

rezultate kot brez lematizacije. Sklepamo, da se v matriki A pojavijo regije, kjer

je vrednost utezi veliko visja od ostalih. To se zgodi zaradi narave utezi tf , ki je

posledicno vecja po vrednosti zaradi lematizacije. LSA deluje po principu filtriranja

suma kar razkrije skrite pomene, z lematizacijo pa ustvarimo dodaten sum, ki ga LSA

ne odstrani, zato se skriti pomeni ne razkrijejo. Direktna posledica lematizacije je tudi

vektorski prostor manjsih dimenzij. Zaradi tega prihaja do zgoscenosti kontekstov,

zaradi katere je tezje zaznati skrite pomene. Tako si razlagamo slabse delovanje LSA,

kadar besedilo predhodno lematiziramo.

Za prikaz razlike delovanja med LSA brez lematizacije in z lematizacijo smo vzeli

zbirko 10 stavkov v slovenskem jeziku in podali smiselno zahtevo. Enkrat smo stavke

lematizirali, drugic pa jih pustili kot so. Nato smo pogledali matriko A (slika A.1),

rekonstruirano matriko Ak za k = 3 (slika A.2), kovariancno matriko cov(A) (slika

A.3), korelacijsko matriko corr(A) (slika A.4) in rezultat LSA v vektorskem prostoru

(sliki A.6 in A.5). Slike potrjujejo sklep o problematicnih regijah, ki se pojavijo zaradi

uporabe lematizacije. Slika matrike A prikazuje vrednosti utezi in razkriva povisanje

njihovih vrednosti ob uporabi lematizacije. Slika rekonstruirane matrike Ak prikazuje

sum, ki ga vnasa uporaba lematizacije. Kovariancna in korelacijska matrika kazeta

Page 93: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

A. Lematizacija in LSA 75

vpliv lematizacije na pomenske podobnosti. Sliki situacije v vektorskem prostoru

prikazujeta razliko v kvaliteti rezultata. Uporabili smo zahtevo Spal sem v sobi. in

naslednje stavke:

1. Hotel je placati racun za sobo.

2. Ta hotel ima zelo poceni sobe.

3. Kdor bo hotel, bo spal v hotelu.

4. Vceraj sem spal v hotelu.

5. Iskal sem prenocisce, ki bo poceni.

6. Sobe v tem stanovanju so ogromne.

7. Kdor ne dela, naj ne je.

8. Otroci so v sobi, jaz pa sedim v kuhinji.

9. Kdo se sploh spi v hotelu?

10. Ali je placal racun?

Najbolj podoben stavek zahtevi brez uporabe lematizacije je Kdo se sploh spi v hotelu?

s podobnostjo 0.937, pri uporabi lematizacije pa je to stavek Otroci so v sobi, jaz pa

sedim v kuhinji. s podobnostjo 0.823. Ko nismo uporabili lematizacije smo “ulovili”

pomen (gre za aktivnost spanja v sobi), kot tudi implicitno povezavo hotela s sobo.

Z uporabo lematizacije smo “ulovili” le direktno ujemanje besede soba.

Page 94: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

A. Lematizacija in LSA 76

2 4 6 8 10

10

20

30

402 4 6 8 10

5

10

15

20

25

30

Slika A.1: Primerjava matrike A brez lematizacije (levo) in z uporabo lematizacije (desno).Vrednosti utezi so po lematizaciji ponekod visje kot brez nje (oznaceno z rdeco). To se zgodiv primeru kadar imata dve pomensko razlicni besedi enako lemo. Primer tega sta para besed[hotel (stavba), hotel (glagol hoteti)] z lemo hoteti in [je (glagol biti), je (glagol jesti)] zlemo biti. S tem pojavom se prav tako zmanjsa dimenzija vektorskega prostora.

2 4 6 8 10

10

20

30

402 4 6 8 10

5

10

15

20

25

30

Slika A.2: Primerjava k-aproksimacije matrike A brez lematizacije (levo) in z uporabolematizacije (desno). Lematizacija vnasa sum, ki je viden v k-aproksimaciji matrike A.Slednjo izracunamo kot produkt reduciranih matrik, dobljenih s postopkom singularnegarazcepa (Ak = UkΣkV

∗k).

Page 95: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

A. Lematizacija in LSA 77

2 4 6 8 10

2

4

6

8

10

2 4 6 8 10

2

4

6

8

10

Slika A.3: Primerjava kovariancne matrike cov(A) brez lematizacije (levo) in z uporabolematizacije (desno). Kovariancna matrika razkriva regije, ki ponazarjajo pomenske podob-nosti (zeleno). Pri uporabi lematizacije te regije niso tako dobro razkrite (rdece).

2 4 6 8 10

2

4

6

8

10

2 4 6 8 10

2

4

6

8

10

Slika A.4: Primerjava korelacijske matrike corr(A) brez lematizacije (levo) in z uporabolematizacije (desno). Podobno kot kovariancna matrika, tudi korelacijska matrika razkrivaregije, ki ponazarjajo podobnosti (zeleno). Vpliv suma je tukaj se malo bolj viden (rdece).

Page 96: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

A. Lematizacija in LSA 78

−10

1

−10

1−1

−0.5

0

0.5

1

LSA dimenzija 1

LSA - prikaz vektorjev

(brez lematizacije)

LSA dimenzija 2

LSA

dim

enzija3

ZahtevaDokumenti

Slika A.5: Rezultat LSA brez lematizacije (roza vektor - tesno skupaj z zahtevo) priparametru k = 3. Ker sta vektor zahteve (rdec) in njemu najbolj podoben vektor (roza)tesno skupaj, gre za dober rezultat.

−10

1

−10

1−1

−0.5

0

0.5

1

LSA dimenzija 1

LSA - prikaz vektorjev

(z lematizacijo)

LSA dimenzija 2

LSA

dim

enzija3

ZahtevaDokumenti

Slika A.6: Rezultat LSA z lematizacijo pri parametru k = 3. V primerjavi s sliko A.5opazimo razliko v smereh vektorjev, drugacen (slabsi) pa je tudi najbolj podoben vektor(roza).

Page 97: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

A. Lematizacija in LSA 79

Poskusajmo razumeti situacijo s pomocjo analogije: predstavljajmo si vrt fiksne

dolzine in sirine na katerem se nahaja doloceno stevilo roz. Na vrtu se pojavlja

tudi veliko plevela. Roze naj predstavljajo skrite pomene, plevel pa naj predstavlja

sum besedila. Ce zelimo jasno videti roze, moramo plevel odstraniti s sredstvom proti

plevelu. V nasem primeru je sredstvo proti plevelu redukcija ranga matrike, ki deluje

kot filter. Ko odstranimo plevel, se roze jasno vidijo. Postopek lematizacije je ekvi-

valenten zgoscevanju kolicine plevela na dolocenih delih vrta. Sredstvo proti plevelu

zaradi vecje gostote plevela ne deluje vec tako efektivno, zato na vrtu ostaja vec ple-

vela. Posledicno se tudi roze ne vidijo vec tako jasno, saj jih plevel zakriva. Vidimo

torej, da se z uporabo lematizacije skriti pomeni ne prepoznajo vec tako dobro, kot

ce lematizacije ne uporabimo.

Page 98: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

Dodatek BPorocila Google Analytics

B.1 Porocilo o odbojni stopnji med 2010 in 2012

B.2 Porocilo o stevilu ogledov med 2010 in 2012

B.3 Porocilo o povprecnem casu obiskov med 2010 in 2012

B.4 Porocilo o primerjavi odbojnih stopenj za obdobje maj -

junij v letih 2011 in 2012

Page 99: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

http://dkum.uni­mb.si ­ http://dkum.u…dkum.uni­mb.si [DEFAULT]

© 2012 Google

Language Visits % Visits

1. sl 1,506,865 75.60%

2. en­us 387,845 19.46%

3. en 38,724 1.94%

4. en­gb 22,648 1.14%

5. sl­si 8,648 0.43%

6. hr 6,148 0.31%

7. de 6,077 0.30%

8. it 2,776 0.14%

9. sr 2,179 0.11%

10. hr­hr 1,787 0.09%

view full report

Overview

991,654 people visited this site

Visits: 1,993,314

Unique Visitors: 991,654

Pageviews: 8,146,441

Pages / Visit: 4.09

Avg. Visit Duration: 00:02:46

Bounce Rate: 47.97%

% New Visits: 49.74%

50.18% Returning Visitor1,000,224 Visits

49.82% New Visitor993,089 Visits

0.00% Other1 Visits

 Bounce Rate

July 2010 October 2010 January 2011 April 2011 July 2011 October 2011 January 2012 April 2012

30%30%30%

60%60%60%

% of visits: 100.00%

Visitors Overview May 1, 2010 ­ Jun 30, 2012

Page 100: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

http://dkum.uni­mb.si ­ http://dkum.u…dkum.uni­mb.si [DEFAULT]

© 2012 Google

Language Visits % Visits

1. sl 1,506,865 75.60%

2. en­us 387,845 19.46%

3. en 38,724 1.94%

4. en­gb 22,648 1.14%

5. sl­si 8,648 0.43%

6. hr 6,148 0.31%

7. de 6,077 0.30%

8. it 2,776 0.14%

9. sr 2,179 0.11%

10. hr­hr 1,787 0.09%

view full report

Overview

991,654 people visited this site

Visits: 1,993,314

Unique Visitors: 991,654

Pageviews: 8,146,441

Pages / Visit: 4.09

Avg. Visit Duration: 00:02:46

Bounce Rate: 47.97%

% New Visits: 49.74%

50.18% Returning Visitor1,000,224 Visits

49.82% New Visitor993,089 Visits

0.00% Other1 Visits

 Pageviews

July 2010 October 2010 January 2011 April 2011 July 2011 October 2011 January 2012 April 2012

250,000250,000250,000

500,000500,000500,000

% of visits: 100.00%

Visitors Overview May 1, 2010 ­ Jun 30, 2012

Page 101: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

http://dkum.uni­mb.si ­ http://dkum.u…dkum.uni­mb.si [DEFAULT]

© 2012 Google

Language Visits % Visits

1. sl 1,506,865 75.60%

2. en­us 387,845 19.46%

3. en 38,724 1.94%

4. en­gb 22,648 1.14%

5. sl­si 8,648 0.43%

6. hr 6,148 0.31%

7. de 6,077 0.30%

8. it 2,776 0.14%

9. sr 2,179 0.11%

10. hr­hr 1,787 0.09%

view full report

Overview

991,654 people visited this site

Visits: 1,993,314

Unique Visitors: 991,654

Pageviews: 8,146,441

Pages / Visit: 4.09

Avg. Visit Duration: 00:02:46

Bounce Rate: 47.97%

% New Visits: 49.74%

50.18% Returning Visitor1,000,224 Visits

49.82% New Visitor993,089 Visits

0.00% Other1 Visits

 Avg. Visit Duration

July 2010 October 2010 January 2011 April 2011 July 2011 October 2011 January 2012 April 2012

00:02:3000:02:3000:02:30

00:05:0000:05:0000:05:00

% of visits: 100.00%

Visitors Overview May 1, 2010 ­ Jun 30, 2012

Page 102: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

http://dkum.uni­mb.si ­ http://dkum.u…dkum.uni­mb.si [DEFAULT]

May 1, 2012 ­ Jun 30, 2012

May 1, 2011 ­ Jun 30, 2011

% Change

May 1, 2012 ­ Jun 30, 2012

May 1, 2011 ­ Jun 30, 2011

% Change

May 1, 2012 ­ Jun 30, 2012

May 1, 2011 ­ Jun 30, 2011

% Change

May 1, 2012 ­ Jun 30, 2012

May 1, 2011 ­ Jun 30, 2011

Language Visits % Visits

1. sl

  149,718 75.79%

  119,183 75.05%

  25.62% 0.98%

2. en­us

  37,199 18.83%

  32,355 20.37%

  14.97% ­7.58%

3. en

  4,272 2.16%

  2,568 1.62%

  66.36% 33.73%

4. en­gb

  1,857 0.94%

  1,928 1.21%

Overview

122,394 people visited this site

Visits: 24.40%197,550 vs 158,805

Unique Visitors: 21.46%122,394 vs 100,769

Pageviews: 9.05%725,164 vs 664,973

Pages / Visit: ­12.34%3.67 vs 4.19

Avg. Visit Duration: ­12.56%00:02:33 vs 00:02:55

Bounce Rate: 4.01%48.82% vs 46.94%

% New Visits: ­5.03%45.44% vs 47.85%

54.49% Returning Visitor107,653 Visits

45.51% New Visitor89,897 Visits

 Bounce Rate  Bounce Rate

May 8 May 15 May 22 May 29 Jun 5 Jun 12 Jun 19

30%30%30%

60%60%60%

change in % of visits: +0.00%

Visitors Overview May 1, 2012 ­ Jun 30, 2012Compare to: May 1, 2011 ­ Jun 30, 2011

Page 103: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega
Page 104: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega
Page 105: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega
Page 106: Sistem priporo canja dokumentov in analiza kvalitete ... · priporo canja pri razli cnih obdelavah vhodnega besedila. Na koncu podamo se nekaj potencialnih izbolj sav v smislu pomenskega

∼ Usus magister est optimus ∼

(Vaja dela mojstra)