alg grup w e biznesie wyk ad 2 Systemy rekomenduj ce

background image

Zastosowanie algorytmów grupowania w

sieci WWW i e-biznesie

Wykład 2

Systemy rekomendujące

(w systemach

sprzedaży)

Katedra Systemów Informacyjnych i Sieci Komputerowych

Urszula Kużelewska

background image

Źródła danych

Dane o użytkowniku:

dane demograficzne,

zainteresowania i preferencje

,

lista znajomych.

Dane o użytkowaniu:

wybór zasobów (przeglądanie),

czas poświęcony na zainteresowanie zasobem,

oceny punktowe

,

oceny słowne (komentarze),

zakupy

.

background image

Systemy rekomendujące (RS)

Poszukiwanie osób o podobnym guście

Podobne oceny dla danych przedmiotów

Podobne zainteresowania, grupa wiekowa, itp.

Stworzenie profilu użytkownika

Nowej osobie proponujemy to, co jest wysoko
ocenione przez osoby do niej podobne (np. z
profilu)

Ocena podobieństwa na podstawie badania
zachowania nowego użytkownika

background image

Techniki stosowane w RS

Oparte na danych demograficznych

np. „przy kupnie samochodu kobiety sugerują się
jego wyglądem”

zbyt ogólne

Podsumowania statystyczne

Liczba osób/grupa osób, które kupiły dany produkt

Średnia ocen, najczęściej polecane

Wykorzystujące korelację atrybutów

Czerwone buty+czerwona torebka

Książka w promocji+ przeceniona płyta

„Miś”, „Alternatywy 4”+”Jolka, Jolka, pamiętasz”

Analiza koszykowa

np. „w weekendy większość osób, które kupują
pieluszki, kupują też piwo”

background image

Techniki stosowane w RS

Algorytmy grupujące

Stworzenie profili na podstawie grup wydzielonych przez
algorytm grupujący

Stworzenie modelu
danych

Collaborative filtering

Bezpośrednia analiza podobieństwa pomiędzy obiektami

Brak wymaganego etapu wydzielania profili
(heurystyczne)

Ranking
przedmiotów

background image

Przykłady profili rzeczywistych

Źródło: behavia.pl

background image

Collaborative filtering

Macierz m

x

n 0 (nie lubi),1 (lubi) ,- (?)

Co osoba o2 sądzi o p5?

Czy osoba o4 będzie zainteresowana p1, p2, p3,
p4, p5?

p1

p2

p3

p4

p5

o1

0

1

1

1

0

o2

0

0

0

0

-

o3

1

-

0

0

-

o4

-

-

-

-

1

o5

1

1

1

0

-

background image

Collaborative filtering

Określa się lokalne podobieństwo (sąsiadów)
pomiędzy osobami (na podstawie ich zakupów)

Podobieństwo: m.in. miara kosinusowa,
współczynnik korelacji

Rekomendacje: przedmioty z koszyków
sąsiadów

Szybkie?

Długa lista rekomendacji?

background image

Ranking przedmiotów

Jeśli lista podobnych przedmiotów jest długa
jest ona sortowana wg kryteriów:

Nowości

Popularność przedmiotów

Waga oceny - zwykły użytkownik/autorytet

Społeczne przekonania – szybciej polubimy to, co
nasi znajomi

Jeśli Jacek i Hania lubią pływanie, a Hania lubi też
tenis, to prawdopodobnie Jacek też lubi tenis
Jest to bardziej prawdopodobne, jeśli Jacek i Hania
się znają

background image

Podział metod collaborative filtering

User-to-user - rekomendacje
są generowane w oparciu
o podobieństwo pomiędzy
samymi użytkownikami

Item-to-item – badane jest
podobieństwo pomiędzy
przedmiotami (na podstawie
akcji użytkowników)

Search-based – konstrukcja
zapytania na podstawie
danego przedmiotu

Content-based – (item-to-user) porównanie
opisu przedmiotu do profilu użytkownika

Mary: kupiła przedmiot D,
rekomenduje się jej
przedmiot A ?

background image

Algorytmy user-to-user

v

i,j

= ocena użytkownika i dla przedmiotu j

I

i

= lista przedmiotów ocenionych przez użytkownika i

Średnia ocena użytkownika i:

Przewidywana ocena nowego użytkownika a dla

przedmiotu j

waga n podobnych użytkowników

Stała

normalizująca

background image

