Upload
yong-zheng
View
243
Download
1
Embed Size (px)
Citation preview
Improve General Contextual SLIM Recommendation
Algorithms By Factorizing Contexts
Yong Zheng, PhDc
Center for Web Intelligence
DePaul University, Chicago, USA
Student Research Competition
2nd Round@ACM SAC 2015 Salamanca, Spain, April 15
Overview
• Background (Recommender System and Context-aware RS)
• Research Problems and Motivations
• Solutions by Factorizing Context
• Experimental Results
• Conclusion and Future Work
Intro. Recommender Systems
• Typical Data Set in RS: Rating-Based Data Set
Usually, it is a 2D rating matrix: User × Item -> Ratings
Task: For a user, RS provide a list of suggested items to him/her
Context-aware RS (CARS)
• Example of Context-aware Recommender
What is context? “any information that can be used to characterize
the situation of an entity” by Abowd et al. in 1999
Companion
Example of Contexts in different domains: Food: time (noon, night), occasion (business lunch, family dinner) Movie: time (weekend, weekday), location (home, cinema), etc Music: time (morning, evening), activity (study, sports, party), etc Book: a book as a gift for kids or mother, etc
Context-aware RS (CARS)
• Traditional RS: Users × Items Ratings
• Context-aware RS: Users × Items × Contexts Ratings
Task: CARS provide a list of suggests to <user, contexts>
Recommendation cannot live alone without considering contexts.E.g., choose a romantic movie with partner, but comic with kids.
Contribution of This Work
Before moving on, it is necessary to introduce the contribution of this work: Basically, the work in this paper is an improvement over a context-aware recommendation algorithm which was our previous work published in ACM CIKM 2014 and ACM RecSys2014 conferences.
To further introduce the following work:
1). Introduce the General Contextual Sparse LInearMethod (GCSLIM) published in ACM CIKM 2014
2). Introduce the drawbacks in GCSLIM and research problems in this work
Intro. GCSLIM
General Contextual Sparse LInear Method (GCSLIM) published in ACM CIKM 2014
Recommendation task: given user U1, and a context situation {weekday, home, sister}, the system should provide a list of recommended movies to U1.
How to generate such a recommendation list?
User Movie Time Location Companion Rating
U1 M1 Weekend Home Girlfriend 4
U2 M2 Weekday Home Girlfriend 5
U3 M3 Weekday Cinema Sister 4
U1 M2 Weekday Home Sister N/A
Intro. GCSLIM
Task: Recommendation to <U1, Ctx2>
Step1: we extract U1’s contextual rating on other movies from P, e.g., R (U1, t1, Ctx1)Step 2: This rating will be converted into R (U1, t1, Ctx2) by adding the rating deviation Dev(Ctx1, Ctx2)Step 3: Right now, we have estimated rating R (U1, t1, Ctx2) , we multiply it with coefficient W (t1, t2)
S(U1, t2, Ctx2) = an aggregation of the term below:[R(U1, t1, Ctx1) + Dev (Ctx1, Ctx2)] × W(t1, t2)
Intro. GCSLIM
S(U1, t2, Ctx2) = an aggregation of the term below:[R(U1, t1, Ctx1) + Dev (Ctx1, Ctx2)] × W(t1, t2)
Ctx1 = {weekend, home, girlfriend}Ctx2 = {weekday, home, sister}
Dev (Ctx1, Ctx2) = Dev (weekend, weekday) + Dev (girlfriend, sister)
User Movie Time Location Companion Rating
U1 M1 Weekend Home Girlfriend 4
U2 M2 Weekday Home Girlfriend 5
U3 M3 Weekday Cinema Sister 4
U1 M2 Weekday Home Sister N/A
Intro. GCSLIM
How good is the GCSLIM?????????
In our previous work published in ACM CIKM 2014, it has been demonstrated that GCSLIM outperforms the state-of-the-art context-aware recommendation algorithms within multiple data sets.
In other words, GCSLIM is the BEST context-aware recommendation algorithm based on our empirical experimental evaluations in 2014.
Drawbacks in GCSLIM
Ctx1 = {weekend, home, girlfriend}Ctx2 = {weekday, home, sister}
Dev (Ctx1, Ctx2) = Dev (weekend, weekday) + Dev (girlfriend, sister)
--------------------------------------------------------Deviations is measured in pairs, e.g. Dev (weekend, weekday) , which may result in sparsity problem.
For example:
In training set, we learned Dev<weekend, weekday> and Dev <weekday, holiday>But in testing set, we need Dev <weekend, holiday>Which was NOT learned in the algorithm
Research Problem
Problem: how to alleviate the sparsity problem?
Sparsity Problem:
In training set, we learned Dev<weekend, weekday> and Dev <weekday, holiday>But in testing set, we need Dev <weekend, holiday>Which was NOT learned in the algorithm
Solution
Problem:
In training set, we learned Dev<weekend, weekday> and Dev <weekday, holiday>But in testing set, we need Dev <weekend, holiday>Which was NOT learned in the algorithm
----------------------------------------------------------------
Solution:
We represent each context condition by a vector, e.g.,
Weekend = <0.1, 0, 0.03, 0.4, 1>Weekday = <0.2, 0.3, 1.2, 0, 0.1>Holiday = <1.22, 0.1, 0, 0.2, 2.3>
Dev (c1, c2) = Euclidean distance (Vector1, Vector2)Note: other distance metrics may also be applied!!
Solution
Problem:
In training set, we learned Dev<weekend, weekday> and Dev <weekday, holiday>But in testing set, we need Dev <weekend, holiday>Which was NOT learned in the algorithm
------------------------------------------------------------------
Solution:
Training: Dev<weekend, weekday> Dev <weekday, holiday>Testing: Dev<weekend, holiday>
In training, we already learned those two pairs of deviations, where their corresponding vectors have been learned!
In testing, we can directly use the distance of the vectors “weekend” and “holiday” to compute the deviations!! Alleviate the sparsity!!
Experimental Results
This approach has been evaluated over multiple data sets:
Due to limited space in the SRC paper, we just present our results based on the restaurant data, where there are two contextual dimensions: Time (weekend, weekday), Location (school, home, work)
We use two metrics: Precision, and Mean Average Precision (MAP)
Precision measure how accurate the recommendation list is by evaluating the hit-ratio
MAP additionally measure the ranking positions in addition to Precision
Experimental Results
We used two baselines
from our previous work
published in RecSys
and CIKM 2014.
We did not include other
baselines, since GCSLIM
was already proved as
the best one in our
previous work.
The improvement is 16%
on precision and 8% on
MAP for this data set.
Conclusions Factorizing context is able to alleviate the sparsity problem in the
GCSLIM algorithm
Future Work Even if this solution can alleviate the sparsity problem, but it cannot
fully solve it when the data is too sparse, especially when it comes
to the cold-start problems: no knowledge about user/item/context.
Stay tuned .. Actually, the idea of factorizing context is also applicable to other
algorithms to alleviate the sparsity problem, since this problem is a
general one in this domain.
We have a paper "Integrating Context Similarity with Sparse Linear
Recommendation Model" accepted by the UMAP 2015 which is the
premier conference in user modeling and personalization, where we
reused the approach of factorizing context.
Acknowledgement
Thanks to the ACM SIGAPP providing travel support;
Thanks to Microsoft Research providing travel support;
Thanks to the organizers of ACM SAC and the SRC program!