Probabilistic Group Recommendationvia Information Matching
Jagadeesh Gorla (@jgorla)1 Neal Lathia (@neal lathia)2 Stephen Robertson3 Jun Wang (@seawan)1
1University College London
2University of Cambridge
3Microsoft Research Cambridge
What is the problem?• Group recommendation
• How to computePr(group relevance | group, activity)?
• A probabilistic group recommendation model!
What is the problem?
• Group recommendation
• Individual users preferences?• Type of the group (group preferences)?
Type of the groups
• Consensus preferences group
• Relevant to every group member
Type of the groups
• Shared preferences group
• Relevant to every group member, or at-least notdisliked by majority of the group members
Type of the groups
• Split preferences group
• Relevant to at-least one group member• e.g., Group of household members sharing the same
TV but consume at different times
Individual vs. Group preferences
• Individual preferences
Individual vs. Group preferences
• Individual preferences
Individual vs. Group preferences
What if they decide to watch a movie together?
Group recommendations?
Merging individual preferences• Merge and create group profile• Generate recommendations for group
Problem: May present unwanted items, e.g.,Spartacus
Merging individual recommendations• Compute a list of recommendations for each member• Merge the individual lists
Problem: May lose preferences as part of a group
Group recommendations?
Merging individual preferences• Merge and create group profile• Generate recommendations for group
Problem: May present unwanted items, e.g.,Spartacus
Merging individual recommendations• Compute a list of recommendations for each member• Merge the individual lists
Problem: May lose preferences as part of a group
Group recommendations?
Merging individual preferences• Merge and create group profile• Generate recommendations for group
Problem: May present unwanted items, e.g.,Spartacus
Merging individual recommendations• Compute a list of recommendations for each member• Merge the individual lists
Problem: May lose preferences as part of a group
Group recommendations?
Merging individual preferences• Merge and create group profile• Generate recommendations for group
Problem: May present unwanted items, e.g.,Spartacus
Merging individual recommendations• Compute a list of recommendations for each member• Merge the individual lists
Problem: May lose preferences as part of a group
Group recommendations?
Individual preference in a group may vary
Group recommendation should consider,• Individual preferences• Group preferences
Hypothesis,• Group relevance is a function of “individual group
member preferences”
Group recommendations?
Individual preference in a group may vary
Group recommendation should consider,• Individual preferences• Group preferences
Hypothesis,• Group relevance is a function of “individual group
member preferences”
Group recommendations?
Individual preference in a group may vary
Group recommendation should consider,• Individual preferences• Group preferences
Hypothesis,• Group relevance is a function of “individual group
member preferences”
Probabilistic model
Some notation:1 G is a set of users ({u1, u2 · · · , uh})2 Rg = 1 if the item is relevant to the group, and 0
otherwise3 < is a binary vector of individual relevance
Probabilistic model• Group relevance
P (Rg = 1|G, i) ∝Rg∑<
∏hj=1 P (Rj, uj, i|Rg = 1) ×
∏hj=1 P (Rj|uj, i)
• Individual relevance
• Least misery strategy:
P (Rg = 1|G, i) ∝Rg
min{P (R1 = 1|u1, i), · · · , P (Rh = 1|uh, i)}
Probabilistic model• Group relevance
P (Rg = 1|G, i) ∝Rg∑<
∏hj=1 P (Rj, uj, i|Rg = 1) ×
∏hj=1 P (Rj|uj, i)
• Individual relevance
• Least misery strategy:
P (Rg = 1|G, i) ∝Rg
min{P (R1 = 1|u1, i), · · · , P (Rh = 1|uh, i)}
Probabilistic model• Group relevance
P (Rg = 1|G, i) ∝Rg∑<
∏hj=1 P (Rj, uj, i|Rg = 1) ×
∏hj=1 P (Rj|uj, i)
• Individual relevance
• Least misery strategy:
P (Rg = 1|G, i) ∝Rg
min{P (R1 = 1|u1, i), · · · , P (Rh = 1|uh, i)}
Probabilistic model• Group relevance
P (Rg = 1|G, i) ∝Rg∑<
∏hj=1 P (Rj, uj, i|Rg = 1) ×
∏hj=1 P (Rj|uj, i)
• Individual relevance
• Least misery strategy:
P (Rg = 1|G, i) ∝Rg
min{P (R1 = 1|u1, i), · · · , P (Rh = 1|uh, i)}
Relevance to an individual
Name: Jane SmithSex: FemaleAge: 27Location: Ipanema
Product: ShoeType: FormalBrand: ChanelColour: Red
How to compute the relevance between Jane (“girl fromIpanema”) & Shoe?
Relevance to an individual
Name: Jane SmithSex: FemaleAge: 27Location: Ipanema
Product: ShoeType: FormalBrand: ChanelColour: Red
How to compute the relevance between Jane (“girl fromIpanema”) & Shoe?
Relevance to an individual
Traditional approaches:• Neighbourhood approaches
• Assume common feature space• matrix factorisation (e.g., PureSVD)
• Model features as a user/item
Relevance to an individual
Traditional approaches:• Neighbourhood approaches• Assume common feature space
• matrix factorisation (e.g., PureSVD)
• Model features as a user/item
Relevance to an individual
Traditional approaches:• Neighbourhood approaches• Assume common feature space
• matrix factorisation (e.g., PureSVD)
• Model features as a user/item
Relevance to an individual
We want a framework with:• No explicit similarity
• No common feature space• Interpretable features
Information Matching Model (IMM)or
Bi-directional Unified Model
Relevance to an individual
We want a framework with:• No explicit similarity• No common feature space
• Interpretable features
Information Matching Model (IMM)or
Bi-directional Unified Model
Relevance to an individual
We want a framework with:• No explicit similarity• No common feature space• Interpretable features
Information Matching Model (IMM)or
Bi-directional Unified Model
Relevance to an individual
We want a framework with:• No explicit similarity• No common feature space• Interpretable features
Information Matching Model (IMM)or
Bi-directional Unified Model
Idea ...
• Find a best match for Me
• man −−−−→ woman︸ ︷︷ ︸man preferences
+ man←−−−−woman︸ ︷︷ ︸woman preferences
Idea ...
• Find a best match for Me
• man −−−−→ woman︸ ︷︷ ︸man preferences
+ man←−−−−woman︸ ︷︷ ︸woman preferences
Idea ...
• Find a best match for Me
• man −−−−→ woman︸ ︷︷ ︸man preferences
+ man←−−−−woman︸ ︷︷ ︸woman preferences
IMM
U/Q/P α3
α2
α4
α1
. . .
αl
β3
β2
β4
β1
. . .
βk
Pro/D/P/Ad
1
IMM
U/Q/P α3
α2
α4
α1
. . .
αl
β3
β2
β4
β1
. . .
βk
Pro/D/P/Ad
1
IMM
U/Q/P α3
α2
α4
α1
. . .
αl
β3
β2
β4
β1
. . .
βk
Pro/D/P/Ad
1
IMM
U1
U2
. . .
α3
α2
α4
α1
. . .
αl
β3
β2
β4
β1
. . .
βk
Pr1
Pr2
. . .
1
It solves the problem of “Unified Model for InformationRetrieval”
S.E. Robertson, M.E. Maron and W.S. Cooper, Theunified probabilistic model for IR, 1982.
Data
Dataset Users Movies Ratings scaleMovieLens1 1K 1.7K 100K [1-5]MovieLens2 6K 4K 1M [1-5]MoviePilot (Tr) 171K 24K 4.4M [0-100]MoviePilot (Eva) 594 811 4,482 [0-100]
Number of households: 290
Evaluation Methodology
Evaluation:• Individual recommendation• Household recommendation
Individual recommendation• Randomly divide the data (60% training and 40%
testing) – Movie Lens• Rank all the items• Precision@N, NDCG@N and Mean Average
Precision (MAP)
Individual recommendation
Figure: Recommending to Individuals.
Performance Loss
Figure: PureSVD Figure: IMM
Conclusion
• Can develop powerful group recommendation modelswithin the framework
• Take advantage of probabilistic modelling• Individual recommendation is crucial for group
recommendation• Information Matching Model (IMM) framework can
be used to build:• Search• Job matching• People matching (e.g., dating)• Product recommendation (ads, retail, etc.)• Targeted marketing
Thank You & Questions
Acknowledgements:
• This work has been sponsored by• My personal thanks to Ulrich Paquet ( )
Graphical Model
αi zijdq βj
r̂dq
rdq
xi yj
J
θvi γvj
gij hji
l
k
d
q
1