Sistemi Preporuke Na Drustvenim Mrezama
description
Transcript of Sistemi Preporuke Na Drustvenim Mrezama
SISTEMI PREPORUKE NA
DRUŠTVENIM MREŽAMA
JELENA JOVANOVIC
HTTP://JELENAJOVANOVIC.NET
PREGLED PREDAVANJA
� Primeri sistema preporuke na Web-u
� Sistemi preporuke: osnovne karakteristike
� Osnovni tipovi metoda preporuke
� Kolaborativno filtriranje
2
� Kolaborativno filtriranje
� Poverenje korisnika u preporuke sistema
� Izazovi za sisteme preporuke i njihove korisnike
LINKEDIN: PREPORUKA LJUDI, POSLOVA, GRUPA
4
>50% konekcija je uspostavljeno na osnovu preporuka
>50% prijava za posao je realizovano na osnovu preporuka
>50% članstva u grupama je formirano na osnovu preporuka
Izvor: http://kdd2012.sigkdd.org/sites/images/ipe/IPE-Posse.pdf
YAHOO!: PREPORUKA VESTI I NOVINSKIH TEKSTOVA
� Preporuka vesti i novinskih članaka na naslovnoj straniciYahoo.com (tzv. Today box)
7
Screenshot preuzet sa: https://www.yahoo.com/
YAHOO!: PREPORUKA VESTI I NOVINSKIH TEKSTOVA
� Tim editora kreira 50-100 “paketa vesti”, a algoritam rangira “pakete” na osnovu raspoloživih podataka o korisniku
� Sofisticiran algoritam preporuke zasnovan na� demografskim karakteristikama korisnika,
� stranicama Yahoo! sajta koje je korisnik posetio (browsing history),
� novinskim člancima koje je video/pročitao tokom trenutne posete sajtu
8
� novinskim člancima koje je video/pročitao tokom trenutne posete sajtu
� Sistem generiše 9,000 preporuka u minuti (!)
� Primena ovog sistema preporuke, koja je počela 2009. god., dovela je do povećanja CTR (click through rate) za 270% (!)
� Više o ovom sistemu i njegovoj primeni možete pročitati u ovom članku
TWITTER: SPONZORISANI TWEETS
� Primena sistema preporuke za personalizovane reklamnetweet-ove
9
Slika preuzeta izprezentacije: http://goo.gl/nb3Qhy
TWITTER: PREPORUKE KOGA SLEDITI
(UKLJUČUJUĆI I PROMOVISANE/SPONZORISANE KORISNIKE)
10
Slika preuzeta izprezentacije: http://goo.gl/nb3Qhy
SISTEMI PREPORUKE
Softverski sistemi koji na osnovu procenjenih interesovanja i preferenci
korisnika automatski selektuju informacije/artikle/usluge koje bi korisniku mogle biti interesantne/relevantne
Cilj je pomoći korisniku i unaprediti kvalitet kompletnog procesapronalaženja i/ili izbora informacija/proizvoda/usluga
12
pronalaženja i/ili izbora informacija/proizvoda/usluga
ZAŠTO SU SISTEMI PREPORUKE TOLIKO PRISUTNI NA
WEB-U?
� Primarni razlog: Social overload – fenomen koji obuhvata
� Previše raspoloživih informacija (Information overload) � Blogovi, mikroblogovi, forumi, wiki, aplikacije za deljenje slika, audio i
video zapisa,…
13
� Previše različitih oblika interakcije (Interaction overload)� Friending, following, commenting, tagging, liking, voting,…
SISTEMI PREPORUKE ČINE SADRŽAJE IZ TZV. LONG TAIL-ADOSTUPNIM KORISNIKU
� Kvalitet sistema preporuke se meri kroz njegovu sposobnostpreporuke sadržaja iz tzv. long tail-a � (relativno) lako je preporučiti nešto što je popularno i svima se sviđa,
mnogo je teže identifikovati i preporučiti nešto što je malo poznato, a potencijalno relevantno za datog korisnika
14
~ 20% artikala/sadržaja koji privukupažnju 70%-80% korisnika
Long tail čini ~ 70-80% artikala/sadržaja koji ukupno
privuku pažnju ~20% korisnika
SISTEMI ZA PRETRAŽIVANJE VS. SISTEMI PREPORUKE
� Sistemi za pretraživanje� primeri: Google Search, Yahoo! Search, Bing, …� pretpostavka: korisnici znaju šta traže, treba im samo pomoći da ‘lociraju’
tražene sadržaje� cilj: omogućiti korisniku da što jednostavnije i što brže dođe do traženog
sadržaja poznatih karakteristika
15
� Sistemi preporuke� primeri: videti uvodne slajdove� pretpostavka: korisnici ne znaju tačno šta traže; potrebno im je ponuditi
interesantne/relevantne sadržaje koji im nisu poznati� cilj: omogućiti otkrivanje nepoznatih, a korisnih/relevantnih sadržaja;
olakšati izbor tj. donošenje odluka
� Granica između ova dva tipa sistema se sve više gubi
‘SIMBIOZA’ SISTEMA PREPORUKE I DRUŠTVENIH MREŽA
� Sistemi preporuke i društvene mreže se pokazuju uzajamno
vrlo korisnim
� Društvene mreže obezbeđuju ogromne količine podataka koji suvrlo korisni za sisteme preporuke
� tagovi, komentari, ocene, direktne preporuke,…
16
� tagovi, komentari, ocene, direktne preporuke,…
� Sistemi preporuke čine društvene mreže atraktivnijim za korisnikakroz prikaz/ponudu relevantnih/interesantnih sadržaja
PERSONALIZOVANE PREPORUKE
Profil korisnikai parametri konteksta
18
Primer: preporuka vesti nanaslovnoj stranici Yahoo.com
Algoritampreporuke
Listapreporuka
KOLABORATIVNO FILTRIRANJE
Osnovna ideja: preporučiti korisnikuono što je popularno međunjegovim/njenim ‘prijateljima’
Profil korisnikai parametri konteksta
19
Listapreporuka
Algoritampreporuke
Podaci o ostalimkorisnicima
PREPORUKE ZASNOVANE NA SADRŽAJU
Osnovna ideja: preporučiti korisnikusadržaje slične onima koji su im se ranije sviđaliProfil korisnika
i parametri konteksta
20
Algoritampreporuke
ListapreporukaKarakteristike
proizvoda/sadržaja
PREPORUKE ZASNOVANE NA ZNANJU
Osnovna ideja: preporučiti korisnikuono što odgovara njegovim potrebama
Profil korisnikai parametri konteksta
21
Listapreporuka
Algoritampreporuke
Karakteristikeproizvoda/sadržaja
Model znanja(o korisnicima i sadržajimakoji su predmet preporuke)
HIBRIDNE PREPORUKE
Preporuke kroz kombinaciju različitihulaza i/ili različitih algoritama
Profil korisnikai parametri konteksta
Podaci o ostalim
22
Karakteristikeproizvoda/sadržaja
Podaci o ostalimkorisnicima
Model znanja(o korisnicima i sadržajimakoji su predmet preporuke)
Algoritampreporuke
Listapreporuka
KOLABORATIVNO FILTRIRANJE
� Najšire korišćen pristup za generisanje preporuka, posebno u kontekstu online društvenih mreža i Web-a generalno� primenljiv je i primenjen u brojnim i raznovrsnim domenima
� knjige, filmovi, muzika, osobe,…
� zasniva se na dobro razvijenim i dosta raznovrsnim algoritmima (tj. varijacijama osnovnog algoritma)
24
� Koristi tzv. "wisdom of the crowd" za preporuku sadržaja
Slika preuzeta sa: http://cfile2.uf.tistory.com/image/2665164A520374CC0E5D6B
KOLABORATIVNO FILTRIRANJE
� Osnovna ideja
� primeniti pristup koji su ljudi oduvek primenjivali kad im je potrebnapreporuka: pitaju za mišljenje osobe sličnih interesovanja/preferenci
� Osnovne pretpostavke
� korisnici ocenjuju (direktno ili indirektno) artikle/sadržaje iz nekog
25
postojećeg, ali proširljivog skupa artikala/sadržaja
� korisnici koji su imali sličan ukus u prošlosti, imaće sličan ukus i u budućim situacijama, tj. ukusi se ne menjaju tokom vremena
Slika preuzeta sa: http://horicky.blogspot.com/2011/09/recommendation-engine.html
Indirektna (implicitna) pozitivna ocena artikla
METODA NAJBLIŽIH SUSEDA ZASNOVANA NA KORISNICIMA
� Osnovna i široko primenjivana metoda kolab. filtriranja
� Princip funkcionisanja:
� Za datog korisnika (Bob) i za dati artikal X koji Bob još nijevideo/probao/kupio� Pronaći skup najbližih suseda tj. korisnika koji su na isti/sličan način bili
26
ocenjivali artikle kao i Bob, i koji su ocenili i artikal X
� Iskoristiti ocene najbližih suseda (npr., prosečnu vrednost njihovihocena) za predikciju ocene koju bi Bob dao artikalu X
� Ponoviti postupak za sve artikle koje Bob još nije video i preporučitimu artikal/artikle za koje se predvidi najviša ocena
METODA NAJBLIŽIH SUSEDA ZASNOVANA NA KORISNICIMA
� Primer
� Pretpostavimo da baza podataka o ocenama tekućeg korisnika(Boba) i nekoliko drugih korisnika ima sledeći oblik:
Item1 Item2 Item3 Item4 Item5
Bob 5 3 4 4 ?
John 3 1 2 3 3
27
� Potrebno je odrediti da li bi se Bobu svideo artikal #5 (Item5), kojion do sada ili nije video ili nije ocenio
John 3 1 2 3 3
Jane 4 3 4 3 5
Jim 3 3 1 5 4
Anna 1 5 5 2 1
METODA NAJBLIŽIH SUSEDA ZASNOVANA NA
KORISNICIMA
� Neka od pitanja koja se direktno nameću:
� Kako merimo sličnost korisnika?
� Koliko ‘suseda’ treba uzeti u obzir tj. smatrati ‘najbližim’?
� Kako proceniti/odrediti ocenu koju bi korisnik dao nepoznatimartiklima (tj. artiklima koji su kandidati za preporuku)?
28
MERENJE SLIČNOSTI KORISNIKA
� Popularna mera za procenu sličnosti korisnika je
Pearson-ov koeficijent korelacije
� Uzima u obzir sličnosti/razlike u ponašanju/tendencijama korisnika priocenjivanju artikala/sadržaja
� Vrednosti ovog koeficijenta se kreću u opsegu [-1,1]
29
0
1
2
3
4
5
6
Item1 Item2 Item3 Item4
Ratings
Alice
User1
User4
Bob i John ispoljavaju istoponašanje pri ocenjivanjuartikala (iako se same ocenerazlikuju), dok Anna pokazujesasvim suprotno ponašanje
Bob
John
Anna
MERENJE SLIČNOSTI KORISNIKA
� Primenom Pearson-ovog koeficijent korelacije,
za dati primer dobijamo sledeće vrednosti
Item1 Item2 Item3 Item4 Item5
Bob 5 3 4 4 ?
30
Bob 5 3 4 4 ?
John 3 1 2 3 3
Jane 4 3 4 3 5
Jim 3 3 1 5 4
Anna 1 5 5 2 1
sim = 0,85
sim = 0,00
sim = 0,70
sim = -0,79
Bobovi ‘najbliži susedi’
PROCENA OCENE KORISNIKA ZA NEPOZNATI ARTIKAL
Ocena korisnika i za artikal j
Prosečna ocena korisnika i
Skup svih artikala koje jekorisnika i ocenio
31
Procena ocene koju bi korisnik a dodelio nepoznatom artiklu j
Procenjena sličnostkorisnika a i suseda i, i = 1,nTežina artikla j
(ukazuje na relevantnost artikla)
UOBIČAJENI PRISTUPI UNAPREĐENJU
PREDIKCIJA/PREPORUKA
� Ocene ‘suseda’ najčešće nisu podjednako ‘vredne’� Saglasnost (mišljenja/ocena) po pitanju artikala koji se svima (ne)sviđaju,
nije toliko informativna koliko je slaganje u vezi artikala oko kojih postojiprilična neujednačenost ocena
� Moguće rešenje: dodeliti veću težinu artiklima koje karakteriše višivarijabilitet ocena
32
varijabilitet ocena
� Amplifikacija sličnosti� dodeliti značajno veću težinu veoma sličnim susedima (mera sličnosti je
bliska 1)
� Eliminisati susede za koje je mera sličnosti ispod definisanog praga
METODA NAJBLIŽEG SUSEDA ZASNOVANA NA ARTIKLIMA
� Metoda najbližeg suseda zasnovana na korisnicima ima problem skalabilnosti ukoliko sistem ima mnogo više korisnika nego artikala
(m >> n , m = |korisnici|, n = |artikli|)
� npr. Netflix.com ili različite online prodavnice
� Javlja se tzv. sparsity problem tj. problem neraspoloživosti podataka
33
� Javlja se tzv. sparsity problem tj. problem neraspoloživosti podataka(ocena) za veliki broj korisnik–artikal parova
� to dalje uslovljava da je veoma mali skup artikala ocenjen od stranedva ili više korisnika sistema
� Moguće rešenje: staviti fokus na identifikaciju relacija između artikala(ne korisnika)
METODA NAJBLIŽEG SUSEDA ZASNOVANA NA ARTIKLIMA
� Osnovna ideja:
� Zasnovati predikcije (a time i preporuke) na sličnosti artikala, ne korisnika
� Pri tome, sličnost artikala se određuje na osnovu ocena koje sukorisnici dodelili artiklima
� tako da su predikcije/preporuke ipak (implicitno) zasnovane na
34
� tako da su predikcije/preporuke ipak (implicitno) zasnovane nakorisnicima tj. njihovim ocenama
METODA NAJBLIŽEG SUSEDA ZASNOVANA NA ARTIKLIMA
� Primer:
� Identifikovati artikle koji su slični artiklu #5 (Item5)
� Svaki artikal je opisan tj. predstavljen vektorom ocena korisnika
� Procena sličnosti artikala se svodi na procenu sličnosti vektora kojimasu artikli predstavljeni
� Predikcija Bobove ocene za artikal #5 zasniva se na Bobovim
35
� Predikcija Bobove ocene za artikal #5 zasniva se na Bobovimocenama artikala koji su identifikovani kao slični artiklu #5
Item1 Item2 Item3 Item4 Item5
Bob 5 3 4 4 ?
John 3 1 2 3 3
Jane 4 3 4 3 5
Jim 3 3 1 5 4
Anna 1 5 5 2 1
OCENE (RATINGS) KORISNIKA
� Ocene korisnika su osnova svakog sistema preporuke; one se moguklasifikovati u dve osnovne kategorije:
� Direktne ili eksplicitne
� Indirektne ili implicitne
36
DIREKTNE/EKSPLICITNE OCENE
� Ocene tipično iskazane na skali 1-5, ili 1-10� Npr., ocene filmova na IMDB.com, ili ocene knjiga na GoodReads.com
� Prednosti� Direktno, jednoznačno ukazuju na ukus/mišljenje/stav korisnika
Nedostaci
37
� Nedostaci� Mnogi korisnici (iz najrazličitijih razloga) nisu voljni da ocenjuju artikle
� Broj rasploživih ocena može biti vrlo mali (u odnosu na broj artikala) → javlja se tzv. sparsity problem → slabiji kvalitet preporuka
� Kompanije se trudi da osmisle različite podsticaje za ostavljanje ocena i/ilikomentara
INDIREKTNE/IMPLICITNE OCENE
� Podaci koje Web aplikacija (kojoj sistem preporuke pripada) prikuplja o korisniku tokom korisnikove interakcije sa sadržajima aplikacije
� kupovina određenih proizvoda/usluga,
� pristup određenim stranicama sajta (page views),
� vreme provedeno na pojedinim stranicama,
� klikovi na linkove,
38
� klikovi na linkove,
� gledanje promotivnih video klipova i sl.
INDIREKTNE/IMPLICITNE OCENE
� Prednosti� Mogu se jednostavno i kontinuirano prikupljati bez opterećivanja
korisnika tj. bez potrebe za dodatnim angažovanjem korisnika
� Nedostaci� Pouzdana interpretacija ovih podataka je gotovo nemoguća
� Na primer, korisniku se možda ne svidi proizvod koji je kupio ili je
39
� Na primer, korisniku se možda ne svidi proizvod koji je kupio ili je možda taj proizvod kupio za nekog drugog
PROBLEMI/IZAZOVI
� Data sparsity problem
� Svega 2-3% korisnika ostavlja eksplicitni feedback (ocene, komentari,…)
� Cold start problem
� Nedostatak informacija o novim korisnicima/artiklima
40
� Korelacija između najbližih suseda� Npr. Lord of the Rings serijal
� Smanjuje raznolikost preporuka
POVERENJE
� Veoma bitno pitanje u domenu sistema preporuke je kako obezbeditipoverenje korisnika u preporuke koje sistem generiše
� Za razliku od tradicionalnih sistema preporuke, današnji sistemi u velikoj meri koriste podatke o društvenim konekcijama korisnika
� Podaci o kontaktima stvaraju uslove za veće poverenje korisnika i to:
42
� Indirektno, kroz kreiranje kvalitetnijih preporuka – kontakti dosta govore o interesovanjima i preferencama korisnika
� Direktno – ljudi imaju tendenciju da više veruju preporukama za koje znajuda dolaze od prijatelja
POVERENJE
� Poverenje se može podstaći i preporukama koje dolaze od korisnikasa visokom reputacijom u druš. mreži
� ‘Globalna’ reputacija korisnika se određuje primenom odgovarajućihmetrika iz oblasti Analize društvenih mreža
� npr. primenom PageRank algoritma na društveni graf
� izračunate vrednosti metrika se koriste za davanje prioriteta preporukama
43
� izračunate vrednosti metrika se koriste za davanje prioriteta preporukamakoje dolaze od korisnika sa visokom reputacijom
OBJAŠNJENJE PREPORUKA
� Svrha
� Transparentnost: objasniti kako sistem radi tj. kako je došao do preporuke
� Poverenje: direktno povezano sa transparentnošću – ljudi suspremni da više veruju nečemu što im je jasno kako funkcioniše
44
� Korekcija: omogućiti korisniku da kaže sistemu da je pogrešio
� Efikasnost: pomoći korisniku da brže donese odluku
� Efektivnost: pomoći korisniku da donese dobru odluku – zadovoljankorisnik će nastaviti da koristi sistem
� Ubedljivost: uveriti korisnika da donosi pravu odluku (npr. da kupi iliproba neki artikal)
RAZLIČITE VRSTE OBJAŠNJENJA
� Objašnjenja u slučaju preporuke zasnovane na metodi najbližihsuseda� “Korisnici koji su kupili proizvod X takođe su kupili proizvode Y i Z”
� “Proizvod/sadržaj X vam je preporučen zato što ste bili zadovoljni sličnimproizvodom/sadržajem Y”
45
Screenshoot preuzet sa: https://support.google.com/plus/answer/187605?hl=en
RAZLIČITE VRSTE OBJAŠNJENJA
� Objašnjenja u slučaju preporuka zasnovanih na karakteristikamaartikala (content-based recommendation)� “Ovaj novinski članak govori o temama X i Y koje pripadaju skupu tema za
koje ste bili pokazali interesovanje”
46
Slika preuzeta sa: http://goo.gl/RaJbEN
Preporuka različitih vrstaartikala koje spaja nekazajednička tema(npr. interesovanje za trčanje)
RAZLIČITE VRSTE OBJAŠNJENJA
� Objašnjenja u slučaju preporuka zasnovanih na društvenimkonekcijama� “Ovaj blog post je napisao/preporučio tvoj prijatelj X”
� “Ovaj video se svideo 50% tvojih prijatelja, a svega 5% njih je dalonegativnu ocenu”
47
Screenshoot preuzet sa: https://support.google.com/plus/answer/187605?hl=en
Prijatelj ili osoba savisokom reputacijom u
društvenoj mreži
SISTEMI PREPORUKE I PRIVATNOST PODATAKA
� Sistemi preporuke koriste puno različitih vrsta privatnih podataka� Podaci o ‘kretanju’ korisnika na Web-u (npr., page views, clicks) i
realizovanim pretragama (npr. query logs)
� Social data tj. podaci o različitim sadržajima kreiranim na društvenimmrežama (tagovi, komentari, bookmarks, postovi,…), kao i kontaktimasa drugim korisnicima
49
sa drugim korisnicima
� Multimedijalni sadržaji (dokumenti, slike, audio, video) koje korisnikpublikuje na Web-u, kao i oni kojima samo pristupa
� Podaci o kupljenim/korišćenim/instaliranimproizvodima/aplikacijama/servisima
� Podaci o lokaciji i kretanju korisnika u realnom tj. fizičkom okruženju
� Sumarno, ovi podaci govore o interesovanjima, preferencama, navikama, namerama pojedinca
SISTEMI PREPORUKE I PRIVATNOST PODATAKA
� Što je više (privatnih) podataka raspoloživo sistemu preporuke, to supreporuke koje generiše bolje tj. više personalizovane
� To sve, naravno, otvara problem sigurnosti (privatnih) podataka
� Na korisnicima je (delimično) odluka: � omogućiti aplikaciji pristup privatnim podacima radi boljih preporuka tj.
50
višeg stepena personalizacije
� sprečiti (koliko je to moguće) pristup personalnim podacima i biti uskraćenpotencijalno relevantnih/interesantnih sadržaja/ponuda
FILTER BUBBLE
� Visoko personalizovani sistemi – među njima i sistemi preporuke –vode ka fenomenu poznatom kao filter bubble
� Reč je o izolaciji korisnika od brojnih sadržaja koji su van njihovesfere interesovanja i/ili neusaglašeni sa njihovim pogledom na svet
51
Slika preuzeta sa: http://aminotes.tumblr.com/post/5877998600/the-filter-bubble-eli-pariser-on-what-the
FILTER BUBBLE
� Informacije jesu raspoložive, ali se mali broj korisnika odluči da dođedo njih ukoliko nisu učinjene direktno dostupnim
� Primer: pretraga na Google-u� Samo (jako) mali broj korisnika se opredeli da pogleda rezultate koji su na
3, 4, 5, … stranici
� Rezultati na prvoj stranici su personalizovani za korisnika –> Google search je oblik sistema preporuke
52
search je oblik sistema preporuke
Izvor slike: http://dontbubble.us/
ZAHVALNICA
Twitter RecommendationsPredavanje Alpa Jain u okviru kursa “Analyzing Big Data With Twitter” Berkeley univerziteta: http://blogs.ischool.berkeley.edu/i290-abdt-s12/
Slajdovi koji prate knjigu Introduction to Recommender Systems
53
URL: http://www.recommenderbook.net/teaching-material/slides
Social Recommender SystemsIdo Guy and David Carmel, IBM Research, Israel
Tutorial @ International World Wide Web Conference 2011
SISTEMI PREPORUKE NA
DRUŠTVENIM MREŽAMA
JELENA JOVANOVIC
HTTP://JELENAJOVANOVIC.NET