Sistemi za preporuku

С Википедије, слободне енциклопедије
Recommender system

Sistemi za preporuku (engl. recommender system; recommendation system) sistemi su čiji je glavni zadatak da pruže korisniku informaciju - preporuku o potencijalno zanimljivom predmetu. Popularnost ovih sistema naročito je porasla zadnjih godina povećanjem količine informacija koje nas okružuju, te digitalizacijom naše svakodnevnice i pojavom internetskih servisa poput Fejsbuka, Gugla, Amazona, Ibeja i Netfliksa.

Uvod[уреди | уреди извор]

Porastom količine informacija koje nas okružuju, pojavljuje se potreba za izdvajanjem, filtriranjem i rangiranjem korisnih informacija. Objekat preporuke mogu biti: knjiga, muzički album, igra, film, novost, itd. Glavni zadatak sistema za preporuku je da identifikuje objekat (predmet) koji je potencijalno koristan ili interesantan za određenu osobu (korisnika). U procesu identifikacije sistem mora predvideti korisnost objekta, uporediti niz takvih korisnosti i odrediti najbolje objekte na temelju tog poređenja.

Problem preporuĉivanja može se formalizirati na sljedeći naĉin. Neka je C skup svih korisnika, a S skup svih objekata koje je moguće preporučiti. Tada se definiše funkcija korisnosti koja predstavlja procenu korisnosti u objekta s za korisnika c:

Pri čemu je R uređeni skup, npr. pozitivnih celih brojeva u intervalu [1, 5] ili realnih brojeva. Tada za svakog korisnika c ∈ C tražimo objekat s' ∈ S koji daje maksimalnu vrednost funkcije:

U sistemima za preporuku funkcija korisnosti se često prikazuje kao rang (ocena), koja pokazuje koliko je određenom korisniku zanimljiv određeni objekat. Npr. korisnik Petar Petrović je ocenio film Matrix ocenom 8 (od 10). Svaki element iz skupa korisika C može se opisati korisničkim profilom koji sadrži različite informacije, karakteristične za pojedinog korisnika. Primer takvih informacija su: doba, pol, prihod, bračno stanje, itd. Takođe na sličan način mogu se opisati elementi iz skupa obekata. Na primeru filmova te informacije mogu biti: ime filma, žanr, trajanje, popis glumaca, režiser, godina izdavanja, itd.

Prema načinu određivanja preporuke, sistemi za preporuku mogu biti:

  1. Na osnovu sadržaja (engl. content-based[1])– preporučuju objekte koji su korisniku bili zanimljivi/korisni u prošlosti.
  2. Na osnovu saradnji (engl. collaborative filtering[2]) – preporučuju objekte na osnovu ocena koje su drugi korisnici sličnih interesa dali pojedinim objektima.
  3. Hibridni[3] – kao kombinacija metoda iz prethodna dva sistema.

Sistemi za preporuku na osnovu sadržaja[уреди | уреди извор]

Sistemi preporuke koji su na osnovu sadržaja, nastoje korisniku preporučiti objekte slične objektima koji su mu bili zanimljivi u prošlosti. Osnova istraživanja ovih sistema nalaze se u područjima dohvata i filtriranja informacija, pri čemu se najčešće koriste metode za poređenje nestrukturiranog teksta.

Princip rada ovog sistema sastoji se u izgradnji „korisničkog profila“ koji sadrži korisnikov interes i sklonosti u obliku atributa. Atributi tog profila se zatim upoređuju s atributima raspoloživih objekata, pa se biraju oni objekti s najvećom sličnosti. Za računanje sličnosti koristi se vektorski prostorni model gde se objekti (dokumenti) prikazuju vektorima u vektorskom prostoru. Vektorski prostor je određen svim rečima koje se pojavljuju u dokumentu, tzv. rečnikom kolekcije. Svaka reč iz rečnika kolekcije predstavlja jednu dimenziju vektorskog prostora. Zbog toga za velike kolekcije dokumenata broj dimenzija može biti izuzetno veliki. Određena istraživanja su išla u smeru smanjivanja broja dimenzija. Fab sistem[4] za preporuku web stranica razlaže web stranicu na najviše 100 ključnih reči, dok Pazzanini i Billsus predlažu predstavljanje dokumenata s najviše 128 ključnih reči.

Prednosti sistema preporuke na osnovu sadržaja su:

  • Nezavisnost o ostalim korisnicima
  • Transparentnost – na temelju svojstava pojedinog objekta, moguće je jasno odrediti zašto je određeni objekat preporučen.
  • Mogućnost preporučivanja novih objekata koji prethodno nisu bili ocenjeni.

