Systemy rekomendacji

45
Systemy rekomendacji Adam Kawa Seminarium: Systemy przetwarzania informacji 09.01.2008, godz. 12:15

description

 

Transcript of Systemy rekomendacji

Page 1: Systemy rekomendacji

Systemy rekomendacji

Adam Kawa

Seminarium: Systemy przetwarzania informacji

09.01.2008, godz. 12:15

Page 2: Systemy rekomendacji

Systemy rekomendacji

Plan prezentacji Wprowadzenie

Metody zbierania informacji o użytkowniku

Techniki rekomendacji

Problemy, trudności i wyzwania

Przykłady aplikacji

Page 3: Systemy rekomendacji

Wprowadzenie

DefinicjaSystemy rekomendacji to programy, które

strają się przedstawić informacje o przedmiotach (np. muzka, filmy), którymi dany użytkownik mógłby być zainteresowany

wykorzystują w tym celu zebrane informacje na temat preferencji i cech użytkownika, preferencji i cech innych użytkowników oraz atrybutów przedmiotów.

Page 4: Systemy rekomendacji

Wprowadzenie

Definicja [1]

Page 5: Systemy rekomendacji

Wprowadzenie

Przyczyny powstania [2] przyrost liczby użytkowników (większe

zróżnicowanie ich potrzeb)

przyrost ilości danych (udostępnianych oraz poszukiwanych)

ten sam czas, który można poświęcić na znalezienie interesujących informacji

ten sam czas, który można poświęcić na zrozumienie i wykorzystanie znalezionych informacji

Page 6: Systemy rekomendacji

Wprowadzenie

Możliwe korzyści [2] Dla użytkowników

szybki dostęp do poszukiwanych zasobów możliwość otrzymania informacji zgodnej z preferencjami i oczekiwaniami

Dla właścicieli:

pozyskanie licznej grupy klientów możliwość zdefiniowania grup docelowych, do których mogą być

kierowane szczegółowe treści i oferty zdobycie uznania wśród użytkowników za dostosowanie portalu do ich

potrzeb szansa na pozyskanie lojalności konkurencyjność wobec serwisów, które nie stosują

takich praktyk

Page 7: Systemy rekomendacji

Wprowadzenie

Problem rekomendacji (uproszczony) [3]Niech

C - zbiór wszystkich użytkowników I - zbiór rekomendowanych przedmiotów (np. ksiązki, filmy, usługi

finansowe) R - uporządkowany zbiór (np. liczb całkowitych z zakresu <1,100>) - funkcja użyteczności przedmiotu i dla użytkownika c.

Zadanie:

(dla każdego użytkownika znaleźć przedmiot o największej wartości funkcji użyteczności)

u:C× I R

∀ c∈C , ic=maxi∈I

u c ,i

Page 8: Systemy rekomendacji

Systemy rekomendacji

Problem rekomendacji (uproszczony) [2] Ogólna idea działania

identyfikacja użytkownika (zebranie infromacji o nim) analiza danych (stworzenie profilu użytkownika reprezentującego jego

preferencje) indywidualizacja zasobów (rekomendacja przedmiotów najbardziej

pasujących do profilu danego użytkownika)

Page 9: Systemy rekomendacji

Systemy rekomendacji

Plan prezentacji Wprowadzenie

Metody zbierania informacji o użytkowniku

Techniki rekomendacji

Problemy, trudności i wyzwania

Przykłady aplikacji

Page 10: Systemy rekomendacji

Metody zbierania informacji

Metody zbierania informacji o użytkowniku Profilowanie jawne (explicit profile)

Profilowanie domniemane (implicit profile)

Page 11: Systemy rekomendacji

Metody zbierania informacji

Profilowanie jawne (explicit profile) uzyskiwanie informacji bezpośrednio od użytkownika poprzez wypełnianie

kwestionariuszy lub odpowiadanie na pytania, np.

