Patent ID: 7860925

Claim:
A recommendation system for delivering a list of recommendations to a requester system over a computer network, the recommendation system comprising: one or more processing units executing instructions implementing: a plurality of producer modules in communication with the requester system, each of the plurality of producer modules receiving a request for recommendations from the requester system and producing a list of initial recommendations in response thereto, each of the recommendations in a list of initial recommendations including a confidence level and a producer identifier; and a recommendation engine configured to: modify each of the confidence levels in a given list of initial recommendations based on a weighting value associated with the producer module that produced the given list of initial recommendations; and select one or more of the recommendations from the lists of initial recommendations based on the confidence levels of the recommendations to produce a list of survived recommendations that are transmitted to the requester system; wherein the recommendation engine is further configured to: combine the lists of initial recommendations into a combined list of recommendations; sort the recommendations in the combined list of recommendations according to the confidence levels of each of the recommendations in the combined list of recommendations to produce a sorted list of recommendations; and select one or more survived recommendations from the sorted list of recommendations to produce the list of survived recommendations; and wherein the recommendation engine is further configured to: select a first predetermined number N of recommendations from the sorted list of recommendations; select a second predetermined number M of recommendations from the first predetermined number N of recommendations, wherein a likelihood of a given one of the M recommendations being selected from the first predetermined number N of recommendations is related to the confidence level of the given one of the M recommendation; and select the one or more survived recommendations from the second predetermined number M of initial recommendations.