mechanizmy zaawansowanych rekomendacji w systemach portali … · nowoczesne mechanizmy...

59
Rok akademicki 2011/2012 Politechnika Warszawska Wydzia Elektroniki i Technik Informacyjnych Instytut Informatyki PRACA DYPLOMOWA IN YNIERSKA Daniel Bie kowski Mechanizmy zaawansowanych rekomendacji w systemach portali internetowych Opiekun pracy mgr in . Piotr Salata Ocena: ................................................... .............................................................. Podpis Przewodnicz cego Komisji Egzaminu Dyplomowego

Upload: others

Post on 31-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

Rok akademicki 2011/2012 Politechnika Warszawska

Wydzia Elektroniki i Technik Informacyjnych Instytut Informatyki

PRACA DYPLOMOWA IN YNIERSKA

Daniel Bie kowski

Mechanizmy zaawansowanych rekomendacji w systemach portali internetowych

Opiekun pracy mgr in . Piotr Salata

Ocena: ...................................................

.............................................................. Podpis Przewodnicz cego

Komisji Egzaminu Dyplomowego

Page 2: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

Specjalno : In ynieria Systemów Informatycznych

Data urodzenia: 1989.03.25

Data rozpocz cia studiów: 2009.02.23

yciorys

Urodzi em si 25 marca 1989 roku w Warszawie. Po uko czeniu szko y podstawowej

nr 254, a nast pnie gimnazjum nr 127 w zespole szkó nr 74, kontynuowa em nauk w XXII

Liceum Ogólnokszta cym im. Jose Marti, gdzie ucz szcza em do klasy o profilu

matematyczno-fizycznym. W roku 2008 zda em matur oraz rozpocz em studia dzienne na

wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej.

...................................................... Podpis studenta

EGZAMIN DYPLOMOWY

egzamin dyplomowy w dniu ............................................................................... 2012 r

z wynikiem ..............................................................................................................................

Ogólny wynik studiów: ............................................................................................................

Dodatkowe wnioski i uwagi Komisji: ......................................................................................

.................................................................................................................................................

.................................................................................................................................................

Page 3: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

STRESZCZENIE

Niniejsza praca ma na celu przedstawienie mechanizmów zaawansowanych rekomendacji.

Obok aspektów teoretycznych zosta y zaprezentowane algorytmy u ywane w systemach

rekomendacji, w tym tak e rozpoznanie dziedziny Collaborative Filtering, która jest

znacz cym elementem praktycznej cz ci pracy. W pracy zawarto okre lenie stosowalno ci

wybranych metod rekomendacji oraz opracowanie projektu ich implementacji. Integraln

cz ci pracy jest aplikacja Findy, w której zaimplementowano opisane algorytmy. Aplikacja

umo liwia zaprezentowanie dzia ania mechanizmów rekomendacji w praktyce.

owa kluczowe: mechanizmy rekomendacji, filtrowanie z analiz zawarto ci, wspólna

filtracja, miary korelacji, miary podobie stwa.

ADVANCED RECOMMENDATION MECHANISMS

IN SYSTEMS OF WEB PORTALS

The purpose of this thesis is to present advanced recommendation mechanisms. Theoretical

aspects and algorithms used in recommendation systems were introduced, including

identification of fields of Collaborative Filtering, which is the significant element of the

practical part of the work. This thesis also contains presentation of applicability of selected

recommendation methods and description of project of their implementation. The integral part

of the thesis is Findy application, which includes implementation of described algorithms.

Application lets to present the recommendations mechanism in practical action.

Keywords: recommendation mechanism, Content-based filtering, Collaborative Filtering,

measure of correlation, measure of similarity.

Page 4: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

Sk adam serdeczne podzi kowania mgr in . Piotrze

Salacie za pomoc i cierpliwo okazan przy

pisaniu niniejszej pracy.

Page 5: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

5

Spis tre ci Rozdzia 1 Wprowadzenie ......................................................................................................7

Rozdzia 2 Informacje podstawowe ........................................................................................9

2.1. Wzorce projektowe...................................................................................................9

2.1.1. Automatyczne uzupe nianie ...............................................................................9

2.1.2. Najpierw najlepszy .......................................................................................... 10

2.1.3. Nawigacja fasetowa ......................................................................................... 12

2.1.4. Personalizacja ................................................................................................. 13

2.2. Metody tworzenia profili u ytkownika ................................................................... 15

2.2.1. Podej cie aktywne ........................................................................................... 16

2.2.2. Podej cie pasywne........................................................................................... 17

2.3. Podsumowanie ....................................................................................................... 18

Rozdzia 3 Systemy rekomendacji ........................................................................................ 19

3.1. Idea systemów rekomendacji .................................................................................. 19

3.2. Content-based Filtering .......................................................................................... 20

3.3. Collaborative Filtering ............................................................................................ 24

3.3.1. Metody wykorzystuj ce pami (Memory-based) ............................................ 24

3.3.2. Metody wykorzystuj ce model (Model-based) ................................................ 27

3.4. G ówne problemy przy stosowaniu mechanizmów rekomendacji............................ 28

3.4.1. Rzadko danych ............................................................................................. 28

3.4.2. Skalowalno .................................................................................................. 29

3.4.3. Pozosta e wyzwania ........................................................................................ 30

3.5. Podej cie hybrydowe .............................................................................................. 30

3.6. Podsumowanie ....................................................................................................... 35

Page 6: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

6

Rozdzia 4 Aplikacja Findy .................................................................................................. 36

4.1. Za enia ................................................................................................................ 36

4.2. Specyfikacja wymaga ........................................................................................... 37

4.2.1. Wymagania funkcjonalne ................................................................................ 37

4.2.2. Wymagania niefunkcjonalne ........................................................................... 37

4.3. Realizacja ............................................................................................................... 37

4.3.1. Technologia Spring Framework....................................................................... 38

4.3.2. Technologia Vaadin ........................................................................................ 39

4.3.3. Wzorzec Model-View-Presenter ...................................................................... 42

4.4. Praca z aplikacj ..................................................................................................... 43

4.5. Sposób implementacji algorytmów rekomendacji ................................................... 46

4.5.1. Implementacja filtracji z analiz zawarto ci ..................................................... 46

4.5.2. Implementacja wspólnej filtracji ...................................................................... 49

4.6. Mo liwo ci rozwoju ............................................................................................... 51

Rozdzia 5 Podsumowanie .................................................................................................... 53

Rozdzia 6 Literatura ............................................................................................................ 56

Dodatek A Diagram klas modelu MVP w aplikacji Findy ..................................................... 58

Dodatek B Zawarto p yty CD ............................................................................................ 59

Page 7: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

7

Rozdzia 1

Wprowadzenie We wspó czesnym wiecie, gdzie mamy do czynienia z mas wielorakich produktów i

olbrzymia liczb ró norodnych klientów, tradycyjne mechanizmy prezentacji produktów

sta y si niewystarczaj ce. Tradycyjna reklama w mediach czy na innych masowych

no nikach jest nieskuteczna, poniewa nie jest w aden sposób indywidualizowana i

kierowana do odpowiednich osób. Równie zalewanie potencjalnych klientów du ilo ci

e-maili b SMS-ów nie przynosi ju oczekiwanych, pozytywnych rezultatów, coraz

cz ciej powoduj c niech do zakupu czy zapoznania si bli ej z produktem. Dzisiejsze

spo ecze stwo sta o si bardzo wyczulone na narzucane im formy promocji i reklamy.

Skutkiem tej sytuacji s coraz wi ksze inwestycje w bardziej zaawansowane systemy

rekomendacji, obecnie cz sto wykorzystywane w wielu miejscach w Internecie, mi dzy

innymi w serwisach spo eczno ciowych, serwisach aukcyjnych czy sklepach on-line.

Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie

oszacowa , jaka oferta b jaki produkt wybrany z przestrzeni mo liwych opcji najlepiej

trafi w gusta konsumenta, a przy tym zwi kszy jego komfort podczas korzystania z

aplikacji, serwisu czy portalu. Ich dzia anie odbywa si w sposób transparentny dla

ytkownika, odfiltrowuj c tre ci mog ce go zainteresowa od tych nieinteresuj cych. W

niniejszej pracy skupiono si na problemie wykorzystywania powy szych mechanizmów

rekomendacji w systemach portali internetowych. G ównym celem pracy jest opracowanie

i implementacja aplikacji prezentuj cej ich dzia anie w praktyce. Przedstawione zostan

najpopularniejsze wzorce wykorzystywane w mechanizmach rekomendacji oraz okre lona

zostanie stosowalno wybranych metod rekomendacji, a w szczególno ci metody

Collaborative Filtering, która jest g ównym elementem praktycznej cz ci pracy

in ynierskiej.

Pocz tkowy rozdzia po wi cony jest wzorcom projektowym najcz ciej

wykorzystywanym przez mechanizmy rekomendacji, stanowi cym najpopularniejsze

rozwi zania typowych problemów, na które u ytkownik mo e natrafi podczas korzystania

z portalu. Zostan tu przedstawione konteksty u ycia danych wzorców oraz przyk adowe

sposoby wykorzystywania i zastosowania mechanizmów rekomendacyjnych. Opisany

zostanie mi dzy innymi wzorzec personalizacji, którego g ówna idea – ukazanie

ytkownikowi strony dostosowanej do jego potrzeb, zosta a zastosowana w aplikacji

Page 8: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

8

Findy. Oprócz tego, w rozdziale zaprezentowano tak e metody tworzenia profili

ytkownika. Aby móc zastosowa mechanizmy rekomendacji, niezb dny jest proces

zbierania informacji o u ytkowniku i przygotowanie na jego podstawie matematycznej

reprezentacji jego preferencji czy wzorców zachowa . Ta reprezentacja, nazywana

profilem, wykorzystywana jest przez algorytmy do obliczania miar korelacji, czy

podobie stwa z innymi u ytkownikami stosowanych przy algorytmach obliczaj cych

rekomendacj . W niniejszej pracy zosta y przedstawione dwa podej cia pozwalaj ce na

zdobycie niezb dnych informacji wraz z przedstawieniem ich wad i zalet.

W dalszej cz ci pracy ukazano teoretyczne aspekty mechanizmów rekomendacji oraz

ich g ówne idee. Przedstawiono podzia mechanizmów na podstawowe podej cia. Pierwsz

kategori s mechanizmy bazuj ce na analizie zawarto ci i profili dotycz cych obiektów w

serwisie oraz na indywidualnych preferencjach u ytkownika (Content-based Filtering).

Drug kategori stanowi mechanizmy oparte na preferencjach oraz zachowaniach innych

ytkowników najbardziej podobnych do danego u ytkownika (Collaborative Filtering).

Dzi ki temu mo liwe jest proponowanie mu nowych obiektów, które z du ym

prawdopodobie stwem uzna za interesuj ce. Powy sze dwa podej cia zosta y

zaimplementowane w aplikacji Findy ukazuj cej ich zachowanie w praktyce. W niniejszej

pracy opisane zosta y tak e ograniczenia i problemy wyst puj ce przy zastosowaniu

wymienionych technik. Oprócz powy szych, zosta o opisane tak e podej cie hybrydowe,

które czy dzia anie obu zaprezentowanych koncepcji.

Kolejny rozdzia prezentuje sposób realizacji praktycznej cz ci pracy – aplikacji

Findy. Przedstawiono podstawowe jej za enia, specyfikacj wymaga oraz rozwi zania

techniczne u yte, aby móc zastosowa mechanizmy rekomendacji. Dodatkowo opisano

sposób pracy z aplikacj oraz jakie s mo liwo ci jej rozwoju.

W podsumowaniu przedstawiono analiz u ytych mechanizmów rekomendacji, oraz

wnioski z ich zastosowania. Omówiono ich wady i zalety w kontek cie u ycia w

praktycznej cz ci pracy oraz zakres zastosowa proponowanego rozwi zania. Na

zako czenie przedstawione zosta y przewidywane kierunki zmian w podej ciu do

problemu.

Page 9: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

9

Rozdzia 2

Informacje podstawowe

2.1. Wzorce projektowe

2.1.1. Automatyczne uzupe nianie

Pierwszym wzorcem projektowym, który zostanie przedstawiony jest automatyczne

uzupe nianie (ang. autocomplete). Ma ono na celu u atwienie u ytkownikowi znalezienie

odpowiedniej frazy do wyszukania w jak najkrótszym czasie. Jest to mo liwe dzi ki kilku

aspektom. Pierwszym jest przewidywanie has a ju po wpisaniu pocz tkowych znaków,

dzi ki czemu u ytkownik zwolniony jest z obowi zku wpisywania ca ego zapytania, gdy

mo e wybra jedno z rekomendowanych mu przez odpowiedni algorytm. Kolejnym

udogodnieniem jest sugerowanie w czasie, gdy szukaj cy nie jest w stanie wpisa

prawid owego zapytania, gdy przyk adowo zapomnia fachowego zwrotu. W takiej

sytuacji mechanizm pomaga dobra odpowiednie wyra enie poprzez sugerowanie hase ,

których miara podobie stwa z podanym przez u ytkownika zapytaniem jest najwi ksza.

Trzecim aspektem jest podpowiadanie odpowiedniej pisowni. Przy pope nieniu b du

ortograficznego wyniki zapyta mog nie by zadowalaj ce, dlatego wy apywanie b dów

stanowi wa cz mechanizmu wyszukiwania opartego na rekomendacjach zwrotów

pozbawionych b dów.

Automatyczne uzupe nianie jest popularnym wzorcem u ywanym w Internecie

i stanowi wa sk adow wielu serwisów, mi dzy innymi jest wykorzystywane w

wyszukiwarce Google. Serwis ten gromadzi histori wyszukiwa , które by y wykonane

przez innych u ytkowników oraz udost pnia tak e mo liwo zachowywania naszych

historycznych wyszukiwa (przy w czonej opcji „Historia online”). Na podstawie

powy szych róde danych, stosowane algorytmy s w stanie przewidzie i zasugerowa

trafne zapytanie, bior c pod uwag popularno hase , które by y wyszukiwane oraz nasze

prywatne upodobania.

Niektóre serwisy rozszerzaj powy szy mechanizm o automatyczne sugerowanie

polegaj ce na proponowaniu zapyta nie zawieraj cych oryginalnych wyra

wprowadzonych przez u ytkownika, a has a podobne. Jest to mo liwe dzi ki

rozpoznawaniu wzorców zachowa . Algorytmy rozpatruj , jakie zapytania by y

Page 10: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

10

wpisywane i modyfikowane po nieudanej próbie wyszukania has a, dzi ki czemu s w

stanie utworzy baz zwi zków logicznych, sugeruj c has a pokrewne. Taki mechanizm

jest pomocny nie tylko pocz tkuj cym u ytkownikom, którzy uzyskuj wskazówki jak

udoskonala swoje zapytania, a tak e s y wsparciem dla zaawansowanych, chc cych

wyszuka obiekty o zbli onym zagadnieniu.

Rys. 1. Automatyczne uzupe nianie w wyszukiwarce Google

Wzorzec jest u ywany na wielu platformach, nie tylko stacjonarnych. Trudno

wyobrazi sobie korzystanie z wyszukiwarki na urz dzeniach mobilnych, gdzie nie ma

mechanizmu korzystaj cego z automatycznego uzupe niania. Popularne dzi „smartfony”

ci gle borykaj si z problemem, jakim jest pisanie d szego tekstu, g ównie z powodu

