Movie ¡Recommendation ¡using ¡ Random ¡Walks ¡over ¡the ¡ Contextual ¡Graph CARS ¡2010 ¡workshop October ¡26, ¡2010 Barcelona, ¡Spain Toine ¡Bogers Royal ¡School ¡of ¡Library ¡& ¡Information ¡Science Copenhagen, ¡Denmark
Contextual ¡recommendation
Contextual ¡recommendation • Three ¡truths ¡about ¡context Plays ¡an ¡important ¡role ¡in ¡the ¡relevance ¡of ¡a ¡recommendaIon Has ¡been ¡underrepresented ¡in ¡recommender ¡systems Is ¡needed ¡to ¡take ¡recommendaIons ¡to ¡the ¡next ¡level
Contextual ¡recommendation • Three ¡truths ¡about ¡context Plays ¡an ¡important ¡role ¡in ¡the ¡relevance ¡of ¡a ¡recommendaIon Has ¡been ¡underrepresented ¡in ¡recommender ¡systems Is ¡needed ¡to ¡take ¡recommendaIons ¡to ¡the ¡next ¡level • Taxonomy ¡of ¡approaches Pre-‑filtering ¡on ¡context Post-‑filtering ¡on ¡context Direct ¡integra+on ¡of ¡context ¡into ¡the ¡recommendaIon ¡algorithm
ContextWalk
ContextWalk • Context-‑aware ¡ recommenda+on ¡algorithm
ContextWalk • Context-‑aware ¡ recommenda+on ¡algorithm Based ¡on ¡Markov ¡random ¡walks
ContextWalk • Context-‑aware ¡ recommenda+on ¡algorithm Based ¡on ¡Markov ¡random ¡walks Models ¡user ¡browsing ¡behavior ¡on ¡movie ¡database ¡websites -‑ But ¡could ¡easily ¡be ¡adapted ¡to ¡other ¡domains
ContextWalk • Context-‑aware ¡ recommenda+on ¡algorithm Based ¡on ¡Markov ¡random ¡walks Models ¡user ¡browsing ¡behavior ¡on ¡movie ¡database ¡websites -‑ But ¡could ¡easily ¡be ¡adapted ¡to ¡other ¡domains Can ¡integrate ¡different ¡types ¡of ¡contextual ¡informaIon
ContextWalk • Context-‑aware ¡ recommenda+on ¡algorithm Based ¡on ¡Markov ¡random ¡walks Models ¡user ¡browsing ¡behavior ¡on ¡movie ¡database ¡websites -‑ But ¡could ¡easily ¡be ¡adapted ¡to ¡other ¡domains Can ¡integrate ¡different ¡types ¡of ¡contextual ¡informaIon Can ¡support ¡many ¡different ¡recommendaIon ¡tasks
ContextWalk • Context-‑aware ¡ recommenda+on ¡algorithm Based ¡on ¡Markov ¡random ¡walks Models ¡user ¡browsing ¡behavior ¡on ¡movie ¡database ¡websites -‑ But ¡could ¡easily ¡be ¡adapted ¡to ¡other ¡domains Can ¡integrate ¡different ¡types ¡of ¡contextual ¡informaIon Can ¡support ¡many ¡different ¡recommendaIon ¡tasks Strongly ¡inspired ¡by ¡ -‑ Craswell ¡et ¡al. ¡(2007, ¡image ¡retrieval ¡based ¡on ¡clickstream ¡data) -‑ Clements ¡et ¡al. ¡(2008, ¡personalized ¡search ¡on ¡social ¡tagging ¡websites)
Browsing ¡a ¡movie ¡database ¡website
Browsing ¡a ¡movie ¡database ¡website
Browsing ¡a ¡movie ¡database ¡website
Browsing ¡a ¡movie ¡database ¡website
Browsing ¡a ¡movie ¡database ¡website
Browsing ¡a ¡movie ¡database ¡website
Contextual ¡graph %&"$ ( ( +*,-" '(! ( ( ( ()'*$ ( !"#$"
Contextual ¡graph %&"$ ( ( +*,-" '(! ( ( ( ()'*$ ( !"#$"
Modeling ¡browsing ¡behavior
Modeling ¡browsing ¡behavior • Browsing ¡model
Modeling ¡browsing ¡behavior • Browsing ¡model User ¡starts ¡from ¡a ¡specific ¡node -‑ Movie, ¡genre, ¡actor/actress, ¡tag, ¡director, ¡etc.
Modeling ¡browsing ¡behavior • Browsing ¡model User ¡starts ¡from ¡a ¡specific ¡node -‑ Movie, ¡genre, ¡actor/actress, ¡tag, ¡director, ¡etc. Keeps ¡randomly ¡following ¡links ¡to ¡pages ¡represenIng ¡other ¡nodes -‑ Of ¡course ¡this ¡is ¡not ¡really ¡random!
Modeling ¡browsing ¡behavior • Browsing ¡model User ¡starts ¡from ¡a ¡specific ¡node -‑ Movie, ¡genre, ¡actor/actress, ¡tag, ¡director, ¡etc. Keeps ¡randomly ¡following ¡links ¡to ¡pages ¡represenIng ¡other ¡nodes -‑ Of ¡course ¡this ¡is ¡not ¡really ¡random! UnIl ¡he ¡arrives ¡at ¡an ¡interesIng ¡node ¡and ¡stops ¡browsing
Modeling ¡browsing ¡behavior
Modeling ¡browsing ¡behavior • AssumpIons
Modeling ¡browsing ¡behavior • AssumpIons User ¡has ¡limited ¡memory ¡(forgets ¡previous ¡posiIon)
Modeling ¡browsing ¡behavior • AssumpIons User ¡has ¡limited ¡memory ¡(forgets ¡previous ¡posiIon) Keep ¡the ¡user ¡in ¡the ¡vicinity ¡of ¡his ¡original ¡‘recommendaIon ¡need’
Modeling ¡browsing ¡behavior • AssumpIons User ¡has ¡limited ¡memory ¡(forgets ¡previous ¡posiIon) Keep ¡the ¡user ¡in ¡the ¡vicinity ¡of ¡his ¡original ¡‘recommendaIon ¡need’ -‑ Random ¡walks ¡of ¡ finite ¡length ¡
Modeling ¡browsing ¡behavior • AssumpIons User ¡has ¡limited ¡memory ¡(forgets ¡previous ¡posiIon) Keep ¡the ¡user ¡in ¡the ¡vicinity ¡of ¡his ¡original ¡‘recommendaIon ¡need’ -‑ Random ¡walks ¡of ¡ finite ¡length ¡ -‑ Self-‑transiIons ¡where ¡the ¡walk ¡stays ¡in ¡place
Modeling ¡browsing ¡behavior • AssumpIons User ¡has ¡limited ¡memory ¡(forgets ¡previous ¡posiIon) Keep ¡the ¡user ¡in ¡the ¡vicinity ¡of ¡his ¡original ¡‘recommendaIon ¡need’ -‑ Random ¡walks ¡of ¡ finite ¡length ¡ -‑ Self-‑transiIons ¡where ¡the ¡walk ¡stays ¡in ¡place • TransiIon ¡probabiliIes ¡between ¡nodes
Modeling ¡browsing ¡behavior • AssumpIons User ¡has ¡limited ¡memory ¡(forgets ¡previous ¡posiIon) Keep ¡the ¡user ¡in ¡the ¡vicinity ¡of ¡his ¡original ¡‘recommendaIon ¡need’ -‑ Random ¡walks ¡of ¡ finite ¡length ¡ -‑ Self-‑transiIons ¡where ¡the ¡walk ¡stays ¡in ¡place • TransiIon ¡probabiliIes ¡between ¡nodes Not ¡based ¡on ¡real ¡browsing/access ¡pa\erns
Modeling ¡browsing ¡behavior • AssumpIons User ¡has ¡limited ¡memory ¡(forgets ¡previous ¡posiIon) Keep ¡the ¡user ¡in ¡the ¡vicinity ¡of ¡his ¡original ¡‘recommendaIon ¡need’ -‑ Random ¡walks ¡of ¡ finite ¡length ¡ -‑ Self-‑transiIons ¡where ¡the ¡walk ¡stays ¡in ¡place • TransiIon ¡probabiliIes ¡between ¡nodes Not ¡based ¡on ¡real ¡browsing/access ¡pa\erns -‑ But ¡they ¡could ¡be!
Modeling ¡browsing ¡behavior • AssumpIons User ¡has ¡limited ¡memory ¡(forgets ¡previous ¡posiIon) Keep ¡the ¡user ¡in ¡the ¡vicinity ¡of ¡his ¡original ¡‘recommendaIon ¡need’ -‑ Random ¡walks ¡of ¡ finite ¡length ¡ -‑ Self-‑transiIons ¡where ¡the ¡walk ¡stays ¡in ¡place • TransiIon ¡probabiliIes ¡between ¡nodes Not ¡based ¡on ¡real ¡browsing/access ¡pa\erns -‑ But ¡they ¡could ¡be! EsImated ¡using ¡raIngs ¡and ¡links ¡between ¡nodes
Modeling ¡browsing ¡behavior • AssumpIons User ¡has ¡limited ¡memory ¡(forgets ¡previous ¡posiIon) Keep ¡the ¡user ¡in ¡the ¡vicinity ¡of ¡his ¡original ¡‘recommendaIon ¡need’ -‑ Random ¡walks ¡of ¡ finite ¡length ¡ -‑ Self-‑transiIons ¡where ¡the ¡walk ¡stays ¡in ¡place • TransiIon ¡probabiliIes ¡between ¡nodes Not ¡based ¡on ¡real ¡browsing/access ¡pa\erns -‑ But ¡they ¡could ¡be! EsImated ¡using ¡raIngs ¡and ¡links ¡between ¡nodes -‑ E.g., ¡user ¡A ¡rated ¡movie ¡B ¡4 ¡stars, ¡actor ¡C ¡played ¡in ¡movie ¡D
Constructing ¡the ¡contextual ¡graph
Constructing ¡the ¡contextual ¡graph UI
Constructing ¡the ¡contextual ¡graph movies I1 I2 I3 I4 U1 5 4 1 users U2 3 2 3 U3 1 4 2 UI
Constructing ¡the ¡contextual ¡graph movies I1 I2 I3 I4 U1 5 4 1 users U2 3 2 3 U3 1 4 2 UI II UU self-‑transiIon ¡with ¡ probability ¡a α
Constructing ¡the ¡contextual ¡graph UI II UU
Constructing ¡the ¡contextual ¡graph UI II UU ! " ! !"#" !! $"#" !" "&" # % " $"#" !" !"#" ""
Recommend
More recommend