Open Source Recommender System

Open Source Recommender
Sagnik Ray Choudhury
• Business: Selling products, movies, papers
• Research: Baseline for improvements.
• Personal uses:
• Recommend a song from your own music library
Input and Outputs
• Two relations: User and Products
• Input: User actions
Can there be any other actions?
• Output: Product suggestions
• Other users also viewed/bought/rated good.
• What are the best products for this user?
• Search engine analogy.
The Amazon Analogy
• Product independent.
• Product dependent.
Easyrec: Open Source Recommender Engine
• Can be used in two ways:
• Download a copy and run in localhost.
• Use the easyrec server.
• Use the REST API to integrate with your site.
• API pros and cons:
Don’t need to bother about computation power.
Very easy for prototyping.
Data privacy (if you are running on easyrec server).
Not flexible enough for fine grained customization.
API: Getting Started
• Create an user account, get a token.
• Create a “tenant id”: url for your website/your home
• “tenant-id” and token combined work as a primary key.
• Any call to the easyrec must contain these two parameters.
API: Input Your Data
• Input options:
• View: The user has viewed this item.
• Buy: The user has bought this item.
• Rate: The user has rated this item.
• You can also define your own “action”
• Sample API calls:
API: Get Recommendations
• Other users also viewed:
• Parameter: item id.
• Other users also bought:
• Parameter: item id.
• Items rated good by other users:
• Parameter: item id.
• Users who bought this item rated these items good.
• Recommendations for user:
• Parameter: user id.
API: Rules, Clustering and Community Ranking
• Rules:
• You can write your own rules which will associate two items (users who rated
item A high, also bought item B).
• Rules can not be written between an user and an item.
• Clustering:
• You can create clusters of items (laptop/books/songs)
• You can get all items in a cluster.
• Community ranking:
• Items liked by/bought by/ rated by most users.
• An open source recommender system which can be readily deployed
in a small e-commerce site.
• Not much flexible:
• You might want to recommend items in a cluster based on user history on
that cluster.
• You want to develop a separate ranking function.
• Only collaborative filtering: no content based recommendation.
• Real sites have used this: (See a
recommendation here. )

similar documents