Fakultät für Informatik Technische Universität München Email: rene.romen@tum.de 6. Juni 2017
Recommender Systeme Definition Ziel eines Recommender Systems ist es Benutzern Items vorzuschlagen die diesem interessieren. Weitverbreitet im Internet Webseiten wie Amazon, Netflix und Spotify betreiben moderne Recommender Systeme Häufig in Kombination mit einer Suchmaschine im Einsatz
Arten von Recommender Systeme Content based Recommender Systeme User gefallen Items die ähnlich sind zu denen die ihm in der Vergangenheit gefallen haben Items müssen inhaltlich verglichen werden um Ähnlichkeitsgrad festzustellen Abhängig von den Items die Empfohlen werden Recommender Systeme mit Collaborative Fitering User denen ähnliche Items gefallen haben werden auch in Zukunft ähnliche Items mögen User lassen sich in Gruppen einteilen System kann User personalisierte Vorschläge machen, indem es Items die andere aus seiner Gruppe gut fanden, empfiehlt Unabhängig von den Items die Empfohlen werden
Collaborative Filtering - Ablauf Input: User-Item Matrix Matrixeintrag p ij enthält Bewertung von User i über Item j Algorithmus liefert Vorhersage für ein p ij Oder eine Liste mit den N interessantesten Item für den aktiven User Abbildung : Collabrative Filtering Ablauf
Collaborative Filtering - Meinungen von Usern Die User-Item Matrix enthält die Meinungen der User über die Items Meinungen müssen auf nummern abgebildet werden Direkte Meinungen Like auf 1 und Dislike auf 0 1 bis 5 Sterne Indirekte Meinungen Artikel gekauft auf 2, Artikel betrachtet auf 1, Artikel nicht betrachtet auf 0 Tabelle : Beispiel User-Item Matrix / i 1 i 2 i 3 i 4 i 5 u 1 1 5 5 2 u 2 4 3 4 1 u 3 2 4 5 5 u 4 2? 3 4 3
User-based Collaborative Filtering k-nearest-neighbor Verfahren Ablauf 1 Finden der k ähnlichsten Nutzer 2 Kombinieren ihrer Meinungen zu Empfehlungen Ähnlichkeitsfunktion bestimmt die Ähnlichkeit von zwei Usern User sind ähnlich, wenn sie einen große Ähnlichkeitswert haben Die Wahl dieser Funktion beeinflusst die Qualität der Empfehlungen Einige Ähnlichkeitsfunktionen Testen und die beste Wählen
Ähnlichkeitsfunktionen Euklidische Distanz Distanz zwischen den Zeilen des i-ten und j-ten Users als maß für Ähnlichkeit Nur Items für die beide abgestimmt haben werden berücksichtigt 0, wenn es keines gibt für das beide Abgestimmt haben sim (u i, u j ) = 1 1 + u i u j 2
Ähnlichkeitsfunktionen Pearson-Korrelation Maß dafür wie gut zwei Datensätze auf eine Gerade passen User sind ähnlich auch wenn einer konstant schlechtere Bewertungen gibt als ein anderer Cosinus Ähnlichkeit Cosinus des Winkels zwischen den Zeilen i-ten und j-ten Users als maß für Ähnlichkeit
User-based Collaborative Filtering Finden der k ähnlichsten User mit Euklidischer Distanz Berechnen der Vorhersage mit dem Gewichtetem arithmetischen Mittel Tabelle : Beispiel Vorhersage für Item i 2 mit Euklidischer Distanz User Ähnlichkeit zu u 4 Wertung Ähnlichkeit * Wertung u 1 0.25 5 1.25 u 2 0.14 3 0.42 u 3 0.1 2 0.2 Summe 0.49 1.87 Ergebnis 3.82
User-based Collaborative Filtering Tabelle : Beispiel Vorhersage für Item i 2 mit Pearson-Korrelation. User Ähnlichkeit zu u 4 Wertung Ähnlichkeit * Wertung u 1 0.96 5 4.8 u 2-0.5 3 - u 3 0.5 2 1 Summe 1.46 5.8 Ergebnis 3.97
User-based Collaborative Filtering - Probleme Probleme mit dünnbesetzter User-Item Matrix Kommt in der Praxis sehr häufig vor Hat schlechte Qualität der Vorschläge zur Folge Skalierbarkeitsproblem Laufzeit wächst Linear mit der Anzahl von User und Items Die Suche nach ähnlichen Nutzern ist extrem langwierig Es wird auf der gesamten User-Item Matrix gearbeitet, sie muss im Hauptspeicher gehalten werden
Item-based Collaborative Filtering Löst die Probleme von User-based Collaborative Filtering Es wird ein Modell aus der User-Item Matrix gewonnen Vorschläge werden nur noch mit dem Modell berechnet Modell Berechnung kann offline geschehen Gute Online Performance Das Modell muss regelmäßig neu berechnet werden, um aktuell zu bleiben
Item-based Collaborative Filtering Modell mit Item-Item Beziehungen Das Modell enthält für jedes Item eine Liste der k ähnlichsten Items Die gleichen Ähnlichkeitsfunktionen wie in User-based Collaborative Filtering werden verwendet, User-Item Matrix transponieren Tabelle : Beispiel Item-Item Modell mit Pearson-Korrelation / 1. 2. 3. 4. i 1 i 3 0.5 i 5 0.08 i 2 0.06 i 4 0.05 i 2 i 3 0.17 i 4 0.1 i 1 0.05 i 5 0.04 i 3 i 1 0.5 i 4 0.33 i 2 0.17 i 5 0.09 i 4 i 3 0.33 i 2 0.1 i 5 0.09 i 1 0.05 i 5 i 4 0.09 i 3 0.09 i 1 0.08 i 2 0.04
Item-based Collaborative Filtering Tabelle : Beispiel Vorhersage für Item i 2 Item Ähnlichkeit zu i 2 Wertung von u 4 Ähnlichkeit * Wertung i 1 0.05 2 0.1 i 3 0.17 3 0.51 i 4 0.1 4 0.4 i 5 0.04 3 0.12 Summe 0.36 1.13 Ergebnis 3.13