A Project Kaniz Fatema 2012
Total Page:16
File Type:pdf, Size:1020Kb
RECFLIX: AN ANDROID-BASED RECOMMENDATION & RETRIEVAL SYSTEM FOR NETFLIX A Project Presented to the faculty of the Department of Computer Science California State University, Sacramento Submitted in partial satisfaction of the requirements for the degree of MASTER OF SCIENCE in Computer Science by Kaniz Fatema SPRING 2012 © 2012 Kaniz Fatema ALL RIGHTS RESERVED ii RECFLIX: AN ANDROID-BASED RECOMMENDATION & RETRIEVAL SYSTEM FOR NETFLIX A Project by Kaniz Fatema Approved by: __________________________________, Committee Chair Du Zhang __________________________________, Second Reader Bob Buckley ____________________________ Date iii Student: Kaniz Fatema I certify that this student has met the requirements for format contained in the University format manual, and that this project is suitable for shelving in the Library and credit is to be awarded for the project. __________________________, Graduate Coordinator ___________________ Nikrouz Faroughi Date Department of Computer Science iv Abstract of RECFLIX: AN ANDROID-BASED RECOMMENDATION & RETRIEVAL SYSTEM FOR NETFLIX by Kaniz Fatema Widespread adoption of high speed internet connectivity makes streaming media a reality, and these days many streaming devices are increasingly becoming available, including smart TVs, internet-connected Blu-ray players, Apple TV, and so on. One problem users quickly face is the navigation and search of titles. The current approach is far from satisfactory. Since smartphones are everywhere these days, can smartphones help with this discovery problem? In this project we develop an Android-based app for Netflix, a movie rental and streaming system, to address this problem. One of the nice aspects of Netflix is that it offers recommendations. However it is tailored to one account, which is often shared by all of the family members. Therefore, it is hard to differentiate the recommendations for the parents vs. the teenage members of a family. The app we develop does not require a user to login and the recommendations are tailored to the owner of the smartphone only. Our proposed recommendation algorithm is based on the v ratings available on Netflix and Rotten Tomatoes, but can also incorporate new data sources. We conduct a limited study and based on the feedback of the subjects, the result is promising. _______________________, Committee Chair Du Zhang _______________________ Date vi TABLE OF CONTENTS List of figures.....................................................................................................................ix Chapter 1. INTRODUCTION ...................................................................................................... 1 1.1 Problem Statement ................................................................................................. 2 1.2 Solution Sketch ....................................................................................................... 4 1.3 Organization of the report ....................................................................................... 5 2. RELATED WORK ..................................................................................................... 6 2.1 Related Android Apps............................................................................................. 6 2.2 Recommendation Algorithms ................................................................................. 7 3. DESIGN .................................................................................................................... 10 3.1 User Interface Design ........................................................................................... 10 3.2 Recommender algorithms ..................................................................................... 12 3.2.1 Average-Deviated Recommendation algorithm. .......................................... 12 3.2.2 Correlation-Weighted Recommendation algorithm. ..................................... 14 3.3 Datasets ................................................................................................................. 18 4. IMPLEMENTATION ............................................................................................... 22 4.1 Back-end ............................................................................................................... 22 4.1.1 Data collection from the web-services .......................................................... 22 vii 4.1.2 Application/Web Server and Database ......................................................... 24 4.2 Client or Front-end ................................................................................................ 27 4.3 User study ............................................................................................................. 31 4.3.1 Approach ....................................................................................................... 31 4.3.2 Result ............................................................................................................ 32 4.3.3 Performance Analysis ................................................................................... 33 4.3.4 Discussion ..................................................................................................... 34 5. CONCLUSION ......................................................................................................... 35 Bibliography ..................................................................................................................... 37 viii LIST OF FIGURES Figure 3.1: Overview of the Correlation-weighted recommendation process. ................ 17 Figure 3.2: Distribution of Netflix titles ........................................................................... 18 Figure 3.3: Correlation between various types of ratings. ................................................ 20 Figure 4.1: High level application components and data collection. ................................ 24 Figure 4.2: Entity-relationship diagram of the database tables used. ............................... 26 Figure 4.3: The main user interface of RecFlix ................................................................ 28 Figure 4.4: Comprehensive set of options for filtering titles ............................................ 29 Figure 4.5: Movie description dialog appears when a user clicks on a movie image....... 30 Figure 4.6 Interview prior to RecFlix interaction ............................................................. 32 Figure 4.7: Post-interview questions................................................................................. 34 ix 1 Chapter 1 INTRODUCTION Streaming media, and, in particular, streaming movies are becoming increasingly commonplace, thanks to the widespread availability of high speed internet, and streaming-able devices including computers, smart TVs, and so on. Streaming, or aptly sometimes called instant movies and TV shows, offer major advantages over that are available on physical media, such as DVDs, etc. Most notable advantage is perhaps the fact that the user gets to choose what she wants to watch, when she feels like it. Netflix [1] is a pioneer in streaming movies and TV shows, in addition to their original business-- -DVDs-by-mail. As success draws company, quite a few other vendors including Amazon [2] and Hulu [3] are offering streaming movies. We focus on Netflix in this project, as they have the largest streaming customer base. Smartphones are now ubiquitous, with capabilities of a computer. People are increasingly depending on their smartphones for on-the-spot information, rather than carrying or opening up a laptop everywhere, and for every minute needs. Naturally, information needs such as which movies are available, or which movie I should watch, is expected to be on their fingertips as well. 2 1.1 Problem Statement After interviewing a few Netflix-streaming subscribers and going through many postings on the internet, we have identified following issues with the information need of Netflix streaming titles. Movie information organization: No matter what the streaming device is--- smart TV, internet-connected DVD players, media players like Roku [4] or Apple TV, and so on, the titles that a user can browse appear to be very limited, leaving the user wanting for more. Furthermore, the search options are often limited, leaving the user with less control to find what she needs. One user commented that he thought there are 75 titles available under each genre category, since Netflix shows only 75 titles in each genre. The reality is that Netflix carries 14,000-18,000 titles under streaming. Clearly, the presentation of information about the extent of titles that are available can be improved. One can argue that more is not necessarily better; however, it is comforting to know that there are more titles available, if the user has not found something interesting to watch yet. The user in control: interesting titles to watch: The point above contributes to this issue. Netflix provides top 10 recommended movies, which are rather generic. The user needs to be in control. If she is in mood for a classic drama, she finds it desirable to be able to specify the specific date-range and the genre to 3 discover the top recommended titles in that category. Once she is in control, she could discard unwanted features, such as foreign titles, as an example. Having to login means all history in one bucket: Most Netflix clients/applications require a customer to login to the Netflix service to use and to get personalized