Personalisierung und Benutzermodellierung, N. Henze

Werbung
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
Herunterladen