Glavni nedostaci ovih sistema su:

  • Ograničena analiza sadržaja – metode za izvlačenje znanja dovoljno su dobre za analizu tekstualnih dokumenata, ali ne i multimedijalnog sadržaja poput slika, zvučnih i video zapisa, zbog čega je poželjno ručno klasifikovati ove objekte. Takođe sama tekstualna analiza, koja se temelji na zastupljenosti najvažnijih reči, ne može razlikovati dobro napisane od loše napisanih članaka.
  • Preterana specijalizacija (engl. overspecialization) – ovi sistemi su u stanju preporučiti jedino objekte koji su slični postojećim zanimljivim objektima. Što u završnici može rezultovati davanjem očiglednih preporuka i/ili previdom potencijalno zanimljive preporuke. Primer sistema koji preporučuje restorane, osobi koja je posećivala samo kineske restorane neće preporučiti (najbolji) italijanski restoran.
  • Problem novog korisnika – kako bi preporuka bila što bolja, potrebno je prikupiti što veći broj ocena. Tako da u slučaju novog korisnika, sistem ne može dati preciznu preporuku.

Sistemi za preporuku na osnovu saradnji[уреди | уреди извор]

Sistemi za preporuku na osnovu saradnji

Sistemi preporuke na osnovu saradnji preporučuju korisniku objekte koji su bili zanimljivi korisnicima sa sličnim interesima (korisnici sa sličnim ukusom). Sličnost u ukusu između dvoje korisnika računa se na osnovu prošlih odabranih zanimljivih objekata. Osnovna pretpostavka sistema je da korisnici koji su imali sličan interes (ukus) u prošlosti, ima će sličan interes i u budućnosti.

Za razliku od sistema preporuke na osnovu sadržaja, sistem preporuke na osnovu saradnji mogu preporučiti različite vrste objekata koji nisu nužno slični objektima koji su bili zanimljivi korisniku u prošlosti.

Neki od glavnih nedostataka sistama preporuke na osnovu saradnji su:

  • Problem novog objekta – ukoliko novi objekat nije dovoljno puta ocenjen, ovi sistemi ga neće preporučivati.
  • Problem novog korisnika – Kako bi bio u stanju davati precizne preporuke sistem preporuke na osnovu korisničkih ocena, najpre treba „naučiti“ korisničke sklonosti.
  • Nedostatak preporuka u slučaju slabo popunjene matrice ocena (engl. sparsity[5]) – obično je kod sistema prepouke broj ocenjenih objekata mali u odnosu na ocene koje sistem treba predvideti, zbog čega je bitno svojstvo efektivne (kvalitetne) preporuke za mali broj raspoloživih ocena. U ovim sistemima na kvalitetu ocena utiče broj korisnika koji je ocenio objekat, zbog čega određeni objekti koje je ocenio mali broj korisnika, neće biti preporučeni, iako su oni možda ocenjeni velikim ocenama. Što dovodi do lošeg kvaliteta preporuka za korisnike sa specifičnim ukusom.

Hibridni sistemi preporuke[уреди | уреди извор]

Hibridni sistemi se razvijaju kako bi se izbegli glavni nedostatci pojedinačnih sistema za preporuku, a nastaju kao kombinacija sistema preporuke na osnovu sadržaja i saradnji. Hibridni sistemi mogu nastati :

A. Povezivanjem rezultata preporuka koje daju sistemi preporuke na osnovu sadržaja i saradnji.

Jedan od pristupa u razvoju hibridnog sistema je implementacija dva (ili više) odvojenih sistema preporuke na osnovu sadržaja i/ili saradnji. Takođe u ovom pristupu moguće je koristiti samo rezultate određenog sistema, zavisno od „kvaliteta“ preporuka koja se dobija analizom ocena koje je korisnik dao prethodno preporučenim objektima.

B. Dodavanjem svojstava sistema preporuke na osnovu sadržaja u model sistema preporuke na osnovu saradnji (i obrnuto).

Određeni sistemi zasnivaju se na tipičnim metodama sistema preporuke na osnovu saradnji, ali pritom još za svakog korisnika izgrađuju njegov profil koristeći principe iz metoda sistema preporuke na osnovu sadržaja. Prilikom računanja sličnosti između korisnika ne gledaju se objekti koje su korisnici zajednički ocenili, već se upoređuju korisnički profili. Na ovaj način je izbegnut problem različitosti preporuka. Takođe u ovom slučaju korisniku neće biti preporučivani samo objekti s visokom ocenom drugih korisnika sličnog profila, već i drugi objekti koji su slični samom korisničkom profilu.

Melville, Mooney i Nagarajan Архивирано на сајту Wayback Machine (23. мај 2014) predlažu sadržajno pomognut algoritam saradnje koji za klasifikaciju koristi Bejsov klasifikator (engl. naive Bayes classifier[6]) na temelju kojeg se popunjavaju prazna mesta u matrici ocenjenih objekata. Korisničke preporuke se zatim računaju iz dobijene pseudo matrice ocena, korištenjem težinskog Pearsonovog korelacijskog algoritma (koji daje veću težinu objektima koje je ocenio veći broj korisnika). Ovaj pristup takođe rešava problem različitosti preporuke, te probleme novog objekta ili novog korisnika – tzv. problem hladnog starta (engl. cold start problem[7]).

