Claims
- 1. A computer-implemented method of discovering relationships between items, comprising:
accepting item selections from a plurality of users; generating a log for each user, each log containing identifiers for the user's item selections; accepting a query including at least one query item identifier; scoring the user logs, responsive to a degree of occurrence of the at least one query item identifier in the user logs, to generate user log scores; and determining at least one result item, responsive to a degree of occurrence in at least a subset of the scored user logs.
- 2. The computer-implemented method of claim 1, wherein a significance of the occurrence is determined by a log likelihood ratio analysis and the determined result is responsive to the determined significance.
- 3. The computer-implemented method of claim 1, wherein a significance of the occurrence is determined by a substantial equivalent of a log likelihood ratio analysis and the determined result is responsive to the determined significance.
- 4. The computer-implemented method of claim 1, wherein each item is a video track and wherein accepting item selections comprises determining which tracks are selected for playback.
- 5. The computer-implemented method of claim 1, wherein each item is a music track and wherein accepting item selections comprises determining which tracks are selected for playback.
- 6. The computer-implemented method of claim 5, further comprising:
generating a track list containing an identifier for each determined result item comprising a music track.
- 7. The computer-implemented method of claim 6, further comprising:
deleting from the track list at least one identifier corresponding to a music track already selected by the user.
- 8. The computer-implemented method of claim 6, further comprising:
playing the music tracks specified by the generated track list.
- 9. The computer-implemented method of claim 5, further comprising:
accepting a format schedule specifying music track categories for time periods; and generating a track list conforming to the format schedule and containing an identifier for each determined result item comprising a music track.
- 10. The computer-implemented method of claim 5, wherein scoring the user logs comprises determining a degree of occurrence in each user log of at least one music track identified by the query item identifier.
- 11. The computer-implemented method of claim 5, wherein scoring the user logs comprises determining a degree of occurrence in each user log of at least one music track associated with an artist identified by the query item identifier.
- 12. The computer-implemented method of claim 1, wherein accepting item selections comprises receiving input provided by a user via a web page.
- 13. The computer-implemented method of claim 1, wherein accepting item selections comprises receiving input specifying an item purchase by a user.
- 14. The computer-implemented method of claim 1, further comprising, prior to determining the at least one result item, defining the subset of the scored user logs responsive to the user log scores.
- 15. The computer-implemented method of claim 1, further comprising:
monitoring user behavior with respect to the selected items; and adjusting the user log responsive to the monitored user behavior.
- 16. The computer-implemented method of claim 15, wherein monitoring user behavior comprises at least one selected from the group consisting of:
detecting user input requesting that a selected item be repeated; detecting user input requesting that a selected item be skipped; detecting user input specifying a volume change; and detecting user input specifying that a selected item be muted.
- 17. The computer-implemented method of claim 1, wherein accepting item selections comprises receiving input provided by a user via an application for playing tracks.
- 18. The computer-implemented method of claim 1, wherein accepting a query comprises receiving a user log containing identifiers for a user's item selections.
- 19. The computer-implemented method of claim 1, wherein accepting a query comprises receiving a first search term, the method further comprising: generating a second search term containing an identifier for each determined result item.
- 20. The computer-implemented method of claim 19, further comprising at least one of:
providing the second search term as input for a search engine; and adding the second search term to a searchable portion of a document associated with the first search term.
- 21. The computer-implemented method of claim 1, further comprising:
periodically uploading the generated log.
- 22. The computer-implemented method of claim 1, further comprising:
outputting an advertisement relating to the determined at least one result item.
- 23. The computer-implemented method of claim 22, wherein outputting an advertisement comprises displaying at least one selected from the group consisting of:
a web page; a banner; a portion of a web page; and an animation.
- 24. The computer-implemented method of claim 1, further comprising:
outputting a notification relating to the determined at least one result item.
- 25. The computer-implemented method of claim 24, wherein outputting a notification comprises displaying a web page.
- 26. The computer-implemented method of claim 24, wherein outputting a notification comprises sending a communication to a user.
- 27. The computer-implemented method of claim 26, wherein sending a communication to a user comprises at least one selected from the group consisting of:
transmitting an electronic mail message to the user; telephoning the user; and sending a direct mail item to the user.
- 28. The computer-implemented method of claim 1, wherein the determined result is responsive to a significance of the occurrence of the item in at least a subset of the scored user logs, and wherein the significance is determined by a log likelihood ratio analysis submethod comprising:
determining a total number of user logs N; determining a number of user logs N1 in a subset of user logs; determining a number of user logs N2 not in the subset of user logs; determining a number of user logs k11 in the subset that include the item; determining a number of user logs k12 not in the subset that include the item; determining a number of user logs k21=N1−k11 in the subset that do not include the item; determining a number of user logs k22=N2−k12 not in the subset that do not include the item; and determining a log likelihood ratio for the item.
- 29. The computer-implemented method of claim 28, wherein the log likelihood ratio is defined as: Σkij log
- 30. The computer-implemented method of claim 29, further comprising:
adjusting at least one of the kij values responsive to at least one selected from the group consisting of:
the number of occurrences of the item in a user log; the logarithm of the number of occurrences of the item in a user log; the number of occurrences of the item in all user logs; the logarithm of the total number of users divided by the number of users who have selected the item; and a normalizing factor.
- 31. The computer-implemented method of claim 30, wherein the normalizing factor is
- 32. The computer-implemented method of claim 1, further comprising:
deleting from the determined at least one result item any result items already selected by a user associated with the query.
- 33. The computer-implemented method of claim 1, further comprising:
ranking the at least one result item responsive to the degree of significance.
- 34. A computer-implemented method of discovering a relationship between a first item and a second item, comprising:
determining a total number of item groups N; determining a number of item groups N1 in a subset of item groups, the subset of item groups being defined as including those item groups that contain a second item; determining a number of item groups N2 not in the subset of item groups; determining a number of item groups k11 in the subset that contain the first item; determining a number of item groups k12 not in the subset that contain the first item; determining a number of item groups k21=N1−k11 in the subset that do not contain the first item; determining a number of item groups k22=N2−k12 not in the subset that do not contain the first item; and determining a log likelihood ratio.
- 35. The computer-implemented method of claim 34, wherein the log likelihood ratio is defined as:
Σkij log 15∑kijlogπijμjwhere: 16where:πij=kijNj,μj=∑ikijN.
- 36. The computer-implemented method of claim 35, wherein each item group comprises a document.
- 37. The computer-implemented method of claim 35, further comprising:
adjusting at least one of the kij values responsive to at least one selected from the group consisting of:
the number of occurrences of the item in a document; the logarithm of the number of occurrences of the item in a document; the number of occurrences of the item in all documents; the logarithm of the total number of documents divided by the number of documents that include the item; and a normalizing factor.
- 38. The computer-implemented method of claim 37, wherein the normalizing factor is
- 39. A system for discovering relationships among items, comprising:
a user interface for accepting item selections from a plurality of users; at least one log database, coupled to the user interface, for storing a log for each user, each log containing identifiers for the user's item selections; a query input device for accepting a query including at least one query item identifier; and a recommendation engine, coupled to the log database and to the query input device, for scoring the user logs, responsive to a degree of occurrence, to generate user log scores, and for determining at least one result item, responsive to a degree of occurrence in at least a subset of the scored user logs.
- 40. The system of claim 39, wherein the significance of the occurrence is determined by a log likelihood ratio analysis and the recommendation engine determines the at least one result item responsive to the determined significance.
- 41. The system of claim 39, wherein the significance of the occurrence is determined by a substantial equivalent of a log likelihood ratio analysis and wherein the recommendation engine determines the at least one result item responsive to the determined significance.
- 42. The system of claim 39, wherein each item is a video track and wherein the user interface accepts item selections by determining which tracks are selected for playback.
- 43. The system of claim 39, wherein the user interface accepts item selections by determining which tracks are selected for purchase.
- 44. The system of claim 39, wherein each item is a music track and wherein the user interface accepts item selections by determining which tracks are selected for playback.
- 45. The system of claim 44, wherein the user interface comprises an online jukebox.
- 46. The system of claim 45, wherein the online jukebox monitors user behavior with respect to the selected items and adjusts the user log scores responsive to the monitored user behavior.
- 47. The system of claim 46, wherein the online jukebox monitors user behavior by detecting at least one selected from the group consisting of:
user input requesting that a selected item be repeated; and user input requesting that a selected item be skipped; and user input specifying a volume change; and user input specifying that a selected item be muted.
- 48. The system of claim 47, further comprising:
a track list generator, coupled to the recommendation engine, for generating a track list containing an identifier for each determined result item comprising a music track.
- 49. The system of claim 44, further comprising:
a music player, coupled to the track list generator, for playing the music tracks specified by the generated track list.
- 50. The system of claim 44, further comprising:
a format scheduler, for accepting a format schedule specifying music track categories for time periods; and a track list generator, coupled to the recommendation engine and to the format scheduler, for generating a track list conforming to the format schedule and containing an identifier for each determined result item comprising a music track.
- 51. The system of claim 39, wherein the query input device receives a user log containing identifiers for a user's item selections.
- 52. The system of claim 39, wherein the query input device receives a first search term, the system further comprising:
a search term generator, coupled to the recommendation engine, for generating a second search term containing an identifier for each determined result item and for providing the second search term as input for a search engine.
- 53. The system of claim 39, wherein the query input device receives a first search term, the system further comprising:
a search term generator, coupled to the recommendation engine, for generating a second search term containing an identifier for each determined result item and for providing the second search term to be added to a searchable portion of a document associated with the first search term.
- 54. The system of claim 39, further comprising:
an advertisement output device, coupled to the recommendation engine, for outputting an advertisement relating to the determined at least one result item.
- 55. The system of claim 54, wherein the advertisement output device displays at least one selected from the group consisting of:
a web page; a banner; a portion of a web page; and an animation.
- 56. The system of claim 39, further comprising:
a notification output, coupled to the recommendation engine, for outputting a notification relating to the determined at least one result item.
- 57. The system of claim 56, wherein the notification output device displays at least one selected from the group consisting of:
a web page; a banner; a portion of a web page; and an animation.
- 58. The system of claim 56, wherein the notification output device sends a communication to a user.
- 59. A computer-readable medium comprising computer-readable code for discovering relationships between items, comprising:
computer-readable code adapted to accept item selections from a plurality of users; computer-readable code adapted to generate a log for each user, each log containing identifiers for the user's item selections; computer-readable code adapted to accept a query including at least one query item identifier; computer-readable code adapted to score the user logs, responsive to a degree of occurrence of the at least one query item identifier in the user logs, to generate user log scores; and computer-readable code adapted to determine at least one result item, responsive to a degree of occurrence in at least a subset of the scored user logs.
- 60. The computer-readable medium of claim 59, wherein a significance of the occurrence is determined by a log likelihood ratio analysis and the determined result is responsive to the determined significance.
- 61. The computer-readable medium of claim 59, wherein a significance of the occurrence is determined by a substantial equivalent of a log likelihood ratio analysis and the determined result is responsive to the determined significance.
- 62. The computer-readable medium of claim 59, wherein each item is a video track and wherein the computer-readable code adapted to accept item selections comprises computer-readable code adapted to determine which tracks are selected for playback.
- 63. The computer-readable medium of claim 59, wherein each item is a music track and wherein the computer-readable code adapted to accept item selections comprises computer-readable code adapted to determine which tracks are selected for playback.
- 64. The computer-readable medium of claim 63, further comprising:
computer-readable code adapted to generate a track list containing an identifier for each determined result item comprising a music track.
- 65. The computer-readable medium of claim 64, further comprising:
computer-readable code adapted to delete from the track list at least one identifier corresponding to a music track already selected by the user.
- 66. The computer-readable medium of claim 64, further comprising:
computer-readable code adapted to play the music tracks specified by the generated track list.
- 67. The computer-readable medium of claim 63, further comprising:
computer-readable code adapted to accept a format schedule specifying music track categories for time periods; and computer-readable code adapted to generate a track list conforming to the format schedule and containing an identifier for each determined result item comprising a music track.
- 68. The computer-readable medium of claim 63, wherein the computer-readable code adapted to score the user logs comprises computer-readable code adapted to determine a degree of occurrence in each user log of at least one music track identified by the query item identifier.
- 69. The computer-readable medium of claim 63, wherein the computer-readable code adapted to score the user logs comprises computer-readable code adapted to determine a degree of occurrence in each user log of at least one music track associated with an artist identified by the query item identifier.
- 70. The computer-readable medium of claim 59, wherein the computer-readable code adapted to accept item selections comprises computer-readable code adapted to receive input provided by a user via a web page.
- 71. The computer-readable medium of claim 59, wherein the computer-readable code adapted to accept item selections comprises computer-readable code adapted to receive input specifying an item purchase by a user.
- 72. The computer-readable medium of claim 59, further comprising, computer-readable code adapted to, prior to determine the at least one result item, define the subset of the scored user logs responsive to the user log scores.
- 73. The computer-readable medium of claim 59, further comprising:
computer-readable code adapted to monitor user behavior with respect to the selected items; and computer-readable code adapted to adjust the user log scores responsive to the monitored user behavior.
- 74. The computer-readable medium of claim 73, wherein the computer-readable code adapted to monitor user behavior comprises at least one selected from the group consisting of:
computer-readable code adapted to detect user input requesting that a selected item be repeated; computer-readable code adapted to detect user input requesting that a selected item be skipped; computer-readable code adapted to detect user input specifying a volume change; and computer-readable code adapted to detect user input specifying that a selected item be muted.
- 75. The computer-readable medium of claim 59, wherein the computer-readable code adapted to accept item selections comprises computer-readable code adapted to receive input provided by a user via an application for playing tracks.
- 76. The computer-readable medium of claim 59, wherein the computer-readable code adapted to accept a query comprises computer-readable code adapted to receive a user log containing identifiers for a user's item selections.
- 77. The computer-readable medium of claim 59, wherein the computer-readable code adapted to accept a query comprises computer-readable code adapted to receive a first search term, the computer-readable medium further comprising:
computer-readable code adapted to generate a second search term containing an identifier for each determined result item.
- 78. The computer-readable medium of claim 77, further comprising at least one of:
computer-readable code adapted to provide the second search term as input for a search engine; and computer-readable code adapted to add the second search term to a searchable portion of a document associated with the first search term.
- 79. The computer-readable medium of claim 59, further comprising:
computer-readable code adapted to periodically upload the generated log.
- 80. The computer-readable medium of claim 59, further comprising:
computer-readable code adapted to output an advertisement relating to the determined at least one result item.
- 81. The computer-readable medium of claim 80, wherein the computer-readable code adapted to output an advertisement comprises computer-readable code adapted to display at least one selected from the group consisting of:
a web page; a banner; a portion of a web page; and an animation.
- 82. The computer-readable medium of claim 59, further comprising:
computer-readable code adapted to output a notification relating to the determined at least one result item.
- 83. The computer-readable medium of claim 82, wherein the computer-readable code adapted to output a notification comprises computer-readable code adapted to display a web page.
- 84. The computer-readable medium of claim 82, wherein the computer-readable code adapted to output a notification comprises computer-readable code adapted to send a communication to a user.
- 85. The computer-readable medium of claim 84, wherein the computer-readable code adapted to send a communication to a user comprises at least one selected from the group consisting of:
computer-readable code adapted to transmit an electronic mail message to the user; computer-readable code adapted to telephone the user; and computer-readable code adapted to send a direct mail item to the user.
- 86. The computer-readable medium of claim 59, wherein the determined result is responsive to a significance of the occurrence of the item in at least a subset of the scored user logs, and wherein the computer-readable code adapted to determine a binomial log likelihood ratio for an item comprises computer-readable code adapted to determine the result by a log likelihood ratio analysis submethod.
- 87. The computer-readable medium of claim 86, wherein the computer-readable code adapted to determine the result by a log likelihood ratio analysis submethod comprises:
computer-readable code adapted to determine a total number of users N; computer-readable code adapted to determine a number of users N1 in a subset of users; computer-readable code adapted to determine a number of users N2 not in the subset of users; computer-readable code adapted to determine a number of users k11 in the subset that selected the item; computer-readable code adapted to determine a number of users k12 not in the subset that selected the item; computer-readable code adapted to determine a number of users k21=N1−k11 in the subset that did not select the item; computer-readable code adapted to determine a number of users k22=N2−k12 not in the subset that did not select the item; and computer-readable code adapted to determine a log likelihood ratio for the item.
- 88. The computer-readable medium of claim 87, wherein the log likelihood ratio is defined as:
Σkij log 18∑kijlogπijμjwhere: 19where:πij=kijNj,μj=∑ikijN.
- 89. The computer-readable medium of claim 59, wherein the computer-readable code adapted to determine the result by a log likelihood ratio analysis submethod further comprises:
computer-readable code adapted to adjust at least one of the nij values responsive to at least one selected from the group consisting of:
the number of occurrences of the item in a user log; the logarithm of the number of occurrences of the item in a user log; the number of occurrences of the item in all user logs; the logarithm of the total number of users divided by the number of users who have selected the item; and a normalizing factor.
- 90. The computer-readable medium of claim 89, wherein the normalizing factor is
- 91. The computer-readable medium of claim 59, further comprising:
computer-readable code adapted to delete from the determined at least one result item any result items already selected by a user associated with the query.
- 92. The computer-readable medium of claim 59, further comprising:
computer-readable code adapted to rank the at least one result item responsive to the degree of significance.
- 93. A computer-readable medium comprising computer-readable code for discovering a relationship between a first item and a second item, comprising:
computer-readable code adapted to determine a total number of item groups N; computer-readable code adapted to determine a number of item groups N1 in a subset of item groups, the subset of item groups being defined as including those item groups that contain a second item; computer-readable code adapted to determine a number of item groups N2 not in the subset of item groups; computer-readable code adapted to determine a number of item groups k11 in the subset that contain the first item; computer-readable code adapted to determine a number of item groups k12 not in the subset that contain the first item; computer-readable code adapted to determine a number of item groups k21=N1−k11 in the subset that do not contain the first item; computer-readable code adapted to determine a number of item groups k22=N2−k12 not in the subset that do not contain the first item; and computer-readable code adapted to determine a log likelihood ratio.
- 94. The computer-readable medium of claim 93, wherein the log likelihood ratio is defined as:
- 95. The computer-readable medium of claim 93, wherein each item group comprises a document.
- 96. The computer-readable medium of claim 93, further comprising:
computer-readable code adapted to adjust at least one of the kij values responsive to at least one selected from the group consisting of:
the number of occurrences of the item in a document; the logarithm of the number of occurrences of the item in a document; the number of occurrences of the item in all documents; the logarithm of the total number of documents divided by the number of documents that include the item; and a normalizing factor.
- 97. The computer-readable medium of claim 96, wherein the normalizing factor is
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application claims priority from provisional U.S. Patent Application Serial No. 60/201,622, for “Recommendation Engine,” filed May 3, 2000, the disclosure of which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60201622 |
May 2000 |
US |