South Tyrol Suggests - STS
Matthias Braunhofer and Francesco Ricci
Free University of Bozen - Bolzano

Faculty of Computer Science

{mbraunhofer,fricci}@unibz.it
STS (South Tyrol Suggests)
• Our Android app on Google Play that supports the
following functionalities:
• Intelligent recommendations for POIs in South Tyrol that are
adapted to the current contextual situation of the user (e.g.,
weather, location, parking status)
• Eco-friendly routing to selected POIs by public or private
transportation means
• Search for various types of POIs across different data sources
(i.e., LTS, Municipality of Bolzano)
• User personality questionnaire for preference elicitation support
2
Intelligent Recommendations!?!
3
Context Recommendations
Sunny +
Summer
Sunny +
Winter
Rainy
Intelligent Recommendations!?!
3
Context Recommendations
Sunny +
Summer
Sunny +
Winter
Rainy
Intelligent Recommendations!?!
3
Context Recommendations
Sunny +
Summer
Sunny +
Winter
Rainy
Intelligent Recommendations!?!
3
Context Recommendations
Sunny +
Summer
Sunny +
Winter
Rainy
Intelligent Recommendations!?!
3
Context Recommendations
Sunny +
Summer
Sunny +
Winter
Rainy
Statistics
4
• App usually shown in
the top-10 search
results
• Total installs: 891
• Avg. rating/total #:
4.60 / 15
Statistics
4
• App usually shown in
the top-10 search
results
• Total installs: 891
• Avg. rating/total #:
4.60 / 15
Software Architecture & Implementation
5
Android Client
Presentation
Layer
Apache Tomcat Server
Objects Managed by Spring IoC Container
Spring Dispatcher
Servlet
Spring Controllers
JSON
HTTP
Update Handling
Session Handling
JPA Entities
Hibernate
Service /
Application Layer
Database
Web Services
Interaction with the System
6
Interaction with the System
6
Interaction with the System
6
Interaction with the System
6
Interaction with the System
6
Interaction with the System
6
Interaction with the System
6
Interaction with the System
6
Interaction with the System
6
Interaction with the System
6
Interaction with the System
6
Recommendation Task
• Core computations of recommender systems:
• Collection of user preferences (ratings): collect user feedback
(ratings) on items to learn the user preferences
• Rating prediction: a model must be built to predict ratings for
items not currently rated by the user
• Item selection: a model must be built that selects the N most
relevant items for the user
7
Rating Prediction Algorithm (1/2)
• Rating prediction algorithm is based on Matrix Factorization (MF)
• Basic idea of MF: predict unknown ratings by discovering some
latent features that determine how a user rates an item; features
associated with the user should match with the features
associated with the item
8
r11 r12 r13 r14
r21 r22 r23 r24
r31 r32 r33 r34
r41 r42 r43 r44
r51 r52 r53 r54
a b c
x
y
z=
r q p
5 x 4 matrix 5 x 3 matrix 3 x 4 matrix
r42 = (a, b, c) · (x, y, z) = a * x + b * y + c * z
ȓui = qi
Tpu
Rating
prediction
User preference factor
vector
Item preference factor
vector
Rating Prediction Algorithm (2/2)
• Context-Aware Matrix Factorization (CAMF): extends standard
MF by incorporating baseline parameters for each contextual
condition and item pair to capture the deviation of the rating for an
item produced by the contextual conditions
9
Item average
User
bias
Context
bias
Preference factor (user-
demographics-item-interaction)
Rating = 4
ˆruic1,...,ck
= qi
T
(pu + ya )
a∈A(u)
∑ + i + bu + bicj
j=1
k
∑
cj	 contextual condition j

qi 	 latent factor vector of item i

pu	 latent factor vector of user u

A(u)	 set of user attributes

ya	 latent factor vector of user attribute a

ī	 average rating of item i

bu	 baseline for user u

bicj	 baseline for item-contextual condition icj
Captures the rating
deviation due to context
(e.g., weather, parking)
Evaluation
• Several user studies involving > 100 test users
• Test users were students, colleagues, or other people recruited at the
Klimamobility Fair and Innovation Festival
• Obtained results:
• Recommendation model successfully exploits the weather conditions at
POIs and leads to a higher user’s perceived recommendation quality and
choice satisfaction
• Implemented active learning strategy increases the number of acquired
ratings and recommendation accuracy
• Users largely accept to follow the supported human-computer interaction
and find the user interface clear, user-friendly and easy to use
10
A/B Testing
• Purpose: reliably determine which system version (A or B) is more
successful
• Prerequisite: you have a system up and running
• Some users see version A, which might be the currently used version
• Other users see version B, which is new and improved in some way
• Evaluate with “automatic” measures (time spent on screens, clicks on a
button, etc.) or surveys (SUS, CSUQ, etc.)
• Allows to see if the new version (B) does outperform the existing version (A)
• Probably the most reliable evaluation methodology
11
Planned Features
• Integration of a multimodal routing system
• Usage of Facebook profile
• Allow users to plan future visits to POIs
• Provide users with push recommendations
• Exploit activity and emotion information inferred from
wearable devices in the recommendation process
12
Questions?
Thank you.

