Systemy rekomendacyjne

- autor: tsissput

XXI wiek to zdecydowanie wiek Internetu. Z roku na rok liczba osób posiadających stały dostęp do Internetu rośnie. Aktualnie dostęp do sieci mamy wszędzie, w laptopach, netbookach, tabletach, czy smartphonach. Bezproblemowy dostęp do sieci powoduje powstanie nieograniczonych możliwości komunikacji, wymiany informacji, czy budowania społeczności[1]. Należy zauważyć, że w dzisiejszym świecie budowanie społeczności przez sieć wydaje się popularniejsze aniżeli budowanie ich w realnym świecie w głównej mierze dzięki pokonaniu pewnych barier jak np. odległość, bariery językowe, czy brak śmiałości.

W realnym świecie każdy z nas należy do nieograniczonej ilości sieci społecznościowych charakteryzujących się pewnym zespołem cech. Np. każdy z nas tworzy sieć społecznościową pt. “rodzina”, do której należą zarówno ci najbliżsi jak i ci dalsi nasi krewni. Społeczność tworzymy uczęszczając do szkoły, na uczelnię, czy do pracy. Analogicznie grupy społeczne mogą powstać ze względu na preferencje filmowe, muzyczne, czy gusta kulinarne. Jednym z czynników pozwalających na budowanie społeczności jest również kupno tych samych produktów.

Fakt naturalnej potrzeby budowania społeczności zaowocował powstaniem trendu określanego mianem Web 2.0[2]. Termin ten został jako pierwszy zaprezentowany w styczniu 1999 roku przez Darcy DiNucci:
The Web we know now, which loads into a browser window in essentially static screenfulls, is only an embryo of the Web to come. The first glimmerings of Web 2.0 are beginning to appear, and we are just starting to see how that embryo might develop. The Web will be understood not as screenfulls of text and graphics but as a transport mechanism, the ether through which interactivity happens. It will […] appear on your computer screen, […] on your TV set […] your car dashboard […] your cell phone […] hand-held game machines […] maybe even your microwave oven.

Sieć Web 2.0, gdzie zdecydowana większość dostarczanej treści budowana jest prez jej użytkowników, a nie przez administratora strony, została bardzo pozytywnie odebrana przez społeczność internetową, co spowodowało dynamiczny rozwój portali społecznościowych. Trend ten natomiast prowadzi do powstania kolejnej generacji sieci określanej mianem Web 3.0. Jest on naturalną konsekwencją koncepcji wypracowanych w latach wcześniejszych. Koncepcja ta polega m.in. na dostarczaniu użytkownikowi spersonalizowanej treści bazującej na jego preferencjach.

W przeciągu ostatnich lat powstała niezliczona ilość portali społecznościowych umożliwiających budowanie społeczności na bardzo ogólnym poziomie (np. fani gier komputerowych, absolwenci tych samych szkół, rodzina), jak i tym bardziej szczegółowym (np. fani twórczości Terry’ego Pratchett’a). Jezcze nie tak dawno koncepcja budowania tego typu społeczności w znacznej mierze bazowała na bezpośrednich działaniach użytkowników, tzn. użytkownicy sami wybierają grupy i do nich dołączają. Jednak tworzenie społeczności w ten sposób jest nieefektywne i mało atrakcyjne dla użytkowników. W końcu kto z nas chciałby przeglądać wszystkie grupy na danym serwisie społecznościowym w poszukiwaniu tych, które mu odpowiadają. Jako iż serwisy społecznościowe najczęściej umożliwiają użytkownikom tworzenie własnych grup zainteresowań prędzej czy później wystąpi problem przeciążenia informacją[3] (ang. information overload, Alvin Toffler, „Future Shock”, 1970), który w konsekwencji zniechęci użytkowników, a być może nawet uniemożliwi korzystanie z serwisu. Twórcy portali społecznościowych mają fakt ten na uwadze i dokładają wszelkich starań, by przygotować skuteczne algorytmy pozwalające odfiltrować produkty “interesujące” od “nieinteresujących” spełniając tym samym jedno z założeń Web 3.0. Algorytmy te noszą miano systemów rekomendacyjnych.

Coraz powszechniej stosowane systemy rekomendacyjne, będące nierzadko głównym, a zarazem praktycznie transparentnym dla użytkownika elementem strony, mają na celu poznawać preferencje użytkowników, analizować je oraz sugerować rozwijanie ich. Prowadzi to do automatycznego (z punktu widzenia administratorów portalu) i dynamicznego rozwoju szeroko rozumianych społeczności.

