Priporočilni sistemi v digitalnih knjižnicah

Razlika med sodelovalnim (levo) in vsebinskim filtriranjem (desno)Digitalne knjižnice so zelo koristno orodje, kadar govorimo o pridobivanju besedilnih virov za potrebe raziskovanja. Njihova uporabnost sega vse od scenarijev, kjer jih študentje uporabljajo za iskanje virov, s katerimi si pomagajo pri zaključnih delih, do raziskovalcev, ki jih uporabljajo za pregled stanja na svojem raziskovalnem področju. Ker število dokumentov (diplomskih, magistrskih in doktorskih nalog, člankov, zbornikov ipd.) iz leta v leto strmo raste, uporabniki digitalnih knjižnic z velikim številom dokumentov porabijo ogromno časa, da preiščejo in pregledajo vse za njih zanimive dokumente. Delno ta problem rešujejo iskalniki, ki so seveda ključna komponenta vsake digitalne knjižnice. Težava z iskalniki je ta, da so odvisni od uporabnikovega neposrednega vnosa, uporabnik mora torej sam vnesti ustrezne ključne besede za iskanje. Uporabniku lahko porabljen čas za iskanje ustreznih gradiv skrajšamo z vključitvijo priporočilnega sistema, ki mu samodejno priporoča zanimivo vsebino.

Priporočilni sistemi (angl. recommender systems) so v osnovi sistemi, ki uporabnikom glede na njihovo zanimanje priporočajo različne vsebine (npr. izdelke, novice, filme, glasbo, knjige, restavracije, turistične znamenitosti, ljudi ipd.). Trenutno so tako razširjeni na spletu, da težko najdemo spletno stran oz. storitev, ki ne bi vsebovala priporočilnega sistema. Najdemo jih integrirane globoko v popularnih iskalnikih, kot sta recimo Google in Bing. V teh primerih lahko celo ugotovimo, da je pojem spletnega iskalnika že zastarel, saj imajo prav vsi pomembni spletni iskalniki danes vse elemente priporočilnih sistemov. Trdimo lahko, da so priporočilni sistemi povsem zamenjali spletne iskalnike, saj dobljeni rezultati niso več odvisni samo od vhodnih ključnih besed, temveč tudi od naše geografske lokacije, zgodovine našega iskanja, naših povezav z družbenimi omrežji, našega demografskega profila in mnogo drugih dejavnikov, ki pozitivno vplivajo na naše dojemanje kvalitete dobljenih rezultatov. Priporočilni sistemi se pojavljajo tudi v spletnih trgovinah (Amazon), družbenih omrežjih (Facebook, Instagram) in v storitvah za pretočnost video (YouTube, Netflix) ter avdio (Last.fm, Spotify) vsebin.

V tem prispevku bom na kratko predstavil področje priporočilnih sistemov, podal pa bom tudi nekaj praktičnih primerov priporočilnih sistemov, specifičnih za digitalne knjižnice, ki smo jih razvili v Laboratoriju za heterogene računalniške sisteme. Predstavljeni bodo priporočilni sistem nacionalne infrastrukture odprtega dostopa, pristop k priporočanju vrstilcev UDK in pristop k priporočanju mentorjev v digitalnih knjižnicah.

Vrste priporočilnih sistemov

V splošnem poznamo več vrst priporočilnih sistemov. Med najbolj razširjene vrste spadajo priporočilni nepersonalizirani sistemi oz. priporočilni sistemi brez poosebitve (angl. non-personalized recommenders), sodelovalno filtriranje (angl. collaborative filtering), vsebinsko filtriranje (angl. content-based filtering) in hibridni priporočilni sistemi (angl. hybrid recommenders). Nepersonalizirani priporočilni sistemi so zelo uporabni, kadar za uporabnika nimamo profila, na osnovi katerega bi lahko izvajali priporočanje. Zato takšni priporočilni sistemi delujejo na principu t. i. stereotipnega priporočanja, kamor spadajo npr. trenutno najbolj popularne vsebine, najnovejše vsebine ali pa tudi vsebine, ki jih želimo še posebej izpostaviti.

