Markov Random Fields for Collaborative Filtering