ocena przedmiotu w skali liczbowej uszeregowanie listy przedmiotów od najbardziej do najmniej ulubionych utworzenie listy przedmiotów, które użytkownik (nie) lubi.

subiektywny obraz profilu użytkownika

spotykane z niechęcią ze strony użytkownika

trudności w pozyskiwaniu dużej liczy informacjii

Page 12: Systemy rekomendacji

Metody zbierania informacji

Profilowanie domniemane (implicit profile) obserowanie zachowań użytkownika, np.

prowadzenie archiwum zakupionych przedmiotów utrzymywanie listy ostatnio przeglądanych przedmiotów analiza cech oglądanych przedmiotów analiza czasu poświęconego na oglądanie przedmiotu wyszukiwanie innych użytkowników o podobnych gustach

rzeczywisty i aktualny obraz profilu użytkownika na podstawie jego faktycznego zachowania

niewidoczne dla użytkownika

umożliwia zebranie większej ilości informacji

Page 13: Systemy rekomendacji

Systemy rekomendacji

Plan prezentacji Wprowadzenie

Metody zbierania informacji o użytkowniku

Techniki rekomendacji

Problemy, trudności i wyzwania

Przykłady aplikacji

Page 14: Systemy rekomendacji

Techniki rekomendacji

Techniki rekomendacji Niespersonalizowane

Oparte na użytkowniku (user-based)

Oparte na zawartości (content-based)

Kolaboratywne filtrowanie (collaborative filtering)

Oparte na użytkowniku (user-based)

Hybrydowe metody (hybrid methods) - lączące powyższe techniki

Page 15: Systemy rekomendacji

Techniki rekomendacji

Niespersonalizowane (non-personalized) [1] Rekomendacja najpopularniejszych przedmiotów wszystkim użytkownikom.

popularność: oceny użytkowników, dane sprzedaży, oglądalność itd.

obliczenie średniej oceny popularności dla każdego przedmiotu rekomendacja przedmiotów z najwyższą średnią ocen

np. prezentacja listy 10 najpopularniejszych filmów (komedii)

Page 16: Systemy rekomendacji

Techniki rekomendacji

Oparte na użytkowniku (user-based) [1] Rekomendacja tych samych przedmiotów grupom użytkowników o wspólnych

cechach osobistych.

cechy osobiste: wiek, płeć, kraj, zawód, stan cywilny itd.

znalezienie użytkowników o podobnych cechach rekomendacja przedmiotów wybieranych przez użytkowników o podobnych

cechach

Page 17: Systemy rekomendacji

Techniki rekomendacji

Oparte na użytkowniku (user-based) [1] znalezienie użytkowników o podobnych cechach

np. algorytm K-najbliższych sąsiadów z funkcją odległości:

D(u,v) = dwiek

(u,v) + dpłec

(u,v) + dhobby

(u,v) + ...

dwiek

(u,v) = | u.wiek – v.wiek | / max_roznica_wiek

rekomendacja przedmiotów wybieranych przez użytkowników o podobnych cechach

np. średnia ważona ocen sąsiadów

Pa , j=∑ ru , j⋅wa , j

∑ wa ,u

, wa , j=min 1

D a , u, maxwaga

Page 18: Systemy rekomendacji

Techniki rekomendacji

Niespersonalizowane (non-personalized) oraz oparte na użytkowniku (user-based) [1]

Zalety

możliwość obliczenia rekomendacji bez konieczności zebrania informacji na temat cech przedmiotów oraz preferencji i gustów użytkownika

Wady i problemy

niski stopień personalizacji rekomendacji niewystarczający współczynnik trafności rekomendacji

Page 19: Systemy rekomendacji

Techniki rekomendacji

Oparte na zawartości (content-based) [1] Rekomendacja przedmiotów o podobnych cechach, jak te przedmioty, którymi

użytkownik był w przeszłości zainteresowany.