Algorytmy item-to-item

Obliczanie wag:

Wybór K najbliższych sąsiadów

Współczynnik korelacji Pearsona

Miara kosinusowa

=

else

0

)

neighbors(

if

1

)

,

(

a

i

i

a

w

background image

Ocena skuteczności algorytmu

1.Podział zbioru na uczący i testowy (A)
2.W każdym przypadku i ze zbioru testowego:

1. Dla każdej oceny j z badanego przypadku testowego

określić różnicę pomiędzy oceną oszacowaną a

rzeczywistą

2. Obliczyć wartość pierwiastka błędu

średniokwadratowego (RSME

i

):

3.Obliczyć ogólną wartość pierwiastka błędu

średniokwadratowego (RSME)

̂

r

ij

̂

r

ij

r

ij

background image

Algorytm item-to-item Amazonu

opatentowany!!!

buduje się binarną
macierz użytkownik-
przedmiot

oblicza
podobieństwo
(cosinus) pomiędzy
wektorami macierzy

rekomendacje
Item1->Item3
Item2->Item3
Item3->Item1,Item2

background image

Podobieństwo
przedmiotów

cos(f1,f2)=1/(

12

2)=1/

(2

6)<0.5

cos(f1,f8)=0<0.5

cos(f7,f6)=2/(

4

5)≈0.5

Użytkownikowi, który
kupi f7 zostanie
zarekomendowany f6

nr
uż\film

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

1

1

1

0

0

0

1

0

0

0

0

2

1

0

0

0

0

0

0

0

0

0

3

1

0

0

0

0

0

0

0

0

0

4

1

0

0

0

0

0

1

0

0

0

5

1

0

0

0

0

0

0

0

0

0

6

0

0

0

0

0

0

0

0

0

0

7

1

0

0

0

0

0

0

0

1

0

8

0

0

0

0

0

1

0

0

0

0

9

1

0

0

0

0

1

1

0

0

1

10

0

0

0

0

0

0

0

0

0

0

11

0

0

0

1

0

0

1

1

0

1

12

0

0

0

0

0

1

1

0

0

1

13

1

0

0

0

0

1

0

0

0

0

14

0

1

0

0

0

0

0

0

0

0

15

1

0

0

0

0

0

0

0

0

0

16

1

0

0

0

0

0

0

0

0

0

17

0

0

0

0

0

0

0

0

0

0

18

1

0

0

0

0

0

0

0

0

0

19

1

0

0

0

0

0

0

0

0

0

20

0

0

0

0

1

0

0

0

0

0

background image

Użytkownikowi, który wypożyczy f7 zostanie
zarekomendowany f6

6|Shanghai Triad (Yao a yao yao dao waipo qiao) (1995)|01-
Jan-1995)|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0
7|Twelve Monkeys (1995)|01-Jan-1995|0|0|0|0|0|0|0|0|1|0|0|0|
0|0|0|1|0|0|0
Unknown|0, Action|1, Adventure|2, Animation|3, Children's|4,
Comedy|5, Crime|6, Documentary|7, Drama|8, Fantasy|9,
Film-Noir|10, Horror|11, Musical|12, Mystery|13, Romance|14,
Sci-Fi|15, Thriller|16, War|17, Western|18

background image

user-to-user

cos(x,o1)=(1·1+0·1+0·0+0·
0+0·0+0·1+0·0+0·0+1·0+0
·0)/
(

1

2

+0

2

+0

2

+0

2

+0

2

+0

2

+0

2

+0

2

+1

2

+0

2

·

1

2

+1

2

+0

2

+0

2

+0

2

+1

2

+0

2

+0

2

+0

2

+0

2

)=1/

6<0.5

cos(x,o2)=1/

2>0.5

cos(x,o7)=1

Rekomendacje?

nr
uż\film

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

1

1

1

0

0

0

1

0

0

0

0

2

1

0

0

0

0

0

0

0

0

0

3

1

0

0

0

0

0

0

0

0

0

4

1

0

0

0

0

0

1

0

0

0

5

1

0

0

0

0

0

0

0

0

0

6

0

0

0

0

0

0

0

0

0

0

7

1

0

0

0

0

0

0

0

1

0

8

0

0

0

0

0

1

0

0

0

0

9

1

0

0

0

0

1

1

0

0

1

10

0

0

0

0

0

0

0

0

0

0

11

0

0

0

1

0

0

1

1