ich miniaturyzacji, czy niewystarczaj cej czu ci ekranów dotykowych. Z tego powodu

projektanci ci gle usprawniaj mechanizmy rekomendacji u atwiaj cych korzystania z

takich urz dze . Dodatkow zalet automatycznego uzupe niania jest mo liwo

autonomicznego dzia ania oraz mo liwo wspó pracy z innymi wzorcami (np. z ni ej

opisanym „Najpierw najlepszy”).

2.1.2. Najpierw najlepszy

Wzorzec „Najpierw najlepszy” (ang. Best First) jest obecnie najbardziej popularnym

wzorcem wykorzystywanym w mechanizmach rekomendacji [1]. Jego za eniem jest

sugerowanie produktów czy wyników zapytania nie w kolejno ci, w jakiej zosta y

odszukane, a przedstawienie ich od najbardziej trafnego dla u ytkownika. Niektóre

heurystyki zale ne od u ytych algorytmów analizy s u ywane do oceny wyników

zebranych np. w bazie danych i te najbardziej obiecuj ce ukazuje si u ytkownikowi jako

pierwsze. Wyniki najmniej obiecuj ce algorytmy sortuj ce umieszczaj na ko cu kolejki.

Page 11: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

11

Ma to na celu przyspieszenie ko ca procesu wyszukiwania. Korzystaj cy z serwisu dostaje

z du ym prawdopodobie stwem to, czego szuka w prosty i szybki sposób.

Ocenianie i sortowanie – g ówne cz ci sk adowe powy szego mechanizmu

rekomendacji – s ró ne, w zale no ci od serwisu w którym dzia aj . Mo na jednak

znale cech wspóln – jest ni popularno has a, b produktu. Wspomniana

popularno jest oczywi cie ró nie rozumiana w kontek cie danego serwisu. Przyk adowo,

w serwisach stworzonych do gromadzenia i udost pniania zdj cyfrowych rekomendacja

„najpierw najlepsza” odbywa si poprzez ocen b sk adow liczby ods on danego

zdj cia, komentarzy pod nim czy liczby u ytkowników, którzy dodali je do swoich

ulubionych. W serwisach aukcyjnych sortowanie i ocena mo e odbywa si przy

uwzgl dnieniu liczby sprzedanych sztuk produktu. Tak e serwis Google stosuje swój

algorytm s cy do oceniania wyników wyszukiwa – „PageRank” [2]. G ówn sk adow

oceny tego algorytmu jest liczba odno ników do danej strony. Im wi cej stron odwo a si

do czyjego serwisu, tym bardziej serwis Google b dzie go uwa za pasuj cy do u ytego

zapytania. Popularno tego rozwi zania sprawi a, e w czasach rozkwitu biznesu

internetowego, tzw. e-biznesu, zacz to handlowa wspomnianymi odno nikami. Obecnie

jednak stworzono liczne ograniczenia i obostrzenia okre laj ce, które z nich zostan

uznane za wa ne i wliczone do oceny ogólnej serwisu.

Trafno danej rekomendacji mo e by tak e uzale niona od daty. Przyk adem mog

by nie tylko serwisy informacyjne, gdzie rekomendowane s najpierw artyku y o

najpó niejszej dacie napisania, ale tak e pozosta e serwisy, dla których wa na jest

aktualno prezentowanych wyników. W takim przypadku algorytmy korzystaj ce z

wzorca „najpierw najlepszy” bior pod uwag dat dodania produktu lub dat jego

ostatniej modyfikacji, dzi ki czemu s w stanie zasugerowa najm odsze, a przez to

wie e, pierwsze wyniki wyszukiwania.

Rezultat wyszukiwania wyników zapytania pod wzgl dem trafno ci najcz ciej jest

rozk adem pot gowym, co wymusza u ycie regu y „80/20” [3]. Polega ona na tym, e

pierwsze sugerowane wyniki uzyskuj trafno rz du 80%, a pozosta e mog liczy na

uzyskanie zaledwie kilkunastu procent. U ytkownik wówczas stwierdza, czy dana

rekomendacja jest zgodna z jego wymaganiami patrz c jedynie na pocz tkowe rezultaty

odpowiedzi na jego zapytanie, a nast pnie podejmuje decyzj , czy spróbowa innego

has a, czy uzna przedstawion za wystarczaj . Dzi ki wykorzystaniu rozpoznawania

Page 12: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

12

wzorców takich zachowa , mechanizmy rekomendacji korzystaj ce z wzorca „najpierw

najlepszy” s w stanie jeszcze trafniej zasugerowa u ytkownikowi wynik wyszukiwania,

a jednocze nie sta si bardziej uniwersalnymi.

2.1.3. Nawigacja fasetowa

Kolejnym wzorcem, z którego mog korzysta mechanizmy rekomendacji jest

nawigacja fasetowa (ang. faceted navigation), uwa ana za jedn z najwi kszych innowacji

w dziedzinie wyszukiwania i rekomendacji [4]. W wykorzystuj cych j serwisach, po

wpisaniu przez u ytkownika has a, oprócz standardowej listy wyników, wy wietlana jest

tak e lista zawieraj ca dalsze kroki, które mo e podj , np. u ycie filtrów oraz dalszy

podzia na np. kategorie czy tre ci. Taka lista zawiera „fasety” (ang. facets) stanowi ce

najwa niejsz cz nawigacji. Charakterystyczn cech tego wzorca, jest to, e nie jest do

ko ca transparentny dla u ywaj cego, który musi kierowa mechanizmem, a do

wystarczaj cego zaw enia wyników.

Rys. 2. Nawigacja fasetowa w serwisie aukcyjnym Allegro

ytkownik z pomoc faset ma mo liwo wyselekcjonowania tre ci o cechach

wspólnych. Nak adaj c kolejne fasety ograniczana jest lista wyników, pozostawiaj c te

najodpowiedniejsze. Czynno ta jest pomocna przy ch ci znalezienia np. przedmiotu z

du ej kolekcji. Przyk adem takiego rozwi zania jest serwis aukcyjny Allegro

przedstawiony na rys. 2. Po wpisaniu has a „Pan Tadeusz” ukazuje nam si lista wyników

Page 13: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

13

oraz fasety: po lewej stronie, gdzie mo emy wybra kategori , w której chcemy szuka

pozycji oraz na górze, gdzie mamy mo liwo zastosowania filtrów co do ceny czy

lokalizacji. Dobieraj c fasety odnajdujemy pozycje maj ce cz ci wspólne z

zasugerowanymi warto ciami.

Istotn w ciwo ci nawigacji fasetowej jest to, e ukazywane s u ytkownikowi

tylko te fasety, które s uwa ane przez mechanizmy rekomenduj ce za trafne. Pozosta e s

domy lnie zamkni te. Gdy rekomendacja faset oka e si niewystarczaj ca, szukaj cy ma

mo liwo przejrzenia tak e tych pocz tkowo ukrytych. Algorytmy weryfikuj ce wzorce

zachowania korzystaj c z takich dzia aktualizuj swoje oceny trafno ci, podobnie jak

odbywa si to w przypadku wzorca „najpierw najlepszy”.

Rekomendacja faset jest dziedzin ci gle rozwijan , a przy tym potrzebn

i przysz ciow . Im trafniej odb dzie si ich zasugerowanie u ytkownikowi, tym szybciej

zako czy si proces wyszukiwania, do czego d projektanci. Wzorzec znajduje nie tylko

zastosowanie na platformach stacjonarnych. Coraz cz ciej wyst puj kolejne próby

przeniesienia go na platformy mobilne [5]. Jak ju wspomniano, urz dzenia mobilne

charakteryzuj si ma ymi rozmiarami, przez co przeniesienie wzorca np. ze znanych

serwisów aukcyjnych nie jest mo liwe, dlatego stanowi to problem wci do rozwi zania.

2.1.4. Personalizacja

Personalizacja w portalach internetowych jest stosowana od wielu lat. Pocz tkowo

opiera a si jedynie na mo liwo ci dostosowania serwisu do swoich potrzeb, g ównie

wizualnych. U ytkownik mia udost pniony interfejs, z którego móg wybra kolor t a, typ

ikon, czy u enie okien i paneli. Wraz z rozwojem technologii internetowych, powy sze

udogodnienia zosta y rozszerzone o wybór rodzaju prezentowanych tre ci. Wówczas na

przestrzeni np. artyku ów odbywa a si filtracja, czego rezultatem by o wy wietlenie tylko

tych tematów, na które zdecydowa si wybieraj cy. W obecnych czasach i przy obecnej

szybko ci rozwoju techniki, nawet takie u atwienia przesta y by zadowalaj ce.

Obecnie nacisk k adziony jest na serwisy, które umo liwiaj rekomendacje tre ci, bez

przymusowych ustawie realizowanych podczas u ytkowania z serwisu. Niezb dne s do

tego zaawansowane mechanizmy b ce w stanie przetworzy np. histori wyszukiwa

ytkowników z serwisu albo ich wzorce zachowa . Obserwowanie operacji

wykonywanych przez u ytkownika mo e dostarczy niezb dnych informacji o jego

upodobaniach i rutynowych czynno ciach, które mog by podstaw zaawansowanej

Page 14: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

14

personalizacji. Stworzenie na takiej podstawie profilu u ytkuj cego serwis, pozwoli

algorytmom dostosowa wygl d i zaprezentowa tre zgodnie z indywidualnymi

preferencjami, potrzebami i zainteresowaniami.

ycie odpowiedniego mechanizmu rekomendacji w powy szym wzorcu uzale nione

jest od charakteru serwisu. Mo liwe jest wyznaczenie trzech g ównych rodzajów

personalizacji i sposobów tworzenia profilu osoby korzystaj cej z serwisu. Najbardziej

podstawowym jest personalizacja o zasi gu indywidualnym. W takim przypadku istotne

jest zbieranie wszelkich informacji pozostawianych przez u ytkownika podczas swoich

dzia . Wówczas, weryfikuj c ró ne przypadki jego interakcji z serwisem, algorytmy

rekomenduj ce tre ci s w stanie przedstawi wyniki, które mo na uzna za

najodpowiedniejsze. Przyk adem takiego dzia ania jest ponowne u ycie tego samego

zapytania. Znaj c wzorzec zachowania u ytkownika przy jego pierwszej decyzji, mo na

uzna j za najtrafniejsz tak e i w tym przypadku, dlatego algorytmy analizuj ce proces

personalizacji wybior j , jako rekomendowan z najwi kszym prawdopodobie stwem.

Kolejnym aspektem jest personalizacja o zasi gu spo eczno ciowym. Wykorzystuje

si j , gdy indywidualne tworzenie profilu u ytkownika i analiza jego wzorców zachowa

mo e ulec zniekszta ceniu. Takie ryzyko mo e wyst pi przyk adowo w serwisach

aukcyjnych. Korzystaj cy z nich nie zawsze musi licytowa i kupowa produkty dla siebie,

dlatego algorytmy rekomenduj ce przetwarzaj ce takie zachowanie mog okaza si

myl ce. Podobny problem wyst puje w przewidywaniu, które produkty mog nas

zainteresowa w przysz ci. Wówczas niezb dne jest tworzenie profilu z uwzgl dnieniem

dzia naszego najbli szego otoczenia. Obecnie dzia a wiele serwisów

spo eczno ciowych analizuj cych blisko relacji u ytkowników, mi dzy innymi

LinkedIn. Taka wiedza mo e pozwoli udoskonala mechanizmy rekomendacji

sprawiaj c, e b w stanie proponowa tre ci, które zainteresowa y ju najbli szych

znajomych osoby korzystaj cej z serwisu, dlatego z du ym prawdopodobie stwem

zainteresuj tak e i jego. Analiza preferencji i zainteresowa najbli szej spo eczno ci w

serwisie tematycznym mo e u atwi sugerowanie najpopularniejszych zjawisk, a tak e

ukazywa mod , która aktualnie wyst puje.

Powy sza analiza mo e si jednak okaza niewystarczaj ca. W przypadku

wyszukiwania np. artyku ów naukowych o zaawansowanej tre ci, ich rekomendacja oparta

na obserwacjach otoczenia u ytkownika sk adaj cego si w wi kszo ci z nastolatków,

Page 15: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

15

mo e okaza si nieskuteczna. Dlatego istniej sytuacje, gdzie niezb dna jest

personalizacja o zasi gu globalnym. Ma ona zastosowanie g ównie, gdy trafno

rekomendowanych tre ci zale y od szerokich statystyk. Wnioski wyci gane przez

algorytmy podczas analizy zachowa szerokiej spo eczno ci, np. z ró nych kontynentów,

mog by wolne od stereotypów czy tzw. chwilowej mody.

Innym wa nym elementem personalizacji, oprócz rozpatrywania zasi gu dzia ania,

jest tak e rozró nianie kontekstu u ycia. Wówczas mechanizmy rekomenduj ce musz

rozpozna intencje u ytkownika. Przyk adem takiego dzia ania jest rozró nienie platformy,

na której wykonywane jest zapytanie. Czym innym b dzie spowodowane wyszukanie np.

has a „kuchnia w oska” przez korzystaj cych z komputera stacjonarnego (prawdopodobnie

chodzi mo e o wyszukanie przepisów kucharskich), a czym innym przez u ywaj cych

urz dzenia mobilne (ch znalezienia najbli szej restauracji).

Przedstawiony wzorzec personalizacji jest zaawansowanym narz dziem w r kach

projektantów. U ywane w nim algorytmy rekomendacji nazywane s „opartymi na

analizie u ytkowników” (ang. user-based), którego przyk adem b dzie opisana w dalszej

cz ci pracy wspólna filtracja (ang. Collaborative Filtering). Dostarczaj one cennych

wniosków i przyk adów, które mog by stosowane tak e w innych wzorcach, mi dzy

innymi w tych wcze niej opisanych. Serwisy u ywaj ce takiego mechanizmu staj si wi c

na tyle inteligentne, e z du swobod i trafno ci potrafi sugerowa u ytkownikom

najlepszy wybór w danej sytuacji.

2.2. Metody tworzenia profili u ytkownika Systemy rekomendacyjne to specjalny typ systemów filtruj cych dane. Musz one

mierzy si z du przestrzeni informacji, z której wyszukuj najbardziej interesuj ce

i u yteczne rzeczy dla u ytkownika bazuj c na zdobytych danych. Podstawowym

narz dziem dla mechanizmów rekomenduj cych s profile sk adaj ce si z cech lub

atrybutów. Formalnie, ka dy profil jest opisany wektorem = ( , , … , ), gdzie

oznacza pewn cech lub atrybut danego profilu, a oznacza d ugo wektora [7].

W systemach rekomenduj cych stosuje si wiele koncepcji profilowania. Najbardziej

podstawowym profilem u ytkownika jest profil sk adaj cy si z wektora atrybutów

okre laj cych ocen przedmiotów dost pnych w serwisie. Ka da ocena przedmiotu mo e

sk ada si z konkretnej warto ci liczbowej, np. z przedzia u od 1 do 6, albo by ocen

niejawn okre laj fakt dodania przedmiotu do ulubionych czy najcz ciej ogl danych.

Page 16: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

16

Istnieje tak e mo liwo , e ocena jest pusta, co mo e by oznaczone warto ci specjaln ,

rozpoznawan przez mechanizmy korzystaj ce z powy szego profilu. Oprócz ocen, wektor