W jaki sposób funkcjonują systemy rekomendacyjne?

Koncepcja systemu rekomendacyjnego jest bardzo prosta. Użytkownicy przynależą do grup ze względu na zespół posiadanych cech takich jak np. stopień pokrewieństwa, znajomość z innymi użytkownikami, preferencje muzyczne, ale również zakupione produkty, wypożyczone filmy, czy przeczytane książki. Na tej podstawie aplikacja za pomocą odpowiednich algorytmów próbuje zaproponować kolejne znajomości, grupy, czy produkty, które w jakiś sposób powinny być interesujące.

Systemy rekomendacyjne można podzielić ze względu na różne koncepcje grupowania[4]:

  • systemy bazujące na cechach pewnych grup/produktów (ang. Content Based Filtering),
  • systemy bazujące na ocenach innych użytkowników (ang. Collaborative Filtering),
  • systemy hybrydowe bazujące na obu powyższych metodach.

Content Based Filtering

Pierwsze podejście bazuje na koncepcji grupowania wg cech danego produktu. Przykładowo jeśli preferowanym przez nas filmem komediowym jest film X, to być może również sposoba nam się komedia Y. Analogicznie jeżeli pozytywnie oceniliśmy kryminał A, to jest szansa, że również spodoba nam się kryminał B. Należy zauważyć, że istotnym elementem analizy jest tutaj rodzaj, czy cecha charakterystyczna danego produktu.

Podejście to wydaje się być skuteczne, w praktyce jednak się nie sprawdza. Powodem ku temu jest fakt, iż komedia komedii nierówna, a rekomendowanie produktów wyłącznie na podstawie ich cech charakterystycznych, szczegółnie gdy ocena jest mocno subiektywna,  prowadzi do powstania tzw. list “TOP10”, gdzie znajdują się średnio najlepsze komedie, kryminały, dramaty, czy filmy dokumentalne. Promowanie jedynie produktów “średnio najlepszych” powoduje, że produkty niszowe, które mogłyby znaleźć grono zadowolonych odbiorców, nigdy nie będą miały szansy się przebić.

Collaborative Filtering

Drugie podejście opiera się na idei społecznościowego filtrowania produktów. Np. jeżeli nasz znajomy X, który analogicznie jak my pozytywnie ocenił filmy A, B i C, ale również pozytywnie ocenił film D, którego my jeszcze nie widzieliśmy, to być może film ten również się nam spodoba. W tym wypadku abstrahujemy od cech charakterystycznych danego produktu, a opieramy się na ocenach osób, które w podobny do nas sposób oceniły dane produkty.

W celu zaimplementowania algorytmu bazującego na koncepcji Collaborative Filtering należy wyznaczyć pewną funkcję pozwalającą na porównanie preferencji dwóch użytkowników i ocenę ich podobieństw. Funkcja ta nosi miano miary podobieństwa. Mając zdefiniowaną taką funkcję można wyznaczyć dla danego użytkownika grupę osób o podobnych preferencjach. Następnie należy znaleźć produkty nieoceniane przez wybranego użytkownika, posortować je wg malejącej oceny i wyświetlić mu je.

Podejście hybrydowe

Podejście hybrydowe bazuje na połączeniu obydwu tych koncepcji. Ostatnie badania[5] pokazały, że podejście hybrydowe, łączące Collaborative Filtering wraz z Content Based Filtering może być bardziej efektywne w niektórych przypadkach[4].

Podsumowanie

Systemy rekomendacyjne już dzisiaj towarzyszą nam prawie na każdym kroku. Tkwiący w nich potencjał biznesowy, jak również pozytywny odzew społeczności gwarantuje im dynamiczny rozwój, który w parze z rozwojem technologicznym może w znaczący sposób poprawić jakość życia, kontakty społeczne, rozwijanie zainteresowań oraz zyski korporacji. Ponadto systemy rekomendacyjne znajdują zastosowanie w praktycznie każdym zastosowaniu od proponowania nowych znajomości, grup zainteresowań, książek do przeczytania, aż po filmy, czy kupno sprzętu elektronicznego.

Jarosław Zajączkowski, 84912
Reklamy

Skomentuj

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

Logo WordPress.com

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

Zdjęcie z Twittera

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

Zdjęcie na Facebooku

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

Zdjęcie na Google+

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

Connecting to %s

%d blogerów lubi to: