Patent ID: 7949659

Claim:
A recommendations system for selecting items to recommend to a user, the system comprising: a computer system comprising computer hardware, the computer system programmed to implement: a recommendation engine comprising a plurality of recommenders, each of the recommenders configured to implement a different recommendation algorithm such that each recommender is configured to generate recommendations targeted to a different detected interest of a user by at least: retrieving item preference data reflective of actions performed by a user; detecting the interest of the user from the item preference data; generating candidate recommendations responsive to the detected interest of the user, identifying one or more reasons for recommending the candidate recommendations, and scoring the candidate recommendations to provide relative indications of the strength of the candidate recommendations, wherein at least some of the recommenders are modular, such that one or more of the recommenders can be selectively removed from the recommendation engine in response to outputting recommendations of less usefulness than recommendations of other of the recommenders, and such that one or more new recommenders can be selectively added to the recommendation engine to target one or more additional user interests; a normalization engine configured to normalize the scores of the candidate recommendations output by each recommender, wherein the normalization engine is further configured to: apply weights to the recommenders to adjust the normalized scores to produce adjusted normalized scores for the candidate recommendations, and adjust a selected one of the weights for a selected recommender in response to a demonstrated affinity by the user for items output from the selected recommender, to thereby emphasize the output of the selected recommender; and a candidate selector component configured to: select at least a portion of the candidate recommendations based on the adjusted normalized scores to provide as recommendations to the user, and output the recommendations with associated textual reasons for recommending the items.