A method for generating a recommendation is provided. The method includes the steps of: receiving at least one of a negative and positive example from one or more other users; and determining a recommendation for a user based on at least one of the negative and positive examples. The method can further include the step of generating a user profile for the user based on previous behavior of the user, in which case the determining step can include determining the recommendation based on the negative example and the user profile. The determining step can also include the step of determining the recommendation based on both of the negative and positive examples.
|
1. A method for generating a recommendation of at least one television program for a viewer, the method comprising:
using the viewer's television program recommender to access a plurality of user's recommenders at locations remote from that at which the viewer is located;
using the viewer's recommender to communicate with a selection of the user's recommenders to generate data representing, at least one of a negative and positive example feedback from one or more selected other users recommenders to be received; and
generating a recommendation for at least one television program to be watched in the future by the viewer based on at least one of the received negative and positive examples feedback;
said generation of the recommendation being performed at the viewer location utilizing a processor provided as part of the viewer's television program recommender.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
|
(1) Field of the Invention
The present invention relates generally to television recommender systems, and more particularly, to collaborative sampling for implicit recommender systems.
(2) Description of Related Art
A television recommender system computes recommendation scores for upcoming television shows by comparing their features to features in a user profile that indicate likes and dislikes. A television recommender system learns the user profile from a user's viewing history. A machine-learning algorithm requires both positive and negative examples in order to provide a television recommendation that covers the positive examples and avoids the negative examples.
In a viewing history, the viewer usually provides only positive examples, i.e., shows that are actually watched. Therefore the recommendation system must somehow create negative examples. Methods for collecting negative examples are known in the art. One method involves taking negative examples at the same time as the positive examples are acquired. Another method is as follows: for each given show that is watched, a show is uniformly picked from the space of all shows in the previous seven days excluding shows that were watched. This forms the negative example base. Once a negative example is generated, any recommender could be used to learn the concept description of liked vs. disliked in order to predict what shows the user might wish to watch.
Another sampling technique is the adaptive sampling technique that chooses negative samples depending upon the specific attributes of the shows that have been watched by the user. Some examples of these attributes are time, station-call-sign, etc. More information regarding this technique can be found in co-pending U.S. patent application Ser. No. 09/819,286, the entire contents of which is incorporated herein by its reference.
Therefore it is an object of the present invention to provide methods and systems that overcome the disadvantages associated with the prior art.
Accordingly, a method for generating a recommendation is provided. The method comprising: receiving at least one of a negative and positive example from one or more other users; and determining a recommendation for a user based on at least one of the negative and positive examples.
The method can further comprise generating a user profile for the user based on previous behavior of the user, wherein the determining can comprise determining the recommendation based on the negative examples and the user profile. The generating of the user profile can comprise generating an implicit user profile.
The determining can comprise determining the recommendation based on the negative and positive examples.
The recommendation can be a television program recommendation.
The method can further comprise: mapping the negative example to an electronic program guide database of the user; and determining an equivalent negative example for the user from the electronic program database. The method can further comprise: mapping the positive example to an electronic program guide database of the user; and determining an equivalent positive example for the user from the electronic program database.
The method can further comprise determining the one or more other users. The determining can comprise selecting the one or more other users based on geographical location of the one or more other users. The determining can comprise selecting the one or more other users based on a similarity of likes and/or dislikes with the one or more other users. The determining can comprise selecting the one or more other users by the user. In which case, the selecting can comprise: presenting a plurality of other users to the user; and the user selecting from among the plurality of other users to determine the one or more other users. The presenting can comprise presenting the plurality of users based on geographical location of the one or more other users and/or based on a similarity of likes and/or dislikes of the one or more other users. The selecting can also comprise the user indicating the one or more other users.
Also provided is an apparatus for generating a recommendation. The apparatus comprising: means for receiving at least one of a negative and positive example from one or more other users; and a recommender for determining a recommendation for a user based on at least one of the negative and positive examples.
The apparatus can further comprise a display operatively connected to the recommender for presenting a plurality of other users to the user.
The apparatus can further comprise means for selecting the one or more other users by the user from among the plurality of other users.
The means for receiving at least one of a negative and positive example from one or more other users can comprise a modem.
The apparatus can be a personal video recorder or a television.
Also provided are a computer program product for carrying out the methods of the present invention and a program storage device for the storage of the computer program product therein.
These and other features, aspects, and advantages of the apparatus and methods of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:
Although this invention is applicable to numerous and various types of recommenders, it has been found also useful in the environment of television program recommenders. Therefore, without limiting the applicability of the invention to television program recommenders, the invention will be described in such environment. However, those skilled in the art will appreciate that the recommenders of the present invention have application in other environments, such as radio program recommenders, advertisement recommenders, and recommenders for goods and/or services.
Referring now to
The apparatus 100 generally has a means for receiving positive and/or negative examples from the users, such as a modem 102 operating over a telephone network 104, for accessing at least one of the other user apparatus 101 and to receive the positive and/or negative examples stored within the apparatus 101. The apparatus 100 further has a processor 106. As will be discussed below, a function of the processor, in addition to carrying out the typical functions of the apparatus 100, is to determine a recommendation for the viewer based on at least one of the negative and positive examples received from the users. The processor has a storage device 108 operatively connected thereto to store user profiles of the viewer, as well as video content, and instructions for carrying out the methods of the present invention and the typical functions of the apparatus 100. Although shown as a single storage device 108, more than one storage device can be provided for storing any one or more of the above. The apparatus further has a recommender 110 (alternatively known in the art as a recommendation engine) for determining a recommendation for video content based on a user profile. As will be discussed below, the recommender 110 will determine a recommendation based on at least one of the negative and positive examples from the users, or alternatively, based on a user profile of the viewer and one or more negative examples from the users.
Apparatus 100 further has a monitor 112 operatively connected thereto for displaying video content supplied by the apparatus 100 on a display 114 via signal line 116. The monitor 112 can be a television for receiving a broadcast, cable, or satellite signal, or a computer monitor for receiving a streaming video signal from a remote network, such as the Internet. The monitor 112 can also display a user interface generated by the apparatus 100 for inputting instructions to the apparatus 100. Specifically, as will be discussed below, the viewer can select or indicate the users from which he/she will receive the positive and/or negative examples from a suitable user interface displayed on the monitor 112. Construction of such a user interface is well within the knowledge of those of ordinary skill in the art, and as such, a detailed description thereof is omitted for the sake of brevity. The apparatus 100 further has a means for engaging with the user interface, such as a remote control 118. The remote control may be wireless, as is known in the art, and having a transmitter 120 in wireless communication with a receiver 122 operatively connected to the processor 106. The apparatus 101 corresponding to the other users may be similarly equipped with a remote control 119 and a user interface for interfacing with their apparatus 101, such as providing approval for transmitting positive and/or negative examples to the viewer.
A method for generating a recommendation for the viewer will now be discussed with reference to
The apparatus 100, 200 utilizes at least one of the positive and negative examples as is known in the art to determine a recommendation for the viewer. If the viewer apparatus 100, 200 has already generated a user profile for the viewer based on previous behavior or explicit feedback of the viewer, the recommendation can be generated based on the negative examples and the user profile. The user profile can be implicitly or explicitly generated as are known in the art. However, if no or an insufficient user profile exists, the generation of the recommendation can be based on both the negative and positive examples. This may be the case where the viewer recently purchased and started using the apparatus 100 and has not yet built (or otherwise acquired) a user profile.
The users can be determined in any number of ways. In a first example, the users can be selected based on geographical location. For example, the apparatus 100 may select users from the same geographical location as the viewer. In this way, the EPG of the viewer and the users may be the same. Therefore, the fields of the EPG for the negative or positive example would be the same for the viewer and user. In another example, the apparatus 100, may select the users based on a similarity of likes and/or dislikes with the users. The similarity of like and/or dislikes may be determined from a comparison of user profiles of the viewer and users or determined from a “questionnaire” filled out by the viewer with the use of an appropriate user interface. However, in this example, since the user may be from a different geographical location than the viewer, it will be necessary to map the negative and/or positive examples to the EPG database of the viewer and to determine an equivalent negative example and/or positive example for the user from the EPG.
In yet another example, the viewer may manually select the users through an appropriate user interface. For example, a plurality of users can be displayed on the display 114 and the viewer can select from among the plurality of users to determine which ones he/she would like to receive positive and/or negative examples from. The apparatus 100 may present the plurality of users in any number of ways, such as randomly, alphabetically, based on geographical location, and/or based on a similarity of likes and/or dislikes of the users.
Further, the viewer may indicate the users to the apparatus 100, for example, by supplying a telephone number of the user, or some other identifying data, such as a web site, server address, or the like. The identifying data of the users can be entered into the apparatus 100, 200 by using a suitable user interface and a data input means, such as the remote control 120, or a keyboard (not shown).
The apparatus, either the viewer's 100 or users 101, can identify a negative example in any number of ways known in the art. A simple way would be through an explicit feedback from the user. An example of an implicit way to identify a negative example is to compare shows in the EPG to the user profile of the user and identify a show as a negative example if it has a certain degree of dissimilarity with the user profile. Yet another example is to sample the database of examples for a negative example for every positive example and check to see if the negative example is indeed a negative example for the other selected users. If it would be, then it is chosen as a negative example. If not it is ignored and the process is repeated for another negative example. Of course, for each negative example chosen, if it is determined that the corresponding user is from a different geographical location, the negative example must be mapped to the viewer's EPG as discussed above.
The methods of the present invention may be carried out by a computer software program, such computer software program may contain modules corresponding to the individual steps of the methods. Such software can of course be embodied in a computer-readable medium, such as an integrated chip or a peripheral device.
While there has been shown and described what is considered to be illustrative embodiments of the invention, it will, of course, be understood that various modifications and changes in form or detail could readily be made without departing from the spirit of the invention. It is therefore intended that the invention be not limited to the exact forms described and illustrated, but should be constructed to cover all modifications that may fall within the scope of the appended claims.
Gutta, Srinivas, Meuleman, Petrus Gerardus, Verhaegh, Wilhelmus Franciscus Johannes
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6088722, | Nov 29 1994 | Fred Herz Patents, LLC | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
6766524, | May 08 2000 | Microsoft Technology Licensing, LLC | System and method for encouraging viewers to watch television programs |
6934964, | Feb 08 2000 | S I SV EL SOCIETA ITALIANA PER LO SVILUPPO DELL ELETTRONICA S P A | Electronic program guide viewing history generator method and system |
7188355, | Sep 30 1999 | Canon Kabushiki Kaisha | Television program recommendation system |
7231652, | Mar 28 2001 | Koninklijke Philips N.V. | Adaptive sampling technique for selecting negative examples for artificial intelligence applications |
7296284, | Aug 31 2001 | Keen Personal Media, Inc. | Client terminal for displaying ranked program listings based upon a selected rating source |
7305691, | May 07 2001 | OPENTV, INC | System and method for providing targeted programming outside of the home |
20020174428, | |||
20050160458, | |||
20050251826, | |||
20060026642, | |||
20060059045, | |||
20060174260, | |||
20060174275, | |||
20070022440, | |||
WO52930, | |||
WO115499, | |||
WO225938, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 01 2004 | GUTTA, SRINIVAS | KONINKLIJKE PHILIPS ELECTRONICS, N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017710 | /0112 | |
Jan 04 2004 | VERHAEGH, WILHELMUS FRANCISCUS JOHANNES | KONINKLIJKE PHILIPS ELECTRONICS, N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017710 | /0112 | |
Mar 30 2004 | MEULEMAN, PETRUS GERARDUS | KONINKLIJKE PHILIPS ELECTRONICS, N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017710 | /0112 | |
Nov 30 2004 | Pace Micro Technology PLC | (assignment on the face of the patent) | / | |||
May 16 2008 | Pace Micro Technology PLC | Pace PLC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 055493 | /0845 | |
May 30 2008 | KONINIKLIJKE PHILIPS ELECTRONICS N V | Pace Micro Technology PLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021243 | /0122 | |
Jan 05 2016 | Pace PLC | PACE LIMITED | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 057116 | /0328 | |
May 16 2016 | PACE LIMITED | ARRIS GLOBAL LTD | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 057116 | /0332 | |
Aug 30 2016 | AURORA NETWORKS, INC | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 040054 | /0001 | |
Aug 30 2016 | 2Wire, Inc | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 040054 | /0001 | |
Aug 30 2016 | ARRIS GLOBAL LIMITED F K A PACE PLC | BANK OF AMERICA, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 040054 | /0001 | |
Dec 31 2016 | ARRIS GLOBAL LTD | ARRIS ENTERPRISES LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 057142 | /0645 | |
Apr 04 2019 | BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENT | AURORA NETWORKS, INC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS | 048817 | /0496 | |
Apr 04 2019 | BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENT | 2Wire, Inc | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS | 048817 | /0496 | |
Apr 04 2019 | BANK OF AMERICA, N A , AS ADMINISTRATIVE AGENT | ARRIS GLOBAL LIMITED, F K A PACE PLC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS | 048817 | /0496 | |
Nov 15 2021 | RUCKUS WIRELESS, INC | WILMINGTON TRUST | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 060752 | /0001 | |
Nov 15 2021 | COMMSCOPE, INC OF NORTH CAROLINA | WILMINGTON TRUST | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 060752 | /0001 | |
Nov 15 2021 | CommScope Technologies LLC | WILMINGTON TRUST | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 060752 | /0001 | |
Nov 15 2021 | ARRIS ENTERPRISES LLC | WILMINGTON TRUST | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 060752 | /0001 | |
Nov 15 2021 | ARRIS SOLUTIONS, INC | WILMINGTON TRUST | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 060752 | /0001 |
Date | Maintenance Fee Events |
Sep 25 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 27 2021 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 25 2017 | 4 years fee payment window open |
Sep 25 2017 | 6 months grace period start (w surcharge) |
Mar 25 2018 | patent expiry (for year 4) |
Mar 25 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 25 2021 | 8 years fee payment window open |
Sep 25 2021 | 6 months grace period start (w surcharge) |
Mar 25 2022 | patent expiry (for year 8) |
Mar 25 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 25 2025 | 12 years fee payment window open |
Sep 25 2025 | 6 months grace period start (w surcharge) |
Mar 25 2026 | patent expiry (for year 12) |
Mar 25 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |