System, method and article of manufacture for making serendipity-weighted recommendations to a user
First 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.
7 Assignments
0 Petitions
Accused Products
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.
420 Citations
62 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
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. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
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. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
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-weighted and filtered recommendations, and a rate at which the user accepts non-recommended items.
-
48. A device as recited in claim 42, the method further 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. -
49. A device as recited in claim 48, the method 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. -
50. A device as recited in claim 42, the method 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. -
51. A device as recited in claim 42, the method further comprising outputting, using the processing system, the serendipity-weighted and filtered item recommendation output set to the input/output interface.
-
52. A device as recited in claim 51, the method further comprising transmitting, using an 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.
-
53. A device as recited in claim 51, the method further comprising transmitting, using the processing system, the serendipity-weighted and filtered recommendation output set to the memory system for storage therein.
-
54. A device as recited in claim 42, the method further comprising receiving, using the processing system, the community item popularity data from the memory system.
-
55. A device as recited in claim 42, the method 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. -
56. A device as recited in claim 42, the method 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 1) 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.
-
-
57. A device as recited in claim 42, the method 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.
-
-
58. A device as recited in claim 42, the method further comprising producing, with the processing system, the serendipity-weighted and filtered item recommendation output set under real-time, interactive constraints.
-
59. A device as recited in claim 42, the method 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.
-
60. A device as recited in claim 42, the method further comprising receiving, with the processing system, the item recommendation data as at least one of unary values, binary values, and numerical values.
-
61. A device as recited in claim 42, the method 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 bilevel 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.
-
-
62. A device as recited in claim 42, 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.
-
Specification