Movie Recommendation using Random Walks over the - - PowerPoint PPT Presentation

movie recommendation using random walks over the
SMART_READER_LITE
LIVE PREVIEW

Movie Recommendation using Random Walks over the - - PowerPoint PPT Presentation

Movie Recommendation using Random Walks over the Contextual Graph CARS 2010 workshop October 26, 2010 Barcelona, Spain Toine Bogers Royal School of Library &


slide-1
SLIDE 1

Movie ¡Recommendation ¡using ¡ Random ¡Walks ¡over ¡the ¡ Contextual ¡Graph

Toine ¡Bogers Royal ¡School ¡of ¡Library ¡& ¡Information ¡Science Copenhagen, ¡Denmark

CARS ¡2010 ¡workshop October ¡26, ¡2010 Barcelona, ¡Spain

slide-2
SLIDE 2

Contextual ¡recommendation

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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

slide-5
SLIDE 5

ContextWalk

slide-6
SLIDE 6

ContextWalk

  • Context-­‑aware ¡recommenda+on ¡algorithm
slide-7
SLIDE 7

ContextWalk

  • Context-­‑aware ¡recommenda+on ¡algorithm

Based ¡on ¡Markov ¡random ¡walks

slide-8
SLIDE 8

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
slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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)
slide-12
SLIDE 12

Browsing ¡a ¡movie ¡database ¡website

slide-13
SLIDE 13

Browsing ¡a ¡movie ¡database ¡website

slide-14
SLIDE 14

Browsing ¡a ¡movie ¡database ¡website

slide-15
SLIDE 15

Browsing ¡a ¡movie ¡database ¡website

slide-16
SLIDE 16

Browsing ¡a ¡movie ¡database ¡website

slide-17
SLIDE 17

Browsing ¡a ¡movie ¡database ¡website

slide-18
SLIDE 18

Contextual ¡graph

