Introduction to
Recommendation Systems
for News, Education and Entertainment
By Trieu Nguyen - Lead Engineer at FPT Telecom
My email: tantrieuf31@gmail.com
How computers know
what we really want ?
By using AI, Big Data or Data Science !?
People don’t know what they
want until you recommend it
to them.
3 key ideas
about data
1. Data Product
2. Data Engineering
3. Data Science
1. Recommendation Systems in Practice
2. Types of Recommendation Systems
3. Building Data Pipeline for Video
Recommendation System
3 key ideas
about the slide
After this talk, I hope everyone can understand above big picture
1 - The World of Recommendation Systems
Google News
LinkedIn: "Jobs you may be interested in"
Your Recommendations from MOOC Coursera
“Recommended for you” by YouTube
User-based Collaboration Filter
Item-based Collaboration Filter
Amazon Recommendation Engine
That my books, mostly from Amazon :)
https://www.slideshare.net/xamat/qcon-sf-2013-machine-learning-recommender-systems-netflix-scale
WHY SHOULD WE USE RECOMMENDATION ENGINES?
1. Two-thirds of movies watched by Netflix customers are
recommended movies
2. 38% of click-through rates on Google News are
recommended links
3. 35% of sales at Amazon arise from recommended products
Steve Jobs: “A lot of times, people don’t know what
they want until you show it to them.”
Beneficial features of the product
recommendation engine to marketers
1. Retain user loyalty
2. Builds the volume of user traffic
3. Delivers more convenient UX to your user
4. Give your business a wider marketplace
So what is recommendation engine ?
In technical terms, a recommendation engine problem is to develop a
mathematical model or objective function which can predict how much a user
will like an item.
If U = {users}, I = {items} then F = Objective function and measures the
usefulness of item I to user U, given by: F: U x I → R
Where R = {recommended items}.
For each user u, we want to choose the item i that maximizes the objective
function:
2 - WHAT ARE THE DIFFERENT TYPES OF
RECOMMENDATION ENGINES?
3 important types of recommender systems
1. Collaborative Filtering
2. Content-Based Filtering
3. Hybrid Recommendation Systems
User-based Collaborative Filtering
Collaborative filtering methods are based on collecting and analyzing a large amount of
information on users’ behaviors, activities or preferences and predicting what users will like
based on their similarity to other users.
A key advantage of the collaborative filtering approach is that it does not rely on machine
analyzable content and therefore it is capable of accurately recommending complex items
such as movies without requiring an “understanding” of the item itself
User-based Collaborative Filtering
Content Based Filtering
( Item-based collaborative filtering)
Content-based filtering methods are based on a description of the item and a profile of the
user’s preference. In a content-based recommendation system, keywords are used to
describe the items; beside, a user profile is built to indicate the type of item this user likes.
Content Based Filtering
( Item-based collaborative filtering)
Hybrid Recommendation Systems
These methods can also be used to overcome some of the common problems in
recommendation systems such as cold start and the sparsity problem.
Hybrid Recommendation Systems
Example of Hybrid Recommendation Systems
User-based Collaboration Filter
Item-based Collaboration Filter
User-based VS Item-based
3 - Building Data Pipeline for
Video Recommendation System
Simple version of Video Data Pipeline
https://github.com/rfxlab/rfx-video-analytics
Simple Recommendation Engine with Apache Spark MLLib
My personal answer is “building 2 things”
1. Data Ecosystem
2. Choice Architecture
How computers know
what we really want ?
Data Ecosystem with { Product + Engineering + Science }
Choice Architecture for recommendation systems
Picture from http://www.rfxlab.com/p/ad.html
https://www.infoq.com/news/2016/09/How-YouTube-Recommendation-Works
Follow this page to get more information
http://BigDataVietnam.org
https://fb.com/bigdatavn
Ref links about Apache Spark
http://blogs.quovantis.com/recommendation-engine-using-apache-spark/
https://chimpler.wordpress.com/2014/07/22/building-a-food-recommendation
-engine-with-spark-mllib-and-play
http://ampcamp.berkeley.edu/big-data-mini-course/movie-recommendation-wi
th-mllib.html
https://stanford.edu/~rezab/classes/cme323/S16/
https://www.codementor.io/jadianes/building-a-recommender-with-apache-sp
ark-python-example-app-part1-du1083qbw
https://bugra.github.io/work/notes/2014-04-19/alternating-least-squares-meth
od-for-collaborative-filtering/
Ref links
http://dataconomy.com/2015/03/an-introduction-to-recommendation-engines
https://www.tastehit.com/blog/personal-data-in-personalization-and-advertising/
http://infolab.stanford.edu/~ullman/mmds/ch9.pdf

Introduction to Recommendation Systems