In this presentation we present a novel context-aware mobile recommender system for places of interest (POIs). Unlike existing systems, which learn users' preferences solely from their past ratings, it considers also their personality - using the Five Factor Model. Personality is acquired by asking users to complete a brief and entertaining questionnaire as part of the registration process, and is then exploited in: (1) an active learning module that actively acquires ratings-in-context for POIs that users are likely to have experienced, hence reducing the stress and annoyance to rate (or skip rating) items that the users don’t know; and (2) in the recommendation model that builds up on matrix factorization and therefore can be trained even if the users haven’t rated any items yet.
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
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 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
8. Statistics
4
• App usually shown in
the top-10 search
results
• Total installs: 891
• Avg. rating/total #:
4.60 / 15
9. Statistics
4
• App usually shown 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
22. 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
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 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
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
• 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