Einsatz von Collaborative Filtering zur...
Transcript of Einsatz von Collaborative Filtering zur...
Einsatz von Collaborative Filteringzur Datenprognose
Fabian [email protected]
Universität UlmFakultät für Mathematik und Wirtschaftswissenschaften
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 1/23
Inhalt1. Einführung
2. Historie
3. (Automated) Collaborative Filtering• Grundidee• Speicherbasierte Algorithmen• Modellbasierte Algorithmen• Gütemaße• Vor- und Nachteile• Anwendungsgebiete
4. Beispiele
5. Datenschutz
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 2/23
Arten von Empfehlungssystemen
Empfehlersysteme(Collaborative Filtering)
Empfehlungsysteme(Recommending Systems)
nicht-individualisierte Systeme individualisierte Systeme
eigenschaftsbasierte Systeme(Feature Based Filtering)
• EmpfehlungssystemeHauptaufgabe: Empfehlungen oder Prognosen für den Benutzer
• individualisierte Empfehlungssystemeindividuelle Empfehlungen oder Prognosen basierend auf den persönlichenPräferenzen des Benutzers
• eigenschaftsbasierte SystemeEmpfehlungen basierend auf Objekteigenschaften
• EmpfehlersystemeEmpfehlungen basierend auf ähnlichen Benutzern (Mentoren) durch CF
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 3/23
Active vs. Automated CF
Model BasedCollaborative Filtering
Collaborative Filtering
Active Collaborative Filtering Automated Collaborative Filtering
Memory BasedCollaborative Filtering
• Active Collaborative Filteringaktive Empfehlungen durch Push-Kommunikation
• Automated Collaborative FilteringPull-Kommunikation,Empfehlungen mit Hilfe eines mathematischen oder regelbasierten Verfahrens
• speicherbasierten Algorithmen (Memory Based)bei jeder Anfrage Berechnungen über die gesamte Datenmatrix
• modellbasierten Algorithmen (Model Based)offline Schätzung von Modellparametern auf Basis der Datenmatrix,online Empfehlungsabgabe auf Basis des Modells
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 4/23
Historie• US-Patente 4.870.579 und 4.999.642
Hey 1987, Hey 1989• Tapestry, E-Mail-Filter-System
Goldberg 1992• GroupLens, Usenet-News-Empfehlersystem
Resnick 1994• Musik-Empfehlersystem Ringo
Shardanand und Maes 1995• Bellcore’s Video Recommender
Hill 1995• Leitartikel einer Ausgabe der Communications of
the ACMResnick und Varian 1997
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 5/23
ACF – Grundidee (1/2)• Ratingmatrix
U = (ui j)M,N =
u11 · · · u1N...
...ui1 · · · uiN...
...uM1 · · · uMN
∈ {0, . . . , t, ·}M×N
• I = {1, . . . ,M} Menge der Benutzer• J = {1, . . . ,N} Menge der bewerteten Objekte• eine Zeile ui der Ratingmatrix U steht für ein
Benutzerprofil
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 6/23
ACF – Grundidee (2/2)
Erhebung von Benutzerdaten
Proximitätsberechnung
Auswahl von Mentoren
Prognose
Grundannahme:Personen mit ähnlichem Profil treffen ähnlicheEntscheidungen
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 7/23
ACF – speicherbasierte Ansätze (1/2)• Prognosewert fa j für den aktiven Benutzer a und
das Objekt j (im Prinzip gewichteter Mittelwert derBewertungen der zugehörigen Objektmentoren):
fa j = ua·+∑i∈Ma j
sai(ui j− ui·)
∑i∈Ma jsai
für Ma j 6= /0 und j ∈ J
• sai Ähnlichkeit der Benutzer a und i
• ua· arithmetisches Mittel aller von Benutzer aabgegebenen Bewertungen (ui· analog)
• Ma Menge der Mentoren• Ma j ⊂Ma Menge der Objektmentoren für Objekt j
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 8/23
ACF – speicherbasierte Ansätze (2/2)• Pearsonscher Korrelationskoeffizient
(Ähnlichkeitsmaß für lineare Abhängigkeit):
qai =∑(ua j− uai)(ui j− uia)
√
∑(ua j− uai)2 ∑(ui j− uia)2für i ∈Ma
Summation über alle Objekte, für die sowohl ua j alsauch ui j vorliegen
•
sai =
{
qai für qai > 0,
0 für qai ≤ 0
• Alternative: Berechnung der sai über Distanzmaß• Erweiterungen: z.B. Default Voting, um Rating-
dichte zu erhöhen
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 9/23
ACF – modellbasierte Ansätze (1/3)• Prognosewert fa j für den aktiven Benutzer a und
das Objekt j (vor probabilistischem Hintergrund alsErwartungswert):
fa j = E(Ua j) =t
∑i=0
i ·P(Ua j = i | uak, k ∈ Ja)
Ja ⊂ J Menge der Objekte, für die Benutzer a eineBewertung abgegeben hat.
• P(Ua j = i | uak, k ∈ Ja) Wahrscheinlichkeit, dass deraktive Benutzer a die Bewertung i abgibt, beigegebenen Bewertungen für die Objekte aus Ja
• Vorgehen: offline Schätzung dieserWahrscheinlichkeiten, damit die eigentlichePrognose online schnell erfolgen kann
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 10/23
ACF – modellbasierte Ansätze (2/3)Cluster-Modelle• Idee: bestimmte Gruppen oder Typen von Benutzern
(Cluster) geben nahezu gleiche Bewertungen ab• Annahme: Wahrscheinlichkeiten der Bewertungen
bei gegebener Klassenzugehörigkeit sind unabh.P(Ca = c,ua1, . . . ,uan) = P(Ca = c)∏n
i=1 P(uai | Ca = c)
• P(Ua j = i | uak, k ∈ Ja) =
∑c P(Ua j = i | Ca = c) ·P(Ca = c | uak, k ∈ Ja)
• Offline: Schätzung von P(Ca = c) und P(uai | Ca = c)
• Online: Schätzung von P(Ca = c | uak, k ∈ Ja) undBestimmung des Erwartungswertes fa j
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 11/23
ACF – modellbasierte Ansätze (3/3)• Klassenzugehörigkeiten werden nicht explizit
ermittelt → z.B. K-Means-Clustering, da dieKlassenzugehörigkeiten hier versteckte Parametersind
Andere Ansätze• Bayessche Netze• Hauptkomponentenanalyse• Neuronale Netze
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 12/23
ACF – Gütemaße• Prognosegüte
mittlere Differenz zwischen vorhergesagten undtatsächlichen Bewertungen:
MAE = 1|P| ∑(i, j)∈P | fi j−ui j|
MSE = 1|P| ∑(i, j)∈P( fi j−ui j)
2
P⊂ I× J Menge der Indexpaare (i, j), für die sowohleine Prognose fi j berechenbar ist als auch einetatsächliche Bewertung ui j existiert
• Coveragegibt an, für welchen Anteil der Objekte überhauptPrognosen durch den Algorithmus erstellt werdenkönnen
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 13/23
ACF – Vorteile• Aufdeckung von Beziehungen zwischen Benutzern
und Objekten, die nicht mit objektiven Eigenschaftenbeschreibbar sind
• Erfahrungsaustausch zwischen einer hohen Anzahlvon Benutzern, die sich nicht zwingend kennenmüssen (Virtual Community )
• aufwendige Ermittlung (wenn überhaupt möglich)von Objekteigenschaften und das Führen einerzugehörigen Datenbank entfällt
• Empfehlung von Objekten, auch wenn nicht nachihnen gesucht wurde
• Empfehlung von Objekten, die sich von bisherigenPräferenzen unterscheiden (ständige Neubildungder Mentorenmenge)
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 14/23
ACF – Nachteile• gewisse Mindestanzahl von Benutzerprofilen ist
notwendig(Kaltstart- oder Bootstrapping-Problematik )
• Objekteigenschaften auch wenn verfügbar nicht indie Prognose mit einbezogen
• Risiko schlechter Empfehlungen durch zufälligeZusammenhänge
• Prognosen haben Black Box-Charakter
Ausweg: Kombination mit Feature Based Filtering(Feature Guided Collaborative Filtering)
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 15/23
ACF – AnwendungsgebieteVoraussetzungen•• große Benutzer- und Objektzahl• Objekte nicht anhand objektiver Eigenschaften oder
besser über subjektive Präferenzen beschreibbar
Empfehlung von• Literatur• Musik• Videos• Filmen• Webseiten• Restaurants
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 16/23
Beispiel – MovieLens
• webbasiertes Empfehlersystem für Kinofilme• Teil des GroupLens-Forschungsprojektes der University of Minnesota• Filmempfehlungen für ganze Benutzergruppen möglich• http://movielens.umn.edu
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 17/23
Weitere BeispieleAmazon.de• personalisierte Buchempfehlungen• eingesetzte CF-Techniken von Net Perceptions
bereitgestellt• basiert auf Technologie des GroupLens-Projektes
Jester 2.0• Witze-Empfehlersystem• modellbasierte CF-Verfahren basierend auf
Hauptkomponentenanalyse und Clustering• stetige Ratingskala
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 18/23
Datenschutz• gesetzliche Vorschriften
Bundesdatenschutzgesetz (BDSG),Informations- und Kommunikationsdienste-Gesetz(IuKDG), hier insb. Teledienstdatenschutzgesetz(TDDSG)
• Platform for Privacy Preferences (P3P)vom WWW-Konsortium (W3C) entwickelterVorschlag, um dem Benutzer von Webseiten mehrKontrolle über die Nutzung seiner persönlichenInformationen zu geben
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 19/23
Vielen Dank für Ihre Aufmerksamkeit.
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 20/23
Literatur (1/3)• Detlev Brechtel und Jochen Mai, Gläserner König. In Wirtschaftswoche Nr. 07,
S. 103, 2000• Jack Breese, David Heckerman und Carl Kadie, Empirical Analysis Of
Predictive Algorithms For Collaborative Filtering. In Proceedings of the 14thConference on Uncertainty in Artificial Intelligence, 1998
• Craig Boutilier und Richard S. Zemel, Online Queries For CollaborativeFiltering. In Proceedings of the 9th International Workshop on ArtificialIntelligence and Statistics, 2003
• David Chickering, David Heckerman und Christopher Meek, A BayesianApproach To Learning Bayesian Networks With Local Structure. InProceedings of the 13th Conference on Uncertainty in Artificial Intelligence,1997
• Danyel Fisher et al., SWAMI: A Framework For Collaborative FilteringAlgorithm Development And Evaluation, 1999
• David Goldberg et al., Using Collaborative Filtering To Weave An InformationTapestry. In Communications of the ACM, Vol. 35, No. 12, S. 61-70, 1992
• Ken Goldberg et al., Eigentaste: A Constant Time Collaborative FilteringAlgorithm, 2000
• Dhruv Gupta et al., Jester 2.0: Evaluation Of A New Linear Time CollaborativeFiltering Algorithm. In Proceedings of the SIGIR, ACM, 1999
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 21/23
Literatur (2/3)• Will Hill et al., Recommending And Evaluating Choices In A Virtual Community
Of Use. In Proceedings of the SIGCHI Conference on Human Factors inComputing Systems, S. 194-201, 1995
• Patrick Joseph, On-Line Advertising Goes One-On-One. In Scientific American- Cyber View, 1997
• Sven Kauffelt, Personalisierung im Web - Schlüssel zum Stammkunden. Inabsatzwirtschaft Nr. 03, S.98, 2002
• Joseph Konstan, John Riedi und J. Ben Schafer, Recommender Systems InE-Commerce. In Proceedings of the 1st ACM Conference on ElectronicCommerce, S. 158-166, 1999
• David Maltz und Kate Ehrlich, Pointing The Way: Active Collaborative Filtering.In Proceedings of the SIGCHI Conference on Human Factors in ComputingSystems, S. 202-209, 1995
• Klaus Manhart, Wege aus der Anonymität. In Market Nr. 08, S. 58, 2001• Stefanie Maute, Konzeption und Realisierung eines Data Mining-Verfahrens für
das Qualitätsmanagement in der Diabetologie, Diplomarbeit an der UniversitätUlm, 2002
• David Nichols, Implicit Rating And Filtering. In Proceedings of the 5th DELOSWorkshop on Filtering and Collaborative Filtering, S. 31-36, 1997
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 22/23
Literatur (3/3)• David Pescovitz, Accounting For Taste. In Scientific American - Cyber View,
2000• Paul Resnick et al., GroupLens: An Open Architecture For Collaborative
Filtering Of Netnews. In Proceedings of the 1994 Computer SupportedCollaborative Work Conference, S. 175-186, 1994
• Paul Resnick und H. R. Varian, Recommender Systems. In Communications ofthe ACM, Vol. 40, No. 3, S. 56-58, 1997
• Matthias Runte, Personalisierung im Internet - Individualisierte Angebote mitCollaborative Filtering, Deutscher Universitätsverlag, 2000
• Upendra Shardanand und Pattie Maes, Social Information Filtering: AlgorithmsFor Automating “Word Of Mouth”. In Proceedings of the SIGCHI Conferenceon Human Factors in Computing Systems, S. 210-217, 1995
• Lyle H. Ungar und Dean P. Foster, Clustering Methods For CollaborativeFiltering, AAAI Workshop on Recommendation Systems, 1998
• Übersicht über wichtige Papers zu Collaborative Filteringhttp://www.theether.org/collab/papers.html
• Collaborative Filtering - Eine Übersichthttp://www.sims.berkeley.edu/resources/collab/
Fabian Bohnert, Einsatz von Collaborative Filtering zur Datenprognose – S. 23/23