Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Tutorial: Context-awareness In Information Retrieval and Recommender Systems
1. Tutorial: Context-Awareness In Information
Retrieval and Recommender Systems
Yong Zheng
School of Applied Technology
Illinois Institute of Technology, Chicago
Time: 2:00 PM – 5:00 PM, Oct 13, 2016
Location: Omaha Hilton, Omaha, NE, USA
The 16th IEEE/WIC/ACM Conference on Web Intelligence, Omaha, USA
2. Introduction
Yong Zheng
School of Applied Technology
Illinois Institute of Technology, Chicago, USA
2016, PhD in CIS, DePaul University, USA
Dissertation: Context-awareness In Recommender Systems
Research: Data Science for Web Intelligence
Short Tutorial (2 hrs, non-technical):
Schedule: 2:00 PM – 5:00 PM, Oct 13, 2016
Break: 3:00 PM – 3:30 PM (Outside Merchants)
Location: Herndon, Omaha Hilton, Omaha, USA
2
3. Topics in this Tutorial
• Information Overload
• Solution: Information Retrieval (IR)
e.g., Google Search Engine
• Solution: Recommender Systems (RecSys)
e.g., Movie recommender by Netflix
• Context and Context-awareness
e.g., Mobile computing and smart home devices
• Context-awareness in IR and RecSys
• Extended Topics: Trends, Challenges and Future
3
12. Information Overload
12
• Information overload refers to the difficulty a
person can have understanding an issue and
making decisions that can be caused by the
presence of too much information.
• The term is popularized by Alvin Toffler in his
bestselling 1970 book “Future Shock”
13. Information Overload
13
• We are living in the information age
• But, you may want to LEAVE (escape from) the
overloaded information age right now.
14. Alleviating Information Overload
14
Some solutions (Meyer 1998)
• Chunking: Deal with group of things, not individuals
• Omission: Ignore some information
• Queuing: Put information aside & catch up later
• Capitulation: Escape from the task
• Filtering: ignore irrelevant information
• And so forth …
Let’s take Emails for example
21. Information Retrieval
Task In Information Retrieval:
• Given a query
• Retrieve a list of documents related to the query/intent
The query could be a term:
21
22. Information Retrieval
Task In Information Retrieval:
• Given a query
• Retrieve a list of documents related to the query/intent
The query could be a sentence:
22
23. Information Retrieval
Task In Information Retrieval:
• Given a query
• Retrieve a list of documents related to the query/intent
The query could be a picture:
23
24. Information Retrieval
Task In Information Retrieval:
• Given a query
• Retrieve a list of documents related to the query/intent
The query could be an audio/voice:
24
25. Information Retrieval
Task In Information Retrieval:
• Given a query
• Retrieve a list of documents related to the query
The query could be even anything!!!!
Thanks to the contributions by:
• Multimedia
• Natural language processing (NLP)
25
26. Information Retrieval
Key issues in IR
26
Creation
Utilization Searching & Ranking
Active
Inactive
Semi-Active
Retention/
Mining
Disposition
Discard
Using
Creating
Authoring
Modifying
Organizing
Indexing
Storing
Retrieval
Distribution
Networking
Accessing
Filtering
34. Recommender Systems
34
• RecSys are able to provide item recommendations
tailored by users’ preferences in the history.
The notion of “item” may vary from domains to domains
E-Commerce: single item, a bundle of items, etc
Movies: each movie, director, actor, movie genre, etc
Music: single track, album, artist, playlist, etc
Travel: tour, flight, hotel, car rental, travel package, etc
Social networks: tweets, user accounts, groups, etc
42. 42
Task and Eval (1): Rating Prediction
User Item Rating
U1 T1 4
U1 T2 3
U1 T3 3
U2 T2 4
U2 T3 5
U2 T4 5
U3 T4 4
U1 T4 3
U2 T1 2
U3 T1 3
U3 T2 3
U3 T3 4
Train
Test
Task: P(U, T) in testing set
Prediction error: e = R(U, T) – P(U, T)
Mean Absolute Error (MAE) =
Other evaluation metrics:
• Root Mean Square Error (RMSE)
• Coverage
• and more …
43. 43
Task and Eval (1): Rating Prediction
User Item Rating
U1 T1 4
U1 T2 3
U1 T3 3
U2 T2 4
U2 T3 5
U2 T4 5
U3 T4 4
U1 T4 3
U2 T1 2
U3 T1 3
U3 T2 3
U3 T3 4
Train
Test
Task: P(U, T) in testing set
1. Build a model, e.g., P(U, T) = Avg (T)
2. Process of Rating Prediction
P(U1, T4) = Avg(T4) = (5+4)/2 = 4.5
P(U2, T1) = Avg(T1) = 4/1 = 4
P(U3, T1) = Avg(T1) = 4/1 = 4
P(U3, T2) = Avg(T2) = (3+4)/2 = 3.5
P(U3, T3) = Avg(T3) = (3+5)/2 = 4
3. Evaluation by Metrics
Mean Absolute Error (MAE) =
ei = R(U, T) – P(U, T)
MAE = (|3 – 4.5| + |2 - 4| + |3 - 4| +
|3 – 3.5| + |4 - 4|) / 5 = 1
44. 44
Task and Eval (2): Top-N Recommendation
User Item Rating
U1 T1 4
U1 T2 3
U1 T3 3
U2 T2 4
U2 T3 5
U2 T4 5
U3 T4 4
U1 T4 3
U2 T1 2
U3 T1 3
U3 T2 3
U3 T3 4
Train
Test
Task: Top-N Items to a user U3
Predicted Rank: T3, T1, T4, T2
Real Rank: T3, T2, T1
Then compare the two lists:
Precision@N = # of hits/N
Other evaluation metrics:
• Recall
• Mean Average Precision (MAP)
• Normalized Discounted Cumulative Gain (NDCG)
• Mean Reciprocal Rank (MRR)
• and more …
45. 45
Task and Eval (2): Top-N Recommendation
User Item Rating
U1 T1 4
U1 T2 3
U1 T3 3
U2 T2 4
U2 T3 5
U2 T4 5
U3 T4 4
U1 T4 3
U2 T1 2
U3 T1 3
U3 T2 3
U3 T3 4
Train
Test
Task: Top-N Items to user U3
1. Build a model, e.g., P(U, T) = Avg (T)
2. Process of Rating Prediction
P(U3, T1) = Avg(T1) = 4/1 = 4
P(U3, T2) = Avg(T2) = (3+4)/2 = 3.5
P(U3, T3) = Avg(T3) = (3+5)/2 = 4
P(U3, T4) = Avg(T4) = (4+5)/2 = 3.5
Predicted Rank: T3, T1, T4, T2
Real Rank: T3, T2, T1
3. Evaluation Based on the two lists
Precision@N = # of hits/N
Precision@1 = 1/1
Precision@2 = 2/2
Precision@3 = 2/3
47. Traditional Recommendation Algorithms
47
Content-Based Recommendation Algorithms
The user will be recommended items similar to the ones the
user preferred in the past, such as book/movie recsys
Collaborative Filtering Based Recommendation Algorithms
The user will be recommended items that people with similar
tastes and preferences liked in the past, e.g., movie recsys
Hybrid Recommendation Algorithms
Combine content-based and collaborative filtering based
algorithms to produce item recommendations.
58. What is Context?
58
The most common contextual variables:
Time and Location
User intent or purpose
User emotional states
Devices
Topics of interests, e.g., apple vs. Apple
Others: companion, weather, budget, etc
Usually, the selection/definition of contexts is a domain-specific problem
59. Outline
• Context and Context-awareness
What is context and examples
What is context-awareness and examples
Context collections
59
60. Context-Awareness
60
• Context-Awareness = Adapt to the changes of
the contextual situations, to build smart
applications
• It has been successfully applied to:
– Ubiquitous computing
– Mobile computing
– Information Retrieval
– Recommender Systems
– And so forth…
61. Example: Smart Home with Remote Controls
61
https://www.youtube.com/watch?v=jB7iuBKcfZw
62. Example: Smart Home with Context-awareness
62
https://www.youtube.com/watch?v=UQWYRsXkbAM
63. Content vs Context
63
• Content-Based Approaches
• Context-Driven Applications and Approaches
66. When Contexts Take Effect?
• Contexts could be useful in different time points
66
Timeline
Past
Context
Current
Context
Future
Context
Most
Applications
Historical
Data or
Knowledge
Ubiquitous
Computing
Context Modeling
Context Mining
Context Matching
Context Adaptation
Context Prediction
Context Adaptation
67. Outline
• Context and Context-awareness
What is context and examples
What is context-awareness and examples
Context collections
67
68. How to Collect Contexts
• Sensors
e.g., the application of smart homes
• User Inputs
e.g., survey or user interactions
• Inference
e.g., from user reviews
68
69. How to Collect Contexts
• Sensors, e.g., the application of smart homes
69
70. How to Collect Contexts
• User Inputs, e.g., survey or user interactions
70
71. How to Collect Contexts
• Inference, e.g., from user reviews
71
Family Trip
Early Arrival
Season and Family Trip
72. Short Summary
• Information Overload
• Solution: Information Retrieval (IR)
e.g., Google Search Engine
• Solution: Recommender Systems (RecSys)
e.g., Movie recommender by Netflix
• Context and Context-awareness
e.g., Mobile computing and smart home devices
72
73. Next
• Coffee Break
– Time: 3:00 PM to 3:30 PM
– Location: Outside Merchants
• Context-awareness in IR and RecSys
• Extended Topics: Trends, Challenges and Future
73
75. 75
• Search in Google (by time)
Context-awareness in IR: Examples
76. 76
• Search in Google Map (by location)
Context-awareness in IR: Examples
77. Context in IR
77
• Searches should be processed in the context of the
information surrounding them, allowing more
accurate search results that better reflect the
user’s actual intentions. (Finkelstein, 2001)
• Context, in IR, refers to the whole data, metadata,
applications and cognitive structures embedded in
situations of retrieval or information seeking.
(Tamine, et al., 2010)
• These information usually have an impact on the
user’s behavior and perception of relevance.
80. Context-awareness in IR
80
The development of Context-awareness in IR
Interactive and Proactive by Gareth J.F. Jones, 2001
Other Frameworks or Models
Temporal Models
Semantic Models
Topic Models
Multimedia as inputs: IR based on voice or audios
And so forth…
81. Terminologies in IR
81
The Author: The author of documents, info provider
The End User: Who releases the queries or Whose
context information is captured
Information Recipient: Who finally receive the
retrieved information
We assume the end user and information recipient
are the same person.
82. Context-awareness in IR: Interactive Applications
82
Interactive app
• User-driven approach
• Users explicitly issue a request (along with context
information) to retrieve relevant documents
• Examples: What are the comfortable hotels near
the Omaha Zoo (assume there are no automatic
location detectors or sensors)
• Contexts are included in the query; or finer-grained
query can be derived from related key words
83. Context-awareness in IR: Proactive Applications
83
Proactive App
• Author-driven approach
• Each document is associated with a trigger context. The
documents are retrieved to the user if the trigger context
matches user’s current context.
• Example-1: (Location, Time) = trigger contexts for each
restaurant; open Yelp, input Chinese dish, Yelp will return a
list of Chinese restaurants nearby and valid opening hours at
the current moment. [search with queries]
• Example-2: (Location, Time) = trigger contexts for each
restaurant; open Yelp, Yelp will deliver a list of Chinese
restaurants nearby and valid opening hours at the current
moment. [retrieval or recommendation without queries]
84. Context-awareness in IR
84
Other Frameworks or Models
Temporal Models
Image retrieval, NYC pictures: old, new? Summer, winter?
Semantic Models
Text retrieval, apple vs Apple?
Topic Models
Academic papers retrieval, AI, ML, DM, RecSys?
Multimedia as inputs: IR based on voice or audios
Bird singing, which birds? real birds? emotional reactions?
And so forth…
85. Context-awareness in IR
85
Interactive
User must give a query
The context information are involved in the user inputs
It is a process from user contexts to relevant documents
Proactive
User may or may not give a query
Context are captured automatically
It is a process of matching trigger contexts with user contexts
It is a process from documents to users
87. Outline
• Context-aware Recommendation
Intro: Does context matter?
Definition: What is Context in RecSys?
Collection: Context Acquisition
Selection: How to identify the relevant context?
Context Incorporation
Context Filtering
Context Modeling
Other Challenges and CARSKit
87
88. Non-context vs Context
88
Companion
• Decision Making = Rational + Contextual
• Examples:
Travel destination: in winter vs in summer
Movie watching: with children vs with partner
Restaurant: quick lunch vs business dinner
Music: workout vs study
89. What is Context?
89
• “Context is any information that can be used to characterize the
situation of an entity” by Anind K. Dey, 2001
• Representative Context: Fully Observable and Static
• Interactive Context: Non-Fully observable and Dynamic
90. Interactive Context Adaptation
90
• Interactive Context: Non-fully observable and Dynamic
List of References:
M Hosseinzadeh Aghdam, N Hariri, B Mobasher, R Burke. "Adapting
Recommendations to Contextual Changes Using Hierarchical Hidden
Markov Models", ACM RecSys 2015
N Hariri, B Mobasher, R Burke. "Adapting to user preference changes
in interactive recommendation", IJCAI 2015
N Hariri, B Mobasher, R Burke. "Context adaptation in interactive
recommender systems", ACM RecSys 2014
N Hariri, B Mobasher, R Burke. "Context-aware music
recommendation based on latent topic sequential patterns", ACM
RecSys 2012
91. CARS With Representative Context
91
• Observed Context:
Contexts are those variables which may change when a same
activity is performed again and again.
• Examples:
Watching a movie: time, location, companion, etc
Listening to a music: time, location, emotions, occasions, etc
Party or Restaurant: time, location, occasion, etc
Travels: time, location, weather, transportation condition, etc
92. What is Representative Context?
92
Activity Structure:
1). Subjects: group of users
2). Objects: group of items/users
3). Actions: the interactions within the activities
Which variables could be context?
1). Attributes of the actions
Watching a movie: time, location, companion
Listening to a music: time, occasions, etc
2). Dynamic attributes or status from the subjects
User emotions
Yong Zheng. "A Revisit to The
Identification of Contexts in
Recommender Systems", IUI 2015
93. Context-aware RecSys (CARS)
93
• Traditional RS: Users × Items Ratings
• Contextual RS: Users × Items × Contexts Ratings
Example of Multi-dimensional Context-aware Data set
User Item Rating Time Location Companion
U1 T1 3 Weekend Home Kids
U1 T2 5 Weekday Home Partner
U2 T2 2 Weekend Cinema Partner
U2 T3 3 Weekday Cinema Family
U1 T3 ? Weekend Cinema Kids
94. Terminology in CARS
94
• Example of Multi-dimensional Context-aware Data set
Context Dimension: time, location, companion
Context Condition: Weekend/Weekday, Home/Cinema
Context Situation: {Weekend, Home, Kids}
User Item Rating Time Location Companion
U1 T1 3 Weekend Home Kids
U1 T2 5 Weekday Home Partner
U2 T2 2 Weekend Cinema Partner
U2 T3 3 Weekday Cinema Family
U1 T3 ? Weekend Cinema Kids
95. Context Acquisition
95
How to Collect the context and user preferences in contexts?
• By User Surveys or Explicitly Asking for User Inputs
Predefine context & ask users to rate items in these situations;
Or directly ask users about their contexts in user interface;
• By Usage data
The log data usually contains time and location (at least);
User behaviors can also infer context signals;
• By User reviews
Text mining or opinion mining could be helpful to infer context
information from user reviews
104. Context Relevance and Context Selection
104
Apparently, not all of the context are relevant or influential
• By User Surveys
e.g., which ones are important for you in this domain
• By Feature Selection
e.g., Principal Component Analysis (PCA)
e.g., Linear Discriminant Analysis (LDA)
• By Statistical Analysis or Detection on Contextual Ratings
Statistical test, e.g., Freeman-Halton Test
Other methods: information gain, mutual information, etc
Reference: Odic, Ante, et al. "Relevant context in a movie
recommender system: Users’ opinion vs. statistical detection."
CARS Workshop@ACM RecSys 2012
105. Context-aware Data Sets
105
Public Data Set for Research Purpose
• Food: AIST Japan Food, Mexico Tijuana Restaurant Data
• Movies: AdomMovie, DePaulMovie, LDOS-CoMoDa Data
• Music: InCarMusic
• Travel: TripAdvisor, South Tyrol Suggests (STS)
• Mobile: Frappe
Frappe is a large data set, others are either small or sparse
Downloads and References:
https://github.com/irecsys/CARSKit/tree/master/context-
aware_data_sets
106. 106
• Once we collect context information, and also identify
the most influential or relevant contexts, the next step
is to incorporate contexts into the recommender
systems.
Context Incorporation
• Traditional RS: Users × Items Ratings
• Contextual RS: Users × Items × Contexts Ratings
107. 107
• There are three ways to build algorithms for CARS
Context-aware RecSys (CARS)
108. 108
• Next, we focus on the following CARS algorithms:
Contextual Filtering: Use Context as Filter
Contextual Modeling: Independent vs Dependent
Context-aware RecSys (CARS)
111. 111
• Data Sparsity Problem in Contextual Rating
Differential Context Modeling
User Movie Time Location Companion Rating
U1 Titanic Weekend Home Girlfriend 4
U2 Titanic Weekday Home Girlfriend 5
U3 Titanic Weekday Cinema Sister 4
U1 Titanic Weekday Home Sister ?
Context Matching Only profiles given in <Weekday, Home, Sister>
Context Relaxation Use a subset of context dimensions to match
Context Weighting Use all profiles, but weighted by context similarity
112. 112
• Context Relaxation
Differential Context Modeling
User Movie Time Location Companion Rating
U1 Titanic Weekend Home Girlfriend 4
U2 Titanic Weekday Home Girlfriend 5
U3 Titanic Weekday Cinema Sister 4
U1 Titanic Weekday Home Sister ?
Use {Time, Location, Companion} 0 record matched!
Use {Time, Location} 1 record matched!
Use {Time} 2 records matched!
Note: a balance is required for relaxation and accuracy
113. 113
• Context Weighting
Differential Context Modeling
User Movie Time Location Companion Rating
U1 Titanic Weekend Home Girlfriend 4
U2 Titanic Weekday Home Girlfriend 5
U3 Titanic Weekday Cinema Sister 4
U1 Titanic Weekday Home Sister ?
c and d are two contexts. (Two red regions in the Table above.)
σ is the weighting vector <w1, w2, w3> for three dimensions.
Assume they are equal weights, w1 = w2 = w3 = 1.
J(c, d, σ) = # of matched dimensions / # of all dimensions = 2/3
Similarity of contexts is measured by
Weighted Jaccard similarity
114. 114
• Notion of “differential”
In short, we apply different context relaxation and context weighting to
each component
Differential Context Modeling
1.Neighbor Selection 2.Neighbor contribution
3.User baseline 4.User Similarity
115. 115
• Workflow
Step-1: We decompose an algorithm to different components;
Step-2: We try to find optimal context relaxation/weighting:
In context relaxation, we select optimal context dimensions
In context weighting, we find optimal weights for each dimension
• Optimization Problem
Assume there are 4 components and 3 context dimensions
Differential Context Modeling
1 2 3 4 5 6 7 8 9 10 11 12
DCR 1 0 0 0 1 1 1 1 0 1 1 1
DCW 0.2 0.3 0 0.1 0.2 0.3 0.5 0.1 0.2 0.1 0.5 0.2
1st 2nd 3rd 4th
117. 117
• How PSO works?
Differential Context Modeling
Swarm = a group of birds
Particle = each bird ≈ search entity in algorithm
Vector = bird’s position in the space ≈ Vectors we need in DCR/DCW
Goal = the distance to location of pizza ≈ prediction error
So, how to find goal by swam intelligence?
1.Looking for the pizza
Assume a machine can tell the distance
2.Each iteration is an attempt or move
3.Cognitive learning from particle itself
Am I closer to the pizza comparing with
my “best ”locations in previous history?
4.Social Learning from the swarm
Hey, my distance is 1 mile. It is the closest!
. Follow me!! Then other birds move towards here.
DCR – Feature selection – Modeled by binary vectors – Binary PSO
DCW – Feature weighting – Modeled by real-number vectors – PSO
118. 118
• Summary
Pros: Alleviate data sparsity problem in CARS
Cons: Computational complexity in optimization
Cons: Local optimum by non-linear optimizer
Our Suggestion:
We may just run these optimizations offline to find optimal
context relaxation or context weighting solutions; And those
optimal solutions can be obtained periodically;
Differential Context Modeling
122. 122
• Tensor Factorization
Independent Contextual Modeling
Multi-dimensional space: Users × Items × Contexts Ratings
Each context variable is
modeled as an
individual and
independent dimension
in addition to user &
item dims.
Thus we can create a
multidimensional
space, where rating is
the value in the space.
125. 125
• Tensor Factorization
Pros: Straightforward, easily to incorporate contexts into the model
Cons: 1). Ignore the dependence between contexts and user/item dims
2). Increased computational cost if more context dimensions
There are some research working on efficiency improvement on TF,
such as reusing GPU computations, and so forth…
Independent Contextual Modeling
127. 127
• Dependence between Every two Contexts
Deviation-Based: rating deviation between two contexts
Similarity-Based: similarity of rating behaviors in two contexts
Dependent Contextual Modeling
128. 128
• Notion: Contextual Rating Deviation (CRD)
CRD how user’s rating is deviated from context c1 to c2?
CRD(D1) = 0.5 Users’ rating in Weekday is generally higher than
users’ rating at Weekend by 0.5
CRD(D2) = -0.1 Users’ rating in Cinema is generally lower than
users’ rating at Home by 0.1
Deviation-Based Contextual Modeling
Context D1: Time D2: Location
c1 Weekend Home
c2 Weekday Cinema
CRD(Di) 0.5 -0.1
130. 130
• Build a deviation-based contextual modeling approach
Assume Ø is a special situation: without considering context
Assume Rating (U, T, Ø) = Rating (U, T) = 4
Predicted Rating (U, T, c2) = 4 + 0.5 -0.1 = 4.4
Deviation-Based Contextual Modeling
Context D1: Time D2: Location
Ø UnKnown UnKnown
c2 Weekday Cinema
CRD(Di) 0.5 -0.1
In other words, F(U, T, C) = P(U, T) + 𝑖=0
𝑁
𝐶𝑅𝐷(𝑖)
131. 131
• Build a deviation-based contextual modeling approach
Note: P(U, T) could be a rating prediction by any traditional
recommender systems, such as matrix factorization
Deviation-Based Contextual Modeling
Simplest model: F(U, T, C) = P(U, T) + 𝑖=0
𝑁
𝐶𝑅𝐷(𝑖)
User-personalized model: F(U, T, C) = P(U, T) + 𝑖=0
𝑁
𝐶𝑅𝐷(𝑖, 𝑈)
Item-personalized model: F(U, T, C) = P(U, T) + 𝑖=0
𝑁
𝐶𝑅𝐷(𝑖, 𝑇)
132. 132
• Build a similarity-based contextual modeling approach
Assume Ø is a special situation: without considering context
Assume Rating (U, T, Ø) = Rating (U, T) = 4
Predicted Rating (U, T, c2) = 4 × Sim(Ø, c2)
Similarity-Based Contextual Modeling
Context D1: Time D2: Location
Ø UnKnown UnKnown
c2 Weekday Cinema
Sim(Di) 0.5 0.1
In other words, F(U, T, C) = P(U, T) × Sim(Ø, C)
133. 133
• Challenge: how to model context similarity, Sim(c1,c2)
We propose three representations:
• Independent Context Similarity (ICS)
• Latent Context Similarity (LCS)
• Multidimensional Context Similarity (MCS)
Similarity-Based Contextual Modeling
134. 134
• Sim(c1, c2): Independent Context Similarity (ICS)
𝑆𝑖𝑚 c1, 𝑐2 = 𝑖=1
𝑁
𝑠𝑖𝑚(𝐷𝑖) = 0.5 × 0.1 = 0.05
Similarity-Based Contextual Modeling
Context D1: Time D2: Location
c1 Weekend Home
c2 Weekday Cinema
Sim(Di) 0.5 0.1
𝐺𝑒𝑛𝑒𝑟𝑎𝑙𝑙𝑦, 𝐼𝑛 𝐼𝐶𝑆: 𝑆𝑖𝑚 c1, 𝑐2 = 𝑖=1
𝑁
𝑠𝑖𝑚(𝐷𝑖)
Weeend Weekday Home Cinema
Weekend 1 b — —
Weekday a 1 — —
Home — — 1 c
Cinema — — d 1
135. 135
• Sim(c1, c2): Latent Context Similarity (LCS)
In training, we learnt (home, cinema), (work, cinema)
In testing, we need (home, work)
Similarity-Based Contextual Modeling
𝐺𝑒𝑛𝑒𝑟𝑎𝑙𝑙𝑦, 𝐼𝑛 𝐿𝐶𝑆: 𝑆𝑖𝑚 c1, 𝑐2 = 𝑖=1
𝑁
𝑠𝑖𝑚(𝐷𝑖)
𝑆𝑖𝑚 𝐷𝑖 = 𝑑𝑜𝑡𝑃𝑟𝑜𝑑𝑢𝑐𝑡 (𝑉𝑖1, 𝑉𝑖2)
f1 f2 … … … … fN
home 0.1 -0.01 … … … … 0.5
work 0.01 0.2 … … … … 0.01
cinema 0.3 0.25 … … … … 0.05
Vector
Representation
136. 136
• Sim(c1, c2): Multidimensional Context Similarity (MCS)
Each context condition is an individual axis in the space.
For each axis, there are only two values: 0 and 1.
1 means this condition is selected; otherwise, not selected.
When value is 1, each condition is associated with a weight
c1 = <Weekday, Cinema, with Kids>
c2 = <Weekend, Home, with Family>
They can be mapped as two points in the space
Similarity-Based Contextual Modeling
𝐼𝑛 𝑀𝐶𝑆: 𝐷𝑖𝑠𝑆𝑖𝑚 c1, 𝑐2 = distance between two point
139. 139
Recommendation Library
• Motivations to Build a Recommendation Library
1). Standard Implementations for popular algorithms
2). Standard platform for benchmark or evaluations
3). Helpful for both research purpose and industry practice
4). Helpful as tools in teaching and learning
141. 141
CARSKit: A Java-based Open-source
Context-aware Recommendation Library
CARSKit: https://github.com/irecsys/CARSKit
Users × Items × Contexts Ratings
User Guide: http://arxiv.org/abs/1511.03780
142. 142
CARSKit: A Short User Guide
1. Download the JAR library, i.e., CARSKit.jar
2. Prepare your data
3. Setting: setting.conf
4. Run: java –jar CARSKit.jar –c setting.conf
148. 148
Challenges
• There could be many other challenges in context-
awareness in IR and RecSys:
Numeric v.s. Categorical Context Information
Explanations by Context
New User Interfaces and Interactions
User Intent Predictions or References in IR and RecSys
Cold-start and Data Sparisty Problems in CARS
149. 149
Challenges: Numeric Context
• List of Categorical Context
Time: morning, evening, weekend, weekday, etc
Location: home, cinema, work, party, etc
Companion: family, kid, partner, etc
• How about numeric context
Time: 2016, 6:30 PM, 2 PM to 6 PM (time-aware recsys)
Temperature: 12°C, 38°C
Principle component by PCA: numeric values
150. 150
Challenges: Explanation
• Recommendation Using social networks (By Netflix)
The improvement is not significant;
Unless we explicitly explain it to the end users;
• IR and RecSys Using context (Open Research)
Similar thing could happen to context-aware IR & recsys;
How to use contexts to explain information filtering;
How to design new user interface to explain;
How to introduce user-centric evaluations;
151. 151
Challenges: User Interface
• Potential Research Problems in User Interface
New UI to collect context;
New UI to interact with users friendly and smoothly;
New UI to explain context-aware IR and RecSys;
New UI to avoid debates on user privacy;
User privacy problems in context collection & usage
152. 152
Challenges: Cold-Start and Data Sparsity
• Cold-start Problems
Cold-start user: no rating history by this user
Cold-start item: no rating history on this item
Cold-start context: no rating history within this context
• Solution: Hybrid Method by Matthias Braunhofer, et al.
153. 153
Challenges: User Intent
• User Intent could be the most influential contexts
How to better predict that
How to better design UI to capture that
How to balance user intent and limitations in resources
154. 154
Trends and Future
• Context-awareness enable new applications: context
suggestion, or context-driven UI/Applications
Context Suggestion
155. Context Suggestion
155
• Task: Suggest a list of contexts to users (on items)
Context Rec
Contextual RecTraditional Rec
156. 156
Context Suggestion: Motivations
• Motivation-1: Maximize user experience
User Experience (UX) refers to a person's emotions and
attitudes about using a particular product, system or
service.
162. 162
References
L Baltrunas, M Kaminskas, F Ricci, et al. Best usage context prediction
for music tracks. CARS@ACM RecSys, 2010
Y Zheng, B Mobasher, R Burke. Context Recommendation Using Multi-
label Classification. IEEE/WIC/ACM WI, 2014
Y Zheng. Context Suggestion: Solutions and Challenges. ICDM
Workshop, 2015
Y Zheng. Context-Driven Mobile Apps Management and
Recommendation. ACM SAC, 2016
Yong Zheng, Bamshad Mobasher, Robin Burke. “User-Oriented
Context Suggestion“, ACM UMAP, 2016
163. Tutorial: Context-Awareness In Information
Retrieval and Recommender Systems
Yong Zheng
School of Applied Technology
Illinois Institute of Technology, Chicago
The 16th IEEE/WIC/ACM Conference on Web Intelligence, Omaha, USA