40
Introduction to Recommendation Systems for News, Education and Entertainment By Trieu Nguyen - Lead Engineer at FPT Telecom My email: [email protected]

Introduction to Recommendation Systems

Embed Size (px)

Citation preview

Introduction to Recommendation Systems for News, Education and Entertainment

By Trieu Nguyen - Lead Engineer at FPT TelecomMy email: [email protected]

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 Product2. Data Engineering3. Data Science

1. Recommendation Systems in Practice2. Types of Recommendation Systems3. 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 :)

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 loyalty2. Builds the volume of user traffic 3. Delivers more convenient UX to your user4. 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 Filtering2. Content-Based Filtering3. 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 Ecosystem2. 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

Follow this page to get more informationhttp://BigDataVietnam.orghttps://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-with-mllib.html

https://stanford.edu/~rezab/classes/cme323/S16/

https://www.codementor.io/jadianes/building-a-recommender-with-apache-spark-python-example-app-part1-du1083qbw

https://bugra.github.io/work/notes/2014-04-19/alternating-least-squares-method-for-collaborative-filtering/