cechy przedmiotów: np. film - rodzaj, reżyser, obsada, opis, słowa kluczowe, nagrody itd.

zebranie informacji na temat cech przedmiotów znalezienie najbardziej podobnych przedmiotów do preferowanych wcześniej

przez użytkownika rekomendacja przedmiotów najbardziej pasujących do profilu użytkownika

Page 20: Systemy rekomendacji

Techniki rekomendacji

Oparte na zawartości (content-based) zebranie informacji na temat cech przedmiotów

najczęściej wykorzystywane są tekstowe opisy przedmiotów za pomocą słów kluczowych, np.

system rekomendacji stron internetowych Fab reprezentuje stronę internetową za pomocą 100 najistotniejszych słów

system rekomendacji książek LIBRA reprezentuje ksiązke za pomocą wektora zbiorów słów kluczowych tzn.

ksiązka = [autor, tytuł, temat, opis, ...]temat = [...], opis = [...]

internetowe bazy danych, np. http://www.imdb.com/ booty intenetowe

Page 21: Systemy rekomendacji

Techniki rekomendacji

Oparte na zawartości (content-based) [3] zebranie informacji na temat cech przedmiotów

miara poziomu istotności (ważności) słowa ki w dokumencie d

j

term frequency/inverse document frequency (TF-IDF)

N - liczba rekomendowanych dokumentówn

i - ilość dokumentów, w których występuje słowo kluczowe k

i

fij - ilość wystąpień słowa kluczowego k

i w dokumencie d

j

\

- frekwencja słowa ki w dokumencie d

j

- odwrotna frekwencja dokumentu dla słowa ki

- waga słowa ki w dokumencie d

j

- opis dokumentu dj

TF i , j=f i , j

maxf z , j∈d j

f z , j

IDF i=log Nni

w i , j=TF i , j×IDF i

content d j=[w1, j , w2, j , ... , wm , j ]

Page 22: Systemy rekomendacji

Techniki rekomendacji

Oparte na zawartości (content-based) określenie profilu użytkownika na podstawie zebranych danych

user_profile(c) = [wc1

, wc2

, ..., wcm

], wektor wag, gdzie waga wci oznacza

poziom istotności słowa kluczowego ki dla użytkownika c.

średnie wagi słów kluczowych w mierze TF-IDF

prawdopodobieństwa istotności słów kluczowych obliczone przez sieć Bayessowska

rekomendacja przedmiotów najbardziej pasujących do profilu użytkownika

u(c,i) = score(user_profile(c), content(i)) cosinus kąta między wektorami

u c ,i =coswc ,wi =wc⋅wi

∥wc∥×∥wi∥

Page 23: Systemy rekomendacji

Techniki rekomendacji

Oparte na zawartości (content-based) inne metody wykorzystywane w rekomendacji opartej na zawartości

obliczanie funkcji użyteczności z wykorzystaniem pewnego modelu wyuczonego na podstawie danych treningowych

naiwny klasyfikator bayessowski oszacowuje prawdopodbieństwo, że dany przedmiot p

j należy do

pewnej klasy Ci (np. odpowiedni, nieodpowiedni) na podstawie

danego zbioru słów kluczowych k1,j

,..., kn,j

opisujących przedmiot pj

przy (upraszczającym) założeniu niezależności słów kluczowych

wysoka trafność klasyfikacji

P p j∈C i=P C i |k1, j∧...∧k n , j

P p j∈C i =P C i ∏xP k x , j |C i

Page 24: Systemy rekomendacji

Techniki rekomendacji

Oparte na zawartości (content-based) Wady i problemy

ograniczona analiza zawartości konieczność reprezentowania opisu przedmiotu w formie

umożliwiającej jego automatyczną analizę przez komputer (np. tekst) lub wprowadzenia go ręcznie

trudności w analizie zawartości niektórych przedmiotów np. obrazów, dźwięków, strumieni video

