This thesis presents a new approach to recommender systems. Previous recommender systems based on collaborative filtering typically solicit user feedback on domain items as overall ratings which are then recorded as numeric values. This paradigm limits the semantic richness of the user's interaction with the system and the depth to which the system can understand user preferences. We propose a new recommender system, Recommendz, which allows the user to comment not only about the overall quality of the item but also about the {\em quantity} and {\em quality} of features of the item. This allows the user to justify his or her ratings and allows the system to compare users not only with respect to overall preference, but also to compare the reasons behind those preferences. We have developed an implmentation of our approach, and have collected extensive empirical data based on movie ratings. We demonstrate the effectiveness of our approach, and describe the details of the implementation.