0

1

12

0

0

0

0

0

1

1

0

0

1

13

1

0

0

0

0

1

0

0

0

0

14

0

1

0

0

0

0

0

0

0

0

15

1

0

0

0

0

0

0

0

0

0

16

1

0

0

0

0

0

0

0

0

0

17

0

0

0

0

0

0

0

0

0

0

18

1

0

0

0

0

0

0

0

0

0

19

1

0

0

0

0

0

0

0

0

0

20

0

0

0

0

1

0

0

0

0

0

f1 f2 f3 f4 f5 f6 f7 f8 f9

f10

1 0 0 0 0 0 0 0 1

0

background image

user-to-user

cos(x,o1)=(1·1+0·1+0·0+0·
0+0·0+0·1+0·0+0·0+1·0+0
·0)/
(

1

2

+0

2

+0

2

+0

2

+0

2

+0

2

+0

2

+0

2

+1

2

+0

2

·

1

2

+1

2

+0

2

+0

2

+0

2

+1

2

+0

2

+0

2

+0

2

+0

2

)=1/

6<0.5

cos(x,o2)=1/

2>0.5

cos(x,o7)=1

nr
uż\film

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

1

1

1

0

0

0

1

0

0

0

0

2

1

0

0

0

0

0

0

0

0

0

3

1

0

0

0

0

0

0

0

0

0

4

1

0

0

0

0

0

1

0

0

0

5

1

0

0

0

0

0

0

0

0

0

6

0

0

0

0

0

0

0

0

0

0

7

1

0

0

0

0

0

0

0

1

0

8

0

0

0

0

0

1

0

0

0

0

9

1

0

0

0

0

1

1

0

0

1

10

0

0

0

0

0

0

0

0

0

0

11

0

0

0

1

0

0

1

1

0

1

12

0

0

0

0

0

1

1

0

0

1

13

1

0

0

0

0

1

0

0

0

0

14

0

1

0

0

0

0

0

0

0

0

15

1

0

0

0

0

0

0

0

0

0

16

1

0

0

0

0

0

0

0

0

0

17

0

0

0

0

0

0

0

0

0

0

18

1

0

0

0

0

0

0

0

0

0

19

1

0

0

0

0

0

0

0

0

0

20

0

0

0

0

1

0

0

0

0

0

f1 f2 f3 f4 f5 f6 f7 f8 f9

f10

1 0 0 0 0 0 0 0 1

0

Nowemu użytkownikowi zostaną

zaproponowane filmy kupione
przez użytkowników 2 i 7

background image

Algorytm rating-based filtering Slope One

f(x)=x+b

b – średnia różnica w
ocenach innych osób

x – ocena danego
użytkownika

Informacje innych
użytkowników o
danym przedmiocie

Informacje o innych
przedmiotach
ocenianych przez
danego użytkownika

background image

Algorytm rating-based filtering Slope One

1. Średnia różnica pomiędzy elementami i i j:

O

ci

, O

cj

– oceny przedmiotów i,j przez użytkownika c

2. Przewidywana ocena przedmiotu i przez uż. t:

O

tc

– oceny przedmiotu c przez użytkownika t

w

ic

liczba użytkowników, którzy ocenili przedmiot i

oraz c (

zwiększa wagę częściej ocenianych przedmiotów

)

S(u

t

) – podzbiór elementów ocenionych przez uż. t

background image

Algorytm rating-based filtering Slope One

Średnia różnica pomiędzy elementami i i j:

Rekomendacje na podstawie przedmiotu E

i

obejmują

wszystkie elementy, dla których obliczono średnią
różnicę posortowane rosnąco

Rekomendacje dla użytkownika na podstawie
przedmiotu E

i

to elementy, dla których wyliczono

przewidywaną ocenę posortowane malejąco

background image

Prosty przykład Slope One

f(x)=x+b

Średnia różnica: D

12

=3

Przewidywana ocena:
P

B2

=f(x)=4+(2-5)=1

P1

P2

A

5

2

B

4

?

background image

Algorytm rating-based filtering Slope One

Średnia różnica

D12

:

Średnia różnica

D23

:

D

12

=

3−5+4−3

2

=−

0.5

D

23

=

2−3+5−2

2

=

1

background image

Algorytm rating-based filtering Slope One

Jaką ocenę wystawi
Mark dla P

3

?

D31:2-5=-3

f(x)=3-3=0
ale też f(x)=4+1=5