nie rozróznianie różnych przedmiotów reprezentowanych przez identyczne zbiory cech (nieuwzględnianie jakości przedmiotu)

Page 25: Systemy rekomendacji

Techniki rekomendacji

Oparte na zawartości (content-based) Wady i problemy

zbyt wysoka specjalizacja rekomendacja jedynie dla przedmiotów pasujących do profilu

użytkownika (zbyt jednorodne alternatywy, brak „niespodziewanych” rekomendacji)

wysokie prawdopodobieństwo rekomendacji niemalże identycznych przedmiotów (np. newsy opisujące te same wydarzenie)

problem nowego użytkownika (new user problem) niemożliwość udzielenia trafnych rekomendacji dla użytkownika, który

nie ocenił wystarczająco dużej liczby przedmiotów

Page 26: Systemy rekomendacji

Techniki rekomendacji

Kolaboratywne filtrowanie oparte na użytkowniku (user-based collaborative filtering) [1]

rekomendacja przedmiotów, którymi byli zainteresowani inni użytkownicy o podobnych preferencjach i oczekiwaniach

analogia do ustnej rekomendacji

oceny użytkowników, dane sprzedaży, oglądalność itd. zebranie informacji na temat gustów użytkownika znalezienie użytkowników o najbardziej podobnych preferencjach i gustach rekomendacja na podstawie preferencji podobnych użytkowników

Page 27: Systemy rekomendacji

Techniki rekomendacji

Kolaboratywne filtrowanie oparte na użytkowniku (user-based collaborative filtering)

znalezienie użytkowników o najbardziej podobnych preferencjach i oczekiwaniach

współczynnik korelacji Pearsona

cosinus kąta między wektorami

I u , v={i∈ I : ru ,i≠∅ , rv , i≠∅}

similarity u , v =

∑i∈I u ,v

ru , i−ru×rv , i−rv

∑i∈I u , v

ru ,i−ru2×∑

i∈I u , v

rv , i−rv2

wu=[ ru ,i : ru , i∈ I u , v] , wv=[rv , i : rv ,i∈ I u , v ]

similarity u , v =coswu ,wv=wu⋅wv

∥wu∥×∥wv∥

Page 28: Systemy rekomendacji

Techniki rekomendacji

Kolaboratywne filtrowanie oparte na użytkowniku (user-based collaborative filtering) [3]

rekomendacja na podstawie preferencji podobnych użytkowników

(uwzględnienie użycia

różnych skali ocen przez różnych użytkowników)

- średnia ocen użytkownika u

ru , i=1N

∑u ' ∈U '

ru ' ,i

ru , i=k u ∑u ' ∈U '

similarity u ,u ' ×ru ' ,i

ru , i=ruku ∑u ' ∈U '

similarity u ,u ' ×ru ' , i− ru '

k u=1 / ∑u ' ∈U '

∣similarity u , u ' ∣

ru

Page 29: Systemy rekomendacji

Techniki rekomendacji

Kolaboratywne filtrowanie oparte na użytkowniku (user-based collaborative filtering)

Zalety

możliwość rekomendacji produktów, bez konieczności zebrania informacji na temat ich atrybutów, cech.

możliwość rekomendacji produktów, których atrybuty są niedostępne lub trudne w analizie np. obrazy, dźwięki, idee, opinie.

możliwość rekomendacji przypadkowych, ale odpowiadających preferencjom użytkownika przedmiotów

Page 30: Systemy rekomendacji

Techniki rekomendacji

Kolaboratywne filtrowanie oparte na użytkowniku (user-based collaborative filtering)

Wady i problemy

new user problem new item problem - brak możliwości rekomendacji nowych przedmiotów

zanim nie zostaną one ocenione przez wystarczająco dużą liczbę użytkowników

sparsity problem - brak ocen danego użytkownika dla zdecydowanej więszości przedmiotów; rzadka macierz użytkownik-przedmiot

