Slope One Predictors for Online Rating-Based Collaborative Filtering
Abstract
Rating-based collaborative filtering is the process of predicting how a user would rate a given item from other user ratings. We propose three related slope one schemes with predictors of the form f(x) = x + b, which precompute the average difference between the ratings of one item and another for users who rated both. Slope one algorithms are easy to implement, efficient to query, reasonably accurate, and they support both online queries and dynamic updates, which makes them good candidates for real-world systems. The basic slope one scheme is suggested as a new reference scheme for collaborative filtering. By factoring in items that a user liked separately from items that a user disliked, we achieve results competitive with slower memory-based schemes over the standard benchmark EachMovie and Movielens data sets while better fulfilling the desiderata of CF applications.
Keywords
Item-Item Collaborative Filtering, e-Commerce, Item-to-Item Collaborative Filtering, Recommender Systems, Item-based Collaborative Filtering, Data Mining, Knowledge Discovery
Reference
Daniel Lemire, Anna Maclachlan, Slope One Predictors for Online Rating-Based Collaborative Filtering, In SIAM Data Mining (SDM'05), Newport Beach, California, April 21-23, 2005.
Download
Hint : It is sometimes necessary to hold down shift while clicking in order to save a document.
Software
- Here's a standalone Java class implementing the Slope One collaborative Filtering algorithm.
- A technical paper discussing implementation issues is available:
Daniel Lemire, Sean McGrath, Implementing a Rating-Based Item-to-Item Recommender System in PHP/SQL, Technical Report D-01, January 2005.
- Bryan O'Sullivan has written a nice tutorial about how to implement Slope One in Python.
- The Taste collaborative filtering library has a Java implementation of Slope One.
- The Vogoo collaborative filtering library has a Python implementation of Slope One.
- Philip Robinson implemented Slope One in Erlang.
BibTeX
@inproceedings{LemireMaclachlan2005,
author = {Daniel Lemire and Anna Maclachlan},
title = {Slope One Predictors for Online Rating-Based Collaborative Filtering},
booktitle = {Proceedings of SIAM Data Mining (SDM'05)},
year = {2005},
url = {http://www.daniel-lemire.com/fr/documents/publications/lemiremaclachlan_sdm05.pdf}
}
Authors
- Daniel Lemire: lemire at acm.org
- Anna Maclachlan
Related work
- Daniel Lemire's publications
- inDiscover: music recommender web site using the Weighted Slope One algorithm described in the paper.
- The DVD recommender site hitflip.de uses Slope One.
- James Thornton's list of collaborative filtering research papers
Citations
This paper is cited by the following papers:
- Heung-Nam Kim, Ae-Ttie Ji, Geun-Sik Jo, Enhanced Prediction Algorithm for Item-based Collaborative Filtering Recommendation, DEXA 2006, 2006.
- S. Berkovsky, P. Busetta, Y. Eytani, T. Kuflik, and F. Ricci. Collaborative Filtering over Distributed Environment. Workshop on Decentralized, Agent Based and Social Approaches to User Modelling, in conjunction with UM, Edinburgh, UK, July 2005.
- Jasna Tusek, Item-based Collaborative Filtering aus der Perspektive des Customer Relationship Managements, Seminararbeit aus Informationswirtschaft, Wirtschafts Universtät, May 2005.
- Bo Xu, Slope One in Automated Collaborative Filtering, M.Sc. Thesis, University of New Brunswick, 2006.
This paper cites the following paper:
-
Daniel Lemire, Scale and Translation Invariant Collaborative Filtering Systems, Information Retrieval, 8 (1), pages 129-150, January 2005. (NRC 46508)
You might also want to check this related paper:
Michelle Anderson, Marcel Ball, Harold Boley, Stephen Greene, Nancy Howse , Daniel Lemire, Sean McGrath, RACOFI: Rule-Applying Collaborative Filtering Systems, Proc eedings IEEE/WIC COLA'03, Halifax, Canada, October 2003. (NRC 46507)
This paper was discussed in the blogosphere: