Patent ID: 6973665

Claim:
A method in a programmable computing device for determining the desirability of programming events, the method comprising executing processing comprising: receiving metadata describing programming events, the metadata that describes a programming event being comprised of goodness of fit scores associated with respective categories, and at least one of descriptive data and keyword data, wherein the categories are arranged in a hierarchy comprising at least a set of top-level categories, respective sets of first level sub-categories each corresponding to and encompassed by a top level category, and respective sets of second level sub-categories each corresponding to and encompassed by a first level sub-category; and producing data representing a ranking the programming events in accordance with viewing preferences expressed in at least one viewer profile, wherein each of the a least one viewer profiles is comprised of preference scores associated with categories of the classification hierarchy, and at least one keyword, wherein producing said data representing a ranking of the programming events comprises: determining a category match score for each programming event as a function of the metadata goodness of fit scores and viewer profile preference scores of etched categories of the programming event, wherein a matched category is a category of the classification hierarchy for which there is a goodness of fit score in the metadata of the programming event an a preference score in the at least one viewer profile; and determining a keyword match score for each programming event having a keyword match, wherein a keyword match is a match of the at least one of descriptive data and keyword data of the programming event metadata and a keyword of the at least one viewer profile, and wherein said data representing said ranking is produced such that programming events having keyword matches are ranked higher than programming events not having keyword matches, and programming events not having keyword matches are ranked based upon category matches.