Modeling User Rating Profiles For Collaborative Filtering