• Nie Znaleziono Wyników

4. Budowa silników dostarczaj ˛ acych rekomendacji 51

4.2. Przegl ˛ ad algorytmów rekomenduj ˛ acych

4.2.3. Silniki typu collaborative

W systemach bazuj ˛acych na ´srodowiskach społeczno´sciowych [5, 6, 7], reko-mendacje udzielane s ˛a na podstawie oceny, jak ˛a inni u˙zytkownicy dali danemu elementowi zbioru S. Chc ˛ac estymowa´c warto´s´c funkcji u˙zyteczno´sci u(c, s), jak ˛a u˙zytkownik c przypisałby dot ˛ad nieocenianemu elementowi s, nale˙zy najpierw odnale´z´c oceny u(cj, s) podane przez u˙zytkowników cj, którzy maj ˛a podobne za-interesowania do u˙zytkownika c.

Wyró˙zni´c mo˙zna dwa podstawowe typy systemów [6]:

• systemy bazuj ˛ace na pami˛eci (ang. memory–based) – oparte na heurystykach obejmuj ˛acych wszystkie oceny wszystkich u˙zytkowników systemu,

• systemy bazuj ˛ace na modelu (ang. model–based) – tworz ˛ace model preferencji u˙zytkowników.

Algorytmy typu memory–based

W tym podej´sciu warto´s´c funkcji u˙zyteczno´sci u(c, s) wyliczana jest bezpo-´srednio z ocen innych u˙zytkowników. Agregacja opiera si˛e na podstawie ocen u˙zytkowników, którzy ocenili ju˙z element s. Zwykle branych jest pod uwag˛e N u˙zytkowników, o preferencjach najbardziej podobnych do preferencji u˙zytkow-nika c. Przykładami takich funkcji mog ˛a by´c:

u(c, s) = 1 N N X i =1 u(ci, s), (4.2) u(c, s) = N X i =1 w (ci, c)u(ci, s), (4.3) u(c, s) = u¯c+ k N X i =1 w (ci, c)¡u(ci, s) − ¯uci¢, (4.4) gdzie ¯

uci– ´srednia ocen udzielonych przez u˙zytkownika ci,

w (ci, c) – miara podobie ´nstwa pomi˛edzy u˙zytkownikami cii c,

k – współczynnik skaluj ˛acy (normalizuj ˛acy).

W pierwszym przypadku (4.2) poszukiwan ˛a warto´sci ˛a jest prosta ´srednia aryt-metyczna. Zwykle jednak preferuje si˛e ´sredni ˛a wa˙zon ˛a. Wagi w (ci, c) stanowi ˛a miar˛e podobie ´nstwa pomi˛edzy u˙zytkownikami i mog˛e by´c wyra˙zone jako odle-gło´s´c czy korelacja pomi˛edzy cii c. Nale˙zy zwróci´c uwag˛e, ˙ze miary te s ˛a jedynie heurystykami wyliczanymi na podstawie ocen wprowadzonych przez u˙zytkowni-ków (zazwyczaj opieraj ˛a si˛e na ocenach elementów, które u˙zytkownicy ocenili). Najcz˛e´sciej stosowane miary to korelacja i kosinus k ˛ata.

Korelacja

Do wyznaczenia podobie ´nstwa pomi˛edzy u˙zytkownikiem cia c wykorzystuje si˛e współczynnik korelacji Pearsona:

4.2. Przegl ˛ad algorytmów rekomenduj ˛acych w (ci, c) = Pm j =1¡u(ci, sj) − ¯uci¢ ¡u(c, sj) − ¯uc¢ q Pm j =1¡u(ci, sj) − ¯uci¢2Pmj =1¡u(c, sj) − ¯uc¢2 , (4.5)

przy czym sumowanie odbywa si˛e po elementach, które ocenili obaj u˙zytkownicy.

Kosinus k ˛ata

