1) Why do we need recommendation systems ?
2) How can we think with recommendation systems ?
3) How can we implement a recommendation system with open source technologies ?
RFX framework https://github.com/rfxlab
Apache Kafka: https://kafka.apache.org
Apache Spark: https://spark.apache.org
2. Agenda
1. Why do we need recommendation systems ?
2. How can we think with recommendation systems ?
3. How can we implement a recommendation system with
open source technologies ?
a. RFX framework https://github.com/rfxlab
b. Apache Kafka: https://kafka.apache.org
c. Apache Spark: https://spark.apache.org
4. Recommendation Engine — Examples
● Facebook — “People You May Know”
● Netflix — “Other Movies You May Enjoy”
● LinkedIn — “Jobs You May Be Interested In”
● Amazon — “Customer who bought this item also bought …”
● Google — “Visually Similar Images”
● YouTube — “Recommended Videos”
● Tinder — ”Decide who you want to date”
...
5. “Recommended for you” by YouTube
User-based Collaboration Filter
Item-based Collaboration Filter
12. 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
13. The value of product recommendation
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
14. 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:
17. Popular techniques to
build recommendation systems
1. Collaborative Filtering
2. Content-Based Filtering
3. Hybrid Recommendation Systems
18.
19. User-based Collaborative Filtering
● Based on a large amount of information on users’ behaviors, activities or
preferences
● Predicting what users will like based on their similarity to other users.
● A key advantage:
○ accurately recommending complex items such as movies without
requiring an “understanding” of the item itself
21. Content Based Filtering
( Item-based collaborative filtering)
Key ideas:
● Based on a description of the item and a profile of the user’s preference.
● Keywords are used to describe the items
● User profile is built to indicate the type of item this user likes.
23. Hybrid Recommendation Systems
These methods can be used to overcome some
of the common problems:
1. cold start (no information on users’ behaviors)
2. sparsity problem (dense matrix)