niewystarczająco dobre rekomendacje dla użytkowników o zróżnicowanych opiniach lub nietypowych preferencjach.

Page 31: Systemy rekomendacji

Techniki rekomendacji

Hybrydowe systemy rekomendacji (hybrid recommender systems)

Rekomendacja przedmiotów z jednoczesnym wykorzystaniem różnych technik rekomendacji (najczęściej - opartej na zawartości i kolaboratywnego filtrowania) w celu uniknięcia ograniczeń związanych z ich niezależnym stosowaniem.

Przykład: Content-Boosted Collaborative Filtering

poprawa istniejących danych na temat użytkowników i przedmiotów poprzez wykorzystanie cechy osobistych użytkowników oraz zawartości przedmiotów (wygenerowanie pseudo-ocen)

spersonalizowane rekomendacje przy użytciu kolaboratywnego filtrowania lepsze wyniki niż te, które dają niezależnie działające rekomendacje oparte

na zawartości, kolaboratywne filtrowanie oraz proste systemy hybrydowe

Page 32: Systemy rekomendacji

Systemy rekomendacji

Plan prezentacji Wprowadzenie

Metody zbierania informacji o użytkowniku

Techniki rekomendacji

Problemy, trudności i wyzwania

Przykłady aplikacji

Page 33: Systemy rekomendacji

Problemy, trudności i wyzwania

Problemy, trudności i ich typowe rozwiązania wielowymiarowe rekomendacje [3]

uwzględnienie dodatkowych „kontekstowych informacji” (np. dzień tygodnia, pora roku, miejsce)

zdefiniowanie funkcji użyteczności nad wielowymiarową dziedziną zamiast dwuwymiarowej tj.

np. d3 - miejsce oglądania filmu (kino, mieszkanie); d

4 - czas (dzień

roboczy, weekend, ranek, wieczór); d5 - osoby towarzyszące (rodzice,

dziewczyna, przyjaciele)

redukcja do problemu dwuwymiarowej rekomendacji przez wybranie elementów spełniających dodatkowe „kontekstowe kryteria” (tagi tekstowe)

D1×...×Dn użytkownik× przedmiot

u: D1×...×Dn R

Page 34: Systemy rekomendacji

Problemy, trudności i wyzwania

Problemy, trudności i ich typowe rozwiązania multikryterialne oceny [3]

wykorzystanie ocen wielu kryteriów przy końcowej ocenie danego przedmiotu np. rekomendacja restauracji - ocena jedzenia, dekoracji oraz serwisu

kombinacja liniowa ocen wszystkich kryteriów optymalizacja oceny „naważniejszego” kryterium, traktując pozostałe jako

stałe, niech np.

fc(r), d

c(r), s

c(r) – oceny użytkownika c dotyczące odpowiednio jedzenia,

dekoracji i serwisu w restarauracji r wybranie f

c(r) jako najważniejszego kryterium oceny restauracji r

znalezienie restauracji r o największej wartości fc(r), t.że d

c(r)>d i s

c(r)>s

konieczność szacowania niektórych wartości spośród fc(r), d

c(r), s

c(r)

Page 35: Systemy rekomendacji

Problemy, trudności i wyzwania

Problemy, trudności i ich typowe rozwiązania złośliwi użytkownicy [3]

oszukiwanie systemów rekomendacji w celu zwiększenia popularności własnych przedmiotów

zatrudnianie użytkowników wysoko oceniających wskazane przedmioty

wykorzystanie botów internetowych generujących „sztuczne zainteresowanie” wskazanymi przedmiotami

inwazyjność - trudności w jawnym zbieraniu informacji

profilowanie doniemane - zbieranie i analizowanie np. danych sprzedaży, częstości i czasu oglądania przedmiotu, sekwencji kliknięć na stronie

Page 36: Systemy rekomendacji

Problemy, trudności i wyzwania

Problemy, trudności i ich typowe rozwiązania zbyt wysoka specjalizacja