ten mo e zawiera dodatkowo warto ci wag. Przyk adem mo e by waga b ca

odwrotno ci cz sto ci oceniania danego produktu [8]. Dzi ki zastosowaniu takiej

koncepcji mo liwe jest zwi kszenie priorytetu rzadko ocenianych produktów, przez co

mechanizmy rekomendacji maj szans sugerowa tak e takie obiekty. W powy szych

przyk adach wszelkie informacje dotycz ce u ytkowników i ich ocen reprezentowane s

macierz o wymiarach na , gdzie okre la liczb przedmiotów w serwisie, a

liczb go u ytkuj cych. Ka da warto macierzy - , , okre la ocen -tego u ytkownika,

która dotyczy -tego przedmiotu.

Inn jest koncepcja, w której profil u ytkownika sk ada si nie z jednego wektora, w

którym znajduj si oceny wszystkich przedmiotów, a z listy przedmiotów, gdzie ka dy

przedmiot jest tak e okre lony pewnym osobnym profilem, b cym wektorem w pewnej

przestrzeni cech. Dana cecha mo e okre la nie tylko ocen , ale mo e by dowolnym

atrybutem takim jak tytu dla ksi ki, czy re yser dla filmu. Przedmioty s uto samiane z

profilem u ytkownika w momencie jego oceny albo gdy zostan uznane przez

mechanizmy weryfikacji wzorca zachowa za preferowane.

Aby móc stworzy profile omawiane powy ej, potrzebne jest u ycie metod, dzi ki

którym mo liwe b dzie zebranie informacji. Informacje te b sk adowymi wektora cech

w profilu. Istniej dwa podej cia, które s najcz ciej wykorzystywane:

podej cie aktywne,

podej cie pasywne.

2.2.1. Podej cie aktywne

Pierwsz metod zbierania informacji o u ytkowniku jest profilowanie aktywne,

inaczej jawne (ang. explicit profile). Sposób ten opiera si na informacjach uzyskanych

bezpo rednio od u ytkownika, które s nast pnie przechowywane w jego profilu

i wykorzystywane przez mechanizmy rekomendacji. Przyk adem takiego wydobywania

wiedzy jest ankietowanie, gdzie u ytkuj cy serwis udziela odpowiedzi na pytania, które s

przetwarzane tak, aby mo na by o je zapisa w pewnym wektorze cech u ytkownika.

Obecnie taki sposób nie spotyka si z uznaniem internautów, gdy uwa any jest za

irytuj cy, przez co ankiety s niech tnie wype niane.

Page 17: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

17

Powy szy sposób jest coraz rzadziej spotykany, gdy stosuje si inne, bardziej

przyjazne i mniej k opotliwe dla u ytkuj cych serwis. Takim przyk adem jest

zastosowanie mechanizmu oceniania. Spotykany jest na przyk ad w serwisach

po wi conym filmom, czy ksi kom, gdzie ka demu tytu owi u ytkownik mo e

przydzieli w asn ocen w pewnej z góry ustalonej skali liczbowej. Dzi ki temu

pomys owi mechanizmy rekomendacji mog w prosty sposób, korzystaj c z profilu, gdzie

zawiera si lista ocen, zasugerowa tytu y podobne do tych najbardziej lubianych

i preferowanych. Podobnym wyj ciem jest umo liwienie dodawania przedmiotów do

ulubionych, czy nawet do nielubianych. W ten sposób mechanizm rekomendacji mo e

stwierdzi , jakie przedmioty mog sta si interesuj ce dla u ytkownika, a jakie wr cz

przeciwnie.

Omówione przyk ady dostarczaj informacji o u ytkowniku, które sam przeka e lub

udost pni, dlatego odzwierciedlenie jego profilu staje si subiektywne, a nawet niekiedy

nieprawdziwe. Nie zawsze uda si otrzyma pe gam odpowiedzi, które najpe niej

oddadz obraz profilu. Mo e wyst pi sytuacja, e u ytkownik celowo b dzie odpowiada

niezgodnie z w asnym gustem, znu ony d ug list pyta czy d ugim procesem

ankietowania, dlatego przy profilowaniu jawnym wyst puje trudno przy zdobywaniu

wi kszej ilo ci informacji.

2.2.2. Podej cie pasywne

Nast pn metod umo liwiaj stworzenie profilu u ytkownika jest profilowanie

pasywne, inaczej domniemane (ang. implicit profile). W podej ciu pasywnym zbieraniem

informacji zajmuje si system, który obserwuje dzia ania i weryfikuje wzorce zachowa

ytkownika, a nast pnie udoskonala i aktualizuje jego profil. Serwisy korzystaj ce z

takiego podej cia nie bazuj na opinii u ytkuj cego ani nie oczekuj udzielania

odpowiedzi na zadawane pytania czy samodzielnego dostarczania informacji. Skupiaj si

na analizie czasu, który jest po wi cany na czytanie o danym produkcie oraz na analizie

cech przedmiotów, które s najcz ciej ogl dane.

Wa nym narz dziem powy szego podej cia jest prowadzenie archiwum, w którym

system b dzie przechowywa ostatnio ogl dane, zamawiane czy kupowane przedmioty.

Ma to na celu zgromadzenie pe nego spektrum informacji o zachowaniach u ytkownika.

Maj c takie dane mo liwe jest stworzenie profilu, który ma szanse by obrazem

rzeczywistej dzia alno ci u ytkownika w systemie. Taki profil stanowi podstaw dzia ania

Page 18: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

18

mechanizmów rekomendacji, które mog z du ym prawdopodobie stwem sugerowa

przedmioty najlepiej pasuj ce do ju kupionych czy najcz ciej analizowanych przez

ytkownika. Daje to mo liwo ukazania produktów równie interesuj cych, a tak e

poszerzenia kr gu zainteresowa .

W przeciwie stwie do podej cia aktywnego, profilowanie pasywne jest niewidoczne

dla u ytkownika. Takie dzia anie umo liwia zebranie du ej ilo ci informacji o

ytkowniku bez wymuszania na nim konkretnych akcji, a tak e bez wy ej wspomnianych

negatywnych emocji wspomnianych. Wad takiego rozwi zania mo e by niew ciwie

tworzenie profilu podczas analizowania archiwum zakupionych przedmiotów. Ma to

miejsce w sytuacji, gdy u ytkownik dokonuje zakupów nie dla siebie, a np. na prezent dla

znajomego. W takich przypadkach nie zawsze pasywna metoda zdobywania informacji

mo e pozna faktyczne opinie czy cele u ytkownika.

2.3. Podsumowanie Dzisiejszy post p techniczny sprawia, e mechanizmy rekomendacji staj si coraz

bardziej zaawansowane, przez co dok adniejsze i bardziej pomocne. Efektywno

przedstawianych wzorców powoduje, e znajduj zastosowanie w wi kszo ci serwisów

przynosz cych dochody. Wida to mi dzy innymi w sklepach on-line, czy serwisach

aukcyjnych, gdzie wyst puj elementy, podpisane jako „Zobacz tak e”, „Produkty

powi zane”, czy „ ytkownicy, którzy kupili ten produkt, kupili tak e…”, podpowiadaj ce

ytkownikom, jakie produkty s najbli sze im zainteresowaniom czy potrzebom. Takie

wykorzystanie personalizacji spowodowa o, e 35% dochodów serwisu Amazon [6],

pochodzi w nie z takiego typu rekomendacji.

W opozycji do powy szego przyk adu stoi wykorzystanie rekomendacji jedynie w

celach marketingowych, nie analizuj ce np. wzorców zachowa . Wówczas reklamowanie

produktów wiadczy o preferencjach sprzedawcy, a nie o potrzebach klienta. Jednak takie

przypadki s w mniejszo ci. Obecnie w cicielom znanych serwisów powi zanych z

e-biznesem zale y na innowacyjno ci i stosowane mechanizmy potrafi automatycznie

dobra ofert produktow dla konsumenta wykorzystuj c jego profil stworzony na

podstawie jego dzia podczas u ytkowania serwisu.

Page 19: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

19

Rozdzia 3

Systemy rekomendacji

3.1. Idea systemów rekomendacji Wraz ze wzrostem popularno ci Internetu ros y tak e wymagania jego u ytkowników.

Jak wspomniano wcze niej, mo liwo samodzielnego dostosowania portalu do swoich

potrzeb czy w asnor cznego przeszukiwania spo eczno ci w celu znalezienia

odpowiedniej, pasuj cej do zainteresowa , przesta a by interesuj ca. Zapotrzebowanie

rozwijaj cego si rynku sprawi o, e wypracowana zosta a nowocze niejsza koncepcja,

która ma na celu zwolnienie u ytkuj cego portal od samodzielnych ustawie . Jej celem

jest prezentowanie tre ci ca kowicie spersonalizowanej, czyli dostosowanej do aktualnych

potrzeb, preferencji i zainteresowa u ytkownika. Systemy oferuj ce tak funkcjonalno

nosz nazw systemów rekomendacji. U ywaj one mechanizmów zwracania uwagi

ytkowników na odpowiednie produkty oraz powoduj cych wzrost zadowolenia

korzystaj cego.

Mechanizmy rekomendacji mog by wykorzystywane w serwisach o charakterze

non-profit [9], dzia aj cych nie dla osi gania zysku, lecz w wi kszo ci przypadków

wykorzystywane s w serwisach komercyjnych. W takich miejscach, dzi ki analizie

danych u ytkownika i wydobywaniu najprzydatniejszych informacji, mo liwe s

prognozy, co najlepiej trafi w gusta klienta, co jest w stanie zapewni , jak wspominano na

przyk adzie Amazon, wzrost wp ywów ze sprzeda y.

Systemy rekomendacji projektowane s tak, aby mierzy si z problemem wyszukania

przedmiotów o jak najwi kszej warto ci funkcji przydatno ci ka demu z u ytkowników w

jak najkrótszym czasie (1).

, = max ( , ) (1) gdzie:

– zbiór wszystkich u ytkowników serwisu,

– zbiór wszystkich rekomendowanych obiektów w serwisie,

× – funkcja przydatno ci przedmiotu dla u ytkownika .

Page 20: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

20

W powy szym celu wykorzystywane s techniki analityczne, okre laj ce podobie stwo

mi dzy elementami przestrzeni danych. Mo emy je podzieli na trzy podej cia:

Content-based Filtering – podej cie zapewniaj ce rekomendacje oparte na

analizie i dopasowywaniu cech produktów do indywidualnych preferencji

ytkownika,

Collaborative Filtering – podej cie zapewniaj ce rekomendacje oparte na

preferencjach podobnych u ytkowników,

Podej cie hybrydowe – koncepcja cz ca obie powy sze metody.

3.2. Content-based Filtering Pierwsz technik rekomendacyjn jest filtrowanie z analiz zawarto ci (ang. Content-

based Filtering), które sugeruje produkty na podstawie podobie stwa ich cech z profilem

ytkownika. Uwzgl dniaj c jego upodobania filtrowanie z analiz zawarto ci wyszukuje

pozycje podobne bazuj c na analizowaniu atrybutów specyficznych dla danego systemu.

Przyk adem mo e by wypo yczalnia filmów, gdzie polecane s klientowi filmy z

udzia em jego ulubionego aktora, b filmy re ysera, którego ceni najbardziej. W takim

przypadku wspomnianym atrybutem b dzie aktor lub re yser. Innym przyk adem s

ksi garnie, które poleca b ksi ki z gatunku najcz ciej czytanego przez u ytkownika

ksi ki zawieraj cej w tytule s owa, pojawiaj ce si najcz ciej w innych pozycjach

wybranych przez klienta. Analogicznie serwisy informacyjne d ce do rekomendowania

artyku ów o tre ci najbardziej podobnej do artyku ów, wybieranych przez u ytkuj cego.

W powy szym podej ciu, oprócz stworzenia profilu u ytkownika, niezb dne jest

stworzenie profilu dla ka dego produktu znajduj cego si w bazie serwisu. Taki profil,

podobnie jak profil u ytkownika, b dzie stanowi wektor w przestrzeni cech b

atrybutów, o których pisano wy ej. Nast pnym etapem jest wybranie tych produktów,

których wektor cech jest najbardziej podobny do wektora u ytkownika. Miar takiego

podobie stwa mo na wyliczy na wiele sposobów.

Pierwszym ze sposobów jest wykorzystanie odleg ci euklidesowej pomi dzy dwoma

punktami o wspó rz dnych okre lonych przez wektory cech (2).

Page 21: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

21

( , ) = ( ) + ( ) + … + ( )

( , ) = (( ) )

(2)

gdzie:

– wspó rz dne wektora cech u ytkownika,

– wspó rz dne wektora cech obiektu rekomendowanego,

( , ) – odleg euklidesowa mi dzy dwoma punktami,

– liczba obiektów w serwisie.

Odleg euklidesowa jest równa d ugo ci odcinka cz cego punkty i , dlatego im

mniejsza warto ( , ), tym aktywny obiekt bardziej pasuje do u ytkownika. Przyj o

si jednak, e porównywane dwa profile s tym do siebie bardziej podobne, im miara ich

podobie stwa jest wi ksza, dlatego dodatkowo stosuje si normalizacj (3).

( , ) =1

1 + ( , ) (3)

gdzie:

( , ) – znormalizowana miara podobie stwa.