W tym podej´sciu, u˙zytkowników traktuje si˛e jako wektory w m–wymiarowej prze-strzeni (~ucreprezentuje u˙zytkownika c), gdzie m to liczba elementów ocenionych przez obu u˙zytkowników. Podobie ´nstwo okre´slone jest przez kosinus k ˛ata pomi˛e-dzy tymi wektorami

w (ci, c) = cos(~uc,~uci) = ~uc· ~uci k~uck2×°°~uci ° °2 = Pm j =1u(ci, sj)u(c, sj) q Pm k=1u(ci, sj)2qPm k=1u(c, sj)2 (4.6)

W tym przypadku wyra˙zenie w mianowniku pełni rol˛e normalizuj ˛ac ˛a, aby waga nie była zale˙zna od liczby m. Normalizacja ta mo˙ze przybra´c inn ˛a form˛e, jednak wtedy stracony zostanie sens kosinusa k ˛ata.

Jednym z podstawowych problemów przy stosowaniu wzoru (4.3) jest wyko-rzystanie tej samej skali ocen do wszystkich u˙zytkowników systemu. W rzeczy-wisto´sci u˙zytkownicy inaczej interpretuj ˛a przyznawane przez siebie oceny, np. przy skali 1–10 u˙zytkownik c1oceni ka˙zdy film, który mu si˛e podoba, na 9, a inny przyzna 9 tylko wyj ˛atkowym filmom. W celu wyeliminowania tej ró˙znicy mo˙zna uwzgl˛edni´c ´sredni ˛a ocen, jak ˛a dany u˙zytkownik przyznał, i przewidywa´c oceny jako odchylenie od tej ´sredniej – wzór (4.4).

Do podstawowych wad algorytmów typu memory–based nale˙z ˛a:

• konieczno´s´c arbitralnego wyboru parametrów, np. liczby N najbli˙zszych s ˛ asia-dów branych pod uwag˛e przy estymowaniu funkcji u˙zyteczno´sci,

• w przypadku serwisów społeczno´sciowych trudno´s´c precyzyjnego okre´slenie podobie ´nstwa pomi˛edzy u˙zytkownikami na podstawie np. ł ˛acz ˛acych ich rela-cji.

Algorytmy typu model–based

Innym podej´sciem do systemów opartych na ´srodowisku społecznym jest wy-korzystanie modelu u˙zytkownika uzyskanego w procesie uczenia maszynowego. Na jego podstawie jest okre´slane prawdopodobie ´nstwo P , ˙ze u˙zytkownik c przy-zna elementowi s ocen˛e i , i ∈ 〈0,n〉

u(c, s) = E(c, s) =

n

X

i =0

i × P¡u(c, s) = i|u(c, s0), s0∈ Sc¢, gdzie Sc to zbiór wszystkich elementów ocenionych przez u˙zytkownika c.

Najcz˛e´sciej stosowane metody wyznaczania prawdopodobie ´nstwa to model klastrowy (ang. cluster models) i sieci bayesowskie.

Model klastrowy

o podobnych preferencjach. Dodatkowo zakłada si˛e, ˙ze w jednej klasie oceny poszczególnych elementów s ˛a niezale˙zne od siebie. Przy takich zało˙zeniach do wyznaczenie prawdopodobie ´nstwa mo˙zna wykorzysta´c naiwny klasyfikator bay-esowski P (Λc= Λ, u(c, s1, ) . . . , u(c, sn)) = P(Λc= Λ) n Y i =1 P (u(c, si)|Λc= Λ).

Lewa strona to prawdopodobie ´nstwo obserwacji u˙zytkownika c o klasieΛ oraz zestawie ocen u(c, s1, ) . . . , u(c, sn). Liczba klas, prawdopodobie ´nstwo przynale˙z-no´sci u˙zytkownika do klasy, P (Λc = Λ), oraz warunkowe prawdopodobie ´nstwa ocen, P (u(c, si)|Λc = Λ), uzyskiwane s ˛a z zestawu ucz ˛acego – bazy danych sys-temu rekomendacji.