( ( ( ( (

%&"$ +*,-" '(! ( ()'*$ !"#$"

slide-19
SLIDE 19

Contextual ¡graph

( ( ( ( (

%&"$ +*,-" '(! ( ()'*$ !"#$"

slide-20
SLIDE 20

Modeling ¡browsing ¡behavior

slide-21
SLIDE 21

Modeling ¡browsing ¡behavior

  • Browsing ¡model
slide-22
SLIDE 22

Modeling ¡browsing ¡behavior

  • Browsing ¡model

User ¡starts ¡from ¡a ¡specific ¡node

  • ­‑ Movie, ¡genre, ¡actor/actress, ¡tag, ¡director, ¡etc.
slide-23
SLIDE 23

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!
slide-24
SLIDE 24

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

slide-25
SLIDE 25

Modeling ¡browsing ¡behavior

slide-26
SLIDE 26

Modeling ¡browsing ¡behavior

  • AssumpIons
slide-27
SLIDE 27

Modeling ¡browsing ¡behavior

  • AssumpIons

User ¡has ¡limited ¡memory ¡(forgets ¡previous ¡posiIon)

slide-28
SLIDE 28

Modeling ¡browsing ¡behavior

  • AssumpIons

User ¡has ¡limited ¡memory ¡(forgets ¡previous ¡posiIon) Keep ¡the ¡user ¡in ¡the ¡vicinity ¡of ¡his ¡original ¡‘recommendaIon ¡need’

slide-29
SLIDE 29

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 ¡
slide-30
SLIDE 30

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
slide-31
SLIDE 31

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
slide-32
SLIDE 32

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

slide-33
SLIDE 33

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!
slide-34
SLIDE 34

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

slide-35
SLIDE 35

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
slide-36
SLIDE 36

Constructing ¡the ¡contextual ¡graph

slide-37
SLIDE 37

Constructing ¡the ¡contextual ¡graph

UI

slide-38
SLIDE 38

Constructing ¡the ¡contextual ¡graph

UI

I1 I2 I3 I4 U1 5 4 1 U2 3 2 3 U3 1 4 2

movies users

slide-39
SLIDE 39

Constructing ¡the ¡contextual ¡graph

UU II UI

I1 I2 I3 I4 U1 5 4 1 U2 3 2 3 U3 1 4 2

movies users

self-­‑transiIon ¡with ¡ probability ¡a

α

slide-40
SLIDE 40

Constructing ¡the ¡contextual ¡graph

UU II UI

slide-41
SLIDE 41

Constructing ¡the ¡contextual ¡graph

UU II UI

!"#"!! $"#"!"

! "

$"#"!" !"#"""

! "

%

"&"#

slide-42
SLIDE 42

Constructing ¡the ¡contextual ¡graph

UU II UI

!"#"!! $"#"!"

! "

$"#"!" !"#"""

! "

%

"&"#

I1 I2 I3 I4 U1 0.5 0.4 0.1 U2 0.375 0.25 0.375 U3 0.143 0.571 0.286

movies users

slide-43
SLIDE 43

Constructing ¡the ¡contextual ¡graph

UU II UI

!"#"!! $"#"!"

! "

$"#"!" !"#"""

! "

%

"&"#

I1 I2 I3 I4 U1 0.5 0.4 0.1 U2 0.375 0.25 0.375 U3 0.143 0.571 0.286

movies users

idenIty ¡matrix ¡ mulIplied ¡by ¡a

α

slide-44
SLIDE 44

Constructing ¡the ¡contextual ¡graph

UU II UI

!"#"!! $"#"!"

! "

$"#"!" !"#"""

! "

%

"&"#

I1 I2 I3 I4 U1 0.5 0.4 0.1 U2 0.375 0.25 0.375 U3 0.143 0.571 0.286

movies users

idenIty ¡matrix ¡ mulIplied ¡by ¡a

α β = 1 − α

slide-45
SLIDE 45

Constructing ¡the ¡contextual ¡graph

! ! ! !

slide-46
SLIDE 46

Constructing ¡the ¡contextual ¡graph

! ! ! !

UU II UI AA IA UA

!

slide-47
SLIDE 47

Constructing ¡the ¡contextual ¡graph

! ! ! !

UU II UI AA IA UA

!

actor ¡j ¡played ¡in ¡ movie ¡i ¡➝ ¡akskkdk

IAi,j = 1

slide-48
SLIDE 48

Constructing ¡the ¡contextual ¡graph

UU II UI AA IA UA

!

slide-49
SLIDE 49

Constructing ¡the ¡contextual ¡graph

UU II UI AA IA UA

!

!"#"!! $"#"!" $"#"!#

! " #

$"#"!" $"#"!# !"#""" $"#""# $"#""# !"#"##

! " #

% % %

"&"$

slide-50
SLIDE 50

Constructing ¡the ¡contextual ¡graph

UU II UI AA IA UA

!

!"#"!! $"#"!" $"#"!#

! " #

$"#"!" $"#"!# !"#""" $"#""# $"#""# !"#"##

! " #

% % %

"&"$

β = 1 − α

  • no. of node types − 1
slide-51
SLIDE 51

( ( ( ( (

Constructing ¡the ¡contextual ¡graph

!" ! !# !$ !% "$ "# #$ "% #% $% $$ %% ## "" !!

slide-52
SLIDE 52

Constructing ¡the ¡contextual ¡graph

!" ! !# !$ !% "$ "# #$ "% #% $% $$ %% ## "" !!

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"&

slide-53
SLIDE 53

Computing ¡the ¡random ¡walk

slide-54
SLIDE 54

Computing ¡the ¡random ¡walk

  • How?
slide-55
SLIDE 55

Computing ¡the ¡random ¡walk

  • How?

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"&

slide-56
SLIDE 56

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"&

v0

slide-57
SLIDE 57

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"& !"!#

v0

slide-58
SLIDE 58

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

MulIply ¡ ¡ ¡ ¡ ¡ ¡with ¡transiIon

  • probability ¡matrix ¡ ¡ ¡ ¡ ¡:

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"& !"!#

v0

X

v0

slide-59
SLIDE 59

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

MulIply ¡ ¡ ¡ ¡ ¡ ¡with ¡transiIon

  • probability ¡matrix ¡ ¡ ¡ ¡ ¡:

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"& !"!#

v0

X

vt+1 = vtX

v0

slide-60
SLIDE 60

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

MulIply ¡ ¡ ¡ ¡ ¡ ¡with ¡transiIon

  • probability ¡matrix ¡ ¡ ¡ ¡ ¡:

¡ ¡ ¡ ¡ ¡contains ¡the ¡probabiliIes ¡of ¡

  • being ¡in ¡a ¡node ¡aber ¡1 ¡step

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"& !"!#

v0

X

vt+1 = vtX

v1 v0

slide-61
SLIDE 61

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

MulIply ¡ ¡ ¡ ¡ ¡ ¡with ¡transiIon

  • probability ¡matrix ¡ ¡ ¡ ¡ ¡:

¡ ¡ ¡ ¡ ¡contains ¡the ¡probabiliIes ¡of ¡

  • being ¡in ¡a ¡node ¡aber ¡1 ¡step

¡ ¡ ¡ ¡ ¡aber ¡two ¡steps

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"& !"!#

v0

X

vt+1 = vtX

v1 v2 v0

slide-62
SLIDE 62

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

MulIply ¡ ¡ ¡ ¡ ¡ ¡with ¡transiIon

  • probability ¡matrix ¡ ¡ ¡ ¡ ¡:

¡ ¡ ¡ ¡ ¡contains ¡the ¡probabiliIes ¡of ¡

  • being ¡in ¡a ¡node ¡aber ¡1 ¡step

¡ ¡ ¡ ¡ ¡aber ¡two ¡steps ¡ ¡ ¡ ¡ ¡aber ¡n ¡steps

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"& !"!# !"!#

v0

X

vt+1 = vtX

v1 v2 v0 vn

slide-63
SLIDE 63

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

MulIply ¡ ¡ ¡ ¡ ¡ ¡with ¡transiIon

  • probability ¡matrix ¡ ¡ ¡ ¡ ¡:

¡ ¡ ¡ ¡ ¡contains ¡the ¡probabiliIes ¡of ¡

  • being ¡in ¡a ¡node ¡aber ¡1 ¡step

¡ ¡ ¡ ¡ ¡aber ¡two ¡steps ¡ ¡ ¡ ¡ ¡aber ¡n ¡steps

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"& !"!# !"!#

v0

X

vt+1 = vtX

v1 v2 v0 vn

item ¡state ¡ probabiliIes

slide-64
SLIDE 64

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

MulIply ¡ ¡ ¡ ¡ ¡ ¡with ¡transiIon

  • probability ¡matrix ¡ ¡ ¡ ¡ ¡:

¡ ¡ ¡ ¡ ¡contains ¡the ¡probabiliIes ¡of ¡

  • being ¡in ¡a ¡node ¡aber ¡1 ¡step

¡ ¡ ¡ ¡ ¡aber ¡two ¡steps ¡ ¡ ¡ ¡ ¡aber ¡n ¡steps

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"& !"!# !"!#

v0

X

vt+1 = vtX

v1 v2 v0 vn

user ¡state ¡ probabiliIes

slide-65
SLIDE 65

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

MulIply ¡ ¡ ¡ ¡ ¡ ¡with ¡transiIon

  • probability ¡matrix ¡ ¡ ¡ ¡ ¡:

¡ ¡ ¡ ¡ ¡contains ¡the ¡probabiliIes ¡of ¡

  • being ¡in ¡a ¡node ¡aber ¡1 ¡step

¡ ¡ ¡ ¡ ¡aber ¡two ¡steps ¡ ¡ ¡ ¡ ¡aber ¡n ¡steps

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"& !"!# !"!#

v0

X

vt+1 = vtX

v1 v2 v0 vn

tag ¡state ¡ probabiliIes

slide-66
SLIDE 66

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

MulIply ¡ ¡ ¡ ¡ ¡ ¡with ¡transiIon

  • probability ¡matrix ¡ ¡ ¡ ¡ ¡:

¡ ¡ ¡ ¡ ¡contains ¡the ¡probabiliIes ¡of ¡

  • being ¡in ¡a ¡node ¡aber ¡1 ¡step

¡ ¡ ¡ ¡ ¡aber ¡two ¡steps ¡ ¡ ¡ ¡ ¡aber ¡n ¡steps

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"& !"!# !"!#

v0

X

vt+1 = vtX

v1 v2 v0 vn

genre ¡state ¡ probabiliIes

slide-67
SLIDE 67

Computing ¡the ¡random ¡walk

  • How?

Select ¡the ¡user ¡in ¡the ¡iniIal ¡

  • state ¡vector ¡

MulIply ¡ ¡ ¡ ¡ ¡ ¡with ¡transiIon

  • probability ¡matrix ¡ ¡ ¡ ¡ ¡:

¡ ¡ ¡ ¡ ¡contains ¡the ¡probabiliIes ¡of ¡

  • being ¡in ¡a ¡node ¡aber ¡1 ¡step

¡ ¡ ¡ ¡ ¡aber ¡two ¡steps ¡ ¡ ¡ ¡ ¡aber ¡n ¡steps

!"#"!! $"#"!" $"#"!# $"#"!$ $"#"!%

! " # $ %

$"#"!" $"#"!# $"#"!$ $"#"!% !"#""" $"#""# $"#""$ $"#""% $"#""# !"#"## $"#"#$ $"#"#% $"#""$ $"#"#$ !"#"$$ $"#"$% $"#""% $"#"#% $"#"$% !"#"%%

! " # $ %

% % % % % % % % % %

"&"& !"!# !"!#

v0

X

vt+1 = vtX

v1 v2 v0 vn

actor ¡state ¡ probabiliIes

slide-68
SLIDE 68

Contextual ¡extensions

slide-69
SLIDE 69

Contextual ¡extensions

  • Some ¡possibiliIes

Group ¡recommendaIon ¡by ¡selecIng ¡mulIple ¡users ¡

!"!#

slide-70
SLIDE 70

Contextual ¡extensions

  • Some ¡possibiliIes

Group ¡recommendaIon ¡by ¡selecIng ¡mulIple ¡users ¡ RecommendaIon ¡based ¡on ¡favorite ¡actors

!"!# !"!#

slide-71
SLIDE 71

Contextual ¡extensions

  • Some ¡possibiliIes

Group ¡recommendaIon ¡by ¡selecIng ¡mulIple ¡users ¡ RecommendaIon ¡based ¡on ¡favorite ¡actors Temporal ¡informaIon ¡to ¡deal ¡with ¡taste ¡drib

!"!# !"!# !"!#

slide-72
SLIDE 72

Contextual ¡extensions

slide-73
SLIDE 73

Contextual ¡extensions

  • Some ¡possibiliIes

Augment ¡self-­‑transiIons

  • ­‑ Social ¡network ¡data ¡to ¡incorporate ¡friendship ¡relaIons ¡into ¡UU
  • ­‑ Item ¡similarity ¡based ¡on ¡(textual) ¡similarity
  • ­‑ Tag ¡similarity
slide-74
SLIDE 74

Contextual ¡extensions

  • Some ¡possibiliIes

Augment ¡self-­‑transiIons

  • ­‑ Social ¡network ¡data ¡to ¡incorporate ¡friendship ¡relaIons ¡into ¡UU
  • ­‑ Item ¡similarity ¡based ¡on ¡(textual) ¡similarity
  • ­‑ Tag ¡similarity

Screen ¡Ime ¡of ¡actors

slide-75
SLIDE 75

Contextual ¡extensions

  • Some ¡possibiliIes

Augment ¡self-­‑transiIons

  • ­‑ Social ¡network ¡data ¡to ¡incorporate ¡friendship ¡relaIons ¡into ¡UU
  • ­‑ Item ¡similarity ¡based ¡on ¡(textual) ¡similarity
  • ­‑ Tag ¡similarity

Screen ¡Ime ¡of ¡actors Mood

slide-76
SLIDE 76

Conclusions ¡& ¡future ¡work

slide-77
SLIDE 77

Conclusions ¡& ¡future ¡work

  • ContextWalk

Based ¡on ¡Markov ¡random ¡walks Models ¡user ¡browsing ¡behavior ¡on ¡movie ¡database ¡websites Can ¡integrate ¡different ¡types ¡of ¡contextual ¡informaIon Can ¡support ¡many ¡different ¡recommendaIon ¡tasks

slide-78
SLIDE 78

Conclusions ¡& ¡future ¡work

  • ContextWalk

Based ¡on ¡Markov ¡random ¡walks Models ¡user ¡browsing ¡behavior ¡on ¡movie ¡database ¡websites Can ¡integrate ¡different ¡types ¡of ¡contextual ¡informaIon Can ¡support ¡many ¡different ¡recommendaIon ¡tasks

  • Future ¡work

Run ¡extensive ¡experiments ¡and ¡opImize Implement ¡contextual ¡extensions Apply ¡to ¡other ¡domains, ¡such ¡as ¡scienIfic ¡papers ¡(CiteULike)

slide-79
SLIDE 79

Questions?

slide-80
SLIDE 80

What ¡is ¡context? ¡And ¡what ¡isn’t?

  • Different ¡opinions

Metadata ¡(e.g., ¡genre, ¡Itle, ¡summary, ¡actors) Tags Mood/emoIon Demographic ¡informaIon ¡(age, ¡locaIon, ¡etc.) Social ¡network ¡informaIon ¡(users, ¡actors, ¡etc.) Company ¡(watching ¡alone ¡vs. ¡watching ¡with ¡friends) Temporal ¡informaIon ¡(taste ¡drib) Screen ¡Ime ¡(contribuIon ¡to ¡a ¡movie/document/etc.)