The present invention relates to systems that employ electronic program guides (EPGs) to assist media users in managing a large number of media-content choices, for example, television programming, chatrooms, on-demand video media files, audio, etc. More specifically, the invention relates to such systems that provide “intelligence”, such as an ability to suggest choices and an ability to take actions, for example to record a program, on the user's behalf based on the user's preferences.
A common element among conventional Electronic Program Guide (EPG) systems is their ability to display listings of programs for many available channels. The listings may be generated locally and displayed interactively. The listings are commonly arranged in a grid, with each row representing a particular broadcast or cable channel, such as ABC, PBS, or ESPN and each column of the grid representing a particular time slot, such as 4:00 p.m. to 4:30 p.m. Multiple rows and multiple columns can be displayed on the screen simultaneously. The various scheduled programs or shows are arranged within the rows and columns, indicating the channels and times at which they can be found. The grid can be scrolled vertically so that a viewer can scan through different channels within a given interval of time. The grid may also be scrolled horizontally (panned) to change the time interval displayed.
Data regarding available programs may be received by a cable system or telephone line as a set of data records. Each available program may have a single corresponding data record containing information about the program such as its channel, its starting and ending times, its title, names of starring actors, whether closed-captioning and stereo are available, and perhaps a brief description of the program. It is not difficult to format a grid such as described above from these types of data records. The data spanning a period (e.g., two weeks) are typically formatted once at the server (e.g., the cable system's head-end) and broadcast repeatedly and continuously to the homes served by the cable system. Alternatively, the data may be downloaded via phone line, or other network, either on-demand or on a predetermined schedule.
An EPG system can run on a device with a user interface (hereinafter a “user interface device”), which can be a set-top box (STB), a general purpose computer, an embedded system, a controller within the television, or the server of a communications network or Internet server. The user interface device is connected to the TV to generate displays and receive input from the user. When scrolling to a new column or row, the user interface device may retrieve appropriate information from a stored database (in the user interface device or elsewhere) regarding the programming information that needs to be presented for the new row or column. For instance, when scrolling to a new column, programs falling within a new time slot need to be displayed.
Electronic program guides (EPGs) promise to make more manageable, the task of choosing from among the myriad television and other media viewing choices. An interactive application of EPGs builds a user-preference database and uses the preference data to make suggestions, filter current or future programming information to simplify the job of choosing, or even make choices on behalf of the user. For example, the system could record a program without a specific request from the user or highlight choices that it recommends.
A first type of device for building the preference database is a passive one from the standpoint of the user. The user merely makes choices in the normal fashion from raw EPG data and the system gradually builds a personal preference database by extracting a model of the user's behavior from the choices. It then uses the model to make predictions about what the user would prefer to watch in the future. This extraction process can follow simple algorithms, such as identifying apparent favorites by detecting repeated requests for the same item, or it can be a sophisticated machine-learning process such as a decision-tree technique with a large number of inputs (degrees of freedom). Such models, generally speaking, look for patterns in the user's interaction behavior (i.e., interaction with the user-interface (UI) for making selections).
One straightforward and fairly robust technique for extracting useful information from the user's pattern of watching is to generate a table of feature-value counts. An example of a feature is the “time of day” and a corresponding value could be “morning.” When a choice is made, the counts of the feature-values characterizing that choice are incremented. Usually, a given choice will have many feature-values. A set of negative choices may also be generated by selecting a subset of shows (optionally, at the same time) from which the choice was discriminated. Their respective feature-value counts will be decremented (or a count for shows not watched incremented). These data are sent to a Bayesian predictor which uses the counts as weights to feature-counts characterizing candidates to predict the probability that a candidate will be preferred by a user. This type of profiling mechanism is described in U.S. patent application Ser. No. 09/498,271, filed Feb. 4, 2000 for BAYESIAN TV SHOW RECOMMENDER, the entirety of which is hereby incorporated by reference as if fully set forth herein. A rule-based recommender in this same class of systems, which build profiles passively from observations of user behavior, is also described in the PCT application, WO 99/01984 published Jan. 14, 1999 for INTELLIGENT ELECTRONIC PROGRAM GUIDE.
Another example of the first type is MbTV, a system that learns viewers' television watching preferences by monitoring their viewing patterns. MbTV operates transparently and builds a profile of a viewer's tastes. This profile is used to provide services, for example, recommending television programs the viewer might be interested in watching. MbTV learns about each of its viewer's tastes and uses what it learns to recommend upcoming programs. MbTV can help viewers schedule their television watching time by alerting them to desirable upcoming programs, and with the addition of a storage device, automatically record these programs when the viewer is absent.
MbTV has a Preference Determination Engine and a Storage Management Engine. These are used to facilitate time-shifted television. MbTV can automatically record, rather than simply suggest, desirable programming. MbTV's Storage Management Engine tries to insure that the storage device has the optimal contents. This process involves tracking which recorded programs have been viewed (completely or partially), and which are ignored. Viewers can “lock” recorded programs for future viewing in order to prevent deletion. The ways in which viewers handle program suggestions or recorded content provides additional feedback to MbTV's preference engine which uses this information to refine future decisions.
MbTV will reserve a portion of the recording space to represent each “constituent interest.” These “interests” may translate into different family members or could represent different taste categories. Though MbTV does not require user intervention, it is customizable by those that want to fine-tune its capabilities. Viewers can influence the “storage budget” for different types of programs. For example, a viewer might indicate that, though the children watch the majority of television in a household, no more than 25% of the recording space should be consumed by children's programs.
A second type of device is more active. It permits the user to specify likes or dislikes by grading features. These can be scoring feature-value pairs (a weight for the feature plus a value; e.g., weight=importance of feature and value the preferred or disfavored value) or some other rule-specification such as favorite programs, combinations of feature-value pairs like “I like documentaries, but not on Thursday which is the night when the gang comes over.” For example, the user can indicate, through a user interface, that dramas and action movies are favored and that certain actors are disfavored. These criteria can then be applied to predict which, from among a set of programs, would be preferred by the user.
As an example of the second type of system, one EP application (EP 0854645A2), describes a system that enables a user to enter generic preferences such as a preferred program category, for example, sitcom, dramatic series, old movies, etc. The application also describes preference templates in which preference profiles can be selected, for example, one for children aged 10-12, another for teenage girls, another for airplane hobbyists, etc.
A third type of system allows users to rank programs in some fashion. For example, currently, TIVO® permits user's to give a show up to three thumbs up or up to three thumbs down. This information is similar in some ways to the second type of system, except that it permits a finer degree of resolution to the weighting given to the feature-value pairs that can be achieved and similar to the first type except the expression of user taste in this context is more explicit. (Note, this is not an admission that the Bayesian technology discussed in U.S. patent application Ser. No. 09/498,271 combined with user-ranking, as in the third type of system, is in the prior art.)
A PCT application (WO 97/4924 entitled System and Method for Using Television Schedule Information) is an example of the third type. It describes a system in which a user can navigate through an electronic program guide displayed in the usual grid fashion and select various programs. At each point, he/she may be doing any of various described tasks, including, selecting a program for recording or viewing, scheduling a reminder to watch a program, and selecting a program to designate as a favorite. Designating a program as a favorite is for the purpose, presumably, to implement a fixed rule such as: “Always display the option of watching this show” or to implement a recurring reminder. The purpose of designating favorites is not clearly described in the application. However, more importantly, for purposes of creating a preference database, when the user selects a program to designate as a favorite, she/he may be provided with the option of indicating the reason it is a favorite. The reason is indicated in the same fashion as other explicit criteria: by defining generic preferences.
The first type of system has the advantage of being easier on the user since the user does not have to provide any explicit data. The user need merely interact with the system. For any of the various machine-learning or predictive methods to be effective, a substantial history of interaction must be available to build a useful preference database. The second and third types have the advantage of providing explicit preference information. The second is reliable, but not perfect as a user may have a hard time abstracting his own preferences to the point of being able to decide which criteria are good discriminators and what weight to give them. The third does not burden the user and probably provides the best quality of information, but can be a burden to generate and still may not contain all the information that can be obtained with the second and also may require information on many shows like the first.
Briefly, an electronic programming guide (EPG) system employs a preference engine and processing system that combines explicit rule profile, history profile, and feedback profile data to generate new predictions. Television shows are presumed to be indexed by many features. These features are extracted and counted for TV shows watched (implicit profile), and for TV shows rated by the viewer (feedback profile). These profiles are straightforward to combine with suitably greater weight being given to the feedback information. In addition, explicit profiles can make recommendations that stand alone or may be used to modify recommendations arising from either of the other two sources. The modifications may take the form of additive or multiplicative changes to the existing recommendations or some other suitable mathematical form.
The invention will be described in connection with certain preferred embodiments, with reference to the following illustrative figures so that it may be more fully understood.
With reference to the figures, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice.
Referring to
Referring now also to
Note that many substitutions are possible in the above example hardware environment and all can be used in connection with the invention. The mass storage can be replaced by volatile memory or non-volatile memory. The data can be stored locally or remotely. In fact, the entire computer 240 could be replaced with a server operating offsite through a link. Rather than using a remote control to send commands to the computer 240 through an infrared port 215, the controller could send commands through a data channel 260 which could be separate from, or the same as, the physical channel carrying the video. The video 270 or other content can be carried by a cable, RF, or any other broadband physical channel or obtained from a mass storage or removable storage medium. It could be carried by a switched physical channel such as a phone line or a virtually switched channel such as ATM or other network suitable for synchronous data communication. Content could be asynchronous and tolerant of dropouts so that present-day IP networks could be used. Further, the content of the line through which programming content is received could be audio, chat conversation data, web sites, or any other kind of content for which a variety of selections are possible. The program guide data can be received through channels other than the separate data link 260. For example, program guide information can be received through the same physical channel as the video or other content. It could even be provided through removable data storage media such as memory card or disk 220. The remote control 210 can be replaced by a keyboard, voice command interface, 3D-mouse, joystick, or any other suitable input device. Selections can be made by moving a highlighting indicator, identifying a selection symbolically (e.g., by a name or number), or making selections in batch form through a data transmission or via removable media. In the latter case, one or more selections may be stored in some form and transmitted to the computer 240, bypassing the display 170 altogether. For example, batch data could come from a portable storage device (e.g. a personal digital assistant, memory card, or smart card). Such a device could have many preferences stored on it for use in various environments so as to customize the computer equipment to be used.
Referring now to
The information generated by each instance of the feedback UI 300 is one or more choices (shows, if it is a television database) 440 with a score associated with the choice. This is used to charge a feedback history file 305 which can contain a large number of such entries. The feedback data 445 may then be applied to a profiler 350. Alternatively the data can be stored in reduced form by reducing it in a profiler 350 first and then storing in a feedback profile database 325. The reduction may be a set of feature-value pairs 450, each with a ranking as described in Ser. No. 09/498,271, filed Feb. 4, 2000 for BAYESIAN TV SHOW RECOMMENDER. A given choice may give rise to a number (M) feature value pairs 450 with corresponding scores. Preferably, the user rates programs that are both liked and disliked so that both positive and negative feedback are obtained. If only positive feedback is acquired, say because feedback is only provided for programs selected for viewing, then the negative factors may not populate the database. This can be improved then, by having the system generate a set of negative choices by selecting a subset of shows available at the same the choice was made. Preferably, as stated, the user provides a balance of positive and negative feedback and the automatic sampling of negative choices is not required. Their respective feature-value counts would be decremented. This data stored over many choices may be stored in the feedback profile 325 database. The entire body of N records 455 is then available when the recommender 400 makes recommendations based on a list of candidates derived from a show database 320. The end result of this process is a filtered or sorted list 460 of choices available from the show database 320. The recommender may be a Bayesian filter or any other predictor.
Referring to
The view history database 310 stores the shows and scores. The records 470 are supplied to a profiler 355 which generates feature-value pairs with attending scores 475, which may be stored in an implicit profile database 330. The contents 480 of the implicit profile database 330 are then available to a recommender 420 which combines them with data from current shows 320 to generate recommendations 485.
In the example embodiments of
Referring to
The two types of recommendation processes illustrated in
Referring now to
In a further embodiment, also illustrated in
Each set of recommendations may be represented as a list of choices with corresponding confidence levels. For example, a high confidence level indicates that the recommender generated a strong indication that the choice would be preferred by the user. The combination of the two sets may be a weighted average, with the explicit recommendations receiving greater weight. Thus, a show whose confidence was 90% in the explicit profile's process and 75% in the combined implicit and feedback profiles' process, may be weight-averaged to produce a value of 85%. Preferably, the merge/override process 375 overrides a weighted average if the two are highly disparate. In such a case, the explicit profile may be favored (i.e., trump the combined implicit and feedback profile recommendations) or the weighting corresponding to the difference to produce much greater emphasis on the explicit as the divergence increases. The
Still referring to
Referring now to
The weight and sum process could provide various ways of combining the vector sets. For one thing, if there is a head-to-head collision between explicit profile vectors and implicit or feedback profile vectors, one may trump the other or, optionally, the user could be prompted to attempt to resolve the discrepancy. Note that the output of the weight and sum process 371 could be performed periodically and the results stored until used for recommendations.
Referring still to
Another possible way to combine data where the input vectors for the explicit recommender are not of the same form as either of the other two types is to generate show ratings using the explicit recommender. Then the show ratings can be fed to the decision tree, neural network, or other predictor and combined into one body of input vectors to a single recommender. Alternatively, if for example a Bayesian recommender were used, the explicit profile recommendations could be reduced appropriately by a profiler to yield feature-value rating vectors which can be combined with those of the implicit and feedback profiles. Then the combined set can be fed to a single Bayesian recommender.
Referring to
It is clear from the above description that the identical techniques of combining disparate profile data may be applied in other contexts than television EPGs. For example, the same techniques could be applied to generate favorites for web-surfing or media forms other than television such as radio broadcasts. Library browsing is another example. One may envision an online library or journal article database where precisely the same techniques may be employed to limit the range of choices. The above system could be used to customize the user interfaces of web sites that provide news articles or sell products, to name a couple of examples.
It will be evident to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.
Number | Name | Date | Kind |
---|---|---|---|
5223924 | Strubbe | Jun 1993 | A |
5410344 | Graves et al. | Apr 1995 | A |
5446891 | Kaplan et al. | Aug 1995 | A |
5483278 | Strubbe et al. | Jan 1996 | A |
5754939 | Herz et al. | May 1998 | A |
5758257 | Herz et al. | May 1998 | A |
5778135 | Ottesen et al. | Jul 1998 | A |
5798785 | Hendricks et al. | Aug 1998 | A |
5848396 | Gerace | Dec 1998 | A |
5857181 | Augenbraun et al. | Jan 1999 | A |
5867799 | Lang et al. | Feb 1999 | A |
5884282 | Robinson | Mar 1999 | A |
5903314 | Niijima et al. | May 1999 | A |
5977964 | Williams et al. | Nov 1999 | A |
5978766 | Luciw | Nov 1999 | A |
6005597 | Barrett et al. | Dec 1999 | A |
6038367 | Abecassis | Mar 2000 | A |
6064980 | Jacobi et al. | May 2000 | A |
6088722 | Herz et al. | Jul 2000 | A |
6112186 | Bergh et al. | Aug 2000 | A |
6133909 | Schein et al. | Oct 2000 | A |
6163316 | Killian | Dec 2000 | A |
6177931 | Alexander et al. | Jan 2001 | B1 |
6236978 | Tuzhilin | May 2001 | B1 |
6256633 | Dharap | Jul 2001 | B1 |
6317881 | Shah-Nazaroff et al. | Nov 2001 | B1 |
6334127 | Bieganski et al. | Dec 2001 | B1 |
6408437 | Hendricks et al. | Jun 2002 | B1 |
6425128 | Krapf et al. | Jul 2002 | B1 |
6438579 | Hosken | Aug 2002 | B1 |
6445306 | Trovato et al. | Sep 2002 | B1 |
6446261 | Rosser | Sep 2002 | B1 |
6457010 | Eldering et al. | Sep 2002 | B1 |
6460036 | Herz | Oct 2002 | B1 |
6463585 | Hendricks et al. | Oct 2002 | B1 |
6530083 | Liebenow | Mar 2003 | B1 |
6584466 | Serbinis et al. | Jun 2003 | B1 |
6637029 | Maissel et al. | Oct 2003 | B1 |
6662177 | Martino et al. | Dec 2003 | B1 |
7073193 | Marsh | Jul 2006 | B2 |
7363649 | Marsh | Apr 2008 | B2 |
20020199194 | Ali | Dec 2002 | A1 |
Number | Date | Country |
---|---|---|
1337110 | Aug 2003 | EP |
1355241 | Oct 2003 | EP |
1434435 | Jun 2004 | EP |
1732013 | Dec 2006 | EP |
1732019 | Dec 2006 | EP |
1702466 | Aug 2008 | EP |
2836321 | Aug 2003 | FR |
2387676 | Oct 2003 | GB |
9837696 | Aug 1998 | WO |
WO9837696 | Aug 1998 | WO |
0115449 | Mar 2001 | WO |
WO 0115449 | Mar 2001 | WO |
0211445 | Feb 2002 | WO |
0225938 | Mar 2002 | WO |
03105082 | Dec 2003 | WO |
2004002209 | Jan 2004 | WO |
2005067295 | Jul 2005 | WO |
2006048791 | May 2006 | WO |