skąd?

ostatecznie P

MarkP3

=

skąd?

0⋅15⋅2

21

=

3.33

background image

Algorytm rating-based filtering Slope One

Jaką ocenę wystawi
Mark dla P

3

?

D31:2-5=-3

f(x)=3-3=0
ale też f(x)=4+1=5

skąd?

ostatecznie P

MarkP3

=

0 - wyliczone na podstawie jednej opinii,
5 – na podstawie dwóch

0⋅15⋅2

21

=

3.33

background image

Modyfikacje

Wymagania:
macierz binarna

0 brak danych

1,2 nie lubi (0)

3,4,5 lubi (1)

nr
użytk\fi
lm

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

1

5

4 ?

?

?

4 ?

?

?

?

2

3 ?

?

?

?

?

?

?

?

?

3

4 ?

?

?

?

?

?

?

?

?

4

3 ?

?

?

?

?

5 ?

?

?

5

3 ?

?

?

?

?

?

?

?

?

6 ?

?

?

?

?

?

?

?

?

?

7

4 ?

?

?

?

2 ?

?

4 ?

8

1 ?

?

?

?

4 ?

?

?

?

9

5 ?

?

?

?

4

5 ?

?

4

10 ?

2 ?

?

?

?

?

?

?

?

11

2 ?

?

4 ?

?

3

3 ?

4

12 ?

?

?

?

?

4

5 ?

?

5

13

5 ?

?

?

?

4 ?

?

?

?

14 ?

4 ?

?

?

?

?

?

?

?

15

5 ?

?

?

?

?

?

?

?

?

16

5 ?

?

?

?

?

?

?

?

?

17 ?

?

?

?

?

?

?

?

?

?

18

4 ?

?

?

?

?

?

?

?

?

19

5 ?

?

?

?

?

?

?

?

?

20 ?

?

?

?

3 ?

?

?

?

?

background image

Przykład

P

7

do P

10

=

(3-4+5-4+5-5)/3=0

P

7

do P

8

=(3-3)=0

f(x)=4+0=4 i

f(x)=3+0=3

f(x)

całk

=(4∙3+3∙1)/

/(3+1)=15/4≈

4

nr
użytk\f
ilm

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

1

5

4 ?

?

?

4 ?

?

?

?

2

3 ?

?

?

?

?

?

?

?

?

3

4 ?

?

?

?

?

?

?

?

?

4

3 ?

?

?

?

?

5 ?

?

?

5

3 ?

?

?

?

?

?

?

?

?

6 ?

?

?

?

?

?

?

?

?

?

7

4 ?

?

?

?

2 ?

?

4 ?

8

1 ?

?

?

?

4 ?

?

?

?

9

5 ?

?

?

?

4

5 ?

?

4

10 ?

2 ?

?

?

?

?

?

?

?

11

2 ?

?

4 ?

?

3

3 ?

4

12 ?

?

?

?

?

4

5 ?

?

5

13

5 ?

?

?

?

4 ?

?

?

?

14 ?

4 ?

?

?

?

?

?

?

?

15

5 ?

?

?

?

?

?

?

?

?

16

5 ?

?

?

?

?

?

?

?

?

17 ?

?

?

?

?

?

?

?

?

?

18

4 ?

?

?

?

?

?

?

?

?

19

5 ?

?

?

?

?

?

?

?

?

20 ?

?

?

?

3 ?

?

?

?

?

f1 f2 f3 f4 f5 f6 f7 f8 f9

f10

?

?

?

?

?

?

5

3

?

4

rzeczywista ocena

background image

Porównanie algorytmów

X'-zbiór testowy

S(u) – zbiór przedmiotów ocenionych przez użytkownika u

