Method and apparatus for recommending selections based on preferences in a multi-user system
First Claim
1. A method for outputing recommended preferences for a target user based on the target user'"'"'s input preferences and preferences of other users, the method executing on a computer system including a processor, a preferences database, an input device and an output device, wherein the preference database includes a plurality of records, one per user, where a record indicates a plurality of preferences of the user associated with that record, the method comprising the following steps:
- accepting signals from the input device to generate an input record, wherein the input record indicates the target user'"'"'s preferences;
using the processor to search at least a subset of the preferences database to locate matching records containing at least one preference which is also found in the input record;
assigning each of the matching records a match count with respect to the input record, wherein a match count assigned to one record with respect to another record is equal to the number of common preferences which occur in both of the records;
identifying unmatched preferences in the matching records, where an unmatched preference is a preference found in a matching record which is not found in the input record;
assigning a weight to an unmatched preference which weight is a function of at least the frequency of occurrence of the unmatched preference in the preferences database, the weight being greater for unmatched preferences which occur less frequently;
ranking unmatched preferences by weight;
selecting recommended preferences from the unmatched preferences according to the results of the step of ranking; and
outputing, by means of the output device, an indication of the recommended preferences.
7 Assignments
0 Petitions
Accused Products
Abstract
A system for determining selections that a user is likely to be interested in. The determination is made based on the user'"'"'s prior indicated preferences. The user designates his or her preferred selections as entries in a user'"'"'s preference list. Entries in the user'"'"'s list are compared with entries in the other users'"'"' lists. When a significant number of matches have been found between two lists, the unmatched entries of the other user'"'"'s preference list are extracted. The unmatched entries are further processed. Those unmatched entries with a high correlation to the user'"'"'s preference list are presented to the user as selections in which the user is likely to be interested.
-
Citations
23 Claims
-
1. A method for outputing recommended preferences for a target user based on the target user'"'"'s input preferences and preferences of other users, the method executing on a computer system including a processor, a preferences database, an input device and an output device, wherein the preference database includes a plurality of records, one per user, where a record indicates a plurality of preferences of the user associated with that record, the method comprising the following steps:
-
accepting signals from the input device to generate an input record, wherein the input record indicates the target user'"'"'s preferences; using the processor to search at least a subset of the preferences database to locate matching records containing at least one preference which is also found in the input record; assigning each of the matching records a match count with respect to the input record, wherein a match count assigned to one record with respect to another record is equal to the number of common preferences which occur in both of the records; identifying unmatched preferences in the matching records, where an unmatched preference is a preference found in a matching record which is not found in the input record; assigning a weight to an unmatched preference which weight is a function of at least the frequency of occurrence of the unmatched preference in the preferences database, the weight being greater for unmatched preferences which occur less frequently; ranking unmatched preferences by weight; selecting recommended preferences from the unmatched preferences according to the results of the step of ranking; and outputing, by means of the output device, an indication of the recommended preferences. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus for recommending preferences comprising:
-
a processor; a preferences database containing a plurality of records, each record indicating a plurality of preferences for a user associated with that record; input means for accepting input of a target user record, the target user record being an indication of a plurality of preferences of a target user; means for storing weighting values; communications means for communicating data between the processor, the preferences database, the input means and the means for storing; control means for controlling the processor to search the preferences database for records with a prespecified number of preferences in common with the target user record and to generate an initial ranking of unmatched preferences found in the located records, where an unmatched preference is a preference not found in the target user record, the initial ranking being a function of at least the frequency of occurrence of the unmatched preferences in the preferences database; ranking means, coupled to the processor, for ranking the unmatched preferences in a subsequent ranking where the subsequent ranking is based on a function of at least the initial ranking and the weighting values; and output means, coupled to the processor, for outputing an indication of the unmatched preferences ordered according to the subsequent ranking.
-
-
14. A method for generating a ranked list of associated objects for each object in an object database using a preferences database, the object database including a table of object records each of which references an object, and the preferences database including a table of user records each of which references a list of object preferences for a user associated with the user record, the method comprising the steps of:
-
(a) generating object pairs from the object database, where an object pair identifies two paired objects referenced by object records in the table of object records; (b) for each object pair, performing the steps of; (1) scanning the preferences database to locate user records which contain object preferences for both objects of the object pair; and (2) calculating an object pair association weight, where the object pair association weight is a function of at least the number of user records located in step (b)(1) and is a function which results in a greater weight as more user records are located; and (c) for each object, performing the steps of; (1) identifying object pairs containing said object, the other object in the pair being referred to as a paired object; and (2) ranking the paired objects from the object pairs identified in step (c)(1) where the ranking is done according to object pair association weights; and (3) associating an ordered list of the ranked paired objects with said object as the ranked list of associated objects. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. An apparatus for generating a ranked list of associated objects for each object in an object database, comprising:
-
a processor; a preferences database, the object database including a table of object records each of which references an object and the preferences database including a table of user records each of which references a list of object preferences for a user associated with the user record; means for generating object pairs from the object database, where an object pair identifies two paired objects referenced by object records in the table of object records; means for scanning the preferences database to locate user records which contain object preferences for both objects of object pairs; means for calculating an object pair association weight for each object pair, where the object pair association weight is a function of at least the number of user records containing both objects of the object pair; means for ranking paired objects from the object pairs having a given object as one object in the object pair, where the ranking is done according to object pair association weights; and means for outputing a ranked list of associated objects for a given object listing objects which are paired with the given object wherein the ranking in the ranked list is the ranking assigned by the means for ranking.
-
-
21. A method for determining a recommendation for a querying user based on the querying user'"'"'s preferences and the preferences of a user population, the method executing on a computer system including a preferences database, wherein the preferences database includes a plurality of user records for a plurality of users in the user population, and wherein each user record is associated with a user and contains an indication of a plurality of preferred items for that user, the method comprising the steps of:
-
reading, into the computer system, the indication of the plurality of preferred items of the querying user, thus forming a querying user record; comparing the querying user record to other user records in the plurality of user records to identify user records with at least one differing item, a differing item being a preferred item which is indicated as a preferred item in the identified user record but not the querying user record; weighting each identified user record by a weight dependent on the number of times the differing item occurs in the user records of the user population and dependent on the number of differing items in the identified user record; ranking, by weight, the differing items according to the weights given to each identified user record containing the differing items being ranked; presenting a ranking of the differing items to the querying user as a list of recommendations. - View Dependent Claims (22, 23)
-
Specification