Sieci bayesowskie

Innym podej´sciem jest zastosowanie sieci bayesowskich, w których elementy s stanowi ˛a w˛ezły. Stan w˛ezłów odpowiada ocenom, jakie mo˙ze uzyska´c dany ele-ment, z uwzgl˛ednieniem stanu „brak oceny”. Za pomoc ˛a algorytmów ucz ˛acych si˛e, tworzona jest sie´c powi ˛aza ´n pomi˛edzy elementami – ka˙zdy z nich otrzymuje zestaw rodziców, na podstawie których mo˙zna najlepiej przewidzie´c ocen˛e. Przy-kładowo, dla filmu „Avengers”, rodzicami mog ˛a by´c inne produkcje oparte o ko-miksy Marvela, jak „Iron Man”, „Thor” czy „Hulk”.

W´sród podstawowych wad algorytmów typu model–based mo˙zna wymieni´c: • konieczno´s´c dostrojenia bardzo wiele parametrów modelu,

• generalizacja, jaka pojawia si˛e w modelu, mo˙ze nie by´c odpowiednia dla wszystkich przypadków (np. wyszukiwanie mo˙ze nie sprawdza´c si˛e dla „hor-rorów”),

• podobnie jak poprzednio, implementacja danych z serwisów społeczno´scio-wych wymaga dodatkospołeczno´scio-wych zabiegów.

Podsumowanie

Systemy rekomendacji bazuj ˛ace na ´srodowisku społecznym s ˛a pozbawione niektórych wad charakterystycznych dla systemów bazuj ˛acych na cechach pro-duktów. Przede wszystkim, jako zale˙zne od oceny innych u˙zytkowników, mog ˛a by´c zastosowane niezale˙znie od typów elementów, a wi˛ec tak˙ze w stosunku do elementów, których z jaki´s powodów nie da si˛e opisa´c wcze´sniej ustalonymi ce-chami. Niemniej jednak, maj ˛a swoje ograniczenia.

Nowi u˙zytkownicy

Nowi u˙zytkownicy stanowi ˛a spory problem, bowiem zanim udzielone zostan ˛a dobre rekomendacje, konieczne jest poznanie ich preferencji. Cz˛e´s´c serwisów wymaga wi˛ec, by u˙zytkownik ocenił pewn ˛a liczb˛e elementów, zanim otrzyma re-komendacje. Inne sposoby na omini˛ecie tego problemu to wykorzystanie metod hybrydowych (patrz sekcja 4.2.4) oraz ró˙znych technik opartych o popularno´s´c poszczególnych elementów, ich entropi˛e czy personalizacj˛e profilu u˙zytkownika.

Nowe elementy

udziela-4.2. Przegl ˛ad algorytmów rekomenduj ˛acych nia rekomendacji, musz ˛a one zosta´c ocenione przez dostateczn ˛a liczb˛e u˙zytkow-ników. Tu ponownie rozwi ˛azaniem jest zastosowanie metod hybrydowych.

Braki w danych

Macierze reprezentuj ˛ace dane w systemach rekomendacji s ˛a zazwyczaj macie-rzami rzadkimi. Konieczne jest wi˛ec efektywne przewidywanie ocen w oparciu o niewielk ˛a liczb˛e danych. Jak ju˙z zostało wspomniane, je˙zeli element został oce-niony przez zbyt mał ˛a liczb˛e u˙zytkowników, b˛edzie rzadko polecany. Problem stanowi ˛a te˙z u˙zytkownicy o nietypowych preferencjach – w ich wypadku mo˙ze si˛e okaza´c, ˙ze w systemie jest zbyt mała liczba osób o podobnych zainteresowa-niach, by udzieli´c skutecznej rekomendacji. Wraz z rozrastaniem si˛e systemu to zagro˙zenie oczywi´scie maleje.

Powiązane dokumenty