12. Suggerisce all'utente item simili a quelli che ha apprezzato in
passato
Approaches
Content Based filtering
Collaborative filtering
Hybrid approaches
13. Suggerisce item apprezzati da altri utenti che hanno
preferenze simili
Content based filtering
Recommendations based on items similar to the ones
that the user liked in the past
Strengths
user independence
explainability
useful for cold-start
Drawbacks
sensitive to bad or incomplete information
over-specialization
less novelty and discovery
14. Suggerisce item apprezzati da altri utenti che hanno
preferenze simili
Collaborative filtering
Recommendations based on items that other users
with similar tastes liked in the past
Strengths
independent from the content
typically more accurate
can promote discovery
Drawbacks
sensitive to the quantity of users and feedbacks
difficult to recommend new item (cold-start item)
can reinforce item popularity
16. Hybrid approaches
Combination of content-based and collaborative filtering
methods
Ensemble of different methods
Graph-based methods applied on heterogeneous networks
Feature combination -> (Matrix Factorization with side
information, Factorization Machines, Neural Networks, …)
18. Offline evaluation
1 - Choose a dataset
2 - Split feedbacks for each user in train,
validation and test sets
3 - Train the systems with the evaluation set
4 - Produce the recommendations
5 - Evaluate on the test set
19. Some Libraries
RankSys - Java 8 Recommender Systems framework
for novelty, diversity and much more
https://github.com/RankSys/RankSys
Rival - Java toolkit for recommender system evaluation
https://github.com/recommenders/rival
GraphLab Create - Python machine learning framework
https://turi.com/products/create
20. (Some) New trends
Deep learning
Wide and deep learning
Multi-criteria
Graph-based algorithms
Use of Semantic Web
22. Wide and deep learning
https://research.googleblog.com/2016/06/wide-deep-learning-better-together-with.html
https://www.tensorflow.org/versions/r0.11/tutorials/wide_and_deep/index.html