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
106
Embed
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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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
Naslov: Sistem priporocanja dokumentov in analiza kvalitete vsebinskega
priporocanja pri razlicnih obdelavah vhodnega besedila
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.
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-
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)
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.
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.
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,
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
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
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)
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.
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)
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
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.
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.
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)
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
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
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.
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.
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
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.
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
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
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.
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.
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
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.
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
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
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
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.
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
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.
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.
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
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.
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
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).
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
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
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-
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).
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).
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
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.
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
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.
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.
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
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
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
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-
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.
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.
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.
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.
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
[46] D. A. Grossman, O. Frieder, Information Retrieval: Algorithms and Heuristics,
Springer, 2nd edition, 2004.
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
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.
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).
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).
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).
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.
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 -