south tyrol suggests - sts

28
South Tyrol Suggests - STS Matthias Braunhofer and Francesco Ricci Free University of Bozen - Bolzano Faculty of Computer Science {mbraunhofer,fricci}@unibz.it

Upload: matthias-braunhofer

Post on 12-Apr-2017

515 views

Category:

Internet


3 download

TRANSCRIPT

Page 1: South Tyrol Suggests - STS

South Tyrol Suggests - STS

Matthias Braunhofer and Francesco Ricci

Free University of Bozen - BolzanoFaculty of Computer Science{mbraunhofer,fricci}@unibz.it

Page 2: South Tyrol Suggests - STS

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

Page 3: South Tyrol Suggests - STS

Intelligent Recommendations!?!

3

Context Recommendations

Sunny + Summer

Sunny + Winter

Rainy

Page 4: South Tyrol Suggests - STS

Intelligent Recommendations!?!

3

Context Recommendations

Sunny + Summer

Sunny + Winter

Rainy

Page 5: South Tyrol Suggests - STS

Intelligent Recommendations!?!

3

Context Recommendations

Sunny + Summer

Sunny + Winter

Rainy

Page 6: South Tyrol Suggests - STS

Intelligent Recommendations!?!

3

Context Recommendations

Sunny + Summer

Sunny + Winter

Rainy

Page 7: South Tyrol Suggests - STS

Intelligent Recommendations!?!

3

Context Recommendations

Sunny + Summer

Sunny + Winter

Rainy

Page 8: South Tyrol Suggests - STS

Statistics

4

• App usually shown in the top-10 search results

• Total installs: 891

• Avg. rating/total #: 4.60 / 15

Page 9: South Tyrol Suggests - STS

Statistics

4

• App usually shown in the top-10 search results

• Total installs: 891

• Avg. rating/total #: 4.60 / 15

Page 10: South Tyrol Suggests - STS

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

Page 11: South Tyrol Suggests - STS

Interaction with the System

6

Page 12: South Tyrol Suggests - STS

Interaction with the System

6

Page 13: South Tyrol Suggests - STS

Interaction with the System

6

Page 14: South Tyrol Suggests - STS

Interaction with the System

6

Page 15: South Tyrol Suggests - STS

Interaction with the System

6

Page 16: South Tyrol Suggests - STS

Interaction with the System

6

Page 17: South Tyrol Suggests - STS

Interaction with the System

6

Page 18: South Tyrol Suggests - STS

Interaction with the System

6

Page 19: South Tyrol Suggests - STS

Interaction with the System

6

Page 20: South Tyrol Suggests - STS

Interaction with the System

6

Page 21: South Tyrol Suggests - STS

Interaction with the System

6

Page 22: South Tyrol Suggests - STS

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

Page 23: South Tyrol Suggests - STS

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

xyz=

r q p5 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 = qiTpu

Rating prediction

User preference factor vector

Item preference factor vector

Page 24: South Tyrol Suggests - STS

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

r̂uic1,...,ck = qiT (pu + ya )

a∈A(u )∑ + i + bu + bicj

j=1

k

cj contextual condition jqi latent factor vector of item ipu latent factor vector of user uA(u) set of user attributesya latent factor vector of user attribute aī average rating of item ibu baseline for user ubicj baseline for item-contextual condition icj

Captures the rating deviation due to context (e.g., weather, parking)

Page 25: South Tyrol Suggests - STS

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

Page 26: South Tyrol Suggests - STS

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

Page 27: South Tyrol Suggests - STS

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

Page 28: South Tyrol Suggests - STS

Questions?

Thank you.