Sodelovalno filtriranje je tehnika priporočanja, kjer se osredotočimo na uporabnika in njegovo aktivnost. Pri tem uporabljamo določene aktivnosti uporabnika, s katerimi določamo, kako pomemben je zanj element priporočanja. Velikokrat za to uporabljamo število ogledov, nakupov, prenosov, ocene zadovoljstva, čas ogleda in pozicijo miškinega kurzorja. Na ta način lahko sklepamo, ali je določen element priporočanja za uporabnika zanimiv ali ne. Na podlagi tega profiliramo uporabnika in s posebno vektorsko predstavitvijo tega znanja iščemo druge podobne uporabnike. Nato iščemo razlike med podobnimi uporabniki, ki predstavljajo elemente priporočanja; elemente, ki so bili za nekega uporabnika zanimivi, drug uporabnik pa še ni prišel v stik z njimi, nato priporočamo drugemu uporabniku, saj obstaja velika verjetnost, da mu bodo zanimivi. Glavna prednost sodelovalnega filtriranja je enostavnost algoritmov za implementacijo, največja slabost pa je t. i. problem hladnega začetka (angl. cold-start problem), kajti priporočanja brez uporabniške interakcije ne moremo izvajati, saj na začetku še nimamo uporabnikov oz. jih imamo premalo.

Razlika med sodelovalnim (levo) in vsebinskim filtriranjem (desno)

Slika 1: Razlika med sodelovalnim (levo) in vsebinskim filtriranjem (desno).

Vir: Kevin Liao, Prototyping a Recommender System Step by Step Part 1: KNN Item-Based Collaborative Filtering, 2018, https://towardsdatascience.com/prototyping-a-recommender-system-step-by-step-part-1-knn-item-based-collaborative-filtering-637969614ea

Vsebinsko filtriranje je tehnika priporočanja, kjer se osredotočimo na vsebino in njene lastnosti. Pri tem moramo elemente priporočanja na neki način vsebinsko opisati, da lahko med njimi iščemo podobnosti. Ponovno to storimo s posebno vektorsko predstavitvijo, katere kvaliteta je odvisna od tega, ali so naši podatki strukturirani ali ne. Pri delu z besedili je to še posebej kompleksen problem, saj so besedila velikokrat v nestrukturirani obliki. Za besedila uporabljamo razne transformacije v obliki utežnih shem; najbolj razširjena je shema TF-IDF (angl. term frequency, inverse document frequency). Ta shema zavrže strukturo in obliko besedila in se osredotoča na pojavitev besed oz. besednih zvez v besedilu. Pri utežni shemi TF-IDF gre za dve uteži, TF in IDF, kjer TF predstavlja število pojavitev besede v izbranem besedilu, IDF pa težo pojavitve besede iz izbranega besedila glede na vse besede iz vseh besedil, ki jih imamo na voljo. Utež TF-IDF je zelo preprosto izračunati, saj gre za zmnožek TF in IDF, smiselno pa je imeti oboje izračunano oz. prešteto za vsa besedila. To se v praksi pogosto rešuje s podatkovnimi bazami in naprednimi operacijami v teh bazah. Velika prednost vsebinskega filtriranja je, da bomo v veliki večini primerov vedno dobili rezultat za priporočanje, glavni slabosti pa sta prekomerna specializacija rezultatov in problem določanja značilk, ki jih z utežno shemo transformiramo v vektorsko obliko.

Uporaba hibridnih priporočilnih sistemov

Hibridni priporočilni sistemi so priporočilni sistemi, kjer uporabimo razne kombinacije prej omenjenih tehnik priporočanja s ciljem, da se izognemo slabosti posamezne tehnike priporočanja. V zadnjem desetletju so te vrste priporočilnih sistemov doživele ogromen razcvet in se danes uporabljajo praktično povsod. Tudi z raziskovalnega vidika je ta vrsta priporočilnih sistemov zanimiva, saj lahko združujemo tehniko sodelovalnega filtriranja z vsebinskim filtriranjem v raznorazne namene. V Laboratoriju za heterogene računalniške sisteme, ki spada pod Inštitut za računalništvo na Fakulteti za elektrotehniko, računalništvo in informatiko Univerze v Mariboru, smo z razvojem digitalnih knjižnic naredili tudi logičen korak naprej, tako da smo za njih začeli razvijati hibridne priporočilne sisteme z namenom izboljšati uporabniško izkušnjo in ponuditi dodatne storitve za uporabnike.

Priporočilni sistem nacionalne infrastrukture odprtega dostopa

