420 likes | 443 Views
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
E N D
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
Co mam przeczytać? System rekomendujący – mimika zachowań społecznych 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)
Zastosowanie Technologia rekomendacji Firma Customers who Bought Korelacje obiektów, dane o sprzedaży Amazon.com Eyes W oparciu o atrybuty Amazon.com Delivers W oparciu o atrybuty Book Matcher Korelacja (upodobań) ludzi, Tekst Customers Comments Agregacja rang, stopni podobania się Album Advisor Korelacje obiektów, dane o sprzedaży CDNOW My CDNOW Korelacja (upodobań) ludzi, Tekst Feedback Profile Agregacja rang, stopni podobania się eBay Style Finder Korelacja (upodobań) ludzi, Tekst Levis Match Maker Korelacje obiektów, wybór edytora Moviefinder.com We Predict Korelacja (upodobań) ludzi, zagregowane rangi Movie Matches Korelacje obiektów, wybór edytora Reel.com Movie Map Oparte o atrybuty, wybór edytora Komercyjne rekomendery
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: • 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: • 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: • 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łyNewsgroup • 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.
Kurs Pascal Java C++ JavaScript CGI Administrator Oracle Użytkownik Oracle Użytkownik Unix user_1 6 7 5 7 1 2 3 7 user_2 7 6 6 7 - 1 6 6 user_3 2 1 1 - 7 6 5 3 Filtracja kolektywna 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.