Zasada działania systemów rekomendacyjnych. Przegląd technik.

- autor: tsissput

W celu zwrócenia uwagi użytkownika i zwiększenia potencjalnego zysku, twórcy wyszukiwarek, systemów aukcyjnych i sklepów online próbują przewidzieć preferencje użytkownika na podstawie jego dotychczasowego zachowania na stronie. W tym celu tworzone są systemy rekomendacyjne. Są one podklasą systemów filtrujących informacje (ang. Information filtering system), których celem jest automatyczne bądź półautomatyczne usuwanie z strumienia informacji tych danych, które są zbędne lub niechciane. Systemy rekomendacyjne implementowane są na wielu stronach WWW w celu zaproponowania użytkownikom bądź to stron do odwiedzenia bazując na ich historii wyszukiwania, bądź to produktów do kupienia w sklepie. Dla komercyjnych stron internetowych celne propozycje mogą prowadzić do zwiększonej sprzedaży. Można znaleźć jeszcze wiele innych zastosowań systemów rekomendacyjnych. Do głównych funkcji systemów rekomendacyjnych należą analiza danych dotyczących użytkownika i ekstrakcja przydatnych informacji do użycia ich w celu rekomendacji. Wspomnianymi danymi dotyczącymi użytkownika mogą być: historia wyszukiwania w wyszukiwarce, historia zakupów w sklepie internetowym lub systemie aukcyjnym, najczęściej przeglądane przedmioty w sklepie internetowym a nawet informacje o tym co się lubi umieszczane przez użytkowników portali społecznościowych. Systemy rekomendacyjne często są projektowane w celu umożliwienia użytkownikom szybkiego zlokalizowania poszukiwanych, preferowanych przedmiotów i w celu uniknięcia potencjalnego przeładowania informacjami. Ponadto istnieją serwisy proponujące film do obejrzenia, książkę do przeczytania, bazujące na ocenach książek/filmów, których dokonali użytkownicy tych serwisów.

Zasadniczo wyróżnia się dwa główne rodzaje systemów rekomendacyjnych. Pierwsze zwane Content Based Filtering bierze pod uwagę historię zakupów klienta i opis produktu, jego typ, kategoria, itp. Drugie podejście, Collaborative Filtering, rekomenduje użytkownikom produkty, które są ocenione lub kupione przez użytkowników o podobnych zainteresowaniach.

Collaborative Filtering

Zasadniczym założeniem techniki Collaborative Filtering jest to, że jeśli użytkownicy X i Y ocenili n przedmiotów podobnie, albo mają podobne zainteresowania (np. muzyka, filmy, zakupy), to będą podobnie oceniać lub zachowywać się w odniesieniu do innych przedmiotów.
Metody oparte o Collaborative Filtering używają bazy preferencji użytkownika dotyczących przedmiotów w celu zaproponowania nowemu użytkownikowi dodatkowych tematów lub produktów, które mogłyby go zainteresować. W typowym scenariuszu dana jest lista m użytkowników {u1, u2, … , um} oraz lista n przedmiotów {i1, i2, … , in}, każdy z użytkowników ui ma listę przedmiotów Iui, które ocenił, lub które zostały oznaczone jako preferowane bazując na zachowaniu użytkownika w serwisie. Oceny mogą być dokładnymi wskazaniami , przykładowo na skali od 1 do 5 lub niejawnymi jak fakt zakupu lub najczęściej oglądane przedmioty. Warto zauważyć, że Iui może być listą pustą. Istnieje wyróżniony użytkownik ua, zwany aktywnym użytkownikiem, dla którego zadaniem algorytmu rekomendacyjnego jest znalezienie propozycji, która może przyjąć dwie formy:

  • liczbowej wartości, która wyraża przewidywaną wartość oceny wybranego przedmiotu przez aktywnego użytkownika. Ta przewidywana wartość wyrażona jest w tej samej skali (np. od 1 do 5) co wartości opinii dostarczone przez użytkownika.
  • listy N rekomendowanych przedmiotów, które aktywny użytkownik polubiłby najbardziej. Warto zauważyć, że rekomendowane przedmioty nie mogą się znajdować na liście przedmiotów już ocenionych przez użytkownika. Ten typ wyniku algorytmów opartych o Collaborative Filtering zwany jest Top-N recommendation.

Dane dotyczące ocenionych przez użytkowników przedmiotów zazwyczaj reprezentowane są przez macierz ocen A o wymiarach n na m, w której każda wartość ai,j w A reprezentuje ocenę i-tego użytkownika dotyczącą j-tego przedmiotu.
Naukowcy uznali, że algorytmy wykorzystujące podejście Collaborative Filtering mogą być podzielone na dwie główne kategorie – Memory based i Model based. Poniżej zostanie przedstawiony opis wymienionych kategorii.