Trenutno najbolj dodelan primer hibridnega priporočilnega sistema v digitalnih knjižnicah je priporočilni sistem nacionalne infrastrukture odprtega dostopa. Leta 2013 smo vzpostavili nacionalno infrastrukturo odprtega dostopa, ki zajema institucionalne repozitorije (digitalne knjižnice) za vse slovenske univerze in druge visokošolske in raziskovalne organizacije. Razvili smo hibridni priporočilni sistem, ki priporoča gradiva s podobno tematiko. Uporabili smo pristop kaskadne hibridizacije. To pomeni, da uporabljamo dve tehniki priporočanja, kjer je ena primarna, druga pa sekundarna. Primarna izvede osnovno priporočanje, sekundarna pa rezultat primarne preuredi z upoštevanjem dodatnih pravil. V našem primeru je primarna tehnika vsebinsko filtriranje, kjer uporabljamo naslove, ključne besede, avtorje in druge metapodatke za iskanje podobnih gradiv. Dobljena gradiva nato preuredimo s tehniko sodelovalnega filtriranja, kjer upoštevamo oglede in prenose gradiv, dodatno pa tudi klike na priporočena gradiva. Končna priporočila dobimo z nekaj dodatnimi pravili, ki so določena s strategijo priporočanja. Konkretno v seznamih priporočil višje uvrščamo novejše dokumente, dokumente s podobno tipologijo in dokumente, ki so z vrstilcem UDK uvrščeni na enako področje. Posebnost tega priporočilnega sistema je, da izvajamo priporočanje tako znotraj posameznega repozitorija kot tudi med vsemi institucionalnimi repozitoriji.

Slika 2: Primer delovanja priporočilnega sistema nacionalne infrastrukture odprtega dostopa na primeru Digitalne knjižnice Univerze v Mariboru (DKUM).

Priporočanje vrstilcev UDK

Dodatno smo razvili še dva eksperimentalna hibridna priporočilna sistema, ki pa še nista v uporabi. Ideja prvega hibridnega priporočilnega sistema je priporočanje vrstilcev UDK glede na enake podatke o dokumentu, ki jih prejmejo knjižničarji v obliki dispozicije (tj. naslova, kazala, povzetka in ključnih besed). Pri tem hibridnem priporočilnem sistemu uporabljamo pristop hibridizacije z obogatenjem značilk. Bistvo tega pristopa je, da uporabimo eno tehniko priporočanja za pridobivanje dodatnih značilk, ki jih nato uporabimo v drugi tehniki priporočanja. Za potrebe tega priporočilnega sistema uporabljamo dvojno vsebinsko filtriranje. Najprej poiščemo podobna gradiva na podlagi naslova, ključnih besed, povzetkov, avtorjev in drugih metapodatkov, med katere spada tudi dodeljeni vrstilec UDK. V drugi fazi vsebinskega filtriranja upoštevamo vrstilce UDK iz prve faze in tvorimo seznam priporočenih vrstilcev UDK, urejenih po priporočenem vrstnem redu uporabe. Ker trenutno sistem uporablja zastonjsko različico UDK, ki zajema le okoli 2600 vrstilcev, nekaterih vrstilcev ne moremo priporočati. To je vidno tudi pri primeru, navedenem v nadaljevanju, kjer je zaznan le vrstilec 004.77, ne pa tudi 004.777, ki ga nimamo, saj je slednji le v plačljivem sistemu. Uporabo tega hibridnega priporočilnega sistema vidimo v obliki orodja za knjižničarje pri dodeljevanju vrstilcev UDK. Knjižničarji bi imeli torej še vedno popoln nadzor nad dodeljevanjem vrstilcev UDK, lahko pa bi uporabili priporočene vrstilce za pospešitev tega procesa. Načrtujemo tudi možnost priporočanja privesnih vrstilcev in priporočanje razširitve z znaki za povezovanje, v prihodnosti pa bi želeli tudi preveriti možnost popolne avtomatizacije dodeljevanja vrstilcev UDK.