Sve hibridne sisteme karakteriše stanovita složenost, kao i uvođenje dodatnih parametara u model, uz pomoć kojih se nastoje izbeći svi nedostaci i manjkavosti „jednostavnijih“ sistema na osnovu sadržaja i saradnji.

Privatnost podataka[уреди | уреди извор]

Da bi generisali tačne personalizovane preporuke, sistemi za preporuku se oslanjaju na detalje ličnih podataka o preferencijama korisnika. Primeri su ocene, sagledavanje istorije onoga što korisnik voli i lični profili. Sistemi preporuke su korisni, međutim rizici vezani za privatnost pri prikupljanju i obradi ličnih podataka često se potcenjuju ili ignoršu. Mnogi korisnici nisu dovoljno svesni, koliko je njihovih podataka prikupljeno, i da li se njhovi podaci prodaju trećim licima, ili se bezbedno čuvaju i koliko dugo.[8]

Filter Bubble[уреди | уреди извор]

Eli Pariser

Filter Bubble je rezultat stanja u kome vebsajt algoritam selektivno nagađa koje informacije korisnik želi da vidi na osnovu informacija o korisniku (kao što su lokacija, search istorije) i, kao rezultat toga, korisnici postaju odvojeni od informacije koje se ne slaže sa njihovim stavovima, efikasno ih izoluje u svojim kulturnim ili ideološkim mehurićima. Prvi primeri toga su personalizovane Gugl-ove pretrage. Termin je izmislio Internet aktivista Eli Pariser u svojoj knjizi istog imena ; „according to Pariser” , korisnici dobijaju manju izloženost suprotstavljanju stavova i izolovani su u svom informacionom mehuru. Pariser povezuje primer u kojem jedan korisnik u Gugl-ovoj pretrazi ukuca " BP " i dobija kao rezultat investicione vesti o British Petroleum, dok je drugi korisnik dobio kao rezultat informacije o Deepwater Horizon oil spill. Ovaj primer pokazuje da su rezultati pretrage "upadljivo drugačiji".[9]

Mogući smerovi daljih istraživanja[уреди | уреди извор]

Istraživanje koje se bavi sistemima preporuke je veoma široko područje i na njemu su napravljeni brojni pomaci. Otkrivene su različite nove metode na osnovu saradnji i sadržaju, kao i hibridnom pristupu. Uprkos svim napretcima, potrebna su dodatna poboljšanja metoda za preporučivanje kako bi one bile još bolje i imale širu mogućnost primene.

Dodatna poboljšanja obuhvataju poboljšavanje metoda koje modeluju korisnike (korisničke profile) i objekte preporuke, korišćenjem naprednijih metoda iz područja izvlačenja znanja sekvenci te prepoznavanja uzorka iz toka podataka. Zatim uvođenjem mogućnosti davanja preporuka iz aspekta različitih kriterijuma (engl. multicriteria ratings[10]). Primer, davanje preporuke restorana na osnovu kriterijuma kvalitete usluge, hrane i uređenja restorana.


Prilikom izrade preporuka često nije dovoljno uzimati u obzir samo informacije o objektu preporuke i korisniku za kojeg se izrađuje preporuka. Ponekad je potrebno ugraditi kontekstnu informaciju u sam proces preporučivanja kako bi se korisniku preporučio objekat zavisno o određenim okolnostima. Primer, za preporuku o turističkoj destinaciji zavisno o vremenskom kontekstu, dobijaju se različiti rezultati za različita godišnja doba (npr. za zimu i leto). Uvođenje kontekstne informacije je primer dodatnog proširenja sistema za preporuku te je takođe predmet istraživanja.


Velik broj sistema za preporuku, pre nego što su u stanju novom korisniku dati preporuku, moraju eksplicitno od korisnika zatražiti da oceni nekoliko objekata. Često to može biti i nekoliko desetaka objekata, pa se ovakvo „ponašanje“ sistema smatra nametljivim (engl. intrusiveness) te se nastoji čim više smanjiti. Jedan od fokusa istraživanja je i smanjivanje nametljivosti ovih sistema, gde se nastoji pronaći optimalan broj ocena koje je potrebno dati, kako bi sistem zadržao određenu nivo preciznosti.


Određena istraživanja usmerena su ka detekciji i sprečavanju napada u sistemima preporuke na osnovu sadržaja. Zlonamerni korisnici raznim metodama nastoje uticati na ishode preporuka, zbog čega potrebno uložiti dodatne napore u istraživanje kako bi sistemi postali što robusniji i otporniji na ovakve napade.


Posebno izazovno i zanimljivo predstavlja vrednovanje i poboljšavanje stvarnih sistema koji se koriste u praksi što podrazumeva obrađivanje vrlo velikih skupova korisnika i predmeta, te posluživanje nekoliko miliona korisnika s velikim brojem kvalitetnih preporuka u stvarnom vremenu.

Vidi još[уреди | уреди извор]

Reference[уреди | уреди извор]

Literatura[уреди | уреди извор]

Spoljašnje veze[уреди | уреди извор]