METHOD AND APPARATUS FOR GENERATING TELEVISION PROGRAM RECOMMENDATIONS BASED ON SIMILARITY METRIC

Abstract: A method and apparatus are disclosed for generating television program recommendations based on a similarity metric. Thus, the invention recommends television programs that are similar to one or more shows identified by a user. A similarity metric is computed between each program in a user-specified selected set and each program in an identified time interval. The selected set comprises one or more programs currently of interest to the user. The present invention allows a viewer to easily select one or more programs that the viewer currently finds attractive. The similarity metric is a sum of weighted scores for each matching attribute between programs in the selected set and programs in the identified time interval. If the selected set contains more than one program, an average score can be utilized, or the maximum value to any program in the selected set. Shows that are actually selected for viewing are observed and the weightings, w>i<, assigned to each matching program attribute are adjusted, so that over time, the similarity metric, S>M<, more accurately reflects the viewer's idea of "similar shows".

Description: Method and apparatus for generating television program recommendations based on similarity metric Field of the Invention The present invention relates to television program recommenders, and more particularly, to a method and apparatus for recommending television programs that are similar to one or more identified shows. Background of the Invention As the number of channels available to television viewers has increased, along with the diversity of the programming content available on such channels, it has become increasingly challenging for television viewers to identify television programs of interest. Historically, television viewers identified television programs of interest by analyzing printed television program guides. Typically, such printed television program guides contained grids listing the available television programs by time and date, channel and title. As the number of television programs has increased, it has become increasingly difficult to effectively identify desirable television programs using such printed guides. More recently, television program guides have become available in an electronic format, often referred to as electronic program guides (EPGs). Like printed television program guides, EPGs contain grids listing the available television programs by time and date, channel and title. Some EPGs, however, allow television viewers to sort or search the available television programs in accordance with personalized preferences. In addition, EPGs allow for on-screen presentation of the available television programs. While EPGs allow viewers to identify desirable programs more efficiently than conventional printed guides, they suffer from a number of limitations, which if overcome, could further enhance the ability of viewers to identify desirable programs. For example, many viewers have a particular preference towards, or bias against, certain categories of programming, such as action-based programs or sports programming. Thus, the viewer preferences can be applied to the EPG to obtain a set of recommended programs that may be of interest to a particular viewer. Thus, a number of tools have been proposed or suggested for recommending television programming. The Tivo™ system, for example, commercially available from Tivo, Inc., of Sunnyvale, California, allows viewers to rate shows using a "Thumbs Up and Thumbs Down" feature and thereby indicate programs that the viewer likes and dislikes, respectively. In this manner, the Tivo™ system implicitly derives the viewer's preferences from previous television programs that the viewer liked or did not like. Thereafter, the TiVo receiver matches the recorded viewer preferences with received program data, such as an EPG, to make recommendations tailored to each viewer. In addition, United States Patent Application Serial Number 09/519,550, filed March 6, 2000, entitled "Method and Apparatus for Displaying Television Program Recommendations," displays a list of available programs together with an indication of the recommendation score assigned to each program by a television programming recommender. In one implementation, the numerical scores can be mapped onto a color spectrum or another visual cue, such as size-of-text or rate of blinking, that permits the user to quickly locate programs of interest. Thus, such tools for recommending television programming provide selections of programs that a viewer might like. Even with the aid of such program recommenders, however, it is still difficult for a viewer to identify programs of interest from among all the options. A need therefore exists for a method and apparatus for recommending television programs that are similar to one or more identified shows. A further need exists for a method and apparatus for generating television program recommendations that is responsive to the current mood of the viewer. Summary of the Invention Generally, a method and apparatus are disclosed for generating television program recommendations based on a similarity metric. In particular, the present invention recommends television programs that are similar to one or more identified shows. The programs and corresponding recommendation information can be presented to the viewer, for example, using grids listing the available television programs by time and date, channel and title. The present invention generates television program recommendations based on a similarity metric computed between each program in a user-specified selected set and each program in an identified time interval. The selected set comprises one or more programs currently of interest to the user. Thus, the present invention provides an electronic programming guide that allows a viewer to easily select one or more programs that the viewer currently finds attractive. In one illustrative embodiment, the similarity metric is a sum of weighted scores for each matching attribute between programs in the selected set and programs in the identified time interval. If the selected set contains more than one program, an average score can be utilized, or the maximum value to any program in the selected set. Program attributes may include, for example, the date, time, channel, title, program description and genre associated with a given program. The disclosed invention includes a feedback feature that observes similar programs that are actually selected for viewing and increments the corresponding weights, w;, assigned to each program attribute, so that over time, the similarity metric, S M , more accurately reflects the viewer's idea of "similar shows." A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings. Brief Description of the Drawings FIG. 1 illustrates a television programming recommender in accordance with the present invention; FIG. 2 illustrates a sample table from the program database of FIG. 1; FIG. 3 is a flow chart describing an exemplary similar program recommendation process embodying principles of the present invention; and FIG. 4 is a sample table from the electronic program guide incorporating features of the present invention. Detailed Description FIG. 1 illustrates a television programming recommender 100 in accordance with the present invention. As shown in FIG. 1, the television programming recommender 100 evaluates each of the programs in an electronic programming guide (EPG) 110 to identify programs of interest to a particular viewer. The set of recommended programs can be presented to the viewer using a set-top terminal/television 150, for example, using well- known on-screen presentation techniques. According to one feature of the present invention, the television programming recommender 100 generates television program recommendations based on a similarity metric. In particular, the present invention recommends television programs that are similar to one or more identified programs 115. In this manner, an electronic programming guide is provided that allows a viewer to select one or more programs that the viewer currently finds attractive. As discussed further below in conjunction with FIG. 3, a similarity metric is computed between each program in the selected set and each program in an identified time interval. In one illustrative embodiment, the similarity metric is a sum of weighted scores for each matching program attribute, such as the date, time, channel, title, program description and genre associated with the program. If the selected set contains more than one program, an average score can be utilized, or the maximum value to any program in the selected set. As shown in FIG. 1 , the television programming recommender 100 contains a program database 200, discussed further below in conjunction with FIG. 2, and a similar program recommendation process 300, discussed further below in conjunction with FIG. 3. Generally, the program database 200 records information for each program that is available in a given time interval. The similar program recommendation process 300 computes a similarity metric between each program in a selected set and each program in an identified time interval. The television programming recommender 100 may be embodied as any available television program recommender, such as the Tivo™ system, commercially available from Tivo, Inc., of Sunnyvale, California, or the television program recommenders 110 described in United States Patent Application Serial No. 09/466,406, filed December 17, 1999, entitled "Method and Apparatus for Recommending Television Programming Using Decision Trees," (Attorney Docket No. 700772) and United States Patent Application Serial No. 09/498,271, filed Feb. 4, 2000, entitled "Bayesian TV Show Recommender," (Attorney Docket No. 700690), as modified herein to carry out the features and functions of the present invention. According to another feature of the present invention, the television programming recommender 100 observes the shows that are actually selected for viewing and incrementally adjusts the weightings, Wj, assigned to each program attribute using a feedback path 160, so that over time, the similarity metric, SM, more accurately reflects the viewer's idea of "similar shows." FIG. 2 is a sample table from the program database 200 of FIG. 1 that records information for each program that is available in a given time interval. As shown in FIG. 2, the program database 200 contains a plurality of records, such as records 205 through 220, each associated with a given program. For each program, the program database 200 indicates the date/time and channel associated with the program in fields 240 and 245, respectively. In addition, the title and genre for each program are identified in fields 250 and 255. Additional well-known attributes (not shown), such as actors, duration, and description of the program, can also be included in the program database 200. In accordance with one feature of the present invention, the program database 200 also records an indication of the similarity metric assigned to each program by the television programming recommender 100 in field 270. In this manner, the numerical similarity scores can be displayed to the viewer in the electronic program guide with each program. In a further variation, the similarity metric can be mapped onto a color spectrum or another visual cue that permits the viewer to quickly locate programs of interest. In further variations, the electronic program guide can be sorted in accordance with the numerical similarity scores, such that the most similar programs appear on the top of the sorted list. FIG. 3 is a flow chart describing an exemplary similar program recommendation process 300 embodying principles of the present invention. As shown in FIG. 3, the similar program recommendation process 300 initially obtains the electronic program guide (EPG) 110 during step 310 for the time period of interest. Thereafter, the similar program recommendation process 300 obtains a viewer selection of one or more programs currently of interest to the viewer during step 320. The set of one or more programs currently of interest to the viewer is referred to as the selected set. The viewer may enter the selected set, for example, by selecting one or more programs in the electronic program guide 110 or in a listing of programs from the viewer's viewing history (not shown). In addition, the viewer may request the television programming recommender 100 to generate a list of programs that are similar to a program currently being watched by the viewer. Thereafter, the similar program recommendation process 300 calculates a similarity metric during step 330 between each program in the selected set and each program in an identified time interval. The identified time interval may be, for example, a default time window following the current time, or the next "prime time" interval, such as the hours between 8 p.m. and 11 p.m. In one illustrative embodiment, the similarity metric, S M , between one program, j, and each program, k, in an identified time interval is a sum of weighted scores for each matching program attribute, as follows: N -matching _ features(kj) s M (k )= ∑ ; W, (1) The similarity metric, S M ', between a set of programs and each program in an identified time interval is an average of the similarity metrics, S M , for each program in the set, as follows: 1 Σ v-i/N NftLUδlWB. SHOWS IN SET 'M 1 S M ( j) (2) NUMB. __ SHOWS _IN_ SET In a further variation, the similarity metric is computed as a maximum of the similarity metrics, S , for each program in the set, as follows: S M (k)= max{S M (k,l),S M (k,2) ....S M (k,NUMB._SHOWS _/N _SET)} (3) The television programming recommender 100 can be initiated with a default similarity metric with feature-weightings, w i3 in equations 1 and 2, that are known to be' reasonable for average viewers. As shown in FIG. 3, during step 340, the similar program recommendation process 300 displays the program grid 400, discussed below in conjunction with FIG. 4, indicating each program in the identified time interval together with the calculated similarity metric, SM- Alternatively, the television programming recommender 100 can generate a top- N list of the programs having the N highest similarity metrics. The user can thereafter interact with the modified program grid using known techniques, for example, to select programs, automatically record programs or to program warnings that will automatically notify the user when a particular program is being presented. The similar program recommendation process 300 performs a test during step 350 to determine if the viewer selects one of the recommended "similar" shows. For example, the test performed during step 350 might determine if the viewer selected one of the top N programs having the highest similarity metric. If it is determined during step 350 that the viewer selects one of the recommended "similar" shows, then the weightings, w;, for each matching program attribute between the selected show and the program(s) initially specified by the viewer are incremented during step 360. If, however, it is determined during step 350 that the viewer does not select the top recommended "similar" show, then the weightings, wj, for each matching program attribute between each "similar" program having a higher similarity metric than the selected program and the program(s) initially specified by the viewer are decremented during step . 365. It is noted that the amount by which the weights are adjusted during steps 360 and 365 are generally small, to avoid instabilities (thrashing). In this manner, the television programming recommender 100 can observe over time which similar shows are actually selected for viewing and incrementally adjust the weightings, Wj, so that over time, the similarity metric, SM, more accurately reflects the viewer's idea of "similar shows." In one preferred implementation, the weights are not dynamically adjusted during steps 360 or 365 if the viewer selects the top-rated similar show, or selects nothing (since there is no indication that the similarity metric is wrong). If the viewer selects a show that is not the top-rated similar show, then the weights are dynamically adjusted as described above. FIG. 4 is a sample table from the electronic program guide 400 in accordance with an embodiment of the invention. Specifically, the embodiment of FIG. 4 presents each program together with the similarity metric. Thus, a user can review the electronic program guide 400 and quickly identify the programs having the highest score. As previously indicated, a further variation of the invention allows the television channels to be sorted in the program grid according to a normalized similarity metric for the time period being examined. For example, for a given half-hour time interval, the program grid can be sorted directly by similarity metric, such that programs with the highest similarity metric appear on the top of the program grid listing. Likewise, for time intervals larger than a half hour, a normalized score can be assigned to each channel for the time period of interest and the program grid can then be sorted by the normalized score, such that channels with the highest normalized score for the time period of interest appear on the top of the program grid listing. In one illustrative implementation, a normalized score for a channel can be computed in the following manner. First, the similarity metrics, s 1} s 2 , ..., s n (where 0 < Sj < 100) of all the shows to be shown on the channel in a given time period are obtained. Thereafter, each similarity metric Sj is adjusted by a weighting factor Wj. The normalized score for the channel is the sum of these adjusted weights w^s t + w 2 *s 2 + ... + w n *s n . The weighting factor can be found as follows. If Sj is > 95, then w; = 100; if Sj is less than 95 but greater than 50, then w; = 10. If s; is less than or equal to 50, then Wj = 1. The effect is to give a heavy weight to highly similar shows and a smaller weight to not so highly similar shows (and unit weight to neutral and not recommended shows). Channels with more recommended shows will get higher normalized scores. Of course, variations on this normalization scheme exist, as would be readily apparent to one of ordinary skill in the art. In a weighted implementation, the weight may be proportional to the length of a program. In this manner, a similar one hour show would not be equal to two half-hour shows having the same combined similarity metric, S M , as the longer program. It is to be understood that the embodiments and variations shown and described herein are merely illustrative of the principles of this invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention.

