Pr¨asentation:
Thema: Kontext-Basierte
Personalisierungsans¨atze
Referent: Lucas Mußm¨acher
Datum: 4. Dezember 2013
1 / 29
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
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
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
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
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
Beispiele zur Kontext Bestimmung eines Benutzers
(a) Explizite Bestimmung (b) Implizite Bestimmung
7 / 29
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
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
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
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
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
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
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
Berechnungs-Ans¨atze in der ¨Ubersicht
(c) Berechnungsans¨atze
15 / 29
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
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
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
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
Komplexit¨at modellbasierter Ans¨atze
Beispiel: Online-Buchshop:
k = (WochenTag, KaufAbsicht, Niederschlag, Stimmung)
WochenTag = [Mo, Di, Mi, Do, Fr, Sa, So, WE, WT...]
KaufAbsicht = [Arbeit, Pers¨ohnlich, Geschenk, Partner, Freund,
Eltern, Sammlung, GeburtstagsGeschenk, HeiratsGeschenk]
Niederschlag = [0-2mm, 2-4mm, 4-100mm]
Stimmung = [ruhig, positiv, tatkr¨aftig, tr¨ube]
¨Uberschlags Rechnung:
GESAMT(K) = ANZAHL(WochenTag) ×
ANZAHL(KaufAbsicht) × ANZAHL(Niederschlag) ×
ANZAHL(Stimmung)
= 9 × 9 × 3 × 4
= 972 entspricht etwa 980 verschiedenen Kontexten in K.
20 / 29
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
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
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
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
Ende
...
25 / 29
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
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
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
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

Kontext basierte Personalisierungsansätze

  • 1.
  • 2.
    Ablauf der Pr¨asenation: Kontextin 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 demBegriff 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: Einbeziehungdes 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 derBaumhierarchie 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 Kontextvom 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 KontextBestimmung eines Benutzers (a) Explizite Bestimmung (b) Implizite Bestimmung 7 / 29
  • 8.
    Unterschiede zu normalenEmpfehlungssystemen 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 inEmpfehlungssystemen 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 BewertungsfunktionRank 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
  • 15.
    Berechnungs-Ans¨atze in der¨Ubersicht (c) Berechnungsans¨atze 15 / 29
  • 16.
    Ansatz 1: KontextuelleVorfilterung 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: KontextuelleVorfilterung 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: ModellbasierteEinbeziehung 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 Beider 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
  • 20.
    Komplexit¨at modellbasierter Ans¨atze Beispiel:Online-Buchshop: k = (WochenTag, KaufAbsicht, Niederschlag, Stimmung) WochenTag = [Mo, Di, Mi, Do, Fr, Sa, So, WE, WT...] KaufAbsicht = [Arbeit, Pers¨ohnlich, Geschenk, Partner, Freund, Eltern, Sammlung, GeburtstagsGeschenk, HeiratsGeschenk] Niederschlag = [0-2mm, 2-4mm, 4-100mm] Stimmung = [ruhig, positiv, tatkr¨aftig, tr¨ube] ¨Uberschlags Rechnung: GESAMT(K) = ANZAHL(WochenTag) × ANZAHL(KaufAbsicht) × ANZAHL(Niederschlag) × ANZAHL(Stimmung) = 9 × 9 × 3 × 4 = 972 entspricht etwa 980 verschiedenen Kontexten in K. 20 / 29
  • 21.
    Komplexit¨at modellbasierter Ans¨atze Modell-BasierteBerechnung 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 aufdas 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 Vorhersagerelevanter 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 Durchden 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
  • 25.
  • 26.
    Zusatz: Vertrauen indie 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 Beider 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 Aufder 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