Sistemi Preporuke Na Drustvenim Mrezama

54
SISTEMI PREPORUKE NA DRUŠTVENIM MREŽAMA JELENA JOVANOVIC JELJOV@GMAIL.COM HTTP://JELENAJOVANOVIC.NET

description

sistemi preporuke

Transcript of Sistemi Preporuke Na Drustvenim Mrezama

SISTEMI PREPORUKE NA

DRUŠTVENIM MREŽAMA

JELENA JOVANOVIC

[email protected]

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

PRIMERI

3

PRIMERI

SISTEMA PREPORUKE NA WEB-U

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

AUDIBLE: PREPORUKA (AUDIO) KNJIGA

5

Screenshot preuzet sa:http://www.audible.com/

NETFLIX: PREPORUKA FILMOVA I TV SERIJA

6

Slika preuzeta sa: http://goo.gl/k1zKU5

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:

11

SISTEMI PREPORUKE:

OSNOVNE KARAKTERISTIKE

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

OSNOVNI TIPOVI METODA PREPORUKE

17

OSNOVNI TIPOVI METODA PREPORUKE

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

23

KOLABORATIVNO FILTRIRANJE

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 KORISNIKA U

41

PREPORUKE SISTEMA

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

IZAZOVI ZA SISTEME PREPORUKE I

48

NJIHOVE KORISNIKE

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

[email protected]

HTTP://JELENAJOVANOVIC.NET