Po jej zastosowaniu miara podobie stwa zawiera si b dzie w przedziale (0, 1

sprawiaj c, e rozpatrywanie trafno ci danego porównania b dzie wygodniejsze.

Innym sposobem mierzenia podobie stwa jest odleg Hamminga, która okre la

ró nic mi dzy dwoma ci gami o takiej samej d ugo ci. Wynikiem jest liczba miejsc, na

których wyst puj odmienne warto ci, czyli najmniejsza liczba zmian, któr nale y

przeprowadzi , aby zmieni jeden ci g na drugi. Przyk adowo maj c wektor cech

ytkownika = (1, 0, 0, 7, 0, 2) i wektor cech przedmiotu = (1, 1, 0, 5, 0, 2), odleg

Hamminga mi dzy nimi wynosi ( , ) = 2, gdy oba ci gi ró ni si na dwóch

pozycjach. Powy sza metryka dostarcza w takim przypadku informacji o odmienno ci

dwóch wektorów. Im odleg jest mniejsza, tym bardziej wektory s podobne, tym

samym profile je zawieraj ce mo na uzna za s siednie. Ma ona g ównie zastosowanie w

przypadku u ywania warto ci binarnych. W pozosta ych przypadkach mo e okaza si

bardzo nieskuteczn , gdy odrzuca warto ci ró ne, a niekiedy w rekomendacji mog si

okaza spokrewnione, przez co istotne przy ewentualnym sugerowaniu u ytkownikowi.

Page 22: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

22

Najpopularniejszym sposobem w mechanizmach rekomendacji do oceniania

przedmiotów, czy s najbardziej pasuj ce do profilu u ytkownika, jest odleg

kosinusowa (4). Miara ta jest wykorzystywana mi dzy innymi w serwisie Amazon [9].

( , ) = cos( , ) =

°| | | |

( , ) =+ + … + + + + … +

(4)

gdzie:

– wspó rz dne wektora cech u ytkownika,

– wspó rz dne wektora cech obiektu rekomendowanego,

( ) – odleg kosinusowa mi dzy dwoma punktami,

– liczba obiektów w serwisie.

Odleg kosinusowa jest zdefiniowana, jako znormalizowany iloczyn skalarny dwóch

wektorów, a estymacja ich podobie stwa odbywa si poprzez obliczenie kosinusa k ta

pomi dzy nimi.

Rys. 3. Idea odleg ci kosinusowej

Page 23: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

23

Prezentowany powy ej rys. 3. ukazuje ide odleg ci kosinusowej. Dane s trzy cechy ,

i , oraz 4 profile reprezentowane przez wektory cech , , i . Je eli k t

pomi dzy wektorami albo k t pomi dzy wektorami zmierza do 0,

wówczas kosinus tego k ta d y do 1. Takie profile le w bliskim s siedztwie, dlatego

mog by uwa ane za podobne. Porównuj c tak profil u ytkownika z profilem produktu

mo na stwierdzi , czy dany produkt mo e by obiektem rekomendowanym.

System rekomendacji w pocz tkowej fazie stosuje wybran metryk , która okre la

miar podobie stwa pomi dzy produktami a profilem u ytkownika. Z grupy wybranych

produktów najbardziej podobnych usuwane s pozycje, które u ytkownik ju zna i by y

przez niego ju analizowane. Powsta y w ten sposób zbiór produktów stanowi list

rekomendacji, któr mo na przedstawi u ytkownikowi jako najbardziej zgodn z jego

preferencjami. Je eli powy sza lista zawiera wi cej pozycji ni zmie ci si w miejscu na

rekomendacje, to mo e zosta posortowana np. od najwcze niej dodanych i wy wietlona w

formie najlepszych (ang. Top-N recommendation). Schemat dzia ania takiego systemu

opartego o filtrowanie z analiz zawarto ci przedstawiono na rys. 4.

Rys. 4. Schemat dzia ania systemu rekomendacji opartej na Content-based Filtering ród o: opracowanie w asne na podstawie: [7]

Wad powy szej techniki rekomendacji jest opieranie si jedynie na profilu

ytkownika, przez co istnieje du e ryzyko oszukania systemu oraz, e rekomendowane

produkty bardzo podobne do siebie. Oprócz tego, filtrowanie z analiz zawarto ci

niesie ze sob konieczno reprezentacji przedmiotu w formie, któr b dzie w stanie

Page 24: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

24

zanalizowa system komputerowy. Przyk adowo istnieje niemo no rekomendacji

muzyki, czy obrazów, gdy problemem jest zdefiniowanie ich cech i atrybutów.

3.3. Collaborative Filtering Drugim podej ciem stosowanym w systemach rekomendacyjnych jest tzw. wspólna

filtracja (ang. Collaborative Filtering). Opiera si ona na za eniu, e je eli dwóch

ytkowników lubi podobne produkty lub ma podobne preferencje, to z du ym

prawdopodobie stwem b podobnie zachowywa si w odniesieniu do innych rzeczy.

Przyk adem mo e by ksi garnia internetowa, w której u ytkownik i ocenili ksi ek

podobnie, ale u ytkownik dodatkowo oceni w pozytywny sposób inna ksi . W takiej

sytuacji, mechanizm wspólnej filtracji zarekomenduje t ksi u ytkownikowi ,

zak adaj c, e i jemu przypadnie do gustu. W powy szej sytuacji nie polegamy na cechach

czy atrybutach danego produktu, jak to mia o miejsce w przypadku filtrowania z analiz

zawarto ci, a opieramy si na opinii osób, których zainteresowania i preferencje uznajemy

za podobne.

Mechanizmy rekomendacji oparte o wspóln filtracj u ywaj algorytmów, które

dziel si na dwie kategorie:

metody wykorzystuj ce pami (Memory-based Collaborative Filtering),

metody wykorzystuj ce model (Model-based Collaborative Filtering).

Ich charakterystyk zaprezentowano w poni szych rozdzia ach.

3.3.1. Metody wykorzystuj ce pami (Memory-based)

Pierwsz kategori algorytmów s mechanizmy wykorzystuj ce pami .

Charakteryzuj si one tym, e do przeprowadzenia rekomendacji u ywa ca ej bazy

danych serwisu. Zak adaj , e ka dy u ytkownik jest cz ci pewnej grupy, dlatego

ywaj metod statystycznych do znalezienia tzw. „najbli szych s siadów”, czyli grupy

ytkowników o podobnych zainteresowaniach.

W pierwszym kroku mechanizm rekomendacji tego typu wyszukuje grup

najbli szych s siadów poprzez obliczenie wagi , , która okre la podobie stwo lub

korelacj pomi dzy dwoma u ytkownikami: i . Nast pnie obliczana jest prognoza

okre laj ca, czy dany produkt mo e by polecony u ytkownikowi w oparciu o jego

Page 25: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

25

najbli szych s siadów. Ostatnim krokiem jest wybór obiektów najbardziej pasuj cych do

ytkownika i przedstawienie ich w postaci rekomendacji.

Obliczanie podobie stwa pomi dzy u ytkownikami, który ocenili te same produkty,

dodali takie same do ulubionych, czy obserwowanych, jest kluczowym krokiem

mechanizmu rekomendacji. Do tego celu mo e by u yta np. odleg kosinusowa (4),

lecz najbardziej rozpowszechnion miar podobie stwa w systemach rekomenduj cych

jest korelacja Pearsona [10], któr zapisuje si wzorem (5).

, = , ,

, ,

(5)

gdzie:

, – korelacja Pearsona pomi dzy u ytkownikiem i ,

, – porównywani u ytkownicy,

– zbiór obiektów, które zosta y ocenione przez obu u ytkowników,

, – ocena -tego przedmiotu przez u ytkownika ,

, ,

– rednia ocen u ytkownika ,

, – ocena -tego przedmiotu przez u ytkownika ,

, ,

– rednia ocen u ytkownika .

Aby wyró ni u ytkowników najbardziej podobnych stosuje si dodatkowo

normalizacj (6).

, = , , (6)

gdzie:

, – znormalizowana korelacja Pearsona pomi dzy u ytkownikiem i ,

, – korelacja Pearsona pomi dzy u ytkownikiem i

– moc normalizacji,

1.

W powy szym równaniu parametr okre la jak bardzo ma by podkre lona ró nica

mi dzy wysokim a niskim wynikiem korelacji Pearsona. Typowo w mechanizmach

Page 26: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

26

rekomendacji parametr wynosi 2,51. Przyk adowo dzia anie normalizacji sprawi, e w

przypadku korelacji , = 2, mechanizm otrzyma , 5,6. W przypadku korelacji

, = 0,2, otrzyma , 0,018, sprawiaj c, e stanie si wyra nie nieistotn

i pomijaln .

Maj c obliczone korelacje pomi dzy u ytkownikami mo liwe jest utworzenie

najbli szego s siedztwa u ytkownika. Im korelacja jest wi ksza, tym bardziej

porównywani u ytkownicy s do siebie podobni, czyli stanowi bli sze s siedztwo.

Kolejn czynno ci , kiedy grupa najbli szych s siadów zosta a znaleziona, jest obliczenie

prognozy rekomendacji na podstawie ocenionych, b wybranych przez nich

przedmiotów, których jednocze nie nie zna dany u ytkownik. Prognoza pozwala

stwierdzi jak bardzo dany przedmiot pasuje do u ytkownika, który go nie oceni , ani nie

analizowa . Obliczana jest na podstawie poni szego wzoru (7).

, = +

( . ) ,

,

(7)

gdzie:

, – wa ona suma ocen innych u ytkowników przedmiotu liczona dla

ytkownika ,

– zbiór u ytkowników, którzy ocenili przedmiot ,

– rednia wszystkich pozosta ych ocen u ytkownika ,

– rednia wszystkich pozosta ych ocen u ytkownika ,

, – korelacja Pearsona pomi dzy u ytkownikiem i .

W ko cowym etapie, mechanizm rekomendacji, maj c obliczone prognozy, mo e

stwierdzi , które przedmioty najbardziej pasuj do danego u ytkownika. Maj c tak list

mo liwe jest zaprezentowanie u ytkownikowi wszystkich propozycji, b konkretnych,

np. w formie najlepszych.

Zalet omówionego wy ej sposobu jest to, e nie musi si opiera na analizie

konkretnych cech produktów. Jego dzia anie jest mo liwe dla dowolnego typu obiektu.

Dodawanie nowych danych nie przynosi dodatkowych trudno ci w dzia aniu powy szych

algorytmów, lecz przy du ych zbiorach danych powy szy mechanizm mo e mie

ograniczon skalowalno , co omówiono w rozdziale 3.4.2. Dodatkowo, gdy danym

1 D. Lemire, “Scale and translation invariant collaborative filtering systems”, 2005, str. 129–150

Page 27: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

27

ytkownikiem jest u ytkownik nowo dodany, wyst puje problem braku informacji w jego

profilu o preferencjach. Rozwi zaniem tego problemu mo e by dodatkowe zastosowanie

danych demograficznych przy wyszukiwaniu korelacji, co zosta o omówione w rozdziale

3.4.1. Najkosztowniejszym elementem mechanizmów wykorzystuj cych pami jest

znajdowanie u ytkowników najbardziej podobnych, czyli wyszukiwanie najbli szego

siedztwa. Alternatyw dla tego kroku mo e by u ycie grupowania, co zosta o szerzej

opisane w rozdziale 3.4.2.

3.3.2. Metody wykorzystuj ce model (Model-based)

Drug kategori algorytmów wykorzystywanych we wspólnej filtracji s algorytmy

wykorzystuj ce model. Podstaw ich dzia ania jest utworzenie modelu ocen u ytkownika,

który b dzie w stanie przewidzie jego ocen dotycz przedmiotów. Podczas tworzenia

modelu wykorzystywane s techniki uczenia maszynowego na podstawie danych

treningowych.

Jednym ze sposobów oszacowania rekomendacji przedmiotu dla danego u ytkownika

jest u ycie naiwnego klasyfikatora bayesowskiego, który jest najcz ciej stosowany w

serwisach rekomendacyjnych [11]. Stanowi on jedn z metod uczenia maszynowego

okre laj , do której z klas decyzyjnych nale y przypisa nowy przypadek. W kontek cie

mechanizmów rekomendacji okre la b dzie, jak bardzo wybrany produkt b dzie trafny

dla danego u ytkownika.

Proces budowania modelu mo e wykorzystywa tak e inne techniki uczenia

maszynowego, lecz nie s one tak popularne, jak klasyfikator bayesowski. W

mechanizmach rekomendacji spotyka si jeszcze metod regu asocjacyjnych. Podej cie to

wykorzystuje algorytmy odkrywaj ce regu y asocjacyjne pomi dzy przedmiotami a

ytkownikami. Znalezione asocjacje s do okre lania si y powi zania pomi dzy

przedmiotem, a danym u ytkownikiem. W ko cowym etapie zbierane s najsilniejsze

asocjacje i prezentowane jako lista rekomendacji.

Przy stosowaniu powy szego mechanizmu nie wyst puje problem rzadko ci danych

i skalowalno ci (patrz ni ej), lecz jego implementacja jest du o bardziej k opotliwa i

skomplikowana, ni w przypadku mechanizmu wykorzystuj cego pami . Z tego powodu

bardzo rzadko stosuje si podej cie modelowe. Oprócz tego, u ycie redukcji

wielowymiarowych zada np. przy naiwnym klasyfikatorze bayesowskim mo e

spowodowa utrat informacji i pogorszy wyniki rekomendacji.

Page 28: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

28

3.4. ówne problemy przy stosowaniu mechanizmów rekomendacji

3.4.1. Rzadko danych

Mechanizmy rekomendacji musz mierzy si z wieloma problemami. Pierwszym jest

rzadko danych. Pojawia si on, gdy dodawany jest nowy u ytkownik lub nowy produkt.

W takiej sytuacji system mo e nie mie wystarczaj co du o informacji, eby by w stanie

poprawnie wykona rekomendacj , gdy nie s znane preferencje takiego u ytkownika czy

jego historia dzia . Podobnie jest z nowo dodanym produktem, który, dopóki nie

zostanie oceniony, dodany do ulubionych, czy dodany do obserwowanych, nie mo e by

prawid owo rozpatrzony przez mechanizm filtrowania. Problem te nazywany jest

problemem „zimnego startu” (ang. cold start).

Zimny start nie stanowi problemu dla mechanizmów filtrowania z analiz zawarto ci,

gdy ich dzia anie opiera si na rekomendacji produktów podobnych do ju

obserwowanych i mo e by pomocne w momencie, gdy nie zosta y zebrane wystarczaj ce

informacje, by u mechanizmu wspólnej filtracji. Ta my l pos a do zbudowania

grupy algorytmów hybrydowych, wykorzystuj cych obie kategorie mechanizmów. Ich

charakterystyka opisana jest w rozdziale 3.5.

Jak wspomniano, problem rzadko ci danych stanowi du przeszkod w dzia aniu

mechanizmów wspólnej filtracji. Innym rozwi zaniem tego problemu, obok podej cia

hybrydowego, jest dodatkowe zastosowanie danych demograficznych w profilach

ytkowników. W sytuacji, gdy dany u ytkownik nie ma ocenionych produktów i nie

mo na zastosowa korelacji Pearsona (5), wówczas tworzony jest dodatkowy wektor.

Wektor ten sk ada si z atrybutów powsta ych podczas weryfikacji cech demograficznych.

Przyk adowe cechy zosta y przedstawione w Tabeli 1.

Tabela 1 Struktura wektora demograficznego

cecha przynale no do cechy komentarz 1 wiek 15 je li dany u ytkownik przynale y

do wybranej cechy, wówczas dany atrybut wektora przyjmuje

warto 1, a w pozosta ych przypadkach 0.

2 15 < wiek 20 3 20 < wiek 30 4 30 < wiek 45 5 wiek > 45 6 == m czyzna 7 == kobieta

Page 29: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

29

Wówczas obliczanie prognozy rekomendacji odbywa si dla najbli szego s siedztwa

opartego na korelacji demograficznej [12], zgodnie z równaniem (8).

, =

( . ) _ ,

_ ,

(8)

gdzie:

, – wa ona suma ocen innych u ytkowników przedmiotu liczona dla

ytkownika w najbli szym s siedztwie demograficznym,

_ , – korelacja demograficzna pomi dzy u ytkownikiem i .

Do obliczenia powy szej korelacji demograficznej _ , , najcz ciej stosuje si

odleg kosinusow [13]. Nast pnie, maj c wyliczon prognoz rekomendacji,

mechanizm zachowuje si dalej tak, jak zosta o to opisane przy wspólnej filtracji.

3.4.2. Skalowalno

Kolejnym problemem jest skalowalno . Wyst puje ona w momencie znacznego

wzrostu istniej cych u ytkowników i przedmiotów w systemie. Wówczas rekomendacja na

podstawie porównania profilu u ytkownika z profilami innych mo e by czasoch onna. W

takim przypadku macierz systemu sk adaj ca si z ocen u ytkowników staje si

rozbudowana. Stosuje si wtedy rozk ad macierzy wed ug warto ci osobliwych (ang.

Singular Value Decomposition) [14], zgodnie z równaniem (9).

( ) = (9) gdzie:

( ) – przedstawienie macierzy A o rozmiarach w postaci rozk adu

wed ug warto ci osobliwych,

– macierz ortonormalna o rozmiarach , czyli ortogonalna maj ca

ugo ka dego wektora w macierzy równ 1,

– macierz diagonalna o rozmiarach , posiadaj ca na przek tnej

nieujemne warto ci osobliwe macierzy ,

– macierz ortonormalna o rozmiarach , czyli ortogonalna maj ca

ugo ka dego wektora w macierzy równ 1.

Mechanizmy rekomendacji korzystaj z macierzy sk adaj cej si z ocen przedmiotów

ka dego z u ytkowników. Zastosowanie powy szego rozk adu sprawi, e ta macierz

zostanie zredukowana i stanie si wolna od nieistotnych u ytkowników.

Page 30: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

30

Innym sposobem radzenia sobie ze skalowalno ci jest grupowanie. Dzi ki

zastosowaniu tej techniki, rekomendacje mog by wyznaczane dla pewnych grup, a nie

dla indywidualnych u ytkowników. Taki mechanizm jest mniej kosztowny obliczeniowo,

gdy grupy u ytkowników s mniej liczne, nawet o kilka rz dów wielko ci, od ca ej

przestrzeni danych. Oprócz tego, atutem grupowania jest zwi kszenie wydajno ci serwisu

oraz skalowalno ci, lecz przez to efektywno rekomendacji b dzie du o gorsza, ni ta

oparta na analizie indywidualnej u ytkuj cych serwis. Dodatkowo podzia na grupy mo e

by wykonywany off-line, bez udzia u u ytkowników. Ze wzgl du na du z ono

problemu grupowania, nie b dzie on szerzej omawiany w niniejszej pracy.

3.4.3. Pozosta e wyzwania

Wy ej wymienione problemy stanowi najwi ksze przeszkody w projektowaniu

systemów rekomendacyjnych. Istniej jednak mniej wymagaj ce problemy, o których

warto wspomnie . Jest nim mi dzy innymi problem tzw. „czarnej owcy” (ang. gray sheep),

wyst puj cy g ównie w przypadku mechanizmów korzystaj cych ze wspólnej filtracji

i grupowania. Wówczas istnieje ryzyko, e preferencje danego u ytkownika nie b

pasowa do adnej z grup, przez co nie b dzie móg korzysta z profitów mechanizmu

rekomendacji. W takich przypadkach wyj ciem jest zastosowanie mechanizmów

hybrydowych, które wspierane s dodatkowo przez filtrowanie wykorzystuj ce analiz

zawarto ci. Znajdowana jest wówczas rekomendacja najbardziej pasuj ca do potrzeb

indywidualnych poprzez analiz produktów ju dodanych lub obserwowanych.

ród wyzwa wokó systemów rekomenduj cych wyró nia si nagroda miliona

dolarów w konkursie og oszonym przez serwis Netflix, który jest internetow

wypo yczalni filmów. Za eniem konkursu, którego start odby si w 2006 roku, jest

udoskonalenie silnika rekomendacyjnego serwisu, tak aby poprawi jego wspó czynnik

trafno ci o 10%. Uda o si to zespo owi BellKor's Pragmatic Chaos w lipcu 2009 roku

[15]. Pomys opiera si w du ej mierze na dopracowaniu modelu najbli szego s siedztwa,

dzi ki czemu uda o si poprawi wspó czynnik poprawno ci do 10,06%.

3.5. Podej cie hybrydowe ywanie filtrowania wykorzystuj cego analiz zawarto ci wi e si z ryzykiem, e

rekomendacja przy uwzgl dnianiu jedynie produktów podobnych do ogl danych b dzie

nienajlepsz . Powstaje wówczas sytuacja, e wi kszo u ytkowników ogl da jedynie

niewielk cz wszystkich produktów. Nazywane jest to problemem „ ugiego ogona”,

Page 31: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

31

którego ilustracj wida na rys. 5. Przyk adem takiej sytuacji mo e by rekomendacja

tylko najpopularniejszych i najlepszych pozycji. Powoduje to, e produkty mog ce okaza

ciekawymi dla u ytkownika, nie b mu prezentowane. Rozwi zaniem takiego problemu

jest dodatkowe zastosowanie metod wspólnej filtracji, które b w stanie

zarekomendowa mniej popularne produkty pasuj ce do u ytkownika, powoduj c

aktywacj pozosta ej cz ci „ ugiego ogona”.

Jednoczesne lub zamienne stosowanie obu metod, tj. filtrowania z analiz zawarto ci i

wspólnej filtracji, nosi nazw podej cia hybrydowego.

Rys. 5. Problem „d ugiego ogona” ród o: opracowanie w asne na podstawie: [8]

Najcz ciej wykorzystywanym typem mechanizmu hybrydowego jest wspólna

filtracja wspomagana zawarto ci (Content-Boosted Collaborative Filtering). Atutem tego

rozwi zania, oprócz mo liwo ci spersonalizowanych rekomendacji na podstawie

najbardziej podobnych u ytkowników, których dostarcza wspólna filtracja, jest dodatkowo

poprawa danych o u ytkownikach i przedmiotach dzi ki wykorzystaniu cech przedmiotów

oraz osobistych preferencji u ytkuj cych serwis pochodz cych z zastosowania filtrowania

z analiz zawarto ci. Jak wspomniano w poprzednich rozdzia ach, zastosowanie podej cia

hybrydowego pozwala unikn problemów jakim jest np. rzadko danych, czyli problem

nowego u ytkownika.

Page 32: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

32

Koncepcja mechanizmów hybrydowych opiera si na tworzeniu pseudowektorów

dla ka dego u ytkownika w bazie. Atrybuty pseudowektora budowane s zgodnie z

wzorem (10).

, = ,

, . . . (10)

gdzie:

, – ocena przedmiotu u ytkownika w pseudowektorze ,

, – ocena u ytkownika przedmiotu ,

, – ocena u ytkownika przedmiotu powsta a przez zastosowanie metody

filtrowania z analiz zawarto ci.

Zastosowanie powy szej metody zapewni, e ka dy przedmiot b dzie oceniony przez

ytkownika albo przez niego osobi cie, albo poprzez zastosowanie metody filtrowania

opartego na analizie zawarto ci opisanej w rozdziale 4.2. Z one pseudowektory

ytkowników dadz macierz systemu, gdzie nie wyst pi problem rzadko ci danych.

Nast pnym krokiem jest zastosowanie korelacji Pearsona (5) do obliczania podobie stwa

mi dzy u ytkownikami, znanej z metody wspólnej filtracji, lecz w podej ciu hybrydowym

nie stosuje si omawianych w rozdziale 4.3.1 wektorów ocen u ytkowników i , a ich

pseudowektory i .

Dok adno pseudowektorów liczona dla konkretnego u ytkownika jest zale na od

liczby ocenionych przez niego przedmiotów. Je li liczba ocen jest du a, to

prawdopodobie stwo, e rekomendacja z pomoc filtrowania z analiz zawarto ci b dzie

trafna, tak e b dzie wysokie. W przeciwnym przypadku, pseudowektor mo e by nie do

dok adny dla potrzeb prognozy rekomendacji. Stwierdzono [16], e mo e to powodowa

myl co wysokie korelacje mi dzy niektórymi u ytkownikami, dlatego stosowana jest w

takim przypadku wa ona rednia harmoniczna, która okre la wag dok adno ci

pseudowektora. W pierwszym kroku liczony jest wspó czynnik u ytkownika (11).

= 50 < 50

1 . . .

(11)

gdzie:

– wspó czynnik u ytkownika ,

– liczba ocen u ytkownika .

Page 33: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

33

Powy szy wspó czynnik opiera si na progu, który zosta dobrany na podstawie bada

Toma M. Mitchela2. Zastosowano wówczas krzywe uczenia si na zbiorze treningowym

132 u ytkowników, którzy ocenili wi cej ni 200 produktów. Wykryto, e je eli

predykator dostaje coraz wi cej danych treningowych, to jego wydajno przewidywania

poprawia si , lecz po przekroczeniu oko o 50 ocen dok adno zwi ksza si jedynie

nieznacznie. Maj c wspó czynnik mo liwe jest wyznaczenie wspomnianej wa onej

redniej harmonicznej (12).

, =

2+

(12)

gdzie:

, – wa ona rednia harmoniczna u ytkowników i ,

, – wspó czynniki u ytkowników i .

Zastosowanie powy szego równania pozwoli obliczy tendencj do odchylenia wagi w

kierunki mniejszej z warto ci i . Dzi ki temu korelacja pomi dzy dwoma pseudo-

wektorami z co najmniej 50 ocenami ka dego z u ytkowników i otrzyma najwi ksz

wag , niezale nie od liczby ocenionych produktów przez pozosta ych u ytkowników. Z

kolei je li jeden z u ytkowników oceni mniej ni 50 produktów, waga takiej korelacji

zostanie odpowiednio zdewaluowana.

Dodatkowo stosuje si tzw. „wag znaczeniow ” (ang. Significance Weighting) [17],

która ma za zadanie zmniejszy znaczenie korelacji opartych na u ytkownikach maj cych

ma o ocen (13).

, =

,

50 < 501 . . .

(13)

gdzie:

, – waga znaczeniowa u ytkowników i ,

, – liczba ocen wspólnie ocenionych przedmiotów przez u ytkowników

i .

Powy sza waga wykorzystywana jest do obliczenia hybrydowej wagi korelacji (14) (ang.

Hybrid correlation weight), której u ywa si w ostatecznej prognozie rekomendacji.

Sk ada si ona z dwóch wcze niej omawianych wag. 2 Michalski R., Carbonell J., Mitchell T., „Machine Learning: An Artificial Intelligence Approach”, Tioga Press, 1983

Page 34: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

34

, = , + , (14) gdzie:

, – hybrydowa waga korelacji u ytkowników i ,

, – wa ona rednia harmoniczna u ytkowników i ,

, – waga znaczeniowa u ytkowników i .

W metodzie wspólnej filtracji prognoz rekomendacji przewiduje si na podstawie

najbli szego s siedztwa danego u ytkownika, zgodnie z wzorem (6). W podej ciu

hybrydowym do powy szego równania nale y w czy dodatkowo pseudoocen obliczon

na podstawie danego u ytkownika, zgodnie z filtrowaniem z analiz zawarto ci. Ma to na

celu zwi kszenie dok adno ci rekomendacji. Zazwyczaj wykonuje si to z uwzgl dnieniem

wagi danej pseudooceny. Waga ta, nazywana „samowag ” (ang. Self Weighting) wygl da

nast puj co (15):

= 50 < 50

. . .

(15)

gdzie:

– waga okre laj ca znaczenie pseudooceny u ytkownika ,

– liczba ocen u ytkownika .

– parametr okre laj cy zaufanie, jakim darzona jest metoda filtrowania z

analiz tre ci w podej ciu hybrydowym, zazwyczaj wynosi 2 [16].

Nast pnym krokiem jest obliczenie prognozy rekomendacji znanej z metody wspólnej

filtracji, lecz dostosowanej do wspó pracy z filtrowaniem z analiz tre ci. W podej ciu

hybrydowym tak prognoz oblicza si stosuj c równanie (16).

, = +

, + ( . ) , ,

+ , ,

(16)

gdzie:

, – wa ona suma ocen innych u ytkowników przedmiotu liczona dla

ytkownika ,

– zbiór u ytkowników, którzy ocenili przedmiot ,

– rednia wszystkich pozosta ych ocen u ytkownika ,

– rednia wszystkich pozosta ych ocen u ytkownika ,

, – korelacja Pearsona pomi dzy u ytkownikiem i ,

, – ocena u ytkownika przedmiotu powsta a przez zastosowanie metody

Page 35: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

35

filtrowania z analiz zawarto ci,

– waga okre laj ca znaczenie pseudooceny u ytkownika ,

, – hybrydowa waga korelacji u ytkowników i .

Po obliczeniu prognoz rekomendacji, w podej ciu hybrydowym post puje si tak, jak

zosta o to opisane przy wspólnej filtracji. Analizowane s wyniki prognoz, wybierane

najlepsze i przedstawiane u ytkownikowi jako lista rekomendacji.

3.6. Podsumowanie Systemy rekomendacyjne s zaawansowanymi systemami, trudnymi do

implementacji. Ich wybór zale y od miejsca, w którym zostan u yte. Mechanizm

filtrowania z analiz zawarto ci bazuje na informacjach o produkcie oraz na jego

ciwo ciach. Takie podej cie znane jest z systemów wyszukiwania i filtrowania

informacji. Jest ono skuteczne, gdy mamy ma o wiadomo ci preferencjach danego

ytkownika. Nie maj c informacji o jego upodobaniach, mechanizm jest w stanie

zarekomendowa jedynie produkty, które s najbardziej podobne do tych ju znanych i

ogl danych przez u ytkownika. Powoduje to, e wykorzystanie tego podej cia do budowy

pe nego systemu rekomendacji mo e sta si ma o efektywne.

W sytuacji, gdy w systemie jest du o danych na temat u ytkowników i ich preferencji,

mo liwe jest zastosowanie mechanizmów wspólnej filtracji. Opieraj si one na zbieraniu

i analizowaniu informacji o zachowaniach u ytkowników oraz ich preferencjach. Na tej

podstawie s w stanie rekomendowa produkty bazuj c na obliczonym podobie stwie z

innymi u ytkuj cymi serwis, przy za eniu, e najbardziej podobni u ytkownicy wybior

te same przedmioty. Wspólna filtracja obarczana jest problemami zimnego startu,

skalowalno ci i rzadko ci danych. W celu ich unikni cia stosuje si ró ne zabiegi, w tym

rozszerzenie profilu u ytkownika o wektor z danymi demograficznymi. Wolnym od

powy szych problemów jest mechanizm filtrowania hybrydowego, cz cego oba

wymienione podej cia.

Przed implementacj wybranego mechanizmu w systemie rekomendacji, istotnym jest

okre lenie celów, jakie ma realizowa oraz przewidzenie danych, jakie b analizowane

w trakcie jego dzia ania. Dzi ki temu, na pocz tkowym etapie tworzenia systemu,

projektant ma mo liwo poznania problemów mog cych wyst pi w dzia aj cym

systemie i wybra odpowiednie metody je niweluj ce.

Page 36: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

36

Rozdzia 4

Aplikacja Findy

4.1. Za enia Aplikacja Findy jest praktyczn cz ci pracy. G ównym celem realizacji aplikacji jest

implementacja prototypu systemu zaawansowanych rekomendacji. W projekcie skupiono

si na wdro eniu dwóch mechanizmów rekomendacyjnych: filtrowania z analiz

zawarto ci omówionego w rozdziale 3.2 oraz wspólnej filtracji wykorzystuj cego pami

omówionego w rozdziale 3.3.1. Findy jest aplikacj internetow dzia aj na serwerze i

komunikuj si z komputerem u ytkownika poprzez sie komputerow przy u yciu

przegl darki internetowej.

Ide aplikacji jest pomoc u ytkownikowi w wyborze sposobu i miejsca sp dzenia

wolnego czasu. Na potrzeby projektu skupiono si na aktywnym sposobie, czyli

uprawianiu sportów w Warszawie. Aplikacja umo liwia wybór dyscypliny sportu,

rekomenduje u ytkownikowi najlepsze miejsca z wykorzystaniem filtrowania z analiz

zawarto ci wraz z mo liwo ci wyboru daty, kiedy ma odby si wydarzenie, a nast pnie

zapisuje wszystkie informacje w bazie danych. Stworzone w taki sposób wydarzenie

dzie wy wietlane u ytkownikowi w jego spersonalizowanym oknie wraz z

komunikatami o zbli aj cych si terminach. Dodatkowo, na wspomnianym

spersonalizowanym oknie b rekomendowane inne wydarzenia, które najbardziej pasuj

do u ytkownika z wykorzystaniem mechanizmu wspólnej filtracji wykorzystuj cego

pami .

Za eniem aplikacji Findy jest planowanie aktywno ci. W szybki sposób, w paru

krokach, u ytkownik ma mo liwo przejrzenia najbardziej pasuj cej oferty, wybrania tej

interesuj cej oraz u enie jej na swoim panelu, umo liwiaj c sprawne uk adanie grafiku

aktywno ci. Na bie co dany u ytkownik jest informowany o miejscach i wydarzeniach,

które mog by przez niego preferowane za spraw dzia ania mechanizmu rekomendacji

opartego na wspólnej filtracji. Dodatkowo ma mo liwo oceny danego miejsca

wydarzenia, co jest podstaw dzia ania algorytmów rekomendacji.

Page 37: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

37

4.2. Specyfikacja wymaga Poni ej przedstawiono specyfikacj wymaga funkcjonalnych i niefunkcjonalnych,

jakie za ono przy implementacji aplikacji Findy.

4.2.1. Wymagania funkcjonalne

1. Aplikacja wspiera tworzenie wydarze , w których u ytkownik chce wzi

udzia .

2. Aplikacja umo liwia gromadzenie wydarze u ytkownika i przypomina o

nadchodz cych terminach.

3. Aplikacja umo liwia ocenianie miejsc wydarze ,

4. Aplikacja umo liwia szczegó owy podgl d wydarzenia u ytkownika,

5. Aplikacja rekomenduje miejsca, na podstawie których u ytkownik ma

mo liwo stworzenia w asnego wydarzenia.

6. ytkownik mo e usuwa za one wydarzenia.

7. ytkownik mo e tworzy nowie miejsca wydarzenia, które mog by

rekomendowane innym u ytkownikom.

8. Aplikacja wy wietla komunikaty pomagaj ce w u ytkowaniu.

4.2.2. Wymagania niefunkcjonalne

1. Logowanie – aby u ytkownik móg zacz korzysta z aplikacji musi si

zalogowa podaj c login i has o, które s weryfikowane w bazie danych, po

czym nadawane s odpowiednie uprawnienia.

2. Dost pno – dost pno do aplikacji jest mo liwa ca dob , ka dego dnia.

3. ono – aplikacja powinna by intuicyjna, nauka korzystania z aplikacji

nie powinna zaj wi cej ni 10 minut.

4. Bezpiecze stwo – ka dy zarejestrowany u ytkownik powinien mie dost p

jedynie do wydarze i informacji, przechowywanych o nim samym.

4.3. Realizacja Aplikacja Findy jest aplikacj typu RIA (ang. Rich Internet Application) w wi kszo ci

napisan w technologii Vaadin, b cej szkieletem (ang. Framework) do tworzenia

aplikacji w j zyku Java. W Vaadinie zosta zaimplementowany interfejs u ytkownika,

wykorzystuj cy dodatkowo technologi Spring Framework. Oprócz tego wykorzystano

szkielet Hibernate do realizacji warstwy dost pu do danych zapisanych w bazie

PostgreSQL oraz technologi JSP do stworzenia dynamicznych stron z logowaniem

Page 38: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

38

ytkownika. Ca y projekt budowano przy u yciu narz dzia Apache Maven

automatyzuj cego proces kompilacji oraz pozwalaj cego w atwy sposób dodawa

zale no ci do zewn trznych bibliotek u ywanych w aplikacji. Zbudowana aplikacja

uruchamiana jest na serwerze aplikacyjnym Apache Tomcat w wersji 6.0.35.

4.3.1. Technologia Spring Framework

Framework Spring zosta u yty w wersji 3.0.5. RELEASE do tworzenia tzw. „ziaren”

(ang. Bean) za pomoc adnotacji. Ziarna opakowuj obiekty, np. metody, zmienne, w

jeden serializowalny obiekt pozwalaj cy na dostanie si do swoich elementów przy

pomocy metod dost powych „get” i „set”, za adnotacje pozwalaj na ich konfiguracj .

Aby adnotacje by y rozpoznawane przez kontekst Springa (czyli g ówny interfejs

zapewniaj cy konfiguracj aplikacji podczas jej dzia ania), zosta a uruchomiona us uga

adnotacji w pliku konfiguracyjnym applicationContext.xml. Dodatkowo wskazano

pakiet pl.findy.web, gdzie kontekst ma szuka okre lonych adnotacji.

Najwa niejsze cz ci projektu, czyli algorytmy u ywane w mechanizmach

rekomendacji zosta y oznaczone adnotacj @Service. Korzystanie z nich mo liwe jest

dzi ki wstrzykiwaniu ich zale no ci (ang. Dependency Injection) poprzez adnotacj

@Autowired. Przyk adem jest zastosowanie w klasie MainWindowPresenter.java,

gdzie u yto wstrzykni cia prosto do pola collaborativeFilteringService:

@Autowired private CollaborativeFilteringService collaborativeFilteringService;

Dodatkowo u ywane s adnotacje @Component okre laj ce komponenty b ce ziarnami

klas prezenterów, widoków (które zostan omówione w rozdziale 5.3.3) oraz pozosta ych

obiektów, które wi si z warstw aplikacji.

Wykorzystywane s tak e adnotacje okre laj ce zasi g dzia ania ziaren, czyli czas ich

ycia. Dost pne s nast puj ce mo liwo ci okre lenia zasi gu: „singleton”, „prototype”,

„request”, „session” i „global session”. W aplikacji Findy stosowane s komponenty o

zasi gu „prototype”. Ma to zwi zek z architektur Vaadina, która zostanie dok adniej

omówiona w nast pnym podrozdziale. Vaadin jest aplikacj , która dzia a na serwerze,

przez co wysy a ona u ytkownikom tzw. terminale, czyli konkretne ekrany akcji. Z tego

wzgl du u ycie zasi gu typu „singleton” powodowa oby, e ka dy u ytkownik

odwiedzaj cy aplikacj widzia by dok adnie ten sam ekran, gdy ziarno tworzone by oby

Page 39: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

39

raz. Przyk adowo, gdyby jeden u ytkownik wywo by jak akcj , to ta sama akcja

zosta aby ukazana pozosta ym u ytkownikom. U ycie zasi gu „prototype” powoduje, e

je eli dana aplikacja po stronie klienta si gnie do kontekstu Springa po ziarno, to zostanie

ono stworzone jako nowy obiekt. Zasi g „request” w kontek cie Vaadina zachowuje si

podobnie jak „prototype”. Pozosta e typy zasi gów: „session” i „global session” s

stosowane w aplikacjach wykorzystuj cych interfejs „HTTPSession” do komunikacji i

tworzenia sesji pomi dzy klientem a serwerem.

4.3.2. Technologia Vaadin

W celu zobrazowania i przedstawienia dzia ania mechanizmów rekomendacji zosta

yty framework Vaadin, obecnie uwa any za bardzo dojrza y projekt fi skiej firmy

Vaadin (kiedy IT Mill Toolkit). Oparty jest na pakiecie Google Web Toolkit (GWT),

innym frameworku do budowania aplikacji internetowych. Charakteryzuje si tym, e

jego standard zapewnia poprawne wy wietlanie kontrolek, czyli komponentów, na

wszystkich najbardziej popularnych przegl darkach.

Dzieki u yciu Vaadina, GWT wykorzystywane jest raz. Dzieje si to jedynie w

momencie, kiedy kontrolki u ywane w aplikacji, takie jak pole do wpisywania tekstu, czy

lista rozwijana, s kompilowane przez GWT. Od tego momentu mo na ich u ywa bez

ponownych aktualizacji przy rekompilacji projektu. Oznacza to, e ka da zmiana w

kodzie nie b dzie nios a ze sob konieczno ci budowy projektu na nowo. Zmiany te

zostaj automatycznie wprowadzane w trakcie dzia ania aplikacji na serwerze, która

wymaga jedynie od wie enia w przegl darce, aby zmiany by y widoczne.

Pozosta e przypadki wykorzystania frameworków zosta y stworzone na nowo przez

Vaadina. Dzi ki temu mo liwe by o unikni cie wad, jakie niesie ze sob u ywanie

normalnego GWT, mi dzy innymi problemów internacjonalizacyjnych (wymóg

tworzenia dodatkowych modu ów obs uguj cych zmiany j zyka) oraz problemów z

szybkim przyrostem aplikacji (im wi kszy rozmiar aplikacji, tym szybciej zwi ksza si

rozmiar JavaScriptu generowanego przez GWT, w przeciwie stwie do Vaadina, gdzie

generowany JavaScript zwi ksza si nieznacznie w czasie rozwoju projektu, co opisano

w nast pnym akapicie). Innym udogodnieniem w porównaniu do GWT jest brak

konieczno ci dzielenia kodu na cz serwerow i klienck . Kod aplikacji napisanej w

Vaadinie jest wykonywany w ca ci po stronie serwera. Powoduje to, e aplikacje pisze

si atwiej, lecz serwer jest bardziej obci any. Jednak w dobie dzisiejszego rozwoju

Page 40: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

40

techniki obci enie to jest niemal niewidoczne. Aplikacja Findy rednio u ywa 33kB

pami ci RAM, co daje mo liwo podtrzymywania 30000 sesji na ka dy 1 GB pami ci.

W Vaadinie to, co przesy ane jest do klienta do przegl darki, jest niezale ne od

wielko ci aplikacji, poniewa wysy any jest tylko obiekt zmiany informuj cy o sposobie

wy wietlania i zachowania si kontrolek. Ka de po czenie klienta z aplikacj powoduje

traktowanie go jako klienta terminala, który odbiera wspomniany obiekt zmiany

zawieraj cy informacj np. jak widok ma si zmieni pod wp ywem akcji w aplikacji.

Obiekt zmiany tworzony jest za pomoc j zyka UIDL (User Interface Definition

Language) opartego na notacji JSON (JavaScript Object Notation), co przedstawiono na

rys. 6. Mechanizm UIDL pozwala na przesy anie obiektów „lekkich”, które mog by

liczone w bajtach, w przeciwie stwie do j zyka XML, gdzie wyst puje narzut tagów, co

zwi ksza obj to obiektów. Widok w aplikacji, podobnie jak w przypadku innych

aplikacji internetowych, kompilowany jest do JavaScriptu, dlatego dodatkowe stosowanie

UIDL pozwala na szybk komunikacj z serwerem.

Page 41: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

41

Rys. 6. Architektura Vaadin’a ród o:Book of Vaadin, rozdzia 3.1, vaadin.com/book/

Na rysunku przedstawiono tak e Vaadin Terminal Adapter, który jest niewidoczny dla

ytkowników. Jest to abstrakcyjna warstwa stworzona przez twórców Vaadina, która w

atwy sposób pozwala na przej cie do innej technologii kompilacji kontrolek. Tak jak

teraz pozwoli a na u ycie GWT, tak w przysz ci pozwoli na szybkie przej cie do innej

technologii, np. bardziej efektywnej. Poni ej w architekturze mamy wspomniane

kontrolki u ytkownika, które s w stanie wi za si z danymi w bazie danych oraz logik ,

czyli sam aplikacj napisan w Vaadinie.

Pisanie aplikacji przebiega bardzo podobnie, jak przy pisaniu aplikacji desktopowych

z wykorzystaniem Java Swing. Programista zwolniony jest z obowi zku znajomo ci

Page 42: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

42

zyka HTML, JavaScript, czy arkusza stylów CSS. Dzi ki temu tworzenie interfejsu

graficznego przesta o by wymagaj czynno ci , pozwalaj c na po wi cenie du o

wi cej czasu na implementacj logiki aplikacji. Przyk ad tworzenia cz ci widoku

wyst puj cy w oknie modalnym 2 kroku wyboru wydarzenia zaprezentowano poni ej.

public void initialize() { VerticalLayout dateLayout = new VerticalLayout(); dateLayout.addComponent(getDateFields()); dateLayout.setComponentAlignment(dateField, Alignment.MIDDLE_CENTER); addComponent(dateLayout); }

Pocz tkowo odbywa si okre lenie uk adu widoku. Wybrany zosta uk ad pionowy, czyli

kolejne komponenty b dodawane w pionie. Nast pnie do stworzonego uk adu dodane

jest pole z dat i okre lone zostaje jego po enie wzgl dem uk adu: wy rodkowane. Aby

stworzy powy szy interfejs graficzny nie jest potrzebne wype nianie arkusza CSS czy

ustawianie elementów na stronie HTML. Wystarczy znajomo Javy Swing i dodawanie

kolejnych komponentów do siebie. Za kwesti wygl du strony i jej interfejsu graficznego

odpowiada Vaadin, a konkretnie jeden z trzech motywów dost pnych do wyboru:

Chameleon, Reindeer i Runo Theme. Pierwszy z nich mo emy dodatkowo zmienia w

edytorze on-line udost pnionym przez Vaadina. Po dostosowaniu go do w asnych potrzeb

wystarczy go podmieni w aplikacji, aby zmiany by y widoczne.

Zastosowanie technologii Vaadin pozwoli o na atwe dostosowanie interfejsu

ytkownika do potrzeb mechanizmów rekomendacji. W aplikacji rekomendacj jest

obiekt wydarzenia, który zosta wybrany przez zastosowany algorytm filtrowania. Taki

obiekt ma w sobie informacje o miejscu wydarzenia oraz o uprawianej dyscyplinie.

Nast pnie ka dy taki obiekt wydarzenia wi zany jest z obiektem typu panel, po czym

wy wietlany u ytkownikowi jako rekomendacja.

4.3.3. Wzorzec Model-View-Presenter

Technologia Vaadin nie ma okre lonego wzorca tworzenia aplikacji, dlatego wybrany

zosta wzorzec model-widok-prezenter (ang. Model-View-Presenter), którego diagram

klas zaprezentowano w dodatku A. W zastosowanym wzorcu prezenter przechowuje stan

widoku, dlatego jest on dost pny ca y czas, gdy obecny jest jego widok. Ró ni si to od

koncepcji kontrolera w powszechnie wykorzystywanym wzorcu model-widok-kontroler

(ang. Model-View-Controler), gdzie kontroler jedynie zwraca widok i ko czy swoje

dzia anie.

Page 43: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

43

Istniej dwa podwzorce tworzenia widoku. Pierwszym jest podej cie „supervising

controller”, gdzie prezenter dopuszcza powi zanie widoku z warstw danych, czyli

modelem. Wówczas prezenter nadzoruje ca operacj , przekazuj c widokowi jedynie

polecenia (np. o pobraniu danych), a nast pnie widok sam pobiera z modelu potrzebne

informacje. Drugim podej ciem, które zastosowano w aplikacji Findy jest „passive view”.

W takim przypadku widok nie ma informacji o tym, co wykonuje, ani jak dzia a logika

aplikacji. Jest odseparowany tak e od ród a danych. Funkcj zarz dzania takim

widokiem przejmuje prezenter, który odbiera od widoku informacje o tym, co zosta o na

nim wykonane, a nast pnie na tej podstawie kieruje jego dalsz prac . Przyk adem mo e

by klikni cie przycisku na widoku, które ma na celu za adowanie danych. Gdy prezenter

odbierze tak informacj i odpowiednio j przetworzy, b dzie wiedzia sk d pobra

wymagane dane, a nast pnie prze le dane do widoku w celu ich wy wietlenia.

W projekcie u yto interfejsów reprezentuj cych prezentera. Taki prezenter

uruchamiany jest przez zdarzenie, np. klikni cie na odpowiedni przycisk. Wówczas

prezenter wywo any przez takie zdarzenie zwraca widok jako komponent, którym

zarz dza. Specjalnym typem widoku i prezentera jest tzw. wizard, czyli umo liwienie na

jednym ekranie wybierania kolejnych paneli i elementów. Zosta on u yty w oknie

wyboru wydarzenia u ytkownika w aplikacji Findy.

Model jest warstw dost pu do danych, gdzie zastosowano komponenty, które

dostarczaj odpowiednie interfejsy do komunikacji mi dzy aplikacj , a baz danych. W

implementacji zastosowano obiekty DAO (ang. Data Access Object) przy u yciu

narz dzia Hibernate. W ramach projektu stworzono generyczne DAO, które pozwala na

dynamiczne przeprowadzenie operacji CRUD na bazie danych dla ka dego obiektu. Gdy

odpowiedni obiekt zostanie wskazany, zostanie automatycznie zmapowany na

odpowiedni tabel bazodanow .

4.4. Praca z aplikacj Aby móc korzysta z aplikacji Findy nale y najpierw zalogowa si loginem i has em.

Z podanego has a generowany jest skrót za pomoc algorytmu kryptograficznego MD5, a

nast pnie wraz z loginem sprawdzana jest ich obecno w bazie danych. Gdy u ytkownik

zostaje znaleziony przekierowywany jest na stron z aplikacj .

Po przej ciu procedury logowania, uruchamiana jest aplikacja Findy. Jej ekran g ówny

zaprezentowany jest na rys. 7. G ównymi cz ciami sk adowymi s nag ówek, pasek

Page 44: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

44

nawigacji oraz panel u ytkownika. W nag ówku mamy mo liwo wpisania nazwy

dyscypliny, jak chcemy uprawia . Po wpisaniu odpowiedniego has a i klikni ciu w

przycisk „+”, otworzone zostanie okno modalne z mo liwo ci wybrania szczegó ów

nowo tworzonego wydarzenia. W pasku nawigacji znajduj cym si po lewej stronie

ekranu g ównego, ukazane s rekomendacje powsta e przy u yciu wspólnej filtracji. Po

klikni ciu na przycisk „o” panelu z rekomendacj uka e si podobne, jak wy ej, okno

modalne z podanymi szczegó ami danej rekomendacji. W panelu u ytkownika

stanowi cym g ówn , centraln cz ekranu, zebrane s panele, które odpowiadaj

wydarzeniom danego u ytkownika. Mog by one oznaczone trzema kolorami:

czerwonym – je li wydarzenie si odby o, tym – je li do wydarzenia zosta o mniej ni

1 dzie , oraz zielonym – je li wydarzenie odb dzie si , za co najmniej 1 dzie . Na

panelach mamy tak e przyciski „-” s ce do usuwania danego wydarzenia z profilu

ytkownika, oraz „o”, które ukazuje szczegó y danego wydarzenia oraz oferuje

mo liwo oceny danego miejsca.

Rys. 7. Ekran g ówny aplikacji Findy

Tworzenie nowego wydarzenia polega na przej ciu dwóch kroków, które ukazuj si

kolejno na oknie modalnym typu „wizard”. W pierwszym oknie, które przedstawiono na

rys. 8., u ytkownik ma mo liwo podania nazwy tworzonego wydarzenia oraz wyboru

Page 45: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

45

miejsca na mapie, którego wydarzenie b dzie dotyczy . Wybranie miejsca na mapie

mo liwe jest albo poprzez wybór jednego z zarekomendowanych znaczników na mapie

przez mechanizm filtrowania z analiz zawarto ci, albo poprzez samodzielne stworzenie

asnego znacznika. Wybór znacznika w pierwszym sposobie jest nieintuicyjny, gdy

samo klikni cie na niego nie powoduje automatycznie jego wybrania. Nale y lekko

znacznik przesun na mapie, by uznany by za wybrany przez u ytkownika. Przyczyn

takiego zachowania jest niekompatybilno najnowszej wersji 0.9.13 dodatku

GoogleMapWidget ze stabiln wersj 6.7.8 Vaadina. W tej wersji Vaadina

nieobs ugiwany jest s uchacz MarkerClickListener, a jedynie MarkerMovedListener, st d

zdecydowano si na u ycie opcji z przeci gni ciem znacznika.

Rys. 8. Krok 1 tworzenia wydarzenia

Po przej ciu do nast pnego kroku przy u yciu przycisku „Dalej” pojawi si mo liwo

wyboru daty wydarzenia, co pokazano na rys. 9. Domy lnie wybrana jest data aktualna.

Zako czenie operacji dodawania wydarzenia po wci ni ciu przycisku „Utwórz” sprawi,

Page 46: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

46

e na panelu u ytkownika zostanie dodany nowy panel, reprezentuj cy nowo dodane

wydarzenie.

Rys. 9. Krok 2 tworzenia wydarzenia

4.5. Sposób implementacji algorytmów rekomendacji W aplikacji Findy zaimplementowano dwa mechanizmy rekomendacji. Pierwszym

jest filtracja z analiz zawarto ci korzystaj ca z obliczania miary kosinusowej, a drugim

jest wspólna filtracja wykorzystuj ca pami wspomagana dodatkowo danymi

demograficznymi. Podczas implementacji u yto g ównie wzorców „Najpierw najlepszy”

oraz „Personalizacja”, które zosta y omówione w pierwszym rozdziale.

Mechanizmy rekomendacyjne obliczaj potrzebne prognozy i sugestie na podstawie

profili u ytkowników i przedmiotów. Profile te tworzone s za pomoc obu podej

okre lonych w rozdziale drugim. Podej cie aktywne objawia si obowi zkowym

wyborem miejsca zamieszkania przy pierwszym zalogowaniu, co jest wykorzystywane

przy filtrowaniu z analiz zawarto ci, oraz udost pnieniem mo liwo ci ocenienia miejsca

wydarzenia, które stanowi podstaw dzia ania mechanizmu wspólnej filtracji. Oprócz

podej cia aktywnego wykorzystywane jest tak e podej cie pasywne. System przechowuje

wydarzenia u ytkownika oraz analizuje, jaka dyscyplina sportu jest aktualnie wybierana.

Na podstawie takich danych mo liwe jest dope nienie profili u ytkowników tak, aby

rekomendacje by y relatywnie najlepsze.

4.5.1. Implementacja filtracji z analiz zawarto ci

Gdy u ytkownik zdecyduje si na wybór dyscypliny sportu, to kluczowym elementem

aplikacji Findy jest rekomendacja najbli szych miejsc, gdzie mo e t aktywno

Page 47: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

47

uprawia . Zosta do tego wybrany mechanizm filtrowania z analiz zawarto ci, czyli

oparty tylko na cechach przedmiotów, bez uwzgl dniania preferencji innych

ytkowników. Prognoza trafno ci danej rekomendacji opiera si na obliczeniu korelacji

pomi dzy profilem u ytkownika, a profilem danego wydarzenia, których zawarto

przedstawiono w Tabeli 2, wraz z przyk adowym wywo aniem metod pobieraj cych

dane.

Tabela 2 Struktura profili u ytkownika i wydarze u ywanych przy rekomendacji „Content-based Filtering”

Nazwa ytkownika

Wspó rz dna X u ytkownika Wspó rz dna Y u ytkownika

user. getName()

user.getLocalizationX() user.getLocalizationY()

Nazwa wydarzenia

Wspó rz dna X miejsca wydarzenia

Wspó rz dna Y miejsca wydarzenia

place. getName()

place.getLocalizationX() place.getLocalizationY()

Serwis, który odpowiada za stosowanie i obliczanie algorytmów niezb dnych do

filtrowania z analiz zawarto ci znajduje si w klasie

ContentBasedFilteringService. Znajduj si tam dwie metody:

makePlaceOfEventVector(PlaceOfEvent placeOfEvent) i makeUserVector

(FindyUser findyUser), które odpowiednio tworz wektor miejsca wydarzenia oraz

wektor u ytkownika. Na potrzeby aplikacji wektory te sk adaj si tylko z dwóch

atrybutów przedstawionych w Tabeli 2. Nast pnie obliczany jest wspó czynnik

podobie stwa, czyli korelacja pomi dzy tymi wektorami. Zgodnie z tym, co opisano w

rozdziale 3.2, u yto sposobu wykorzystywanego m.in. w serwisie Amazon, czyli miary

odleg ci kosinusowej, a wykonuje j metoda

countCosineSimilarity(vectorFindyUser,vectorPlaceOfEvent),

znajduj ca si w serwisie CosineSimilarityService, która przyjmuje w

parametrze dwa wektory o dowolnej równej d ugo ci, a nast pnie za pomoc wzoru (4)

wylicza korelacj . Ka da wyliczana korelacja jest normalizowana z wykorzystaniem

wzoru (2), po czym przy pomocy odpowiedniej struktury danych mapy, czona z

obiektem reprezentuj cym miejsce wydarzenia jako klucz danego obiektu. Stworzone

pary klucz-warto s w ko cowym etapie sortowana malej co po warto ciach obliczonej

korelacji za pomoc biblioteki Google Guava.

Na potrzeby testu przygotowano zbiór 18 danych testowych b cymi p ywalniami w

ró nych cz ciach Warszawy. Dla przyk adowego u ytkownika, którego profil sk ada si

Page 48: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

48

ze wspó rz dnych (21.014528; 52.230464) obliczono rekomendacj opart na

filtrowaniu z analiz zawarto ci, któr przedstawiono w Tabeli 3.

Tabela 3 Przyk adowe rekomendacje dla danych testowych przy u yciu „Content-based Filtering”

Id. Wspó rz dne miejsca wydarzenia Korelacja z u ytkownikiem 1 (20.942814 ; 52.221913) 0.0343158481256633 2 (20.991176 ; 52.208914) 0.03431407312753843 3 (20.984428 ; 52.216551) 0.034312729273387556 4 (20.977472 ; 52.230592) 0.03430966035440842 5 (20.994464 ; 52.236352) 0.034306219145497883 6 (20.928896 ; 52.274624) 0.034302996686063264 7 (20.988848 ; 52.255584) 0.034301589134495054 8 (21.013188 ; 52.246384) 0.03430142460409226 9 (20.997452 ; 52.260512) 0.0342992995546276 10 (20.978141 ; 52.275584) 0.03429731284429493 11 (20.984624 ; 52.276832) 0.03429625994502311 12 (20.968296 ; 52.284624) 0.03429593171783209 13 (20.954421 ; 52.296832) 0.03429413206403262 14 (21.12005 ; 52.231398) 0.034293811360119296 15 (21.114176 ; 52.24672) 0.03429027458076378 16 (21.11748 ; 52.253918) 0.03428795173468065 17 (21.032864 ; 52.298944) 0.03428494169857731 18 (21.213096 ; 52.228101) 0.03428457556869002

W ko cowym kroku zwracane s klucze ze wspomnianej mapy, czyli miejsca

wydarzenia, posortowane od najbardziej pasuj cych do u ytkownika. Nast pnie na mapie

umieszczanych jest 5 pierwszych pozycji, czyli zgodnie ze wzorcem Top-5

recommendation. Zastosowana rekomendacja przedstawiona jest na rys. 10.

Page 49: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

49

Rys. 10. Przyk adowa rekomendacja bazuj ca na danych testowych

4.5.2. Implementacja wspólnej filtracji

Za eniem aplikacji Findy by a mo liwo proponowania u ytkownikowi obiektów,

których jeszcze nie zna, a mog yby by uznane przez niego za interesuj ce. Aby taka

funkcjonalno by a mo liwa, niezb dne jest wykorzystanie algorytmów obliczaj cych

miar podobie stwa u ytkowników. Na podstawie tej miary istnieje mo liwo wybrania

takich obiektów, które zosta y docenione przez najbli szych s siadów, dlatego mog by

tak e docenione przez aktywnego u ytkownika. W tym celu wybrano mechanizm wspólnej

filtracji oparty na pami ci, który zosta opisany w rozdziale 3.3.1., gdy jest najbardziej

elastyczny i za jego pomoc atwo mo na ukaza rekomendacj w praktyce.

Pierwszym krokiem jest obliczenie najbli szego s siedztwa u ytkownika.

Wykonywane jest to przez metod countPearsonCorrelation(List<FindyUser>

findyUsers, FindyUser findyUser) w serwisie PearsonCorrelationService.

Przyjmuje ona dwa parametry: list wszystkich u ytkowników bez aktualnego

ytkownika oraz aktualnego u ytkownika, a zwraca map Map<FindyUser, Double>.

Mapa ta zawiera powi zanie ka dego u ytkownika i miary korelacji Pearsona z aktualnym

ytkownikiem, która liczona jest zgodnie ze wzorem (5). W ko cowym etapie, korelacja

Pearsona jest jeszcze poddawana normalizacji (6).

Nast pnym krokiem jest wyliczenie prognozy rekomendacji na podstawie obiektów,

których nie oceni , ani nie analizowa dany u ytkownik, a robili to pozostali z najbli szego

siedztwa. W tym celu u yte zosta o równanie (7). Spo ród wszystkich wydarze

Page 50: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

50

mechanizm wybiera tylko te, które zosta y ocenione przez u ytkowników oraz te, których

aktywny u ytkownik jeszcze nie oceni . Wykonywane jest to przez metod makeMapOFEventsToRecommendation (Map<FindyUser, Double>

mapOfNeighbourhood, List<UserEvent> userEventsForRecommendation,

FindyUser findyUser) w serwisie CollaborativeFilteringService. Metoda ta

przyjmuje kolejno map zawieraj powi zanie u ytkownika i wyliczonej korelacji

Pearsona z aktywnym u ytkownikiem obliczonej w poprzednim kroku, list wszystkich

wydarze w serwisie oraz profil danego u ytkownika. Zwraca ona posortowan map

cz miejsce wydarzenia z jako ci rekomendacji, od najbardziej trafnych, do

najbardziej nieznacz cych.

Po stworzeniu powy szej mapy, mechanizm jest w stanie wytworzy list

rekomendacyjn . Miejsca wydarze , które maj by zarekomendowane, ukazywane s

ytkownikowi w panelu nawigacyjnym w formie paneli, zgodnie ze wzorcem Top-4

recommendation.

Powy sze dzia anie jest jednak niewystarczaj ce, gdy nie jest odporne na problem

nowego u ytkownika i inne, które zosta y opisane w rozdziale 3.4.. W sytuacji, gdy do

systemu loguje si u ytkownik, który nie postawi jeszcze adnej oceny, to system nie jest

w stanie porówna go z adnym innym u ytkuj cym serwis. Aby zapobiec temu

problemowi, wzbogacono mechanizm rekomendacji o analiz danych demograficznych.

Ka demu u ytkownikowi przypisywany jest wektor reprezentuj cy jego profil

demograficzny. Sk ada si on z atrybutów zawartych w Tabeli 1. oraz dodatkowych trzech,

okre laj cych miejsce zamieszkania u ytkownika: pó nocna Warszawa, rodkowa

Warszawa, oraz po udniowa Warszawa. Dzi ki utworzeniu takich profili przy u yciu

metody makeDemographicVectorOfUser (FindyUser findyUser), mo liwe jest

wyliczenie na ich podstawie miary podobie stwa u ytkowników. Do tego celu u yto

ponownie miary kosinusowej opisanej w poprzednim rozdziale. Nast pnie tworzona jest

mapa cz ca u ytkownika i jego miar podobie stwa z aktywnym u ytkownikiem. W

dalszym kroku u ywana jest ponownie metoda

makeMapOFEventsToRecommendation(), lecz teraz z u yciem mapy opartej na danych

demograficznych.

Dzi ki zastosowanemu sposobowi, system jest odporny na problemy zimnego startu,

rzadko ci danych i nowego u ytkownika. W sytuacji, gdy aktywny u ytkownik nie ma

ocenionych przedmiotów lub takich ocen jest ogólnie ma o w systemie, typowy

Page 51: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

51

mechanizm wspólnej filtracji zast powany jest wspomaganym przez dane demograficzne,

który jest w stanie zarekomendowa produkty bazuj c na podobie stwie demograficznym.

Dla przyk adowych danych treningowych mechanizm rekomendacji danych wylicza

prognozy rekomendacji zawarte w Tabeli 4., gdzie „Id. M” oznacza identyfikator miejsca

wydarzenia, a „Id. D.” oznacza identyfikator dyscypliny, której dotyczy.

Tabela 4 Przyk adowe rekomendacje dla danych testowych przy u yciu „Collaborative-based Filtering”

Id. M. Id. D. Rekomendacja oparta na „Collaborative-based Filtering”

Rekomendacja oparta na „Collaborative-based Filtering”

i dane demograficzne 1 2 3.6726244272871664 -0.4304816216540128 1 3 2.6726861880795467 -0.8536107249209965 6 7 1.9651811280232696 -0.4774959664614553 7 7 1.9643966019741497 -1.1533271730684431 8 7 0.4652751831359738 0.7564044705769841 9 7 1.9643966019741497 -1.1533271730684431

Na powy szym przyk adzie wida , e oba podej cia rekomendacji mog da ró ne

rezultaty. Przy u yciu samego mechanizmu wspólnej filtracji wykorzystuj cego pami

wida , e najbardziej trafna b dzie rekomendacja miejsca wydarzenia o id = 1

i dyscyplinie o id = 2. W sytuacji, gdy mechanizm skorzysta dodatkowo z danych

demograficznych, to najlepiej pasuj cym oka e si miejsce wydarzenia o id = 8 i

dyscyplinie = 7. Chc c oferowa wydarzenia najlepiej trafiaj ce w gusta u ytkowników,

wi kszy priorytet ma rekomendacja wykonana tylko na podstawie filtrowania z analiz

zawarto ci. W sytuacji, gdy taka rekomendacja nie zwróci wystarczaj cej liczby

rezultatów, b nawet adnego, wówczas u ywany jest mechanizm dodatkowo

wykorzystuj cy dane demograficzne. Dzi ki temu ka da graniczna sytuacja w systemie

dostarczy odpowiednich rekomendacji.

4.6. Mo liwo ci rozwoju Aplikacja Findy, cho jest tylko prototypem implementuj cym wybrane mechanizmy

rekomendacji danych, mo e by rozwijana w bardzo wielu kierunkach. Jednym z nich

mo e by interakcja z serwisem spo eczno ciowym Facebook. Wówczas rejestracja nie

by aby niezb dna, a proces logowania by by zintegrowany z tym serwisem. Taki wybór

umo liwia by tak e tworzenie wydarze o zasi gu spo eczno ciowym oraz poznawanie

ytkowników o podobnych upodobaniach sportowych. Okno tworzenia wydarzenia

zosta oby poszerzone o krok 3, polegaj cy na dodaniu znajomych do danego nowo

Page 52: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

52

tworzonego wydarzenia, a panel u ytkownika o propozycje uczestnictwa w grupowych

wydarzeniach utworzonych przez najbli szych znajomych.

Inn mo liwo ci rozwoju jest umo liwienie reklamowania miejsc. W takim

przypadku nie by oby mo liwe wybranie w asnego miejsca wydarzenia, a jedynie tych

reklamowanych przez serwis. Baza miejsc wydarze by aby typowo skomercjalizowana,

czyli zawiera aby tylko takie miejsca, które zgodzi yby si na reklamowanie w serwisie. W

takim przypadku przestrze obiektów by aby relatywnie wi ksza, co poci gn oby za sob

konieczno jeszcze wi kszej optymalizacji systemu oraz konieczno kontroli

efektywno ci i trafno ci u ytych mechanizmów rekomendacyjnych w trakcie dzia ania

aplikacji.

Zaimplementowane mechanizmy rekomendacyjne s w pe ni funkcjonalne i spe niaj

swoj rol , lecz mo liwo ci rozwoju jest zmiana wykonywania obliczania rekomendacji

dla u ytkowników. W obecnym prototypie rekomendacje obliczane s przy ka dym

za adowaniu okna g ównego aplikacji. Operacja ta mog aby zosta sparametryzowana i

okre la moment ponownego obliczenia rekomendacji, np. raz dziennie w godzinach

wieczornych, gdy ruch u ytkowników po aplikacji by by ni szy. Spowodowa oby to

mniejsze obci enie serwera w godzinach szczytu.

Page 53: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

53

Rozdzia 5

Podsumowanie Zastosowanie mechanizmu filtrowania z analiz zawarto ci, omówionego w rozdziale

4.5.1., spe ni o swoj rol . W krótkim czasie pozwoli o na efektywne i trafne

rekomendacje miejsc wydarze . Rozwi zanie to jest wolne od problemu, jakim jest nowy

ytkownik, gdy do obliczenia korelacji z przedmiotami wystarcza informacja o jego

miejscu zamieszkania podawana po pierwszym zalogowaniu. Problemem mo e jednak

okaza si rozrost bazy danych. W prototypie aplikacji Findy skupiono si jedynie na

miejscach na terenie Warszawy, gdzie liczba miejsc jednego typu, np. p ywalni, b dzie

liczona w dziesi tkach lub setkach. W sytuacji gdyby przestrze informacji o miejscach

zosta a poszerzona np. o dane z ca ej Polski, problemem by by wyd ony czas

odpowiedzi systemu rekomendacyjnego, a jednym z jego za jest zwrócenie

odpowiedzi w czasie jak najkrótszym. Rozwi zaniem mog oby by omówione wcze niej

grupowanie, które pozwoli oby na podzia przyk adowego kraju na obszary, do których

ogranicza yby si mechanizmy licz ce korelacje. Innym sposobem mo e by obliczanie

rekomendacji off-line w czasie, gdy ruch w aplikacji by by najmniejszy, lecz w takim

przypadku niezb dne by oby przygotowanie bazy danych do przechowywania ko cowych

wyników oblicze . Inna zauwa alna wada tego rozwi zania polega na tym, e cz sto

pokazywane s miejsca wydarze , które u ytkownik ju zna, powoduj c, e ogl da tylko

cz zgromadzonych obiektów w bazie. Jednak z drugiej strony, sposób u ycia

filtrowania z analiz zawarto ci w aplikacji wolny jest od problemu, jakim jest

rekomendacja u ytkownikowi obiektów wyszukiwanych na podstawie wielu atrybutów.

Przyk adem takiej sytuacji jest ksi garnia internetowa, która na podstawie analizy

preferencji u ytkownika tworzy aby profile sk adaj ce si z wielu ulubionych autorów,

gatunków, czy daty wydania. Taki przypadek wymaga by utworzenia skomplikowanego

zapytania, które musia oby by specjalnie optymalizowane, by zwróci o wyniki w

rozs dnym czasie. W zastosowanym rozwi zaniu wyszukujemy zawsze jeden rodzaj

obiektów. Ten, który jest powi zany z dyscyplin wybran przez u ytkownika.

Podobnie zastosowanie mechanizmów omówionych w rozdziale 4.5.2. pozwoli o na

spe nienie za zaawansowanego systemu rekomendacyjnego. W efektywny sposób

wyszukiwane s obiekty uznane za najbardziej pasuj ce do aktywnego u ytkownika na

podstawie jego podobie stwa z innymi u ytkownikami. W tym celu u ywana jest historia

Page 54: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

54

wydarze zawieraj ca oceny nadane miejscu, gdzie odby o si dane wydarzenie.

Problemem mo e by du y rozrost tej historii. W sytuacji gdy u ytkownik b dzie mia

ug list wydarze , które ju si zako czy y, niezb dne b dzie wybranie tylko cz ci z

nich, gdy skorzystanie ze wszystkich w algorytmach rekomendacji spowoduje, e czas

reakcji systemu b dzie wyd ony. W takiej sytuacji nale y zoptymalizowa algorytmy

tak, aby wybiera y tylko np. najnowsze wydarzenia albo tylko te zawieraj ce miejsca

najcz ciej wybierane. Im wi kszy by by rozrost serwisu, tym wi ksza by aby przestrze ,

w której nale oby wykonywa obliczenia niezb dne w rekomendacjach. Wówczas koszt

takich oblicze móg by by za du y i korzystanie z aplikacji sta oby si niepraktyczne.

Rozwi zaniem w takim przypadku mog oby by wykorzystanie podej cia hybrydowego,

omówionego wcze niej, b zastosowania grupowania lub wyboru tylko cz ci

przestrzeni obiektów, lecz w takich przypadkach jako i trafno rekomendacji mog aby

by niska, gdy algorytmy rekomendacji bazowa yby na uogólnionych zbiorach.

W niniejszej pracy zosta y przedstawione ró ne podej cia w zastosowaniu

mechanizmów rekomendacji danych oraz ukazane przyk adowe ich zastosowanie. Wyniki

pracy wskazuj , e zaimplementowane algorytmy maj zdolno trafnego sugerowania

ytkownikowi obiektów dla niego interesuj cych. Prototyp systemu jest w stanie

przewidzie ocen u ytkownika na temat innych miejsc na podstawie ocen innych

ytkowników i ich korelacji. Zastosowane techniki bardzo dobrze sprawdzi y si na

zbiorze danych w aplikacji Findy. Ich dzia anie mo e by jednak dalej rozwijane w

kierunku wi kszej optymalizacji dla innych, specyficznych zbiorów danych.

Idealny system rekomendacji powinien by dynamiczny, co oznacza, e aktualizacja

profili i obliczanie rekomendacji powinno by wykonywane w jak najkrótszym czasie,

dlatego rozwój tego typu mechanizmów kierowany jest w stron coraz skuteczniejszej

optymalizacji czasu wykonania. Widoczne jest to g ównie w sytuacji, gdy mechanizmy

musz bazowa na rozleg ym zbiorze danych, dlatego wzrost mocy obliczeniowej

serwerów oraz opracowywanie algorytmów o jak najmniejszej z ono ci obliczeniowej s

bardzo pomocne w dziedzinie systemów rekomendacyjnych.

Problemem, z jakim musz mierzy si projektanci, jest wybór cz stotliwo ci

aktualizacji profili u ytkownika oraz ich rekomendacji. Do dzi trwaj dyskusje na ten

Page 55: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

55

temat, lecz bez w tpienia d y si do tego, aby wszelkie obliczenia by y wykonywane w

jak najkrótszym czasie, algorytmy oferowa y jak najni sz z ono obliczeniow , co

zmniejszy obci enie systemu i pozwoli na wyeliminowanie omawianych wcze niej

potencjalnych problemów przy stosowaniu mechanizmów rekomendacyjnych.

Page 56: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

56

Rozdzia 6

Literatura

[1] Bergmark D., Lagoze C., Sbityakov A., „Focused Crawls, Tunneling, and Digital

Libraries”, VI Europejska Konferencja Bibliotek Cyfrowych, Rzym, W ochy 2002,

str 3-5

[2] Bailyn E., Bailyn B., „Przechytrzy Google. Odkryj skuteczn strategi SEO i

zdob szczyty wyszukiwarek”, Helion, 2012

[3] Morville P., Callender J., „Wzorce wyszukiwania. Projektowanie nowoczesnych

wyszukiwarek”, Helion, 2011

[4] Hearst M., „UIs for Faceted Navigation Recent Advances and Remaining Open

Problems”, II Warsztaty na temat interakcji cz owiek-komputer – HCIR 2008, Redmond

2008, str 1-4

[5] Nudelman G., „Design Patterns for Mobile Faceted Search: Part I”,

http://www.uxmatters.com/mt/archives/2010/04/design-patterns-for-mobile-faceted-

search-part-i.php

[6] Marshall M., „ Aggregate Knowledge raises $5M from Kleiner, on a roll”,

http://venturebeat.com/2006/12/10/aggregate-knowledge-raises-5m-from-kleiner-on-a-

roll/

[7] Meteren R., Someren M., „Using Content-Based Filtering for Recommendation”,

str 1-3

[8] Tsissput, „Systemy rekomendacyjne od kuchni”,

http://tsiss.wordpress.com/2012/01/12/systemy-rekomendacyjne-od-kuchni/

[9] Chen A., McLeod D., „Collaborative Filtering for Information Recommendation

Systems”, str 1-4

[10] Su X., Khoshgoftaar T., „A Survey of Collaborative Filtering Techniques”, 2009,

str 5-11

Page 57: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

57

[11] Miyahara K., Pazzani M., „Improvement of Collaborative Filtering with the Simple

Bayesian Classifier”, str 4-10

[12] Vozalis M., Margaritis K., „Collaborative Filtering Enhanced By Demographic

Correlation”, str 3-6

[13] Vozalis M., Margaritis K., „ Enhancing Collaborative Filtering with Demographic

Data: The case of Item-based Filtering”, str 1-5

[14] Paterek A., „ Improving regularized singular value decomposition for collaborative

filtering”, str 2-3

[15] Lohr S., „ Netflix Awards $1 Million Prize and Starts a New Contest”,

http://bits.blogs.nytimes.com/2009/09/21/netflix-awards-1-million-prize-and-starts-a-

new-contest/

[16] Melville P., Mooney R., Nagarajan R., „Content-Boosted Collaborative Filtering for

Improved Recommendations”, str 1-4

[17] Herlocker, J., Konstan, J., Borchers, A., Riedl, J., „An algorithmic framework for

performing collaborative filtering”, 22 Konferencja Specjalnej Grupy do Wyszukiwania

Informacji - SIGIR ’99, Berkeley 1999, str 2-6

Page 58: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

58

Dodatek A

Diagram klas modelu MVP w aplikacji Findy

Page 59: Mechanizmy zaawansowanych rekomendacji w systemach portali … · Nowoczesne mechanizmy rekomendacji korzystaj z algorytmów, które s w stanie oszacowaü, jaka oferta b G ( jaki

59

Dodatek B

Zawarto p yty CD

Aplikacja Findy

Znajduj si tu wszystkie pliki niezb dne do uruchomienia aplikacji w rodowisku Eclipse oraz

skompilowana aplikacja w formacie .war, któr mo na uruchomi na serwerze aplikacyjnym.

Konfiguracja serwera aplikacyjnego

Znajduje si tu konfiguracja do serwera aplikacyjnego Apache Tomcat w wersji 6.0.35, któr

mo na uruchomi w rodowisku Eclipse.

Skrypty do bazy danych

W katalogu znajduj si skrypty do utworzenia bazy danych, tabel oraz dodaj ce dane

inicjalne, na których testowana by a aplikacja.

Praca in ynierska - Daniel Bie kowski.pdf

Praca in ynierska w formacie .pdf.