Algorytmy należące do kategorii Memory based używają całej bazy ocen użytkowników do wygenerowania rekomendacji. Systemy te używają metod statystycznych, takich jak korelacja Pearsona, w celu znalezienia grupy użytkowników zwanych sąsiadami, którzy są podobni do aktywnego użytkownika (ocenili podobnie te same przedmioty, lub mają w zwyczaju kupować podobne zestawy przedmiotów). Kiedy grupa sąsiadów została znaleziona, na podstawie ocenionych przez nich przedmiotów wyliczana jest rekomendacja. Techniki znane jako najbliższy-sąsiad lub Memory based Collaborative Filtering są popularne i szeroko używane w praktyce.

Zasada działania drugiej grupy algorytmów, należących do kategorii  Model based Collaborative Filtering polega na utworzeniu najpierw modelu ocen użytkownika. Posiadając model przewiduje się ocenę użytkownika dotyczącą przedmiotów. Budowanie modelu wykorzystuje  różne techniki uczenia maszynowego, takie jak: sieci Bayesowskie, analiza skupień i reguły asocjacyjne. Model sieci Bayseowskich formułuje model prawdopodobieństwa dla problemu Collaborative Filtering. Wykorzystanie analizy skupień polega na przydzieleniu podobnych użytkowników do jednej grupy, estymacji prawdopodobieństwa, że dany użytkownik będzie przynależał do danej grupy i w końcu wyliczenia prawdopodobnej oceny dla przedmiotów. Podejście regułowe wykorzystuje algorytm odkrywania reguł asocjacyjnych do znalezienia asocjacji pomiędzy zakupionymi przedmiotami a następnie generuje rekomendację bazując na sile asocjacji pomiędzy przedmiotami.

Content Based Filtering

Podejście bazujące na zawartości (Content Based) polega na analizie informacji dotyczących rekomendowanych przedmiotów. Każdy użytkownik jest traktowany indywidualnie. Nie ma w tym podejściu społeczności użytkowników. System rekomendacyjny pracuje analizując przedmioty i podobieństwo wybranych przedmiotów do przedmiotów zakupionych wcześniej przez użytkownika. Po wybraniu przedmiotów podobnych do przedmiotów użytkownika są one rekomendowane użytkownikowi jako potencjalnie mogące go zainteresować.

Problemy

Warto też krótko wspomnieć o problemach, z którymi muszą zmierzyć się autorzy systemów rekomendacyjnych. Jednym z nich jest skalowalność. W przypadku systemów gdzie liczba użytkowników jest liczona w milionach podobnie jak liczba przedmiotów w katalogu użycie standardowych algorytmów rekomendacyjnych jest nieakceptowalne z powodu  braku możliwości uzyskania rekomendacji w krótkim czasie.
Innym problemem jest problem rzadkości. Operując na dużych ilościach produktów (liczonych w milionach) macierz użytkownik-przedmiot (ang. user-item) używana w podejściu collaborative filtering będzie bardzo rzadka i jakość rekomendacji jest wystawiona na próbę. Występuje także problem tak zwanego zimnego startu (ang. cold start). Występuje on w przypadku pojawienia się nowego użytkownika lub dodania nowego przedmiotu do katalogu. Nowe przedmioty nie mogą być rekomendowane dopóki jacyś użytkownicy nie kupią, nie ocenią ich. Nowi użytkownicy nie mogą otrzymać dobrej jakości rekomendacji gdyż dokonali zbyt mało ocen lub mają pustą historię zakupów.

Podsumowanie

Systemy rekomendacyjne są ważną technologią służącą do wydobycia dodatkowej wartości dla biznesu z informacji o użytkownikach. Systemy te pomagają znaleźć użytkownikom przedmioty, które chcieliby kupić lub znaleźć rzeczy, które by polubili. Z drugiej strony systemy rekomendacyjne pozwalają firmom zwiększyć sprzedaż. Systemy te zmierzają się z kłopotami powodowanymi wielką ilością danych  dotyczącą użytkowników, a ilość użytkowników w Internecie będzie wciąż rosła.

84911

Źródła z których korzystałem:
http://en.wikipedia.org/wiki/Information_filtering_system
http://en.wikipedia.org/wiki/Recommender_system
http://imsc-dmim.usc.edu/publications/121new.pdf
http://www.hindawi.com/journals/aai/2009/421425/

Advertisements

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d blogerów lubi to: