Kontext in Empfehlungssystemen
Bestimmung des Kontexts von Benutzern
Unterschiede zu normalen Empfehlungssystemen
Berechnungs Ansätze der relevanten Items
Problem der Komplexität
Studie: Einwirkung auf den Benutzer
2. Ablauf der Pr¨asenation:
Kontext in Empfehlungssystemen
Bestimmung des Kontexts von Benutzern
Unterschiede zu normalen Empfehlungssystemen
Berechnungs-Ans¨atze der relevanten Items
Problem der Komplexit¨at
Studie: Einwirkung auf den Benutzer
2 / 29
3. Einf¨uhrungs Beispiel
Definition:
Unter dem Begriff Kontext versteht man ”die Bedingungen und
Umst¨ande, die sich auf einen Menschen auswirken”.
Beispiel Amazon:
Ein Ehemann, der ein Weihnachtsgeschenk z.B ein Parf¨um f¨ur
seine Frau kaufen will w¨urde sich im Kontext Geschenkkauf f¨ur
die Freundin befinden. Im normalen Kaufverhalten w¨urde der
Ehemann andere Waren bevorzugen.
In diesem Beispiel w¨urde der Kontext uns Konsumenten im Bezug
auf Kaufentscheidungen von Waren (Items) beeinflussen.
3 / 29
4. Kontext in Empfehlungssystemen
Ziele:
Einbeziehung des Kontexts in Empfehlungssysteme, um die
Genauigkeit der Vorhersage relevanter Waren den (Items) zu
verbessern.
Technische Modellierung:
Ein Kontext k besteht aus mehreren Attributen a1 ... an.
a1 = Wochentag, a2 = KaufAbsicht
k = (a1 ... an)
Beispiele:
k1 = (Werktag, GeschenkFreundin), k2 = (Montag, Sohn)
4 / 29
5. Kontext in der Baumhierarchie
Die Attribute des Kontexts k liegen in baum¨ahnlichen
hierrachischen Strukturen.
Wochentag
Werktag
Montag Dienstag
Wochenende
Samstag Sonntag
Beispiele:
k = (Werktag, Geschenk)
k1 = (Montag, Geschenk f¨ur Freundin)
k ist eine Generalisierung der Kontexts k1, wegen
(Montag→Werktag) und (GeschenkFreundin→Geschenk)
5 / 29
6. Bestimmung des Kontext vom Benutzer
Um Kontextinformationen ¨uber einen Benutzer in
Empfehlungssystemen einzubauen, m¨ussen diese vor der
Berechnung der relevanten Items m¨oglichst genau bestimmt
werden.
Der Kontext eines Benutzers muss vorallem beobachtbar sein, das
heißt er muss formal definiert werden k¨onnen.
Explizite Bestimmung:
Direktes Nachfragen beim Benutzer,
z.B durch ein Webformular (Absicht des Kaufs, Aktuelle Stimmng)
Implizite Bestimmung:
Indirektes Abgreifen der Informationen eines Benutzers
z.B Standort, Wochentag beim Kauf, Online Shop Seitenaufrufe
6 / 29
7. Beispiele zur Kontext Bestimmung eines Benutzers
(a) Explizite Bestimmung (b) Implizite Bestimmung
7 / 29
8. Unterschiede zu normalen Empfehlungssystemen
Alle konkreten Kontexte, in denen sich der Benutzer eines
Empfehlungssystems befinden kann, wird als Menge K definiert.
Die Menge K wird als zus¨atzliche Dimension f¨ur die Berechnung
der Bewertungs-Funktion Rank eingef¨uhrt.
Normale Bewertungs Funktion:
Rank: U × I → Bewertung
Kontext-Basierte Bewertungs Funktion:
Rank: U × I × K → Bewertung
U: Menge aller Benutzer u
I: Menge aller Items i
K: Menge aller Kontexte k
8 / 29
9. Vorhandener Datensatz in Empfehlungssystemen
Benutzer × Items Star Wars Star Gate Micky Mouse
Julia 0 3 4
Paul 5 4 4
Peter 5 3.5 0
Torsten 1 0 3
Hans 5 2 0
Olaf 1 0 0
In normalen Empfehlungssystemen wird zu jedem Benutzer und
jedem Item, eine abgegebene Benutzerbewertung gespeichert.
z.B r ∈ [0-5]
Datensatz der Form: <U, I, R>
R: Menge aller Benutzerbewertungen r
9 / 29
10. Aufstellen der Bewertungsfunktion: Rank
Annahmen zum Aufstellen:
1) Benutzer, die ¨ahnlich sind, haben die gleichen Vorlieben und
w¨urden z.B auch Filme, ¨ahnlich bewerten.
2) Items, die ¨ahnlich vom Inhalt her sind und eine gute
Bewertung aufweisen, w¨urden automatisch besser bewertet
werden.
Benutzer × Items Star Wars Star Gate Micky Mouse
Julia (Wert ?) 3 4
Paul 5 4 4
Peter 5 3.5 (Wert ?)
Torsten 1 5 3
10 / 29
11. Bewertungsfunktion: Rank
Formal:
Die Bewertungsfunktion Rank ordnet jedem Benutzer u und
jedem Item i einen positiven Wert gr¨oßer 0 zu.
Wichtig:
Je gr¨oßer dieser Wert ausf¨allt, desto wichtiger ist ein Item f¨ur
einen Benutzer.
TopN Items
BenutzerBewertung R = U × IBenuzter U
Items I
Funktion: Rank Bewertung ∈ ]0,...]
Nach der Berechnung der Rank Funktion werden die h¨ochst
bewerteten Items in die Menge TopN gespeichert.
11 / 29
12. Einf¨uhrung Kontext Dimension: K
Benutzer × Items Forrest Gump Star Wars 7 Cast Away
Julia in k’ 0 0 3
Julia in k” 0 4 0
Torsten in k’ 1 0 2
Torsten in k” 0 5 0
Torsten in k”’ 0 0 3
In Kontext basierten Empfehlungssystemen wird zu jedem
Benutzer, jedem Item und jedem Kontext ein durch den Benutzer
abgegebene Benutzerbewertung gespeichert.
Datensatz der Form: <U, I, K, R>.
k’ und k”’ sind unterschiedliche Kontexte, in denen sich der
Benutzer Torsten befand und eine Benutzerbewertung
abgegeben hat.
12 / 29
13. Beispiele zur Dimension: K
Benutzer × Items Forrest Gump Star Wars 7 Cast Away
Julia in k’ 0 0 3
Julia in k” 0 4 0
Torsten in k”’ 1 0 2
Beispiele:
1) k’ w¨urde bedeuten, dass Julia an einem Samstag, zuhause ist
(Standortbestimmung). Dort schaut sie sich die Film Cast Away
alleine an bzw. bewertet diesen auch.
2) k” w¨urde bedeuten, dass Julia an einem Sonntag mit ihrem
Freund ins Kino geht, und dabei Star Wars 7 anschaut und
diesen mit 4 bewerten w¨urde.
Formal:
k’ = (zuhause, Samstag, alleine), k” = (Kino, Sonntag, Freund)
13 / 29
14. Berechnung relevanter Items: TopN
Die Berechnung der relevanten Items i in der TopN Menge f¨ur
einen bestimmten Benutzer u kann mithilfe von 3
unterschiedlichen Berechnungs Ans¨atzen bewerkstelligt werden.
Dabei liegen die Datens¨atze der Form DATA := <U, I, K, R> vor.
Schritt 1: Kontext Bestimmung
Zuerst wird der aktuelle k’ eines Benutzers u’ ermittelt.
Schritt 2: Berechnung relevanter Items: TopN
1) Kontextuelle Vorfilterung,
2) Kontextuelle Nachfilterung oder
3) Kontext-Basierte Modelle.
14 / 29
16. Ansatz 1: Kontextuelle Vorfilterung
Bei der kontextuellen Vorfilterung wird zun¨achst die Dimension K
aus dem Datensatz durch Selektion mit K=k’ eliminiert.
DATA := <U, I, K=k’, R>
Somit entsteht die Datenmenge DATA’:
DATA[k’] = <U, I, k’, R> → DATA’ = <U, I, R>
Auf der neuen Datenmenge DATA[k’] kann wie bei normalen
Empfehlungssystemen die Bewertungsfunktion Rank aufgestellt
und berechnet werden, da die Dimension K des Kontexts wegf¨allt.
16 / 29
17. Ansatz 1: Kontextuelle Vorfilterung
Benutzer × Items Forrest Gump Star Wars 7 Cast Away
Julia in k’ 0 0 3
Julia in k” 0 4 0
Torsten in k’ 1 0 2
Selektion:
Mit K=k’ entsteht der neue Datensatz DATA[k’].
DATA[k’] = <U, I, k’, R>
Benutzer × Items Forrest Gump Star Wars 7 Cast Away
Julia in k’ 0 0 3
Torsten in k’ 1 0 2
Julia befindet sich momentan im Kontext k’. Alle anderen
abgegebenen Bewertungen der Benutzer im Kontext k’ w¨aren
f¨ur sie relevant.
17 / 29
18. Ansatz 3: Modellbasierte Einbeziehung des Kontexts
Bei Modell basierten Ans¨atzen wird die Dimension des Kontexts
K direkt in die Bewertungsfunktion Rank einbezogen um je nach
Kontext k Items i besser oder schlechter zu bewerten.
Vorhandener Datensatz:
DATA = <U, I, K, R>
Kontext basierte Bewertungs Funktion:
Rank: U × I × K → Bewertung
Ans¨atze:
Benutzer, die sich z.B im ”gleichen”Kontext (zuhause) befinden,
w¨urden ¨ahnliche Items auch gleich bewerten.
Das Aufstellen und Berechnen der Rank Funktion
modellbasierter Ans¨atze ist sehr Komplex !
18 / 29
19. Komplexit¨at modellbasierter Ans¨atze
Bei der Berechnung der Bewertungsfunktion Rank muss f¨ur
jeden Kontext eine Bewertung f¨ur ein Item und einen Benutzer
berechnet werden.
Folgerung: Die Komplexivit¨at der Berechnung steigt stark an:
Normale Berechnung der Rank Funktion:
ANZAHL(U) = 50k (50.000 Benutzer)
ANZAHL(I) = 200 (200 Verschiedene Items bzw. Waren)
DATA = <U, I, R>
Berechnungsschritte der Rank Funktion:
GESAMT = ANZAHL(U) * ANZAHL(I) = 50k * 200 = 10kk
entspricht etwa 10 Millionen Berechnungen !
19 / 29
21. Komplexit¨at modellbasierter Ans¨atze
Modell-Basierte Berechnung der Rank Funktion:
Ein Benutzer u k¨onnte sich, beim Kauf eines Buches in etwa
980 verschiedenen Kontexten K befinden.
ANZAHL(K) = 980;
DATA = <U, I, K, R>
Berechnungsschritte der Rank Funktion:
GESAMT = ANZAHL(U) × ANZAHL(I) × GESAMT(K)
= 50k × 200 × 980 = 10kkk
entspricht etwa 10 Milliarden Berechnungen !!
21 / 29
22. Studie: Einwirkung auf das Kaufverhalten
Kontext basierte Empfehlungssysteme sind meistens
rechenintensiver als normale Empfehlungssysteme, aber daf¨ur
genauer in der Bestimmung relevanter Items TopN f¨ur einen
bestimmten Benutzer.
Studie zu Normalen Systemen:
Ausgegebenes Geld pro Monat pro User: +17% (Anstieg)
Menge an gekauften Items pro Monat pro User: +37% (Anstieg)
Preis pro gekaufter Items pro Monat pro User: -15% (Abfall)
Studie zu Kontext-Basierten Systemen:
Ausgegebenes Geld pro Monat pro User: +28% (Anstieg)
Menge an gekauften Items pro Monat pro User: -8% (Abfall)
Preis pro gekaufter Items pro Monat pro User: +39% (Anstieg)
Quelle:
The Effect of Context-Aware Recommendations on Customer Purchasing
Behavior and Trust 22 / 29
23. Genauigkeit der Vorhersage relevanter Items
Genauigkeit der TopN Items:
Treffergenauigkeit (Ja-Nein) f¨ur einen Benutzer liegt bei beiden
Empfehlungssysteme bei etwa 60% - 70%.
Zum Vergleich mit der Kontrollgruppe:
zufallsbasierte Item Empfehlungen liegen bei 40% - 50%
Durchschnitt der positiven Feedbacks:
Benutzerbewertungen liegen in Kontext-Basierten
Empfehlungsysteme bei 55% - 70%.
Bei normalen Empfehlungssystemen bei nur 50% - 60%.
Offline Eink¨aufe:
Die meisten Benutzer der Empfehlubngssysteme gaben an,
dass sie offline mehr Produkte gekauft haben, als Benutzer mit
zufallsbasierten Empfehlungen.
23 / 29
24. Interpretation beim Kaufverhalten
Durch den Einsatz von Empfehlungssysteme kann z.b eine Online
Verkaufsplattform bis zu 30% mehr Geld einnehmen !
Fazit:
Bei Normalen Empfehlungssystemen kauften die Benutzer in
der Summe viel mehr Items, zahlten daf¨ur aber einen geringeren
Items St¨uckpreis.
Bei Kontext-Basierten Empfehlungssystemen kauften die
Benutzer in der Summe etwas weniger Items, aber zahlten daf¨ur
einen sehr hohen Items St¨uckpreis.
M¨ogliche Gr¨unde:
Genauere Vorhersage relevanter Items durch zielgerichtete
Einbeziehung des jeweiligen Kontexts.
24 / 29
26. Zusatz: Vertrauen in die Vorhersage
Durch Befragung der Benutzer wurde das Vertrauen in
Empfehlungsysteme ermittelt.
Die meisten Benutzer kannten die Items, die durch normale
Empfehlungssysteme vorgeschlagen wurden. Deshalb schenken sie
diesem Ansatz weniger Vertrauen.
Die meisten Benutzer hingegen schenken Kontext-Basierten
Empfehlungsystemen lediglich ein neurtales Vertrauen !!
26 / 29
27. Zusatz: Kontextuelle Nachfilterung
Bei der Contextuellen Nachfilterung wird zun¨achst die Dimension
K ignoriert und wie bei normalen Empfehlungssystemen die
Bewertungsfunktion Rank aufgestellt.
DATA = <U, I, K, R>
Es entsteht durch eine Aggregats-Funktion:
AGGR(DATA) = <U, I, R>
Wichtig:
Zu beachten ist, dass ein bestimmter Benutzer u’ zu einem
bestimmten Item i’ in unterschiedlichen Kontexten z.B in k’ und
k” verschiedene Bewertungen abgeben kann.
Die Aggregats Funktion AGGR k¨onnte z.B der Durchschnitt der
Bewertungen in den verschiedenen Kontexten k1 ... kn sein.
27 / 29
28. Zusatz: Kontextuelle Nachfilterung
Benutzer × Items Forrest Gump Star Wars 7 Cast Away
Julia in k’ 5 1 1
Julia in k” 4 0 3
Torsten in k’ 0 3 0
Torsten in k” 0 4 2
AGGR(DATA) = <U, I, R>
Benutzer × Items Forrest Gump Star Wars 7 Cast Away
Julia in k1 .. kn 4.5 1 2
Torsten in k1 .. kn 0 3.5 0
28 / 29
29. Zusatz: Kontextuelle Nachfilterung
Auf der neuen Datenmenge AGGR(DATA) kann wie bei normalen
Empfehlungssystemen die Bewertungsfunktion Rank aufgestellt
und berechnet werden.
Nach der Berechnung wird eine Liste von TopN Items i erzeugt.
Anschließend werden mit Hilfe vordefinierter Regeln entweder
alle Kontext k’ relevanten Items h¨oher bewertet oder alle
Kontext relevanten Items aus der Liste herausgefiltert.
TopN[k’] = FILTER(TopN);
Die Menge TopN[k’] ist die Menge aller relevanten Items i f¨ur
einen Benutzer u’, der sich im aktuellen Kontext k’ befindet.
29 / 29