South Tyrol Suggests - STS

  • 1.
    South Tyrol Suggests- STS Matthias Braunhofer and Francesco Ricci Free University of Bozen - Bolzano Faculty of Computer Science {mbraunhofer,fricci}@unibz.it
  • 2.
    STS (South TyrolSuggests) • Our Android app on Google Play that supports the following functionalities: • Intelligent recommendations for POIs in South Tyrol that are adapted to the current contextual situation of the user (e.g., weather, location, parking status) • Eco-friendly routing to selected POIs by public or private transportation means • Search for various types of POIs across different data sources (i.e., LTS, Municipality of Bolzano) • User personality questionnaire for preference elicitation support 2
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    Statistics 4 • App usuallyshown in the top-10 search results • Total installs: 891 • Avg. rating/total #: 4.60 / 15
  • 9.
    Statistics 4 • App usuallyshown in the top-10 search results • Total installs: 891 • Avg. rating/total #: 4.60 / 15
  • 10.
    Software Architecture &Implementation 5 Android Client Presentation Layer Apache Tomcat Server Objects Managed by Spring IoC Container Spring Dispatcher Servlet Spring Controllers JSON HTTP Update Handling Session Handling JPA Entities Hibernate Service / Application Layer Database Web Services
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
    Recommendation Task • Corecomputations of recommender systems: • Collection of user preferences (ratings): collect user feedback (ratings) on items to learn the user preferences • Rating prediction: a model must be built to predict ratings for items not currently rated by the user • Item selection: a model must be built that selects the N most relevant items for the user 7
  • 23.
    Rating Prediction Algorithm(1/2) • Rating prediction algorithm is based on Matrix Factorization (MF) • Basic idea of MF: predict unknown ratings by discovering some latent features that determine how a user rates an item; features associated with the user should match with the features associated with the item 8 r11 r12 r13 r14 r21 r22 r23 r24 r31 r32 r33 r34 r41 r42 r43 r44 r51 r52 r53 r54 a b c x y z= r q p 5 x 4 matrix 5 x 3 matrix 3 x 4 matrix r42 = (a, b, c) · (x, y, z) = a * x + b * y + c * z ȓui = qi Tpu Rating prediction User preference factor vector Item preference factor vector
  • 24.
    Rating Prediction Algorithm(2/2) • Context-Aware Matrix Factorization (CAMF): extends standard MF by incorporating baseline parameters for each contextual condition and item pair to capture the deviation of the rating for an item produced by the contextual conditions 9 Item average User bias Context bias Preference factor (user- demographics-item-interaction) Rating = 4 ˆruic1,...,ck = qi T (pu + ya ) a∈A(u) ∑ + i + bu + bicj j=1 k ∑ cj contextual condition j qi latent factor vector of item i pu latent factor vector of user u A(u) set of user attributes ya latent factor vector of user attribute a ī average rating of item i bu baseline for user u bicj baseline for item-contextual condition icj Captures the rating deviation due to context (e.g., weather, parking)
  • 25.
    Evaluation • Several userstudies involving > 100 test users • Test users were students, colleagues, or other people recruited at the Klimamobility Fair and Innovation Festival • Obtained results: • Recommendation model successfully exploits the weather conditions at POIs and leads to a higher user’s perceived recommendation quality and choice satisfaction • Implemented active learning strategy increases the number of acquired ratings and recommendation accuracy • Users largely accept to follow the supported human-computer interaction and find the user interface clear, user-friendly and easy to use 10
  • 26.
    A/B Testing • Purpose:reliably determine which system version (A or B) is more successful • Prerequisite: you have a system up and running • Some users see version A, which might be the currently used version • Other users see version B, which is new and improved in some way • Evaluate with “automatic” measures (time spent on screens, clicks on a button, etc.) or surveys (SUS, CSUQ, etc.) • Allows to see if the new version (B) does outperform the existing version (A) • Probably the most reliable evaluation methodology 11
  • 27.
    Planned Features • Integrationof a multimodal routing system • Usage of Facebook profile • Allow users to plan future visits to POIs • Provide users with push recommendations • Exploit activity and emotion information inferred from wearable devices in the recommendation process 12
  • 28.