Algorithms for Efficient Collaborative Filtering