An embodiment of the present invention will be described below with reference to the views of the accompanying drawing.
Note that the following description will be made by taking, as an example, a case wherein content (TV programs) to be televised is handled as targets, and content matching the preference of a viewer is selected and recommended to the viewer. However, this embodiment is not limited to this, and can be applied to broadcast content in general (e.g., satellite broadcast programs, wire broadcast programs, and Internet broadcast programs).
As shown in
The program management unit 20 manages the information of programs. More specifically, the program management unit 20 acquires electronic program information (electronic program guide) (to be referred to as EPG data hereinafter) or the viewing history information of a (specific) viewer from a broadcast communication terminal 1, and provides recommended program information (RPI) to the broadcast communication terminal 1. The program management unit 20 also exchanges necessary information with the respective units in the RPI providing apparatus 2.
Note that the RPI providing apparatus 2 may incorporate the broadcast communication terminal 1, or may be an apparatus independent of the broadcast communication terminal 1. In the latter case, the program management unit 20 comprises a user interface for communication with the broadcast communication terminal 1.
The broadcast communication terminal 1 receives EPG data from, for example, an external broadcast communication device, and acquires the viewing history information of a viewer by, for example, monitoring the TV operation by the viewer.
The broadcast communication terminal 1 displays the recommended program information provided from the RPI providing apparatus 2.
Referring to
Note that this embodiment exemplifies TV programs as broadcast content, and hence EPG data, the viewing history information of a viewer, and recommended program information which are used for the following description are associated with TV programs. However, the present invention is not limited to the content exemplified by the embodiment, and may be applied to information having various formats and definitions. In addition, such information can be input in various forms, e.g., keyboard input, remote control input, online input through a network, and reading from a magnetic tape as an information transfer medium.
The EPG data management unit 40 receives and manages EPG data from the program management unit 20, and periodically updates the data. The EPG data input to the EPG data management unit 40 is recorded on an electronic program guide data database (EPG data DB) 41.
The viewing history management unit 30 receives and manages the viewing history information of the viewer from the program management unit 20, and periodically updates the information. The viewing history information input to the viewing history management unit 30 is recorded on a viewing history information DB 31.
The preference model generation unit 50 generates a preference model describing program viewing preference by the viewer on the basis of the EPG data and the viewing history information. As shown in
The preference model learning unit 51 receives EPG data in a predetermined period in the past and the pieces of viewing history information of the viewer which correspond to them from the EPG data management unit 40 and viewing history management unit 30, and generates a preference model on the basis of these pieces of information. Note that the preference model learning unit 51 also has a function of receiving EPG data concerning a program to be broadcast in the future and viewing history information and updating the preference model periodically or at point of time when a predetermined number of data are input.
The preference model management unit 52 manages structure definition data and conditional probability values, which will be described in detail later, as a preference model.
The preference model DB 53 is used to record the preference model generated by the preference model learning unit 51.
The RPI generation unit 60 selects programs matching the preference of the viewer as programs to be recommended on the basis of the preference model generated by the preference model generation unit 50 and the EPG data concerning the programs as recommendation candidates. The RPI generation unit 60 then generates recommended program information containing information concerning the selected recommended programs. The RPI generation unit 60 includes viewing probability calculation unit 61, habit reflecting unit 62, recommended program information (RPI) management unit 63, and program recommendation information database (DB) 64.
The viewing probability calculation unit 61 receives the EPG data from the EPG data management unit 40 and the conditional probability values of the preference model from the preference model management unit 52, and calculates the probabilities of viewing TV programs to be broadcast (the viewing probabilities of TV programs to be broadcast), thereby generating a recommended program list in which data containing at least pieces of information which can specify programs as recommendation candidates and probabilities obtained with respect to the programs are arranged in the descending order of probabilities. In this case, the probabilities are used as recommendation degrees.
Although described in detail later, when, for example, an already broadcast program having a specific relationship with a given program to be broadcast exists in a predetermined period in the past, the habit reflecting unit 62 corrects the probability of viewing the program to be broadcast or removes the program to be broadcast from the candidate list.
The RPI management unit 63 selects programs to be recommended on the basis of the content of the recommended program list, and generates recommended program information including information concerning recommended programs which is necessary to present recommended programs to the viewer.
The program recommendation information DB 64 stores the recommended program list and the recommended program information.
The operation of the recommended program information providing apparatus according to this embodiment will be described next.
A procedure for generating a preference model in the preference model generation unit 50 of the recommended program information providing apparatus according to this embodiment will be described first.
The preference model generation unit 50 generates a preference model describing a program viewing preference by the viewer on the basis of EPG data and viewing history information in a predetermined period in the past.
The preference model shown in
Note that the preference model shown in
The preference model learning unit 51 of the preference model generation unit 50 loads structure definition data defining the structure of a preference model (step S1).
The structure definition data in
The preference model learning unit 51 loads EPG data in a predetermined period in the past from the EPG data management unit 40 (step S2).
The preference model learning unit 51 loads viewing history information in a predetermined period in the past from the viewing history management unit 30 (step S3).
Note that the execution order of steps S1 to S3 may be arbitrarily changed. Alternatively, it suffices to execute these steps in parallel.
The preference model learning unit 51 calculates the conditional probability value of each random variable in the Bayesian network (step S4). The preference model DB 53 then stores these values together with structure definition data as a preference model (step S5). The calculation method for conditional probability values in step S4 may calculate the frequency of programs matching a condition as a conditional probability value from viewing history information in a predetermined period in the past like that shown in
Referring to
(program genre=News)->0.179326
indicates that the probability value of the program with the program genre “news” is “0.179326”. This value can be obtained by, for example, calculating the frequency of programs, of all the programs included in the viewing history of the viewer shown in
With regard to the random variable “performer preference” in
(performer preference=favorable)->0.1
indicates that the occurrence probability of a program whose value of the random variable “performer preference” is “favorable” (i.e., a program on which a favorable performer appears) is “0.1”. According to a procedure for determining this value, for example, first of all, a list of performers favored by the viewer is generated by regarding the performers on viewed programs contained in the viewing history of the viewer shown in
With regard to “program content preference” in
(program content preference=favorable)->0.1
indicates that the occurrence probability of a program whose value of the random variable “program content preference” is “favorable” (i.e., a program with favorable content) is “0.1”. According to a procedure for determining this value, for example, first of all, a list of keywords favored by the viewer is generated by extracting keywords from the program content of viewed programs included in the viewing history of the viewer shown in
The random variable “program genre”, the random variable “performer preference”, and random variable “program content preference” influence the probability value of the random variable “viewing” in accordance with the preference model shown in
(program genre=Variety & performer preference=favorable & program content preference=others)->(viewing=TRUE)->0.801654, (viewing=FALSE)->0.198346
indicates that the probability value with which the viewer will view a program whose value of the random variable “program genre” is “variety”, whose value of the random variable “performer preference” is “favorable”, and whose value of the random variable “program content preference” is “others” is “0.801654”, and that the probability value with which the viewer will not view the program is “0.198346”. These values can be obtained by, for example, calculating, in accordance with the occurrence frequencies in the viewing history of the viewer shown in
A procedure for generating recommended program information in the RPI generation unit 60 of the recommended program information providing apparatus according to this embodiment will be described next.
The RPI generation unit 60 generates recommended program information on the basis of the preference model generated by the preference model generation unit 50 on the basis of EPG data and viewing history information in a predetermined period in the past and EPG data concerning programs as recommendation candidates to be broadcast in the future.
First of all, the viewing probability calculation unit 61 of the RPI generation unit 60 loads EPG data (e.g., EPG data like that shown in
The viewing probability calculation unit 61 calculates the probability value (viewing probability) of the viewer with respect to each TV program to be broadcast in the future on the basis of this EPG data and the conditional probability values of the preference model from the preference model management unit 52 (step S12).
These probability values are obtained by probability inference on the preference model. For example, if it is obvious that the program genre of a TV program to be broadcast in the future is “variety”, the viewing probability calculation unit 61 calculates a probability P (viewing=TRUE|program genre=Variety) of a given viewer with respect to this program according to
P (viewing=TRUE|program genre=Variety)=P (viewing=TRUE).P (program genre=Variety|viewing=TRUE)/P (program genre=Variety)
by using a probability distribution such as the conditional probability values shown in
Note that if the preference model defined by the structure definition data shown in
The viewing probability calculation unit 61 generates a recommended candidate program list in which data including at least pieces of information which can specify the respective programs and the probabilities obtained with respect to the programs are arranged in the descending order of the probabilities (step S13). The program recommendation information DB 64 stores this list. Note that the recommended candidate program list may be configured such that probabilities are added to the data of the respective programs of the EPG data, and the data are rearranged in the descending order of the probabilities.
In this case, programs to be recommended are selected from the TV programs in the recommended candidate program list on the basis of the habit acquisition result acquired by the habit reflecting unit 62, and the selected recommended programs are added to the recommended program list (in the descending order).
The habit reflecting unit 62 extracts TV programs in the recommended candidate program list, in which the programs are arranged in the descending order in the above manner and which is stored in the program recommendation information DB 64, one by one in the descending order of probabilities, and sets the extracted programs as targets in the following processing (step S14).
First of all, it is determined whether a target TV program (to be referred to as a target program hereinafter) is a repeat (rebroadcast program) (step S15).
If the target program is a repeat, information indicating whether the viewer has viewed any TV program which has already been broadcast and can be specified as having the same content as that of the target program is acquired (step S19). As methods of specifying that the target program has the same content as that of the already broadcast TV program, various methods have been proposed, e.g., a method of detecting a program which matches a program title name in the EPG data, and a method of finding a description indicating that a given program is a repeat.
If the acquired information indicates that the viewer has not viewed such a program (step S20), the target program is selected as a program to be recommended, and the information of the TV program is added to the recommended program list (step S21).
If the information indicates that the viewer has viewed such a program (step S20), the process returns to step S14 to select one of programs which has the next highest probability from the recommended candidate program list.
If the target program is not a repeat (rebroadcast program), it is determined whether the program is a serial broadcast program or one of a series of programs (step S16). Note that a serial broadcast program or one of a series of programs may have any form in terms of the relationship between the content of the respective broadcasts. For example, each broadcast may have independent content, or the content of the respective broadcasts may have continuity.
If the target program is not a serial broadcast program or one of a series of programs, the target program is selected as a program to be recommended, and the information of the TV program is added to the recommended program list (step S21).
If the target program is a serial broadcast program or one of a series of programs, information is acquired, which indicates whether the viewer has viewed a program that precedes the target program in the serial or the series of programs (e.g., if the target program is the third broadcast of the serial or a series of programs, this program is an already broadcast program corresponding to the second broadcast which is the immediately preceding broadcast in the same serial or the series of programs) (step S17). As methods of determining whether a selected program is a serial broadcast program or one of a series of programs, various methods can be proposed, e.g., a method of detecting a program which matches a program title name in EPG data, and a method of finding a description indicating a serial broadcast program or a series of programs from episode information.
If it is determined that the viewer has viewed a program that precedes the target program in the serial or the series of programs in a predetermined period in the past (step S18), the target program is selected as a program to be recommended, and the information of the TV program is added to the recommended program list (step S21).
If the viewer has not viewed such a program (step S18), the process returns to step S14 to select a program with the next highest probability from the recommended candidate program list.
In generating a recommended program list in the above manner, every time the size of the recommended program list changes, the size is compared with a threshold concerning the size of a recommended program list (e.g., the upper limit of the number of programs) (step S22). If the size does not exceed the threshold, the process returns to step S14. If the size exceeds the threshold, this processing is terminated (if the above processing is performed for all the TV programs in the EPG data as a target before the size of the recommended program list exceeds the threshold, the processing is terminated).
The above method uses a threshold concerning the size of a recommended program list (i.e., the lower limit of the order obtained by sorting probability values (a method of selecting a program having a probability value which provides a higher rank than this lower limit)) as a condition for terminating the generation of a recommended program list. However, another method can also be used, e.g., a method using the lower limit of probability values (a method of selecting a program having a probability equal to or higher than the lower limit).
The RPI management unit 63 generates recommended program information including information concerning recommended programs, which is required to present the recommended programs to the viewer, on the basis of the recommended program list generated in the above manner, and transfers the generated information to the program management unit 20. The program management unit 20 transmits this recommended program information to the broadcast communication terminal 1. Note that the broadcast communication terminal 1 presents the received recommended program information to the user.
According to the procedure in
According to the above description, the viewing probability calculation unit 61 generates a recommended candidate program list, and the habit reflecting unit 62 adds recommended programs selected from the recommended candidate program list to the recommended program list (in the descending order). Instead of this operation, the viewing probability calculation unit 61 may generate a recommended candidate program list, and the habit reflecting unit 62 may delete, from the recommended program list, a program which has not been selected from the recommended candidate program list.
As described above, the above embodiment allows program recommendation more matching the personal preference and habit of each viewer.
Note that the habit reflecting unit 62 can perform processing in various forms.
For example, according to the above description, when a target program is a serial broadcast program or one of the series of programs, if the viewer has not viewed a program preceding the target program in the serial or the series of programs in a predetermined period in the past, the target program is not selected. However, whether to select the target program can also be determined in accordance with viewed states with respect to all the programs belonging to the serial or the series in a predetermined period in the past. For example, this processing can use various methods, e.g., a method of performing determination on the basis of the evaluation value obtained as a result of dividing the number of viewed programs of all the programs belonging to the serial or the series of programs broadcast in a predetermined period in the past by the total number of programs, and a method of performing such determination by obtaining an evaluation value by assigning a higher weight to a program closer to the current program.
In addition, if, for example, an already broadcast program having a specific relationship with a given program to be broadcast exists in a predetermined period in the past, it suffices to correct the probability of the program to be broadcast depending on whether the viewer has viewed the already broadcast program.
When, for example, a target program is a serial broadcast program or one of the series of programs, if the viewer has not viewed a program preceding the target program in the serial or the series of the programs in a predetermined period in the past, it suffices to further decrease the probability value of the target program, with “0” being the lower limit (for example, a predetermined value is subtracted from the probability value, the probability value is divided by a predetermined value, or the probability value is set to “0”).
In addition, when, for example, a target program is a serial or one of the series of programs, if the viewer has viewed a program preceding the target program in the serial or the series of programs in a predetermined period in the past, it suffices to further increase the probability value of the target program (with “1” being the upper limit) (for example, a predetermined value is added to the probability value, the probability value is multiplied by a predetermined value, or the probability value is set to “1”).
When, for example, a target program is a serial broadcast program or one of the series of programs, it suffices to properly adjust the probability value of the target program in accordance with viewed states with respect to all the programs belonging to the serial or the series of the programs broadcast in a predetermined period in the past. This processing can use various methods, e.g., a method of increasing/decreasing the probability value of the target program in accordance with the evaluation value obtained by dividing the number of viewed programs of all the programs belonging to the serial or the series of programs broadcast in a predetermined period in the past by the total number of programs, and a method of performing such determination by obtaining an evaluation value by assigning a higher weight to a program closer to the current program.
When, for example, a target program is a rebroadcast program, if the viewer has viewed a program which can be specified as having the same content in a predetermined period in the past, it suffices to further decrease the probability value of the target program, with “0” being the lower limit (for example, a predetermined value is subtracted from the probability value, the probability value is divided by a predetermined value, or the probability value is set to “0”).
In addition, when, for example, a target program is a rebroadcast program, if the viewer has not viewed any program which can be specified as having the same content in a predetermined period in the past, and the probability value of the target program is equal to or more than predetermined reference value, it suffices to further increase the probability value of the target program (with “1” being the upper limit) (for example, a predetermined value is added to the probability value, the probability value is multiplied by a predetermined value, or the probability value is set to “1”).
Furthermore, with regard to habit, programs in forms different from serial broadcast programs, a series of programs and rebroadcast programs can be processed as target programs. Assume that an already broadcast program is a special program for advertising a program to be broadcast or a program to be broadcast is a special program which introduces a production scene of an already broadcast program. In such a case, it suffices to handle the program in the same manner as in the case of the serial broadcast program or one of a series of programs. In addition, if an already broadcast program and a program to be broadcast are similar in a predetermined attribute, e.g., genre, content, or performer, (even if they are different programs), the program can be handled in the same manner as in the case of the serial broadcast program/one of a series of programs or the rebroadcast program.
Note that it is also possible to implement the above respective functions by describing them as software and causing a computer having a proper mechanism to process the software.
In addition, this embodiment can be executed as a program for causing a computer to execute a predetermined procedure, or causing the computer to function as a predetermined means, and causing the computer to implement a predetermined function. In addition, the embodiment can be executed as a computer-readable recording medium recording the program.
According to the embodiments above, it is realized to provide a user recommended programs matching the performer preferences and habits of the user.
Number | Date | Country | Kind |
---|---|---|---|
2006-095781 | Mar 2006 | JP | national |