Slika 3: Primer rezultata hibridnega priporočilnega sistema za priporočanje vrstilcev UDK. Uporabili smo le zavedene ključne besede dela (https://dk.um.si/IzpisGradiva.php?id=37811). Zaveden vrstilec za to delo je 004.777:004.93(043.2).

Priporočanje mentorjev zaključnih del

Drug eksperimentalni hibridni priporočilni sistem, ki smo ga zasnovali, je namenjen priporočanju mentorjev zaključnih del. Ideja je ponuditi študentom storitev za priporočanje človeka, ki se ukvarja z določenim področjem in bi bil primeren kot mentor pri zaključnem delu. Pri tem hibridnem priporočilnem sistemu uporabljamo pristop utežne hibridizacije z linearno kombinacijo uteži. Pri tem pristopu ima vsaka tehnika priporočanja svojo utež, ki vpliva na končni rezultat priporočanja. Uporabljamo vsebinsko filtriranje, kjer za vhodni iskalni niz poiščemo vsa dela, ki so podobna, in izluščimo njihove avtorje. Seznam avtorjev je nato vhod za drugo tehniko priporočanja, ki je prav tako vsebinska, poznamo pa jo pod imenom analiza mnenj (angl. opinion mining, sentiment analysis). Slednja ni direktno tehnika priporočanja, nam pa omogoča vsebinsko filtriranje, zato velja za tehniko vsebinskega filtriranja. Pri analizi mnenj preverimo mnenje študentov o avtorju predvsem s pedagoškega vidika. Trenutno mnenja črpamo s spletne strani www.profesorji.net, v nadaljevanju pa bi si želeli uporabiti dejanska mnenja iz univerzitetnih študentskih anket. Prav tako razmišljamo o možnosti, kjer bi ob oddaji zaključnega dela študent izpolnil kratek vprašalnik o zadovoljstvu z mentorjem. Dodatno uporabljamo časovno komponento pri obeh tehnikah filtriranja, saj se lahko raziskovalno področje človeka in tudi mnenje o njem čez čas spremenita. S tem lahko zaznavamo tudi neaktivnosti (npr. upokojitve) ali, v obratni smeri, pojavitev novega človeka, ki se je šele začel ukvarjati s področjem in je bolj primeren za somentorja. Spodnji primer prikazuje rezultat tega hibridnega priporočilnega sistema, pri čemer so bile omejitve (filter): člani Inštituta za računalništvo, iskalni niz »evolucijski algoritmi« in časovno obdobje zadnjih 10 let (2009–2019). Z oranžno je označen kandidat, ki je že dalj časa neaktiven (zadnji najden dokument je iz leta 2012). Gre za upokojenega profesorja.

Slika 4: Primer delovanja hibridnega priporočilnega sistema za priporočanje mentorjev v digitalnih knjižnicah. Kandidati so uvrščeni v seznam na podlagi njihove raziskovalne aktivnosti in mnenja študentov. Z oranžno je označen upokojen profesor.

V digitalnih knjižnicah lahko najdemo ogromno priložnosti za vključitev priporočilnih sistemov. Primer kažejo, da lahko hibridne priporočilne sisteme uporabimo kot dodatne storitve v digitalnih knjižnicah in s tem izboljšamo uporabniško izkušnjo. V Laboratoriju za heterogene računalniške sisteme se ukvarjamo tudi z detekcijo podobnih vsebin, ki pripomore k preprečevanju plagiatorstva. Kot smo ugotovili skozi lastne študije, je možno priporočilne sisteme zelo uspešno uporabiti tudi pri iskanju kandidatov, ki jih uporablja algoritem za iskanje podobnih vsebin. Z razmahom na področju umetne inteligence v zadnjih letih postajajo rekurentne nevronske mreže vedno pogostejše na področju obdelave besedil. Tako tudi mi načrtujemo tako izboljšave priporočilnih sistemov kot tudi detekcije podobnih vsebin z uporabo rekurentnih nevronskih mrež in ustreznih alternativnih vektorskih predstavitev besedil, ki omogočajo upoštevanje pomenskih informacij pri iskanju podobnosti.

Prispevek je pripravil mag. Mladen Borovič

mladenborovic

Mladen Borovič, mag. inž. rač. in inf. tehnol., je od leta 2012 zaposlen v Laboratoriju za heterogene računalniške sisteme na Inštitutu za računalništvo – Fakulteta za elektrotehniko, računalništvo in informatiko na Univerzi v Mariboru. Raziskovalno in projektno se ukvarja s priporočilnimi sistemi, procesiranjem naravnega jezika, jezikovnimi tehnologijami, pomenskim spletom, umetno inteligenco in porazdeljenimi računalniškimi sistemi. Kot doktorski kandidat trenutno pripravlja doktorsko disertacijo s področja priporočilnih sistemov v okolju digitalnih knjižnic, kjer preučuje vplive takšnih sistemov na uporabnike digitalnih knjižnic in možnosti implementacije dodatnih priporočilnih sistemov za izboljšanje uporabniške izkušnje.