Presentation is loading. Please wait.

Presentation is loading. Please wait.

Movie Recommendation System

Similar presentations


Presentation on theme: "Movie Recommendation System"— Presentation transcript:

1 Movie Recommendation System
Jon C. Hammer 04/30/2015

2 Outline Introduction Background Architecture Implementation
Lessons Learned Conclusion

3 Introduction Goal: Requirements:
Build a complete movie recommendation system. Requirements: User can view personalized recommendations User can input new ratings Interactive

4 ALS Collaborative Filtering technique Uses Matrix Factorization
Alternative to user/item based recommendation Uses Matrix Factorization Split ratings matrix (u x m) into U (u x d) and M (d x m) u = Number of users m = Number of movies d = Number of intrinsic dimensions (our choice) Alternate between optimizing U and M Gradient Descent Least Squares method

5 Architecture Key components: Recommender Database Web server
Client application Client Application Web Server Recommender Database

6 Implementation Platforms Languages Servers hosted on AWS
T2.micro and M3.xlarge EC2 instances Ubuntu LTS Additional Software: Hadoop Mahout MySQL Android application Languages Python Bash Java

7 Recommender Dataset Mahout MovieLens
20 million ratings 27,000 movies 138,000 users Mahout Given ratings matrix, produces N recommendations per user Uses ALS algorithm Recommendations are used by web server Recomputed when new ratings are provided by user

8 Database User Table Movie Table MySQL implementation
Login & customer information Movie Table Movie name, year, IMDB link, and poster Most information already provided in the dataset Posters scraped from IMDB a priori for client applications MySQL implementation

9 Web Server Interface between clients and recommendation engine / database Written in Python Twisted, Klein, MySQLdb modules Communication via HTTP Get, HTTP Post, JSON Returns most recent recommendations Interactive database queries

10 Client Application Features Written in Java for Android Login system
Ability to create new accounts on the fly View personalized recommendations Search database for movies Enter new ratings Written in Java for Android

11 Client Application

12 Lessons Learned Operate with AWS Hadoop / Mahout General
Configuring & launching instances Creating images VPC & Security Hadoop / Mahout Installation & configuration HDFS General Making / responding to web requests in both Java & Python Website scraping

13 References Zhou, Yunhong, et al. "Large-scale parallel collaborative filtering for the netflix prize." Algorithmic Aspects in Information and Management. Springer Berlin Heidelberg, Mahout. Hadoop. MovieLens dataset.

14 Questions?


Download ppt "Movie Recommendation System"

Similar presentations


Ads by Google