9 maja miałem okazję zaprezentować w ramach meetupu Warsaw Data Science koncepcję budowy silników rekomendacyjnych. Na realnym przykładzie zbioru filmów omawiałem krok po kroku kolejne etapy budowy mechanizmu rekomendacyjnego wykorzystującego techniki zaczerpnięte z teorii zbiorów rozmytych i logiki rozmytej.
Przygotowanie prezentacji stanowiło duże wyzwanie. Wiedziałem, że w ciągu godziny muszę przedstawić w sposób zrozumiały i klarowny nie tylko ideę działania zbiorów rozmytych ale także sposób ich implementacji w silniku rekomendacji. Co więcej, chciałem to wszystko podeprzeć „namacalnym” przykładem pokazującym jak wyglądają od strony matematyczno-algorytmicznej poszczególne etapy – począwszy od matematycznego zapisu rekomendacji poprzez przygotowanie modelu aż do wyznaczanie rekomendacji.
Na wstępie omówiłem zarys historyczny metod miękkiego modelowania. Podkreśliłem również wkład jaki mieli Polacy w jego rozwój (J. Łukasiewicz, E. Kofler, Z. Pawlak). Kolejnym krokiem było zobrazowanie różnic pomiędzy tradycyjną logiką – dwuwartościową – a logiką rozmytą.
Po przedstawieniu podstaw teoretycznych przeszedłem do praktyki. Posłużyłem się projektem który opisywałem na łamach bloga: „Silnik rekomendacji filmów„. Baza miała nieco ponad 2,7 tys. filmów. Sam silnik rekomendacji bazował na metodzie filtrowania opartej o indywidualne preferencje użytkownika (Content Based Filtering). Przedstawiłem jej plusy i minusy w odniesieniu do filtrowania opartego o preferencje użytkowników o podobnym guście (Collaborative Filtering).
Rekomendacje były wyznaczane dla fikcyjnego użytkownika, który jest fanem kina gangsterskiego i ocenił tylko 3 filmy:
- Ojciec Chrzestny,
- Chłopcy z Ferajny,
- Kasyno.
Chciałem pokazać, że w sytuacji gdy dany użytkownik ocenił niewiele filmów, filtrowanie CBF działa bardzo dobrze i przynosi dużo lepsze efekty niż CF. Potwierdziło to demo, podczas którego wyznaczyłem rekomendacje. W top 20 rekomendacji było wiele szlagierów kina gangsterskiego, m.in.:
- Donnie Brasco,
- Wrogowie Publiczni,
- Blow,
- Człowiek z blizną.
Jeśli nie miałeś okazji uczestniczyć w prezentacji, to link do mojej prezentacji, oraz wszystkich wspomnianych w niej materiałów wraz z bibliografią znajdują się poniżej.
Materiały z prezentacji:
Prezentacja w formacie .pptx
Prezentacja w formacie .pdf
Projekt „silnik rekomendacji filmów”
Zrzut bazy danych
Wszystkie pliki użyte do zbudowania silnika rekomendacji filmów
Bibliografia:
Wprowadzenie do modelowania rozmytego w silnikach rekomendacji
Zbiory rozmyte dla początkujących
Collaborative Filtering z użyciem logiki rozmytej
Mathematics of Fuzzy Sets and Fuzzy Logic
Fuzzy Sets and Fuzzy Logic – theory and applications
PODOBAŁ CI SIĘ TEN ARTYKUŁ?
Jeśli tak, to zarejestruj się, by otrzymywać informacje o nowych wpisach.
Dodatkowo w prezencie wyślę Ci bezpłatny poradnik :-)
Dodaj komentarz