Professional Documents
Culture Documents
Social Recommender
Submitted to
Thomas M. Keating
Assistant Teaching professor
School of Computer Science
Carnegie Mellon University
Prepared by
Will Crichton
James Yang
Vibhav Ganesh
Xiyang Zhao
Abstract
This document is a proposal to create a web based recommender that uses
information from your social network to suggest new things you might want to
try. The key difference between our proposed recommender and existing ones
is that our recommender will take into account the vast amount of information
stored in a persons Facebook network to find movies, books, etc that you might
be interested in. The user will simply allow our app to access their Facebook
network data and will immediately be able to view their top recommendations.
Our application will take into account the movies that your friends watch, the
strength of your friendships, and your feedback after you try the suggestions.
This proposal describes our approach to creating this application, our schedule
and an outline of our plan to complete the project.
Contents
1 Introduction
2 Plan
3 Benefits
4 Approach
4.1 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Project Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
4
5
5 Evaluation
6 Qualifications
7 Sources
Introduction
In this era of social networks, we can access and process vast quantities of
data about our friends, family, and even distant acquaintances in a matter of
seconds. Applications can now analyze a persons social life in a simple automated system in a manner unprecedented in either technical or social analysis
fields. In particular, sites such as Facebook provide a wealth of data on the
interests of its userslikes are now the ubiquitous term for the seal of approval
afforded to any likable object, be it books, movies, or even people. Here we
introduce a proposal for a web application that will perform a holistic analysis
of a users Facebook data to provide specialized recommendations for objects of
interest to the user. We will show that these recommendations are more likely
to effectively predict a users interest than general interest sites.
Plan
Our final product will consist of three main components: the algorithm for
processing the Facebook data and provided recommendations, the backend for
handling user requests and the Facebook API, and the user interface for interacting with the website. We will divide up the team and create each component
in parallel (see Methodology), combining our efforts and doing a final analysis
of the project at the conclusion of the semester (see Evaluation). By the end,
we will have an efficient and user-friendly product that gives specialized and
accurate recommendations on a range of categories.
To prepare for the algorithm component, our team surveyed the existing
literature on the subject of social recommendations and considered both the
pros/cons of social algorithms as well as the efficacy of individual systems proposed by different researchers. The algorithms we reviewed ranged from specific
analyses of social network data (Katz et. al) to more general graph traversal
methods (Xiang et. al). After considering these documents, we opted to use the
TidalTrust algorithm as a starting point for our development of a superior algorithm for social recommendations. Our review of the literature suggests that
even without improvement these algorithms consistently outperform traditional
venues that give recommendations for objects of interest. Given our current
base of research, we plan to improve upon the algorithms suggested in the literature by specializing them for the specific form of like data that we retrieve
from Facebook.
For the remainder of the application, our team will divide up the work evenly
and have a presentable form of the application ready before Thanksgiving Break.
In the course of our work, we have planned weekly meetings to ensure that
development stays consistent with the product vision of the team members.
Additionally, we will be using Github to ensure a clean development cycle.
Benefits
Although the members of our team have worked on many individual technical
aspects of the project, working to bring an application together across the entire
stack will provide us a solid base of experience in creating large-scale applications
from scratch as well as working with multiple team members for an extended
period of time. Technical and management skills include:
Mathematical analysis of graphs and understanding of social interactions
and recommendations
Architecting systems which require the coupling of abstract modules with
a concrete interface
Coordinating efforts across multiple parts of an application and combining
independent programs into a single cohesive system
More importantly, though, our application could greatly benefit anyone who uses
a social network by providing them an easy way to analyze their own interests
as well as the interests of friends.
Approach
4.1
Methodology
4.2
Project Schedule
Evaluation
Qualifications
Sources