|
|
|
| United States Patent | 6334127 |
| Link to this page | http://www.wikipatents.com/6334127.html |
| Inventor(s) | Bieganski; Paul (Minneapolis, MN);
Konstan; Joseph A. (St. Paul, MN);
Riedl; John T. (Falcon Heights, MN) |
| Abstract | The invention includes an electronic processing system, a method and a
computer readable storage device for generating a serendipity-weighted
recommendation output set to a user based, at least in part, on a
serendipity function. The system includes a processing system to receive
user item preference data and community item popularity data. The
processing system is also configured to produce an item recommendation set
from the user item preference data, produce a set of item serendipity
control values in response to the serendipity function and the community
item popularity data, and combine the item recommendation set with the set
of item serendipity control values to produce a serendipity-weighted and
filtered recommendation output set. The method includes receiving item
preference data and community item popularity data. The method further
includes producing an item recommendation set from the user item
preference data, using the processing system, and generating a set of item
serendipity control values in response to the community item popularity
data and a serendipity function, also using the processing system. The
method also includes combining the item recommendation set and the set of
item serendipity control values to produce a serendipity-weighted and
filtered item recommendation output set, using the processing system. The
computer readable storage device, has a set of program instructions
physically embodied thereon, executable by a computer, to perform a method
similar to that just described. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 6334127 |
|
|
System, method and article of manufacture for making serendipity-weighted
recommendations to a user |
|
|
|
|
|
| Publication Date |
December 25, 2001 |
|
|
|
|
|
| Filing Date |
July 17, 1998 |
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
RELATED APPLICATIONS
This application is related to the following US patent applications, which
are incorporated by reference:
1. SYSTEM, METHOD AND ARTICLE OF MANUFACTURE FOR UTILIZING IMPLICIT RATINGS
IN PREDICTION INFORMATION SYSTEMS, filed Oct. 7, 1996, Ser. No.
08/725,580. SYSTEM, METHOD, AND ARTICLE OF MANUFACTURE FOR UTILIZING
IMPLICIT RATINGS IN COLLABORATIVE FILTERS, filed Oct. 7, 1996, application
Ser. No. 08/725,580, now U.S. Pat. No. 6,108,493, issued Aug. 22, 2000,
2. SYSTEM, METHOD, AND ARTICLE OF MANUFACTURE FOR GENERATING IMPLICIT
RATINGS BASED ON RECEIVER OPERATING CURVES, filed Oct. 8, 1996,
application Ser. No. 08/729,787, now U.S. Pat. No. 6,016,475, issued Jan.
18, 2000.
3. SYSTEM, METHOD AND ARTICLE OF MANUFACTURE FOR USING RECEIVER OPERATING
CURVES TO EVALUATE PREDICTIVE UTILITY, filed Oct. 18, 1996, Ser. No.
08/733,806.
4. SYSTEM, METHOD AND ARTICLE OF MANUFACTURE FOR INCREASING THE USER VALUE
OF RECOMMENDATIONS MADE BY A RECOMMENDER SYSTEM, filed Jul. 17, 1998,
application Ser. No. 09/118,025. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
Claims  |
|
|
We claim:
1. An electronic processing system for generating a serendipity-weighted
recommendation output set to a user based, at least in part, on a
serendipity function, the system comprising a processing system of one or
more processors configured to:
a. receive applicable data including
i. user item preference data, and
ii. community item popularity data,
b. produce an item recommendation set from the user item preference data;
c. produce a set of item serendipity control values in response to the
serendipity function and the community item popularity data, and
d. combine the item recommendation set with the set of item serendipity
control values to produce a serendipity-weighted and filtered
recommendation output set.
2. A system as recited in claim 1, wherein the processing system is further
configured to
a. receive the serendipity control function and
b. produce the set of item serendipity control values in response to the
received serendipity function and the community item popularity data.
3. A system as recited in claim 1, wherein the processing system is further
configured to
a. receive an input from one of a serendipity filter system administrator
and the user relating to the serendipity control function,
b. select the serendipity function in response to the input received from
the one of the serendipity filter system administrator and the user, and
c. produce the set of item serendipity control values in response to the
selected serendipity function and the community item popularity data.
4. A system as recited in claim 1, further comprising an input interface
operatively coupled to the processing system in order to receive the
applicable data and transmit the applicable data to the processing system.
5. A system as recited in claim 4, wherein
a. the applicable data further includes the serendipity function,
b. the input interface is configured to be further coupled to a memory
system, and
c. the processing system is configured to
i) receive the serendipity function from the memory system, and
ii) produce the set of serendipity control values in response to the
community item popularity data and the serendipity function received from
the memory system.
6. A system as recited in claim 4, wherein
a. the input interface is configured to be further coupled to receive a
request from the user for serendipity-weighted and filtered
recommendations, and
b. the processing system combines the item recommendation set with the set
of item serendipity control values to produce the serendipity-weighted and
filtered recommendation output set in response to the request received
from the user.
7. A system as recited in claim 4, wherein
the input interface is further configured to receive user item preference
data that includes at least one of unary values, binary values, and
numerical values, and
the processing system is further configured to produce the item
recommendation set from the at least one of the unary values, binary
values and numerical values.
8. A system as recited in claim 1, further comprising an output interface
operatively coupled to the processing system in order to receive the
serendipity-weighted and filtered recommendation output set.
9. A system as recited in claim 8, further comprising a display device
operatively coupled to the output interface in order to display the
serendipity-weighted recommendation output set.
10. A system as recited in claim 8, further comprising a memory system
operatively coupled to the output interface in order to receive and store
the serendipity-weighted recommendation output set.
11. A system as recited in claim 1, farther comprising
a memory system configured to be operatively coupled to the processing
system,
wherein the processing system is configured to receive community item
popularity data from the memory system.
12. A system as recited in claim 1, wherein the processing system includes
a single processor configured to
a. receive the applicable data including
i. user item preference data, and
ii. community item popularity data,
b. produce the item recommendation set from the user item preference data;
c. produce the set of item serendipity control values in response to the
serendipity function and the community item popularity data, and
d. combine the item recommendation set with the set of item serendipity
control values to produce the serendipity-weighted and filtered
recommendation output set.
13. A system as recited in claim 1, wherein the processing system includes
a) a first processor configured to
i) receive the community item popularity data, and
ii) produce the set of item serendipity control values in response to the
serendipity control function and the community popularity data, and
b) a second processor, configured to be operatively coupled to the first
processor and configured to
i) receive the user item preference data,
ii) produce the item recommendation set from the user item preference data,
iii) receive the set of item serendipity control values from the first
processor, and
iii) combine the item recommendation set with the set of item serendipity
control values to produce the serendipity-weighted and filtered
recommendation output set.
14. A system as recited in claim 1, wherein the processing system includes
a) a first processor configured to
i) receive the community item popularity data, and
ii) produce the set of item serendipity control values in response to the
serendipity control function and the community popularity data,
b) a second processor configured to
i) receive the user item preference data, and
ii) produce the item recommendation set from the user item preference data,
and
c) a third processor configured to be operatively coupled to the first and
second processors, and configured to
i) receive the set of item serendipity control values from the first
processor and the item recommendation set from the second processor, and
ii) combine the item recommendation set with the set of item serendipity
control values to produce the serendipity-weighted and filtered
recommendation output set.
15. A system as recited in claim 1, wherein the processing system includes
a) a first processor configured to
i) receive the user item preference data, and
ii) produce the item recommendation set from the user item preference data,
and
b) a second processor configured to
i) receive the community item popularity data, and
ii) produce the set of item serendipity control values in response to the
serendipity control function and the community popularity data,
iii) receive the item recommendation set from the first processor, and
iv) combine the item recommendation set with the set of item serendipity
control values to produce the serendipity-weighted and filtered
recommendation output set.
16. A system as recited in claim 1, wherein the processing system is
configured to produce the serendipity-weighted recommendation output under
real-time, interactive time constraints.
17. A system as recited in claim 1, wherein the processing system is
further configured to produce the serendipity-weighted and filtered
recommendation output set as at least one of unary, unordered
recommendations and priority-ordered recommendations.
18. A system as recited in claim 1, wherein the serendipity function is at
least one of:
a) a fixed function having controllable parameters;
b) a bi-level function that excludes items occurring in the community item
popularity data with a frequency greater than a pre-selected upper
frequency value;
c) a bi-level function that excludes items occurring in the community item
popularity data with a frequency less than a pre-selected lower frequency
value;
d) a continuous function having a value that reduces with increasing
frequency of occurrence in the community item popularity data; and
e) a function assigning a constant value to items having an occurrence
frequency in the community item popularity data less than a selected
frequency and a value that reduces with an occurrence frequency higher
than the selected frequency.
19. A system as recited in claim 1, wherein
a. the processing system is further configured to select the serendipity
function using feedback data, the feedback data including one of a rate at
which the user accepts items from the serendipity-weighted and filtered
item recommendation set, a rate at which the user requests additional
predictions, and a rate at which the user accepts non-recommended items,
and
b. the processing system produces the set of item serendipity control
values in response to the community item popularity data and the
serendipity function selected using the feedback data.
20. A system as recited in claim 1, wherein
a. the item recommendation data relate to one of musical items,
audio/visual items, written publications, articles from written
publications, Internet documents, consumable goods, dining and
entertainment services, financial service products, real estate,
architectural goods, architectural services, automobile-related goods,
automobile related services, travel-related goods, travel-related
services, images, pictures, works of art, computer-related hardware,
computer software and computer-related service products, and
b. the serendipity-weighted and filtered recommendation output set relates
respectively to the one of musical items, audio/visual items, written
publications, articles from written publications, Internet documents,
consumable goods, dining and entertainment services, financial service
products, real estate, architectural goods, architectural services,
automobile-related goods, automobile related services, travel-related
goods, travel-related services, images, pictures, works of art,
computer-related hardware, computer software and computer-related service
products.
21. A method of producing a serendipity-weighted recommendation to a user,
the method using a computer having a memory unit, a processing system
having one or more processors and an input/output interface, the method
comprising:
a. receiving, by the processing system, applicable data including,
i. user item preference data and
ii. community item popularity data;
b. producing, using the processing system, an item recommendation set from
the user item preference data;
c. generating, using the processing system, a set of item serendipity
control values in response to the community item popularity data and a
serendipity function; and
c. combining, using the processing system, the item recommendation set and
the set of item serendipity control values to produce a
serendipity-weighted and filtered item recommendation output set.
22. A method as recited in claim 21, further comprising
a. receiving, by the processing system, the serendipity control function,
and
b. generating the set of item serendipity control values in response to the
serendipity control function received by the processing system and the
community item popularity data.
23. A method as recited in claim 21, further comprising
a. receiving, by the processing system, an input from one of a serendipity
filter system administrator and the user relating to the serendipity
control function,
b. selecting, by the processing system, the serendipity function in
response to the input received from the one of the serendipity filter
system administrator and the user, and
c. producing, by the processing system, the set of item serendipity control
values in response to the selected serendipity function and the community
item popularity data.
24. A method as recited in claim 21, further comprising
a. receiving, through the input/output interface, a serendipity function
selection control input from one of a recommender system administrator and
the user, and
b. selecting, using the processing system, the selectable serendipity
function in response to the received serendipity function selection
control input.
25. A method as recited in claim 21, further comprising receiving, by the
input/output interface the applicable data and transmitting the applicable
data, by the input/output interface, to the processing system.
26. A method as recited in claim 21, further comprising controlling the
serendipity function, using the processing system, with feedback data
received through the input/output interface, the feedback data including
one of a rate at which the user accepts serendipity-weighted and filtered
recommended items, a rate at which the user requests additional
serendipity-weighted and filtered recommendations, and a rate at which the
user accepts non-recommended items.
27. A method as recited in claim 21, farther comprising
a. receiving, by the processing system, the serendipity function from the
memory system, and
b. generating, by the processing system, the set of serendipity control
values in response to the community item popularity data and the
serendipity function received from the memory system.
28. A method as recited in claim 27, further comprising
a. receiving a request, with the processing system, from the user for
serendipity-weighted and filtered recommendations, and
b. combining, with the processing system, the item recommendation data with
the set of item serendipity control values to produce the
serendipity-weighted and filtered recommendation output set in response to
the request received from the user.
29. A system as recited in claim 21, further comprising
receiving, with the processing system, user item preference data that
includes at least one of unary values, binary values, and numerical
values, and
producing, with the processing system, the item recommendation set from the
at least one of the unary values, binary values and numerical values.
30. A method as recited in claim 21, further comprising outputting, using
the processing system, the serendipity-weighted and filtered item
recommendation output set to the input/output interface.
31. A method as recited in claim 30, further comprising transmitting, using
the input/output interface, the serendipity-weighted and filtered
recommendation output set to a display device and displaying the
serendipity-weighted and filtered recommendation output set on the display
device.
32. A method as recited in claim 30, further comprising transmitting, using
processing system, the serendipity-weighted and filtered recommendation
output set to the memory system for storage therein.
33. A method as recited in claim 21, further comprising receiving, using
the processing system, the community item popularity data from the memory
system.
34. A method as recited in claim 21, further comprising
a) receiving the applicable data, with a single processor of the one or
more processors,
b) producing the item recommendation set, with the single processor, from
the user item preference data,
c) generating the set of item serendipity control values, with the single
processor, in response to the serendipity control function and the
community item popularity data, and
d) combining, with the single processor, the item recommendation set with
the set of item serendipity control values to produce the
serendipity-weighted and filtered recommendation output set.
35. A method as recited in claim 21, further comprising
a) receiving the community item popularity data with a first processor of
the one or more processors
b) producing, with the first processor, the set of item serendipity control
values in response to the serendipity control function and the community
popularity data,
c) receiving the user item preference data with a second processor of the
one or more processors,
d) producing the item recommendation set, with the second processor, from
the user item preference data;
e) receiving, with the second processor, the set of item serendipity
control values from the first processor, and
f) combining, with the second processor, the item recommendation set with
the set of item serendipity control values to produce the
serendipity-weighted and filtered recommendation output set.
36. A method as recited in claim 21, further comprising
a) receiving the community item popularity data with a first processor of
the one or more processors
b) producing, with the first processor, the set of item serendipity control
values in response to the serendipity control function and the community
popularity data,
c) receiving the user item preference data with a second processor of the
one or more processors,
d) producing the item recommendation set, with the second processor, from
the user item preference data;
e) receiving, with a third processor of the one or more processors, the set
of item serendipity control values from the first processor and the item
recommendation set from the second processor, and
f) combining, with the third processor, the item recommendation set with
the set of item serendipity control values to produce the
serendipity-weighted and filtered recommendation output set.
37. A method as recited in claim 21, further comprising producing, with the
processing system, the serendipity-weighted and filtered item
recommendation output set under real-time, interactive constraints.
38. A method as recited in claim 21, further comprising producing, with the
processing system, the serendipity-weighted and filtered recommendation
output set as at least one of unary, unordered recommendations and
priority-ordered recommendations.
39. A method as recited in claim 21, further comprising receiving, with the
processing system, the item recommendation data as at least one of unary
values, binary values, and numerical values.
40. A method as recited in claim 21, further comprising generating, using
the processing system, the set of item serendipity control values in
response to the community item popularity data and the serendipity
function, where the serendipity function is at least one of:
a fixed function having controllable parameters;
a bi-level function that excludes items occurring in the community item
popularity data with a frequency greater than a pre-selected upper
frequency value;
a bi-level function that excludes items occurring in the community item
popularity data with a frequency less than a pre-selected lower frequency
value;
a continuous function having a value that reduces with increasing frequency
of occurrence in the community item popularity data; and
a function assigning a constant value to items having an occurrence
frequency in the community item popularity data less than a selected
frequency and a value that reduces with an occurrence frequency higher
than the selected frequency.
41. A method as recited in claim 21, wherein
a. the item recommendation data relate to one of musical items,
audio/visual items, written publications, articles from written
publications, Internet documents, consumable goods, dining and
entertainment services, financial service products, real estate,
architectural goods, architectural services, automobile-related goods,
automobile related services, travel-related goods, travel-related
services, images, pictures, works of art, computer-related hardware,
computer software and computer-related service products, and
b. the serendipity-weighted and filtered recommendation output set relates
respectively to the one of musical items, audio/visual items, written
publications, articles from written publications, Internet documents,
consumable goods, dining and entertainment services, financial service
products, real estate, architectural goods, architectural services,
automobile-related goods, automobile related services, travel-related
goods, travel-related services, images, pictures, works of art,
computer-related hardware, computer software and computer-related service
products.
42. A computer-readable program storage device, having a set of program
instructions physically embodied thereon, executable by a computer, to
perform a method for providing a serendipity-weighted and filtered
recommendation, the method comprising:
a. receiving, by a processing system, applicable data including,
i. user item preference data and
ii. community item popularity data;
b. producing, using the processing system, an item recommendation set from
the user item preference data;
c. generating, using the processing system, a set of item serendipity
control values in response to the community item popularity data and a
serendipity function; and
d. combining, using the processing system, the item recommendation set and
the set of item serendipity control values to produce a
serendipity-weighted and filtered item recommendation output set.
43. A device as recited in claim 42, the method further comprising
a. receiving, by the processing system, the serendipity control function,
and
b. generating, by the processing system, the set of item serendipity
control values in response to the serendipity control function received by
the processing system and the community item popularity data.
44. A device as recited in claim 42, the method further comprising
a. receiving, by the processing system, an input from one of a serendipity
filter system administrator and the user relating to the serendipity
control function,
b. selecting, by the processing system, the serendipity function in
response to the input received from the one of the serendipity filter
system administrator and the user, and
c. producing, by the processing system, the set of item serendipity control
values in response to the selected serendipity function and the community
item popularity data.
45. A device as recited in claim 42, the method further comprising a
receiving, through an input/output interface, a serendipity function
selection control input from one of a recommender system administrator and
the user, and
b. selecting, using the processing system, the selectable serendipity
function in response to the received serendipity function selection
control input.
46. A device as recited in claim 42, the method further comprising
receiving, by an input/output interface the applicable data and
transmitting the applicable data, by the input/output interface, to the
processing system.
47. A device as recited in claim 42, the method further comprising
controlling the serendipity function, using the processing system, with
feedback data received through an input/output interface, the feedback
data including one of a rate at which the user accepts
serendipity-weighted and filtered recommended items, a rate at which the
user requests additional serendipity-w | | |