Metody i algorytmy sieci bayesowskich w systemach rekomendujących M.A..Kłopotek & S.T.Wierzchoń Instytut Podstaw Informatyki Polskiej Akademii Nauk w Warszawie
Plan Sieci Bayesowskie Systemy rekomendujące Rodzaje systemów rekomendujących i możliwości zastosowań sieci bayesowskich
Sieci bayesowskie Przydatne do reprezentacji niepewności w AI Naturalna i związła reprezentacja rozkładów prawdopodobieństwa w wielu zmiennych Efektywne metody odpowiadania na zapytania (wnioskowania wstecz i w przód, uzasadnienia, wyjaśniania itp..) Wiele zastosowań Diagnostyka medyczna (PathFinder, QMR) Diagnostyka techniczna (Microsoft troubleshooter, NASA/Rockwell Vista project) Wyszukiwanie informacji (Ricoh helpdesk) Wykrywanie oszustw Sterowanie itp..
Sieci bayesowskie Efektywna obliczeniowo i przestrzennie metoda reprezentacji łącznego rozkładu prawdopodobieństwa Niecykliczny graf skierowany Węzły – zmienne losowe Łuki – bezpośrednie powiązania przyczynowo-skutkowe Węzły statystycznie niezależne wzgłedem swych rodziców
Sieci bayesowskie Pr(R,S,X,Z,Y)= Pr(Z) . Pr(S|Z) . Pr(Y|Z) . Pr(X|Y) . Pr(R|Y,S)
Sieci bayesowskie a dokumenty tekstowe są szczególnie atrakcyjne z uwagi na "rozmycie" pojęć oraz tworzenie asocjacji między dokumentami wykraczających poza obecność słów kwerendy. mogą pozwolić na oszacowanie liczby dokumentów spełniających kwerendę bez potrzeby odwoływania się do faktycznej bazy mogą być podstawą do określenia rozmytej siły związku między słowami/frazami, co może być podstawą do automatycznego wspomagania konstrukcji tezaurusów. mogą wspomagać rozmytą konstrukcję hierarchii pojęć i/lub dokumentów oraz rozmyte poszukiwanie odpowiedzi na kwerendy.
Sieci bayesowskie w IPI PAN Opracowano szybkie i pamięciooszczędne algorytmy konstrukcji sieci bayesowskich o strukturze drzewiastej z danych Sieci do 100,000 węzłów w ciągu 5-20 min. (implementacja w javie, PC Pentium II, zegar 500 MHz) Generalizują algorytm Chow/Liu Wykorzystują szczególną postać drzew decyzyjnych Działają przyrostowo (nowy węzeł nie wymaga budowy drzewa od nowa)
System rekomendujący Podpowiada kolejne akcje na bazie dotychczasowych zdarzeń Stosowany może być do rekomendacji Dla ludzi Dla systemów wieloagentowych Ogólnie w układach obiektów o ograniczonej wiedzy n.t. otoczenia
Rekomendacje przyjaciół Rekomendacje systemów System rekomendujący – mimika zachowań społecznych Co mam przeczytać? “In everyday life, we rely on recommendations from other people by word of mouth, recommendation letters, movies and book reviews printed in newspapers, or general surveys such as Zagat’s restaurant guides.… Recommender systems assist and augment this natural social process” -- Resnick & Varian \\They go beyond other IR systems, since they attempt to do information processing for an individual, trying to predict what their taste is, which we all know is a very personal thing. Rekomendacje przyjaciół Rekomendacje systemów
Zastosowania systemów rekomendujących Rekomendacje książek (Amazon, Barnes&Noble) Rekomendacje filmów… (Reel, RatingZone, Amazon) Rekomendacja muzyki… (CDNow, Mubu, Gigabeat) Rekomendacja stron WWW (Alexa) Rekomendacja dowcipów (Jester) Rekomendacja randek (Yenta) There have been all sorts of interesting applications of RS systems. Trying to replace people who advice us, for books, SO the assumption is that these CF algorithms can take these ratings of preference and translate these into meaningful predictions which we can then use.
Komercyjne rekomendery Firma Zastosowanie Technologia rekomendacji Amazon.com Customers who Bought Korelacje obiektów, dane o sprzedaży Eyes W oparciu o atrybuty Amazon.com Delivers Book Matcher Korelacja (upodobań) ludzi, Tekst Customers Comments Agregacja rang, stopni podobania się CDNOW Album Advisor My CDNOW eBay Feedback Profile Levis Style Finder Moviefinder.com Match Maker Korelacje obiektów, wybór edytora We Predict Korelacja (upodobań) ludzi, zagregowane rangi Reel.com Movie Matches Movie Map Oparte o atrybuty, wybór edytora
Na czym działają rekomendery Klient Stan (wektor atrybutów) Cele (wektor atrybutów i/lub tekst swobodny) Odpowiedzi na pytania systemu (rangowanie) Historia „zakupów” Społeczność klientów Historia zakupów klient-obiekt itp.. Historia rangowania klient-obiekt Obiekt na sprzedaż, (reprezentowane perzez „dokumenty”) Opis za pomocą atrybutów Opis za pomocą tekstu swobodnego Zbiorowisko obiektów na sprzedaż Kolekcja opisów
Typy systemów rekomendujących Rekomendacje w oparciu o wyszukiwanie Rekomendacje w oparciu o kategorie Klasteryzacja Reguły asocjacji Klasyfikatory Filtracja w oparciu o zawartość Filtracja społeczna (kolektywna)
Rekomendacje oparte o wyszukiwanie Klient wpisuje kwerendę « data mining customer » System wyszukuje obiekty Np.. 6 książek System rekomenduje niektóre w oparciu o ogólny, nieosobowy ranking (ranking sprzedaży, popularność, „PageRank” itp..)
Rekomendacje oparte o wyszukiwanie Zalety: Prosty w implementacji Wady Zależny od trafności reguł rankingu Brak personalizacji Klient dostaje tylko to, o co pyta
Sieci Bayesowskie a rekomendacja przez wyszukiwanie Węzły – słowa (termy) i/lub atrybuty Trenowanie – zbiór dokumentów Wynik: ranking dokumentów jako prawdopodobieństwo występowania dokumentów o danej zawartości.
Rekomendacje oparte o kategoryzację Obiekty przypisane do kategorii Wybór kategorii implicite (historia, zapytanie) lub explicite Pewne obiekty z wybranej kategorii (bestsellery, nowości) są rekomendowane ZASTOSOWANIE SIECI BAYESOWSKICH: Można nauczyć sieć asocjacji między kategorią a cechami klienta, historii, zapytania
Klasteryzacja Klasteryzacja klientów na bazie minionych zakupów (wspólnych obiektów) Każdy klaster opisany profilem preferencji jako „średnia” preferencji członków klastru Klienci otrzymują rekomendację obliczoną na poziomie klastra Nowy klient jest przypisywany do najbliższego klastra (klastow) i rekomenuje mu się na bazie profilu klastra (ew. z ważeniem)
Klasteryzacja Zalety: Wady: Szybkość (klasteryzacja agreguje dane) Może być stosowana jako pierwszy krok do redukcji danych w filtracji społecznej (kolektywnej) Wady: Rekomendacje (na poziomie klastru) są mniej relewantne niż w filtrowaniu kolektywnym (na poziomie indywiduum)
Zastosowanie sieci bayesowskich w klasteryzacji Drzewiaste sieci bayesowskie Węzły – klienci Trenowanie obiekty (kupił/nie kupił) Nowy klient – wstawiany do drzewa klastry jako rozbicie drzewa w najsłabszych miejscach
Reguły asocjacyjne Reguły asocjacyjne działają na poziomie obiektów sprzedawanych, w przeciwieństwie do Klasteryzacji (na poziomie klastrów klientów) Filtracji kolektywnej (na poziomie indywidualnych klientów) Reguły asocjacyjne mówią, które obiekty często są współkupowane (dla zadanego minimalnego wsparcia) Algorytm: np.. APRIORI Rekomendacja: Klient kupuje obiekt A, więc rekomendujemy mu często współkupowany obiekt B.
Reguły asocjacyjne Zalety: Wady Szybko można zaimplementować Działają szybko Niskie zapotrzebowanie na pamięć Nie ajmują się indywidualnym klientem Skuteczne w zastosowaniach dla dużych populacji klientów Wady Nie nadają się, gdy preferencje zmieniają się szybko Można ulec pokusie zaniżania poziomu wsparcia, co prowadzi do bzdurnych rekomendacji
Sieci bayesowskie a reguły asocjacyjne Alternatywna Sieć „asocjacji” Węzły – obiekty Trenowanie – wektory kupujących lub nie klientów Wnioskowanie – określenie prawdopodobieństwa zakupu dla klienta z konkretną historią
Klasyfikatory Klasyfikatory: to szeroka klasa modeli obliczeniowych, np.. Sieci neuronowe, sieci bayesowskie, alg.budowy drzew decyzyjnych itp.. Mogą wykorzysta na wejściuć: Wektor cech obiektów (akcji/przygodowy, Mikulski/Kloss) Preferencje klientów (np.. Akcji/przygodowy) Relacje między obiektami I dać na wyjściu Klasyfuikację Rangę Ocenę preferencji Potrzebny jest zbiór uczący (relacja wejście/wyjście)
Klasyfikatory Zalety: Wady: Wszechstronność Mog ą poprawić działanie innych rekomenderów w połaczeniu z nimi Wady: Wymagany jest odpoiedni zbiór uczący
Fitracja informacyjna (oparta o zawartość dokumentu) filtracja wykorzystująca zawartość dokumentów (content-based approach): analizując zachowanie pojedynczego użytkownika system tworzy jego profil i wyszukuje dokumenty zgodne z tym profilem; Niektóre systemy opieraja swe rekomendacje o analizę zawartości obiektu, takie jak: Strony Web FAB NetMind Personal Web Watcher Artykuły Newsgroup Reference.com
Czyli Filtrowanie informacji wyrasta z metod wyszukiwania informacji stosowane jest w sytuacjach gdy system przetwarza wyłącznie dane tekstowe. System poszukuje informacji podobnych do tych, które są preferowane przez użytkownika, w oparciu o ich zawartość i stosowne miary odległości Ilość informacji pochodzących od użytkownika może być ograniczona
Filtrowanie informacji - wady Podstawowa trudność to uchwycenie wszystkich merytorycznych aspektów zawartości dokumentu np. w takich dziedzinach jak muzyka, filmy, oprogramowanie, obsługa komputera itp. Nawet przy ograniczeniu się do dokumentów tekstowych większość reprezentacji może uchwycić jedynie pewne aspekty treści dokumentu, co skutkuje słabą jakością systemu.
Sieci Bayesowskie a filtrowanie informacyjne Węzły – słowa (termy) i/lub atrybuty Trenowanie – zbiór dokumentów Wynik: ranking dokumentów jako prawdopodobieństwo przynależności dokumentu do kwerendy
Filtracja kolektywna wykorzystanie reakcji innych użytkowników na ten sam dokument (opis produktu, kurs, ścieżka edukacyjna itp.). System poszukuje użytkowników o podobnych zainteresowaniach, zdolnościach i rekomenduje im potrzebne informacje.
Filtracja kolektywna Kurs Pascal Java C++ JavaScript CGI Administrator Oracle Użytkownik Oracle Użytkownik Unix user_1 6 7 5 1 2 3 user_2 - user_3 Większość rang przyznawanych przez user_1 i user_2 jest zgodna, czyli obaj użytkownicy należą do wspólnej grupy, zaś preferencje trzeciego użytkownika wskazują, że należy on do innej grupy.
Filtracja kolektywna „pokaż mi informację, której nigdy dotychczas nie widziałem, a która interesuje ludzi mojego pokroju”. Personalizowane rekomendacje realizowane są w trakcie iteracyjnego procesu gdzie przedstawia się informacje i prosi o ich szeregowanie, co pozwala ustalać profil użytkownika. Profil porównywany jest z profilami innych użytkowników systemu => wyłonienie grup o podobnych zainteresowaniach. Zamiast obliczać podobieństwo miedzy dokumentami, oblicza się tu stopień przynależności do grupy, ktory obliczany jest np. w oparciu o rangowania przyznawane przez użytkowników pozycjom kwestionariusza. nie dokonuje się analizy zawartości dokumentów, co oznacza, że dokument o dowolnej zawartości może być przedstawiony użytkownikowi z jednakowym sukcesem. Każdemu dokumentowi przypisywany jest identyfikator i stopień przynależności do grupy.
Filtracja kolektywna Podejście to charakteryzują dwie cechy Po pierwsze, relewantność dokumentów ustalana jest w kontekście grupy, a nie pojedynczego użytkownika. Po drugie, szacowanie wartości lub atrakcyjności dokumentów ma charakter subiektywny. Umożliwia to operowanie złożonymi, heterogenicznymi, wzorcami ocen.
Filtracja kolektywna - wady Niewielka, w stosunku do liczby dokumentów, liczba użytkowników zazwyczaj pociąga za sobą nieznaczne pokrycie pozycji kwestionariusza. Pojawienie się nowego dokumentu wymaga zbierania informacji od różnych użytkowników. Jeżeli gusta (wymagania) użytkownika różnią się istotnie od wymagań innych użytkowników obniża to jakość systemu.
Filtracja kolektywna – walka z wadami tworzy się profile wirtualnych użytkowników o bardzo specyficznych zainteresowaniach (por. system Ringo). Tzn. można z góry utworzyć określone profile grup, które będą ewoluować w trakcie funkcjonowania systemu.
Przykład filtracji kolektywnej: Metoda Pearsona u oraz j – indeks użytkownika m – indeks przedmiotu predykcji (dokumentu itp..) p – predykcja n – wielkość normalizująca w – waga powiązania między użytkownikami, zwykle współczynnik korelacji między użytkowikami, liczony po wspólnych minionych przedmiotach predykcji
Metoda klasteryzacyjno-personowska Algorytmem k-means tworzymy k klastrów użytkowników Centrum klastra jest użytkownik najlepiej skorelowany z pozostałym Tworzony jest profil klastra jako średni głos członków klastra Metoda predykcji z poprzedniego slajdu jest stosowana tak, jakby to profile klastrów były sąsiadami j danego użytkownika u. KORZYŚĆ: redukcja obliczeń podczas predykcji KOSZT: długi czas uczenia
Metody oparte o sieci bayesowskie pionowe Sieć, której węzłami są użytkownicy Uczenie = tak, jakby przypadkami były dokumenty (przedmioty predykcji) Predykcja = wnioskowanie przy znajomości głosów innych użytkowników KORZYŚĆ: symulacja ciągłej klasteryzacji
Metody oparte o sieci bayesowskie poziome Wstępna klasteryzacja użytkowników (np.. Metodami rozmytymi) Sieć bayesowska dla każdej z grup oddzielnie Sieć, której węzłami są dokumenty Uczenie = tak, jakby przypadkami byli użytkownicy z klastru Predykcja = wnioskowanie przy znajomości głosów użytkownika dla innych dokumentów KORZYŚĆ: połączenie filtracji kolektywnej z opartą o zawartość
Połączenie Wstępna klasteryzacja użytkowników siecią bayesowską A – każdy użytkownik rozmytą grupą Sieć bayesowska B o wspólnej strukturze dla każdego użytkownika, ale z innymi współcz. Sieć B, której węzłami są dokumenty KORZYŚĆ: połączenie filtracji kolektywnej z opartą o zawartość
Rekomendacje działań wg celów za pomocą sieci bayesowskich Dokument (kurs) opisywany nie treścią tekstową, lecz stopniem osiągnięcia przez użytkownika stawianego sobie celu np. Wynik egzaminu, stopień polepszenia wiedzy względem wiedzy początkowej Połączenie filtracji kolektywnej z zawartościową poprzez zastąpienie zawartości wielowymiarowym stopniem satysfakcji
Wnioski Sieci bayesowskie to niezwykle giętkie narzędzie, które może znaleźć zastosowanie w systemach rekomendacji o różnorodnej filozofii Podstawową zaletą sieci baysowskich jest możliwość uchwycenia rozmycia pojęć w sytuacjach niepewnych danych.