unikanie rekomendacji zbyt podobnych przedmiotów do tych, którymi użytkownik był zainteresowany w przeszłości

cold-start oraz sparsity problem

zbyt mało danych w początkowej fazie działania systemu (new user, new item problem)

wykorzystanie cech osobowych użytkownika oraz zawartości przedmiotu● pseudo-oceny dla przedmiotów, które nie zostały ocenione przez danego

użytkownika

Page 37: Systemy rekomendacji

Problemy, trudności i wyzwania

Page 38: Systemy rekomendacji

Problemy, trudności i wyzwania

The Netflix $1 Million Prize konkurs ogłoszony przez Netflix, internetową wypożyczalnie filmów w

październiku 2006 roku.

zasady i idea konkursu

poprawa współczynnika trafności systemu rekomendacji Netfixa o 10% udostępnienie bazy danych klientów (ponad 100 milionów ocen, 17,770

filmów, 480,189 osób) jako zbioru treningowego testowanie systemów na aktualizowanych (utajnionych) danych

nagroda - 1.000.000 $ (wciąż do wygrania!!)

dotychczasowe najlepsze wyniki

1. 8.50%, B.Bell i Y.Koren - AT&T Research, 8. 7.62%, Arek Paterek – Uniwersytet Warszawski

Page 39: Systemy rekomendacji

Aplikacje

Page 40: Systemy rekomendacji

Aplikacje

Last.fm internetowa radiostacja i system muzycznych rekomendacji

ponad 20 milionów aktywnych użytkowników z 232 krajów

rekomendacje bazowane na podstawie odsłuchiwanych piosenek i gustach „muzycznych sąsiadów”

możliwość rekomendacji przez użytkowników wybranych wykonawców, utworów lub albumów muzycznych innym użytkownikom

możliwość tagowania artystów, albumów i utworów, dzięki czemu można słuchać muzyki oznaczonej w wybrany sposób np. „early british rock”, „piosenkarze, których X by lubił”

Page 41: Systemy rekomendacji

Aplikacje

Levis / Style Finder rekomendacja produktów firmy odzieżowej

Levi StrausTM

wymagane informacje na temat płci oraz ocena minimum 4 „napisów”, „subkategorii” spośród kategorii: muzyka, wygląd, zabawa w skali 1-7.

kolaboratywne filtrowanie oparte na użytkowniku (user-based collaborative filtering)

prezentacja listy Top-6 przedmiotów

wzrost średnio o 33 % wartość zakupów realizowanych w sklepie internetowym

87% badanych zadeklarowało, iż kupiłoby rekomendowany produkt.

Page 42: Systemy rekomendacji

Aplikacje

Page 43: Systemy rekomendacji

Aplikacje

hakia wyszukiwarka internetowa, która

umożliwia kontakt z osobami szukającymi informacji na podobny temat

rekomendacje przedstawiane przez ludzi (silna analogia do „ustnej promocji” przedmiotu)

Page 44: Systemy rekomendacji

Systemy rekomendacji

Dziękuję za uwagę!

Page 45: Systemy rekomendacji

Systemy rekomendacji

Bibliografia

Bibliografia [1] „What is a Recommender System?”, Juntae Kim

[2] „Personalizacja portalu jako instrument marketingu”, http://marketing.nf.pl/Artykul/7623/Personalizacja-portalu-jako-instrument-marketingu/definiowanie-uzytkownika-internet-personalizacja-serwisow-www/

[3] „Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions”, Gediminas Adomavicius, Alexander Tuzhilin

„Content-Boosted Collaborative Filtering for Improved Recommendations”, Prem Melville and Raymond J. Mooney and Ramadass Nagarajan

„Recommender Systems in E-Commerce”, J. Ben Schafer, Joseph Konstan, John Riedl

„Explanation for Recommender Systems: Satisfaction vs. Promotion”, Mustafa Bilgic