1. A method comprising: receiving, at a processor, a plurality of content items obtained from content streams of different content types to be forwarded to at least one user, said receiving comprising modeling each of the content items into a feature vector representation, each feature vector representation comprising data on the respective vector indicating a content item's source, a content item's features and category; scoring, by the processor, the plurality of content items based on a user model, said user model comprising a vector representation of dynamically updated user information and categorical information associated with interests of the user, said scoring comprising comparing the vector representation of the user model to each content item's vector and determining a score for each content item based on how similar each content item's vector corresponds to the user model vector; adding, by the processor, at least a subset of the scored content items to respective lists of unseen content items for the user based at least on respective scores; receiving, by the processor, a request from the user for relevant unseen content items, said receiving causing the processor to update said user model vector based on the request, said updating causing the user information and categorical information to be updated based on reference of the relevant unseen content items in the request; rescoring, by the processor, the content items added to the lists of unseen content items based on the updated user model, said rescoring comprising comparing the vector representations of the added content items to the user model and updating the score for each added content item; determining, by the processor in response to the user request, a ratio of a number of the content items of each content type within the lists unseen content items, said determination comprising identifying a type of each content item included in each list and, based on each content item's score, determining said ratio that indicates which content item types have higher scores; determining, by the processor, an item type mixture weight for each content type, said item type mixture weight directly corresponding to the determined ratio for each content type, wherein a value of the item type mixture weight of one content item type is adjusted to balance out a value of the item type mixture weight of another content item type; selecting, by the processor from the subset of content items, a target number of content items of each content type for inclusion into the top scoring content items based on the determined item type mixture weights; and forwarding, by the processor, the selected top scoring content items to the user in response to the user request for the relevant items.