Recommender systems are increasingly used to predict a user’s preference for a given item over others. A win-win situation is created when users are able to find desired products or services quickly, while companies are able to increase sales through a customer-centric approach. Collaborative filtering is a technique used by some recommender systems to make predictions for a customer, based on the similar preferences of existing users.
Modern methods for collaborative filtering, such as matrix factorization, are popular due to their accuracy; however, they “cannot be used in real-world applications due to efficiency issues,” according to the authors. They propose two techniques to distribute recommender systems that use k-nearest neighbors (kNN) algorithms for collaborative filtering. “In item partition, each node keeps a partial profile for each user, consisting of the ratings for a particular subset of the items.” On the other hand, “in user partition, each node holds a subset of the user profiles.”
After evaluating the two techniques using a novel simulation model, the authors found that item partition provides better response times only for very large profiles, while user partition fares better with smaller profiles. The latter performs significantly better in terms of throughput when compared to item partition.
This work represents a solid step toward improving the throughput and scalability of distributed kNN recommender systems. The simulator designed to evaluate the collaborative filtering performance will serve as a reference to others in the field. It will be interesting to see how well the techniques will perform with a real large-scale system rather than simulations.