Patent ID: 8732240

Claim:
A method for generating a stream of content for a user, the method comprising: receiving candidate content items from heterogeneous data sources including from other users in at least one social network that have a relationship with the user; applying, with one or more processors, a weight to each of the candidate content items from the other users in the at least one social network that have the relationship with the user, the weight being modified based on a degree of separation between the user and each of the other users; computing, with the one or more processors, a user-independent global score for each of the candidate content items based on a global popularity of each candidate content item; generating, with the one or more processors, a ranking for each candidate content item based on the global scores; generating, with the one or more processors, a model for the user comprising at least one interest of the user and at least one prior action of the user associated with the heterogeneous data sources; generating, with the one or more processors, a set of the candidate content items that are associated with the at least one interest of the user based on the ranking; computing, with the one or more processors, an interestingness score for each candidate content item in the set by summing properties of each candidate content item over single-attribute properties using the model and based upon interestingness of each candidate content item to the user and an extent to which the candidate content item's popularity has increased within a geographic area associated with the user; generating, with the one or more processors, the stream of content for the user from selected content items, wherein the interestingness score for each selected content item exceeds a threshold score and wherein at least one of the selected content items is displayed with an explanation identifying an interest from the model that is associated with the selected content item; receiving a rejection from the user of the interest identified from the model that is associated with the at least one selected content item; updating the model by removing the interest from the model; and modifying, with the one or more processors, the stream of content based on updating the model.