AIR: Architecture for Interoperable Retrieval on Distributed and Heterogeneou...
Ansätze für gemeinschaftliches Filtering
1. Ansätze für gemeinschaftliches Filtering
Matthias Attenbrunner
06.Dezember 2013
Seminar zur Personalisierung großer Daten
2. Übersicht:
1.
2.
3.
4.
5.
6.
Problemdarstellung
Definition von gemeinschaftlichen Filtering
Arten des gemeinschaftlichen Filtering
Grundlagen des gemeinschaftlichen Filtering
Model Based (Modellbasierende) Algorithmen
Memory Based (Speicherbasierende) Algorithmen
a) User-Based Collaborated Filtering
b) Item-Based Collaborated Filtering
c) Vergleich
7. Vor- und Nachteile
8. Einsatzgebiete
Ansätze für gemeinschaftliches Filtering
2
4. 1. Problemdarstellung:
• Große Informationsflut seit Anfang der 90er
Verlust der Übersicht des Einzelnen über die
Informationen, die er benötigt oder nützlich sind
Unternehmen müssen neue Wege finden die
Informationen neu zu bewerten und zu nutzen
Ansätze für gemeinschaftliches Filtering
4
5. 1. Problemdarstellung:
• Unterschiede des Internets zu andere
Massenmedien
One-To-Many-Kommunikation: Fernsehen,
Radio, etc
Many-To-Many-Kommunikation: Internet
Ansätze für gemeinschaftliches Filtering
5
6. 2. Definition von gemeinschaftlichen Filtering
Ansätze für gemeinschaftliches Filtering
6
7. 2. Definition von gemeinschaftlichen Filtering:
Ansätze für gemeinschaftliches Filtering
7
8. 3. Arten des gemeinschaftlichen Filtering
Ansätze für gemeinschaftliches Filtering
8
9. 3. Arten des gemeinschaftlichen Filtering:
Ansätze für gemeinschaftliches Filtering
9
10. 4. Grundlagen des gemeinschaftlichen Filtering
Ansätze für gemeinschaftliches Filtering
10
11. 4. Grundlagen des gemeinschaftlichen Filtering:
Grundidee:
Hat man eine große Anzahl an Benutzern und ihre
Bewertungen bzw Gewohnheiten, kann man diese
vergleichen, Ähnliche finden und daraus Lücken in den
Bewertungen dieser Benutzer schließen.
Ansätze für gemeinschaftliches Filtering
11
12. 4. Grundlagen des gemeinschaftlichen Filtering:
Ansätze für gemeinschaftliches Filtering
12
13. 4. Grundlagen des gemeinschaftlichen Filtering:
• Erhebung von Benutzerdaten:
– Logindaten (z.B.: Seitenaufrufe, Logindauer, …)
– Suchanfragen
– Kommentare
– Befragungen
– Bewertungen
•
•
•
•
nominale Daten (z.B.: Augenfarbe, Gut/Schlecht, 1/0, …)
ordinale Daten (z.B.: {schlechter, schlecht, neutral, gut, besser})
interval (z.B.: Kalenderdaten, Temperatur in Grad/Fahrenheit, …)
Ratio (z.B: Alter, Längenangaben, …)
– sekundäre Erhebung (z.B.: Ankauf von existierenden
Matrizen)
Ansätze für gemeinschaftliches Filtering
13
14. 4. Grundlagen des gemeinschaftlichen Filtering:
• Proximitätsberechnung:
Berechnung der Ähnlichkeit zwischen dem aktiven Benutzer
bzw. dessen bewertete Items mit denen in der Datenbank
gespeicherten.
Ansätze für gemeinschaftliches Filtering
14
15. 4. Grundlagen des gemeinschaftlichen Filtering:
• Auswahl der Mentoren:
1. Ähnlichkeit muss berechnet worden sein
2. Die Mentoren müssen sich um mindestens einmal
unterscheiden
3. Die Mentoren können eine Mindestähnlichkeit besitzen
4. Die Mentoren können nur eine positive
Mindestähnlichkeit besitzen
Ansätze für gemeinschaftliches Filtering
15
16. 4. Grundlagen des gemeinschaftlichen Filtering:
• Prognose:
Berechnung von Prognosen auf der Bewertungen der zuvor
ausgewählten Mentoren.
Ansätze für gemeinschaftliches Filtering
16
17. 5. Model Based (Modellbasierende) Algorithmen
Ansätze für gemeinschaftliches Filtering
17
18. 5. Model Based (Modellbasierende) Algorithmen:
• Grundidee:
1. Auswahl sog. Trainingssets (eine aus der Datenmatrix
ausgewählte Teilmatrix)
2. Offlineberechnung der Parameter eines Modells
3. Berechnung der Prognose auf Basis der Parameter
Ansätze für gemeinschaftliches Filtering
18
19. 5. Model Based (Modellbasierende) Algorithmen:
• Vorteile:
Prognose, die online berechnet wird, ist viel schneller
• Nachteile:
Bei der Modellbildung kann ein Informationsverlust
entstehen
Ansätze für gemeinschaftliches Filtering
19
20. 5. Model Based (Modellbasierende) Algorithmen:
• Arten:
– Clustermodelle
– Bayessche Netzwerke
– Regelbasierende (rule-based) Annäherung
– Neuronale Netzwerke
– ….
Ansätze für gemeinschaftliches Filtering
20
21. 6. Memory Based (Speicherbasierende)
Algorithmen
Ansätze für gemeinschaftliches Filtering
21
22. 6. Memory Based (Speicherbasierende) Algorithmen:
Definition:
– Liste von m Benutzer :
– Liste von n items (Artikel/Objekte):
– Liste von items von Benutzer ui :
– Liste von Benutzer von item ii :
– Aktiver Benutzer:
– Rating von Benutzer u und item i :
Ansätze für gemeinschaftliches Filtering
U = {u1, u2, … , um}
I = {i1, i2, … , in}
Iui
Uii
ua
rui
22
23. 6. Memory Based (Speicherbasierende) Algorithmen:
a) User-Based Collaborated Filtering
Grundlagen:
1.
Die Ähnlichkeiten der Benutzer berechnen und in eine
(Benutzer X Benutzer) – Matrix eintragen
2.
Auswahl der k ähnlichsten Nachbarn (Mentoren)
3.
Berechnung der Fehlenden Bewertungen auf Basis der k Mentoren
Ansätze für gemeinschaftliches Filtering
23
24. 6. Memory Based (Speicherbasierende) Algorithmen:
a) User-Based Collaborated Filtering
Proximitätsberechnung:
• Betrachtung der Informationen als Vektoren
• Berechnung der Ähnlichkeit über die Cosinus-VektorÄhnlichkeit
xa xb
cos( xa , xb )
xa xb
Ansätze für gemeinschaftliches Filtering
24
25. 6. Memory Based (Speicherbasierende) Algorithmen:
a) User-Based Collaborated Filtering
Proximitätsberechnung:
• Übertragen auf das Bewertungssystem indem ein Benutzer u als xu
betrachtet wird
• xui = rui falls eine Bewertung bei i vor liegt und anders 0
Formel für Benutzer u und v:
CV (u, v) cos( xu , xv )
r r
iI uv
ui vi
2
2
rui rvj
iI u
jI v
Iuv beschreibt die Items die beide Benutzer bewertet haben
Ansätze für gemeinschaftliches Filtering
25
26. 6. Memory Based (Speicherbasierende) Algorithmen:
a) User-Based Collaborated Filtering
Proximitätsberechnung:
Rausfilten der Mittleren Differenz und der Unterschiedlichen
Bewertungsarten der Benutzer u und v
Verwendung der Pearson Korrelation
PC (u, v)
(r
iI uv
(r
iI uv
ui
ui
ru )(rvi rv )
ru )
2
(r
iI uv
Ansätze für gemeinschaftliches Filtering
vi
rv )
2
26
27. 6. Memory Based (Speicherbasierende) Algorithmen:
a) User-Based Collaborated Filtering
Berechnung der wahrscheinlichen Bewertung:
• Berechnung über das arithmetisches Mittel:
ˆ
rui
r
f (r
vU
vU
vi
vi
)
wobei rvi = 0 falls nicht bewertet und
f : {0,1} :
{
0, falls keine Bewertung vorliegt
1, falls eine Bewertung vorliegt
Ansätze für gemeinschaftliches Filtering
27
28. 6. Memory Based (Speicherbasierende) Algorithmen:
a) User-Based Collaborated Filtering
Berechnung der wahrscheinlichen Bewertung:
• Berechnung über die Summation der Top-N-Bewertungen:
1
ˆ
rui
N i (u )
r
vi
vN i ( u )
wobei N(u) die k-nähesten-Nachbarn von u sind und Ni(u) die
das Item i bewertet haben.
Problem: Alle Mentoren zählen gleich viel
Ansätze für gemeinschaftliches Filtering
28
29. 6. Memory Based (Speicherbasierende) Algorithmen:
a) User-Based Collaborated Filtering
Berechnung der wahrscheinlichen Bewertung:
• Berechnung über die gewichtete Summation der Top-NBewertungen :
ˆ
rui
w
vN i ( u )
r
uv vi
w
vN i ( u )
uv
wobei wuv die Ähnlichkeit der Benutzer angibt.
Problem: Benutzer verwenden verschiedene Bewertungen
Ansätze für gemeinschaftliches Filtering
29
30. 6. Memory Based (Speicherbasierende) Algorithmen:
a) User-Based Collaborated Filtering
Berechnung der wahrscheinlichen Bewertung:
• Berechnung über den Ansatz von Resnick und Breese (Mittlere
Zentrierung):
w
ru
ˆ
rui r u
vN i ( u )
uv
(rvi rv )
w
vN i ( u )
uv
wobei r udas arithmetische Mittel.
Problem: Erfasst nicht wie weit die Bewertungen variieren
Ansätze für gemeinschaftliches Filtering
30
31. 6. Memory Based (Speicherbasierende) Algorithmen:
a) User-Based Collaborated Filtering
Berechnung der wahrscheinlichen Bewertung:
• Berechnung über Z-score Normierung:
ˆ
rui r u u
w
vN i ( u )
uv
(rvi rv ) / v
w
vN i ( u )
uv
wobei u die Standartabweichung ist.
Ansätze für gemeinschaftliches Filtering
31
32. 6. Memory Based (Speicherbasierende) Algorithmen:
b) Item-Based Collaborated Filtering
Grundlagen:
1.
Die Ähnlichkeiten der Benutzer berechnen und in eine
(Item X Item) – Matrix eintragen
2.
Auswahl der k ähnlichsten Nachbarn (Mentoren)
3.
Berechnung der Fehlenden Bewertungen auf Basis der Ähnlichkeiten
Ansätze für gemeinschaftliches Filtering
32
33. 6. Memory Based (Speicherbasierende) Algorithmen:
b) Item-Based Collaborated Filtering
Proximitätsberechnung:
Berechnung mittels korrelationsbasierende Ähnlichkeit:
(r
PC (i, j )
uU ij
ui
ri )(ruj rj )
(rui ri ) 2 (ruj rj ) 2
uU ij
uU ij
U ij beschreibt die Benutzer der beide Items bewertet haben
Ansätze für gemeinschaftliches Filtering
33
34. 6. Memory Based (Speicherbasierende) Algorithmen:
b) Item-Based Collaborated Filtering
Berechnung der wahrscheinlichen Bewertung:
• Berechnung über Z-score Normierung:
ˆ
rui r i i
w
jN u ( i )
ij
(ruj rj ) / j
w
jN u ( i )
ij
wobei i die Standartabweichung ist.
Ansätze für gemeinschaftliches Filtering
34
35. 6. Memory Based (Speicherbasierende) Algorithmen:
c) Vergleich
•
Genauigkeit:
– Wenigere vertrauenswürdigere Mentoren sind besser
–
–
•
Viel weniger Items als Benutzer in der Matrix vorhanden
Item-Based besser
Viel weniger Benutzer als Items in der Matrix vorhanden
User-Based besser
Effizienz:
– Weniger Items als Benutzer in der Matrix vorhanden
Item-Based besser
– Weniger Benutzer als Items in der Matrix vorhanden
User-Based besser
Ansätze für gemeinschaftliches Filtering
35
36. 6. Memory Based (Speicherbasierende) Algorithmen:
c) Vergleich
•
Stabilität:
– Bei gleichbleibender Item-Angebot
Item-Based besser
– Bei gleichbleibender User-Pool
User-Based besser
•
Neue Empfehlungen:
User-Based ergibt hin und wieder Vorschläge aus anderen
Bereichen
Ansätze für gemeinschaftliches Filtering
36
37. 7. Vor- und Nachteile
Ansätze für gemeinschaftliches Filtering
37
38. 7. Vor- und Nachteile
Vorteile
Nachteile
• Ermitteln von
Objekteigenschaften
entfallen
• Austausch von Erfahrungen
vieler Benutzer
• Beziehungen von Benutzern
werden aufgedeckt
• Empfehlungen auch wenn
nicht danach gesucht wird
•
•
•
•
•
Cold-Start-Problem
Black-Box-Problem
Synonym-Problem
Shilling attacks
Zufällige zusammenhänge
Falsche Empfehlungen
• Objekteigenschaften nicht
miteinbezogen
• geringer Datenschutz
Ansätze für gemeinschaftliches Filtering
38
40. 8. Einsatzgebiete
• große Benutzer- und Objektanzahl
• keine Einordnung der Items in objektive Eigenschaften
möglich bzw. subjektive Bewertungen besser
Literatur, Musik, Videos, Filme, Websieten, Restaurants
Amazone, Ebay, etc
Ansätze für gemeinschaftliches Filtering
40
41. Danke für ihre Aufmerksamkeit
Ansätze für gemeinschaftliches Filtering
41