Claims: CLAIMS: 1. A method for displaying available television programs, comprising the steps of: obtaining a list of available programs (110); obtaining one or more programs currently of interest to a user (115); obtaining a similarity metric (S M ) between each of said available programs and said one or more programs currently of interest (115); and displaying said list of available programs (110) to a user with an indication of said similarity metric (SM)- 2. The method of claim 1 , wherein said similarity metric (SM) is based on a sum of weighted scores for each matching program attribute between said available programs (110) and each of said one or more programs currently of interest (115). 3. The method of claim 2, further comprising the step of adjusting one or more of said weights for each matching program attribute between a selected program and said one or more programs currently of interest (115). 4. The method of claim 1 , wherein said similarity metric (S M ) is an average of similarity metrics (SM) for each of said available programs. 5. The method of claim 1 , wherein said similarity metric (S M ) is a maximum of similarity metrics (SM) for each of said available programs (110). 6. The method of claim 1 , wherein said one or more programs currently of interest to a user (115) are indicated using an electronic program guide. 7. The method of claim 1 , wherein said one or more programs currently of interest to a user (115) are indicated using a current selected program. 8. The method of claim 1, wherein said displaying step further comprises the step of displaying a predefined number of programs having the highest similarity metric. 9. . The method of claim 1 further, comprising the steps of: sorting said list of available programs (110) based on said similarity metric (S M ) to generate a sorted list of available programs (110); and displaying said sorted list of available programs (110). 10. A system (100) for displaying available television programs, comprising: a memory (120) for storing computer readable code; and a processor (125) operatively coupled to said memory (120), said processor (125) configured to: obtain a list of available programs (110); obtain one or more programs currently of interest to a user (115); obtain a similarity metric (S M ) between each of said available programs (110) and said one or more programs currently of interest (115); and display said list of available programs (110) to a user with an indication of said similarity metric (SM)- 11. The system of claim 10, said processor (125) configured to : sort said list of available programs (110) based on said similarity metric (S M ) to generate a sorted list of available programs (110); and display said sorted list of available programs (110).

Inventors: ESHELMAN LARRY J, SCHAFFER JAMES D, ESHELMAN, LARRY, J., SCHAFFER, JAMES, D.
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 2001
Main classification: H04N7
IPC codes: H04N5, H04N7