Personalisierung und Benutzermodellierung Recommender Systeme 2 Content-based Recommender, Vergleich von Recommender-Ansätzen, Hybride Ansätze Prof. Dr. N. Henze 19. Juni 2006 Inhaltsverzeichnis 4.5 4.6 4.7 Content-based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Generelles Vorgehen: Variante I (Information Retrieval – Variante) 4.5.2 Generelles Vorgehen: Variante II (Data Mining – Variante) . . . . 4.5.3 Mögliche Verbesserungsstrategien . . . . . . . . . . . . . . . . . Vergleich von Recommendersystemen . . . . . . . . . . . . . . . . . . . . Collaborative Recommender . . . . . . . . . . . . . . . . . . . . . Content-based Recommender . . . . . . . . . . . . . . . . . . . . Demographic-based Recommender . . . . . . . . . . . . . . . . . Utility-Based Recommender . . . . . . . . . . . . . . . . . . . . . Knowledge-Based Recommender . . . . . . . . . . . . . . . . . . Hybride Ansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 12 13 13 16 18 19 20 21 22 4.5 Content-based Datenbasis: • Eigenschaften von Gegenständen Wissen über den Benutzer: • Welche Interessen / Anforderungen an Eigenschaften hat der Benutzer (explizit). Welche Gegenstände mag der Benutzer; Schlussfolgerung welche Eigenschaften diese Gegenstände auszeichnen (implzit) Grundlage für Empfehlung: • Gegenstände, die den Anforderungen des Benutzers entsprechen bzw. den gemochten Gegenständen des Benutzer am ähnlichsten sind 4.5.1 Generelles Vorgehen: Variante I (Information Retrieval – Variante) 1. Darstellung der Items als Vektor: • jede Eigenschaft als Dimension im Vektorraum • z.B.: – Fußbälle: Balleigenschaften (wie Rundheit, Umfang, Druckverlust nach 72 h, Rücksprung, Richtungsstabilität, Wasserdichtheit), oder Haltbarkeit, Spieleigenschaften, Technische Merkmale, etc. – Textdokumente: Bestimmung der charakterisierenden Worte (sog. Keywords / Schlüsselworte), jedes Keyword entspricht einer Dimension im Vektorraum 2. Gewichte für die Eigenschaften, um wichtige von weniger wichtigen unterscheiden zu können 3. Das Benutzerprofil – ebenfalls in vektorieller Darstellung im gleichen Vektorraum, in dem auch die Items dargestellt werden 4. Letzter Schritt: Ähnlichkeit zwischen Benutzerprofilvektor und Eigenschaftsvektor eines Items berechnen und daraus Recommendations ableiten. Beispiel 1 (Content-based Recommender für Textdokumente als Items) Keywords / Schlüsselworte • Worte, deren Bedeutung den Inhalt des Textes treffend beschreibt • nicht alle Worte sind gleich nützlich für diese Aufgabe, z.B. – ein Wort das in beinahe allen Dokumenten vorkommt ist nicht sinnvoll – selten verwendete Worte dagegen können ein Dokument sehr gut charakterisieren um diesen Effekt zu modellieren, werden die Keywords aufgrund ihrer Relevanz gewichtet. Welche Gewichte werden verwendet? • Einfachster Fall: Binäre Gewichte, um anzugeben, ob ein Schlüsselwort in einem Dokument vorkommt oder nciht • Nichtbinäre Gewichte: Zentrale Idee: Ein Gewicht wird bestimmt, – das je größer ist, je häufiger das Schlüsselwort in einem Dokument vorkommt – das je größer ist, je seltener das Schlüsselwort im gesamten Dokumentenraum (= Sammlung aller Dokumente) vorkommt Bestimmung der Gewichte • die Häufigkeit des Auftretens eines Keywords ki in einem Dokument dj – als Maß dafür, wie gut das Keyword das Dokument beschreibt – term frequency, tf-factor • Die Seltenheit eines Keywords ki im Dokumentenraum – das Inverse der Häufigkeit eines Keywords ki im Dokumentenraum – inverse document frequency, idf-factor Beispiel 2 (tf * idf) D_1 D_2 10 * "a" 0* "a" D_3 1* "a" D_N 0* "a" Erster Ansatz: • Auftreten: 11 * “a” in allen N Dokumenten • ⇒ Hypothese: “a” ist relevant für D1 • tf = 10 • idf: document frequency ist 2 N, also idf = N 2 Was machen wir mit langen Dokumenten? Wie kann man es erreichen, daß lange Dokumente genauso behandelt werden wie kürzere? • ⇒ Normalisierung der term frequency! Häufigkeit von a in Dj Max. Häufigkeit eines Keywords in Dj Sind term frequency und inverse document frequency gleichmässig relevant? • N x ist nahe bei 1 für häufig verwendete Worte, nahe bei N für selten verwendetete Worte • Aber: Der Effekt von selten verwendeten Worten darf den tf-Faktor nicht dominieren! • ⇒ Logarithmieren! • idf = log N 2 Definition 1 (Term frequency and inverse document frequency: tf × idf) Let N be the total number of documents in the system and ni be the number of documents in which the index term ki appears. Let f reqi,j be the raw frequency of term ki in the document dj (i.e., the number of times the term ki is mentioned in the text of the document dj ). Then, the normalized frequency fi,j of term ki in document dj is given by fi,j f reqi,j = max f reql,j l where the maximum is computed over all terms which are mentioned in the text of the document dj . If the term ki does not appear in the document dj then fi,j = 0. Further, let idfi , inverse document frequency for ki , be given by idfi = log N ni The best known term-weighting schemes use weights which are given by wi,j = fi,j N × log ni or by a variation of this formula. Such term-weighting strategies are called tf-idf schemes. • Mit den tf-idf Gewichten können die Dokumente mit gewichteteten Vektoren dargestellt werden. • den Benutzervektor erstellen, ggf. Gewichte für den Benutzervektor einführen z.B. wi,u = 0.5 + 0.5 ∗ f reqi,u N ∗ log max f reql,u ni l , und wi,u = 0 wenn f reqi,u = 0. (Dieser Ansatz kommt auch aus dem Information Retrieval und wird verwendet, um eine Query eines Nutzers mit Gewichten zu versehen) • schließlich Ähnlichkeit zwischen Dokumenten und Benutzerinteressen bestimmen, also Ähnlichkeit zwischen Dokumentenvektor dj und Benutzervektor u, z.B. mit dem Cosinus-Ansatz: sim(dj , u) = ~ ∗ ~u dj ~ ∗ k~uk kdjk Pt = i=1 wi,j ∗ wi,u qP t 2 2 i=1 wi,j ∗ i=1 wi,u qP t wobei d~j = (w1,j , w2,j , . . . , wt,j ), ~u = (w1,u , w2,u , . . . , wt,u ) und t die Gesamtzahl der Keywords ist. 4.5.2 Generelles Vorgehen: Variante II (Data Mining – Variante) 1. A: Mit gegebener Klassifikation starten (z.B. bestimmte Genres) ODER B: Klassifikation lernen (Clustering Algorithmen, siehe Vorlesung Web Data Management) 2. A: Klassifizierer lernen, die angeben, zu welcher Kategorie ein Item gehört ODER B: Cluster lernen 3. Benutzerinteresse für eine (oder mehrere) Kategorieren / Cluster bestimmen 4. Items empfehlen, die zu entsprechenden Kategorien / Clustern gehören 4.5.3 Mögliche Verbesserungsstrategien • Berücksichtigung der ”Neuheit”: Was ist Neu für den Benutzer, was ist überhaupt neu? • Berücksichtigung der ”Nähe”: Wie weit ist das vorgeschlagene Dokument entfernt – im Sinne einer Navigationsdistanz, sprich wieviele Schritte / Clicks ist das vorgeschlagene Dokument vom jetzigen Dokument entfernt? • Berücksichtigung der ”Relevanz”: wie relevant ist das vorgeschlagene Dokument in Bezug auf das gerade vom Benutzer betrachtete Dokument? 4.6 Vergleich von Recommendersystemen Die bekanntesten Probleme: New User Problem: Da die Empfehlungen aufgrund eines Vergleichs zwischen einem Zielbenutzer und anderen Benutzern nur aufgrund von Ratings ermittelt werden, sind Benutzer mit wenigen Ratings schwer zu kategorisieren. New Item Problem: Ein neues Item, das noch nicht oft bewertet wurde, kann nur schwer vorgeschlagen werden. • Z.B. News: Viele Items (Nachrichten), aber jeder einzelne Benutzer bewertet nur wenige davon. • wird auch Early Rater problem genannt: derjenige, der die erste Bewertung durchführt, hat relativ wenig davon, da er dadurch nicht besser mit anderen Benutzern verglichen werden kann Sparity Problem: Es müssen genug Ratings vorhanden sein • z.B. News: Viele Items. Die Wahrscheinlichkeit, das die Benutzerprofile von verschiedenen Benutzern ähnlich sind, ist klein (oder, anders gesagt: es müssen hinreichend viele Benutzer vorhanden sein, die Wertungen abgegeben haben) Portfolio-Effekt: Ein idealer Recommender wird einen Film, den der Benutzer schon gesehen hat, nicht empfehlen ! • Schwieriges Problem, z.B. News: Wann ist etwas wirklich neu? – Eine Nachricht kann ähnlichen Inhalts sein wie eine bereits gelesene, jedoch neuere Erkenntnisse bereitstellen – Jedoch sind Nachrichten desselben Inhalts aus verschiedenen Quellen wenig interessant! – Ein Lösungsansatz bei content-based Recommendern: Nachrichten, die zu ähnlich sind, rausfiltern Collaborative Recommender Vorteile: • Brauchen nur Empfehlungen, keine weiteren Daten, wie z.B. Beschreibungen der Items (siehe Content-based Recommender) • Sind in der Lage, Genre-übergreifende Empfehlungen zu geben (sog. outside the box – Empfehlungen). – Bsp: Ein Fan der Jazzmusik kann ggf. Empfehlungen für klassische Musik erhalten • Qualität verbessert sich, je länger das System läuft • Imlizites Benutzerfeedback reicht Nachteile: • New User Problem • New Item problem • Sparsity Problem • Schwarzes Schafe (Grey Sheep problem): Benutzer, die sich nicht klar in die bestehenden Gruppen einordnen lassen, sondern sowohl zu der einen als auch zu anderen Gruppe passen Wann sind Collaborative Recommender sinnvoll? • Arbeiten gut für Benutzer, die gemeinsam mit vielen anderen Benutzern in eine Gruppe passen • Gut geeignet für Anwendungen, in denen die Dichte von Benutzerinteressen relativ groß ist • Gut geeignet für Anwendungen, in denen eine relativ kleine und eher statische Menge von Items vorliegt: Wenn sich die Menge der Items zu stark verändert, haben ”alte” Bewertungen nur noch wenig Nutzen für neue Benutzer. Content-based Recommender Vorteile: • kein Domänenwissen erforderlich • Qualität verbessert sich, je länger das System läuft • Imlizites Benutzerfeedback reicht • kein New Item Problem Nachteile: • Startup-Problem: Es müssen genug Bewertungen durch einen Benutzer vorliegen • Beschränkt auf Anwendungen, bei denen die Eigenschaften der Items explizit vorliegen – z.B. Ein Content-basierter Movie-Recommender kann nur die vorliegenden Beschreibungen des Films zur Bestimmung einer Empfehlung verwenden wie z.B. die Schauspieler, Zusammenfassungen des Films, etc. D.h. die Qualität der Empfehlungen ist direkt abhängig von der Qualität dieser Beschreibungen. • Sind nicht in der Lage, Genre-übergreifende Empfehlungen zu geben (sog. outside the box – Empfehlungen). – Bsp: Ein Fan der Jazzmusik kann keine Empfehlungen für klassische Musik erhalten, da keine Eigenschaften der Items (Komponist, Interpret, Repertoire,...) übereinstimmen • Portfolio-Effekt Demographic-based Recommender Vorteile: • kein New User Problem, da sie keine Bewertungsliste der neuen Benutzer brauchen (dafür benötigen sie aber bestimmte demographische Informationen über den neuen Benutzer • Können Genre-übergreifende Empfehlungen geben • kein Domänenwissen erforderlich Nachteile: • New Item Problem • Problem mit ”Schwarzen Schafen” • demographische Informationen über Benutzer sind nicht leicht zu erhalten: Benutzer widerstrebt es häufig, diese Informationen preis zu geben – Privatsphäre! Utility-Based Recommender Vorteile: • kein New User Problem • kein New Item Problem • Ein Utility-based Recommeder braucht eine vollständige Utility-Funktion / Bewertungsfunktion für alle betrachteten Eigenschaften der Items – kann daher verschiedene Faktoren, die den Wert eines Produktes uasmachen, berücksichtigen, z.B. Verfügbarkeit, Service, Garantien, .... nicht nur produktspezifische Eigenschaften! • Ein Benutzer kann durch die Utility-Funktion sehr genau bestimmen, welche Faktoren für ihn wichtig sind Nachteile: • Ein Benutzer muß aber auch die Utility-Funktion sehr genau bestimmen; stereotypische Präferenzfunktionen können das zwar abmildern, aber nicht vollständig beheben • nicht so sehr geeignet für Benutzer, die sich mit der Domäne nicht auskennen Knowledge-Based Recommender Vorteile: • kein New User Problem • kein New Item Problem • gut nutzbar auch für Gelegenheitsbenutzer (der Benutzer braucht – im Gegensatz zu den Utility-basierten Ansätzen – nicht so viel zu tun • Recommendations können alles Nutzen, was die Wissensbasis hergibt Nachteile: • Man braucht eine Wissensbasis! Z.B. – katalogisiertes Wissen über die Items und ihre Eigenschaften enthält (Z.B. die thailändische Küche gehört zu den asiatischen Küchen – funktionales Wissen, um die Benutzerinteressen auf die Eigenschaften der Items abzubilden und die Items zu bewerten (z.B. gehört zu einem romantischen Dinner ein ruhiges Restaurant) – ausreichendes Wissen über den Benutzer: warum und wozu braucht der Benutzer die Empfehlung, oder demographische Informationen, etc. 4.7 Hybride Ansätze • Ziel: Zwei oder mehr verschiedene Recommendation-Techniken gemeinsam anzuwenden, um die Nachteile der einzelnen Techniken aufzuheben • Häufigster Ansatz: Collaborative Recommender mit anderen Techniken zu verbinden, um das New User und das New Item Problem zu lösen Methodenübersicht: Gewichtet: Die Empfehlungen (scores) der einzelnen Recommendation-Techniken werden kombiniert und eine gemeinsame Bewertung wird errechnet Switching: Das System sucht – aufgrund der gegebenen Situation – die jeweils beste Technik aus Mixed: Empfehlungen der verschiedenen Recommendation-Techniken werden gleichzeitig präsentiert Feature Kombination: Eigenschaften, die in den verschiedenen Datenquellen der einzelnen Recommendation-Techniken verwendet werden, werden zusammengestellt und mit einem einzelnen, gemeinsamen Recommendation-Algorithmus bewertet Kaskade: Eine Recommendation-Technik verfeinert die Empfehlungen der vorangegangen Recommendation-Technik Feature Erweiterung: Das Ergebnis einer Recommendation-Technik wird als neues! Eingabefeature für die nächste Technik verwendet Metaebene: Ein gesamtes Modell, das von einer Recommendation-Technik bestimmt wird, dient der nächsten Recommendation-Technik als zusätzliche Eingabe Hybrider Ansatz: Gewichtet • Die Empfehlungen (scores) der einzelnen Recommendation-Techniken werden kombiniert und eine gemeinsame Bewertung wird errechnet • Einfachster Ansatz: lineare Kombination der Recommendation-Scores. – Z.B. im System P-Tango (Claypool, 1999): Initial werden der collaborativen und der content-basierten Technik gleiche Gewichte zugesprochen. Gewichte werden im Laufe der Zeit verbessert, wenn die gemachten Vorhersagen durch den Benutzer bestätigt oder nicht bestätigt werden – oder Pazzani, 1999: drei Recommendertechniken (collaborative, content-basiert und demograhic) werden paralllel angewendet und ihre Ergebnisse als Fürsprache für gewisse Items in einem gemeinsamen Schema ausgewertet • Vorteile des gewichteten Ansatzes: – Jede verwendete Recommendation-Technik wird für das Endergebnis berücksichtigt – Es lässt sich gut nachvollziehen, welche Technik die besten Empfehlungen gegeben hat • Nachteile: – Man geht bei diesem Ansatz davon aus, das alle Techniken ungefähr gleich gut auf dem gegebenen Itemraum arbeiten, das ist aber nicht immer der Fall (Collaborativer Ansatz bei wenigen Benutzern, die bewertet haben, nicht so gut) Hybrider Ansatz: Switching • Das System sucht – aufgrund der gegebenen Situation – die jeweils beste Technik aus • Es verfügt daher über gewisse Kriterien, um zwischen den Recommendation-Techniken zu wechseln. • z.B. Daily-Lerner System: Benutzt einen content-basierten / collaborativen Hybrid: – Vorgehen: Zuerst die content-basierte Technik verwenden, kann eine Empfehlung nicht mit hinreichendem Vertrauen berechnet werden, wird eine collaborative Technik probiert. ∗ Da sowohl content-basierte als auch collaborative Techniken das New User Problem haben, wird dieses Problem mit dem vorgeschlagenen Hybrid auch nicht gelöst. ∗ Aber: outside the box Empfehlungen möglich durch den collaborativen Ansatz – In diesem Ansatz ist die collaborative Technik sozusagen eine Fallback – Lösung • Andere Ansätze vergleichen die gemachten Bewertungen eines Benutzers mit den Empfehlungen der einzelnen Techniken und bestimmen hieraus die beste, als nächstes zu verwendende Technik • Vorteile der Switching-Methode: – kann zur Laufzeit auf die Vor- und Nachteile der einzelnen Techniken reagieren und die jeweils beste bestimmen • Nachteile der Switching-Methode: – braucht zuverlässige Kriterien, um zwischen Techniken wechseln zu können Hybrider Ansatz: Mixed: • Empfehlungen der verschiedenen Recommendation-Techniken werden gleichzeitig präsentiert • z.B. das PTV System (Smyth und Cotter, 2000) verwendet diese Technik, um Vorschläge für TV-Sendungen zu geben – – – – content-basierte Technik verwendet textuelle Beschreibungen der Sendungen collaborative Technik sagt, wie andere Benutzer diese Sendungen bewerten beide Recommendations werden dann in einer Sicht gemeinsam angezeigt bei Konflikten: wird in PTV der content-basierten Technik vertraut • Andere Systeme präsentieren die Ergebnisse nicht in einer gemeinsamen Sicht, sondern parallel. • Weitere Konfliktlösestrategien: Ranking der einzelnen Techniken verwenden und in diesen Fällen die Ergebnisse gemeinsam bewerten • Vorteile – New Item Problem ist gelöst, da die content-basierte Technik Empfehlungen aufgrund der Beschreibungen der Sendungen geben kann. – outside the box Empfehlungen • Nachteile – New User Problem bleibt Hybrider Ansatz: Feature Kombination: • Eigenschaften, die in den verschiedenen Datenquellen der einzelnen Recommendation-Techniken verwendet werden, werden zusammengestellt und mit einem einzelnen, gemeinsamen Recommendation-Algorithmus bewertet • Z.B. ein content-based / collaborativer Hybrid verwendet die collaborative Informationen (d.h. die Benutzerratings) als zusätzliche Features eines jeden Items und verwendet eine content-basierte Technik auf diesem erweiterten Datenset • Es werden die nicht interpretierten Daten verwendet (im Gegensatz zu er Feature-Erweiterung!) • Vorteile; – Anfälligkeit des collaborativen Ansatzes für das Sparsity - Problem (zu wenig Benutzer) wird gemildert – outside the box Empfehlungen aber dennoch möglich • Nachteile im Experiment: – Experimente mit dem Hybrid zeigen, dass die Präzision der Empfehlungen im Gegensatz zum nur collaborativen – Ansatz verbessert werden kann, wenn die Eigenschaften für die content-basierte Technik gut (per Hand) ausgewählt werden – Werden alle Eigenschaften der content-basierten Technik verwendet, wird die Präzision nicht verbessert, jedoch der Recall Hybrider Ansatz: Kaskade: • Eine Recommendation-Technik verfeinert die Empfehlungen der vorangegangen Recommendation-Technik • z.B. EntreeC, ein Restaurant-Recommender, verwendet eine knowledge-based – collaborative Kaskade: – Wissen über die Restaurants wird verwendet, um aufgrund der vom Benutzer angegebenen Interessen eine Auswahl von geeigneten Restaurants zu bestimmen – diese Auswahl wird durch die collaborative Technik verfeinert • Vorteile: – die verfeinernde (weniger priorisierte) Technik wird nur auf den Items verwendet, die schon ein gutes Rating erhalten – dadurch effizienter als ein gewichteter Hybrid • Nachteile: – Priorisierung der Techniken in einer Kaskade muß möglich sein Hybrider Ansatz: Feature Erweiterung: • Das Ergebnis einer Recommendation-Technik wird als neues! Eingabefeature für die nächste Technik verwendet • z.B. Grouplens System (Sarwar et al, 1998): – Usenet News werden gefiltert – wissensbasierte, sog. ”Filterbots” verwendent bestimmte Kriterien wie z.B. die Anzahl der Tippfehler oder die Größe der Nachricht und ermitteln hieraus eine Bewertung der Nachricht – diese Bewertungen werden als Bewertungen von (künstlichen) Benutzern im collaborativen Recommender des Systems verwendet • Wie bei Kaskade-Hybrid: Zwei oder mehr Recommender-Techniken werden successive eingesetzt: – Bei der Feature-Erweiterung wird das Ergebnis der vorangegangen Technik bei der nachfolgenden Technik mitbenutzt, um Ratings zu erhalten – Beim Kaskaden Ansatz bestimmt das Ergebnis der vorangegangen Technik die Eingabemenge der nachfolgenden Technik, die niedrigere Priorität hat. • Vorteile: – Die Performanz eines Systems wird verbessert durch zusätzliche Bewertungen / Daten, die mittels verschiedenster Techniken bestimmt werden. Hybrider Ansatz: Metaebene: • Ein gesamtes Modell, das von einer Recommendation-Technik bestimmt wird, dient der nächsten Recommendation-Technik als zusätzliche Eingabe • z.B. Winnow (Littlestone und Warmuth, 1994): – für jeden Benutzer wird ein content-basiertes Modell erstellt, in dem die Eigenschaften angegeben werden, die charakterisieren, welches Restaurants ein Benutzer mag. – diese Modelle (d.h. Vektoren, deren Dimensionalität durch die Eigenschaften bestimmt wird, und die gewichtete Komponenten haben können) werden nun mit denen der anderen Benutzer verglichen, um Vorhersagen zu machen • Vorteile: – z.B. bei einem content-basierten – collaborativen Hybrid ist, das die gelernten Modelle eine komprimierte Darstellung der Benutzerinteressen enthalten, der darauffolgende collaborative Ansatz kann davon profitieren