Sunteți pe pagina 1din 19

Sisteme de recomandare

Comert Electronic

Filtrare colaborativa

Procesul prin care filtram un set de date folosind

tehnici care presupun colaborarea intre mai


multi agenti, surse de date, etc.

In contextul comertului electronic

filtrare Metoda prin care se pot prezice preferintele

unui utilizator prin colectarea informatiilor


despre preferintele mai multor utilizatori colaborare

Ideea de baza

Un grup de oameni care au fost de acord asupra

unui lucru in trecut vor avea tendinta sa fie de


acord si in viitor

Filtrare colaborativa item-based


Se construieste o matrice item-item care determina relatia dintre doua item-uri

Cu ajutorul maticei si a datelor pe care le stim


despre utilizatorul curent incercam sa ii deducem preferintele

Filtrare colaborativa item-based


Se construieste o matrice item-item care determina relatia dintre doua item-uri

Cu ajutorul maticei si a datelor pe care le stim


despre utilizatorul curent incercam sa ii deducem preferintele

Matricea item-item
Mircea Inception Tangled The next three days 3 4 2 Bogdan 2 2 4 Florin 1 3 5 Medie 2 3 11/3

Filtrare colaborativa item-based


Se construieste o matrice item-item care determina relatia dintre doua item-uri

Cu ajutorul maticei si a datelor pe care le stim


despre utilizatorul curent incercam sa ii deducem preferintele

Filtrare colaborativa item-based


Se construieste o matrice item-item care determina relatia dintre doua item-uri

Cu ajutorul maticei si a datelor pe care le stim


despre utilizatorul curent incercam sa ii deducem preferintele

Corelarea Pearson (I)


Este o valoarea in intervalul [-1, 1] care se
calculeaza pentru doua entitati (fie acestea useri sau itemi), unde 1 inseamna ca itemii sunt

foarte asemanatori , iar -1 foarte diferiti

Corelarea Pearson (II)


X
n i 1 i i

X
n i 1

X Yi Y
2 n i 1

Y Y
i

Xi este ratingul pe care l-a dat userul i itemului X Yi este ratingul pe care l-a dat userul i itemului Y

X este ratingul pe care l-a dat userul i itemului X


Y este ratingul pe care l-a dat userul i itemului X

Exemplu
Mircea Inception Tangled The next three days 3 4 2 Bogdan 2 2 4 Florin 1 3 5 Medie 2 3 11/3

Corelarea intre Inception si Tangled pe baza ratingurilor de mai sus:

(3 - 2) ( 4 - 3) + ( 2 - 2) ( 2 - 3) + (1 - 2) (3 - 3) 2 2 2 2 2 2 (3 - 2) + ( 2 - 2) + (1 - 2) ( 4 - 3) + ( 2 - 3) + (3 - 3)

= 0.5

Matricea de corelatie
Inception Inception Tangled The next three days 1 0.5 0.982 Tangled 0.5 1 -0.655 The next three days -0.982 -0.655 1

Matricea raspunde la intrebarea: Cat de asemanatore sunt Inception si Tangled?

Corelarea intre utilizatori


Mircea Inception Tangled Three days later Medie 3 4 2 3 Bogdan 2 2 4 8/3 Florin 1 3 5 3

Dat fiind faptul ca si userii pot fi vazuti ca itemi putem afla si daca userii sunt asemanatori intre ei inversand rolurile in formula

Matricea de corelare intre useri


Mircea Mircea Bogdan Florin 1 -0.866 -0.5 Bogda -0.866 1 -0.87 Florin -0.5 -0.87 1

Acest tabel raspunde la intrebarea: Care useri sunt asemanatori ca gusturi?

Evaluarea lui Mircea pentru Inception


RmedMircea + w1 ( RatingBogdan - RmedBogdan ) + w2 ( RatingFlorin - RmedFlorin ) -0.866 8 -0.5 = 3+ 2 - + (1 - 3) 1.366 3 1.366 = 4.2
w1 =

r ( Mircea, Bogdan)
n i=1

r ( Mircea, useri )

w2 =

r ( Mircea, user )
n i=1 i

r ( Mircea, Florin)

Unde useri sunt toti userii asemantori cu John care si-au exprimat parerea despre itemul de estimat. In cazul nostru toti ceilalti

In romana
Daca stim preferintele lui Bogdan si pe cele ale lui Florin si de asemenea stim cat de

diferite/asemanatoare sunt gusturile lui Mircea


fata de gusturile celor doi, putem anticipa parerea lui Mircea inainte ca acesta sa o exprime

Lab assignment

Sa se dezvolte un sistem multiagent care sa

permita recomandarea de produse


asemanatoare cu un produs dat

Specificatii
Se vor folosi: un agent User care sa reprezinte utilizatorul un agent Shop gestioneaza o lista de produse si ofera informatii aditionale despre ele

un agent Recommender care sa cunoasca toate produsele si preferintele


utilizatorilor. Acesta va raspunde la orice mesaj ce contine id-ul unui produs, cu o lista de produse asemanatoare cu produsul dat. Fiecare

produs din lista va contine si identificatorul agentului care reprezinta


magazinul in care se poate gasi produsul respectiv. Pentru a identifica asemanarea intre doua produse se va folosi corelarea Pearson