count(X'), count(S(u)) – liczności X' i S(u)

u

i

,P(u

i

) – odp. ocena lub predykcja oceny dla użytkownika u

background image

Wybór metody rekomendacji

Czynniki determinujące:

cel działania/rodzaj systemu,

branża,

sezonowość rynku/zmienność danych,

tzw. grupa docelowa użytkowników/klientów,

rodzaj danych wejściowych,

rozmiar listy rekomendacji,

rozmiar danych,

liczba użytkowników,

Często stosuje się hybrydę metod

(BellKor's

Pragmatic Chaos: kilkadziesiąt!)

background image

Problemy

Wymagane jest pewne działanie początkowe
nowego użytkownika

Dane w postaci macierzy rzadkich

(Ponowna) identyfikacja użytkownika

Nie uwzględniają zmian:

np. dodanie nowego przedmiotu do oferty –
przedmiot nigdy nie znajdzie się na liście
rekomendacji

Zainteresowanie użytkownika nowym
przedmiotem

Sezonowość niektórych przedmiotów

background image

Praktyczne wykorzystanie SlopeOne

G. Zięba „Implementacja algorytmu
personalizacji w systemie rekomendacji
produktów na przykładzie wybranego sklepu
internetowego”, praca magisterska, AGH,
Kraków, 2010

Open SlopeOne*+PHP+MySQL

*http://code.google.com/p/openslopeone/

,

background image

Wykorzystanie SlopeOne – G.Zięba

Oceny w systemie:

Oceny użytkowników:

Manualnie

Automatycznie

Korelacja pomiędzy
przedmiotami

Identyfikacja użytkownika

Cookies – dla każdego użytkownika

Logowanie – składanie zamówienia/wola
użytkownika asocjacja wygenerowanych przed tą

akcją ocen z bieżącym użytkownikiem

background image

Wykorzystanie SlopeOne – G.Zięba

Oceny w systemie:

Oceny użytkowników:

Manualnie

Automatycznie

Korelacja pomiędzy
przedmiotami

Identyfikacja użytkownika

Cookies – dla każdego użytkownika

Logowanie – składanie zamówienia/wola
użytkownika asocjacja wygenerowanych przed tą

akcją ocen z bieżącym użytkownikiem

Aktualizowane w tabeli
BD na bieżąco

Tabela korelacji
pomiędzy przedmiotami
aktualizowana raz na dobę

background image

Wykorzystanie SlopeOne – G.Zięba

Redukcja anomalii:

Odrzucanie skrajnych wartości ocen

Usuwanie zbyt wielu ocen użytkowników

liczona jest średnia ocen użytkowników

usuwanie do 0.1% ocen dla użytkowników, którzy

wystawili znacznie więcej ocen niż średnia

Wykorzystano nierówność Czebyszewa

background image

Wdrożenie w sklepie internetowym sprzedającym

przedmioty religijne G.Zięba

Dane: - 70% zamówień 32% zysku,

mała wartość < średniej
- 30% zamówień 68% zysku

duża wartość > średniej
- 16% osób ponawia zakupy
- 30% z nich w ciągu miesiąca

Cel: zwiększenie średniej
wartości zamówienia

background image

Dobór ocen

Źródło: G. Zięba
automatycznych:
- na podstawie danych
archiwalnych
- analiza koszykowa +
zestawienia statystyczne

Oceny manualne:

Wystawiane przez użytkownika w skali 1 - 6

background image

Wyniki:

Czas testów: 35 dni

Równolegle: dotychczasowy system

Źródło: G. Zięba

background image

Wyniki

Cel : zwiększenie wartości pojedynczego
zamówienia

Źródło: G. Zięba

background image

Podsumowanie wyników

Źródło: G. Zięba

background image

Bibliografia

W. W. Cohen: Collaborative Filtering: A Tutorial, Carnegie Mellon University

G. Zięba: „Implementacja algorytmu personalizacji w systemie rekomendacji
produktów na przykładzie wybranego sklepu internetowego”,
praca
magisterska, AGH, Kraków, 2010

D. Lemire, A. Maclachlan, Slope One Predictors for Online Rating-Based

Collaborative Filtering, in SIAM Data Mining, 21-23, 2005

Wikipedia: en.wikipedia.org


Document Outline


Wyszukiwarka

Podobne podstrony:
7 PodTel wyk ad Systemy Wielokrotne
wyk ad 2 System bankowy
wyk ad 2 2 System bankowy bankowo sp dzielcza
Wyk-ad 8 Ewolucja systemu, Logistyka ruzne zagadnienia, szkola
Wyk ad 3. Audit jako proefektywno ciowe narz dzie doskonalenia proces w i system w
Leki hipolipemizuj ce - wyk ad 2011, Farmakologia(1)
wyk ad 4b systemy transmisyjne pdh sdh
Wyk ad 5 6(1)
Wyk ad II
Tkanki wyk ad 1
Ekonomika Transportu wyk+ad 1
Wyk ad Fizyka 2
Wyk ad 04
Na wyk ad id 312279 Nieznany

więcej podobnych podstron