1. A method comprising: receiving, at a processor, a user request for content recommendations; receiving, by the processor, information regarding the user comprising at least a subset of content sources from which the user desires content recommendations; providing, by the processor, categories for selection by the user; receiving, by the processor, category selections made by the user; aggregating, by the processor, category vectors of respective categories selected by the user; generating, by the processor, a user model representing the user's interests, the user model is generated from the aggregated category vectors in combination with vector representations of the user information; and providing, by the processor, recommendations of content items to the user based on the user model.