A Batch Learning Framework for Scalable Personalized Ranking