Collaborative Filtering with Multi-component Rating for Recommender Systems