具体实施方式
下面参照附图来描述根据本发明的节目推荐装置的实施例。
(第一实施例)
图1是示出与本发明有关的节目推荐装置的第一实施例的结构图。所述节目推荐装置包括:输入接收单元1、EPG获得单元2、记录预设历史获得单元3、RAM 4、CPU 5、ROM 6以及显示控制单元12。
在接收到用户输入时,所述输入接收单元1执行所述节目推荐装置中的操作。输入接收单元1所执行的操作包括:从EPG中选择用户已经发现感兴趣的节目,并且调整根据每一个类别示出的用户喜好度。根据每一个类别的用户喜好度示出用户将会喜欢哪一个类别的节目。
所述EPG获得单元2获得诸如经由广播波或因特网分发的EPG之类的节目信息。图2是示出EPG获得单元2获得的EPG的一个例子的图。如这个图所示,所述EPG具有如下这样的项:节目名称、广播日期、广播台、演员表(cast)、节目描述和类型。将所获得的EPG存储在RAM 4中。
所述记录预设历史获得单元3从连接到节目推荐装置的记录装置(例如,DVD记录机)中获得预设历史,该预设历史示出用户已经预设了哪一个节目以供记录。将所获得的预设历史存储在RAM 4中。在此,所获得的预设历史是诸如用于标识用户已经预设以供记录的节目的广播日期和广播台之类的信息。如果给每一个节目分配ID,则可以只获得所述ID。
RAM 4是用于在其中存储在决定被推荐节目的处理中所采用的各种信息的存储器。所述RAM 4包括:EPG存储区、用户喜好节目存储区、类别词典存储区、评价值存储区、节目类别存储区以及用户喜好度存储区。
所述EPG存储区用于在其中存储EPG获得单元2获得的EPG。
所述用户喜好节目存储区用于在其中存储用来标识每一个用户喜好节目的信息。在此,由记录预设历史获得单元3所获得的预设历史中所包括的节目分别被视为用户喜好节目。另外,用户在观看它之后已经发现感兴趣的任何节目都能作为从EPG中选择的用户喜好节目而被登记。在此,还要存储的是用于标识节目的信息,而非EPG中的所有数据。
所述类别词典存储区在其中存储类别词典。类别词典是其中多个关键词被与每一个类别各自的贡献度相关联地登记的词典。在所述类别词典中定义的“类别”是不同于EPG中所标明的“类型”的构架(framework)。根据每一个类别,利用属于每一个类别的关键词,为EPG中所包含的节目分配各自的点,并且将属于用户示出喜好的类别的节目推荐给用户。依据每一个类别的点的分配按如下执行。首先,对于每一个节目,在EPG的节目描述中的项中搜索类别词典中所包含的关键词。然后,对于每一个类别,计数在节目描述中出现的关键词的数量。最后,通过将所获得的关键词数量乘以与关键词相对应的贡献度,来获得依据各个类别的点。
图3示出了类别词典的一个例子。如这个图所示,类别词典是由多个关键词构成的,根据类别将贡献度(即,在“0.00-1.00”范围内的数值)分配给所述多个关键词。在此,用数值来表明贡献度,以示出关键词对相应类别的重要性。因此,为几乎专门用在特定类别中的特定关键词分配相对于所述类别非常高的数值。例如,相对于类别“旅行”,为关键词“住宿地”分配“1.00”的贡献度。这样一个高的数值表明:相应的关键词在计算类别中的评价值时是非常重要的。相反,为与该类别无关且在计算评价值时不是非常必要的关键词分配“0.00”的数值。例如,相对于类别“旅行”,为“菜单”分配“0.00”,并且对于一个在计算类别“旅行”中的评价值时未考虑的关键词也是这样考虑的。在本发明中,还可以分配除“0.00”和“1.00”外的其它值。这是这样的情形,在该情形中,存在能够在多个类别中共用的普通关键词。这类普通关键词的一个例子是“法国”。在这个图中,将“法国”相对于类别“旅行”的贡献度设置为0.30,对于类别“美食家”将该值设置为0.50,而对于类别“烹饪”将该值设置为0.10。这在如下情况下是有用的,即:EPG的节目描述包括许多针对多个类别使用的关键词。更具体而言,通过以上述方式执行,通过计算考虑到关键词对每一个类别的重要性的评价值,提高了关键词的类别评价值的可信性。还可以依据与用户喜好节目有关的信息,根据初始设置的数值来更新这种关键词及其贡献度。这种结构还简化了与用户喜好匹配的节目的推荐。
所述评价值存储区用于存储每一个类别的节目的评价值。在此,用下列方式获得该评价值。在EPG中的节目描述中搜索类别词典上所登记的关键词,然后计数每一个关键词已经出现的次数。然后,为所获得的出现次数分配各自的权重。将结果点视作为对于每一个类别的节目的评价值。
所述节目类别存储区用于在其中根据每一个类别的节目的评价值来存储关于每一个节目所属的类别的信息。
所述用户喜好度存储区是用于在其中存储示出对每一个类别的用户喜好的信息。所述信息示出了用户将会喜欢哪一个类别的节目。
CPU 5通过执行在ROM 6中存储的程序,来执行对节目推荐装置的整体控制。
ROM 6在其中存储用于实现节目推荐装置中的各类处理的程序。所述程序由CPU 5读取,并且随后与硬件资源一起工作,以便充当评价计算单元7、类别判断单元8、用户喜好度分析单元9、被推荐节目决定单元10以及关键词更新单元11的具体装置。按如下描述ROM 6的这些功能单元。
评价值计算单元7利用已经从RAM 4中读取的EPG的节目描述中所包括的每一个关键词和在类别词典中所找到的该关键词的贡献度,计算每一个节目相对于各个类别的评价值。评价值计算单元7将为每一个类别计算的评价值存储在RAM 4的评价值存储区中。图5A是示出每一个节目相对于各个类别的评价值的图。在此,评价值“0.00”表明EPG中的相应节目描述中所包含的相应的关键词的贡献度相对于所述类别全都为0.00,或者表明在节目描述中不存在类别词典中的关键词。
类别判断单元8判断已经由评价值计算单元7计算出的每一个节目相对于各个类别的评价值是大于还是小于已经设置的相应阈值,并且判断所述节目属于哪一个类别,由此来执行节目的分类。然后,所述类别判断单元8将该结果存储在RAM 4的节目类别存储区中。图5B是示出已经从上述判断产生的节目类别属性的图。在此,当节目的属性是“真(TRUE)”时,它表示相应的评价值大于所述阈值,其表明已经判定该节目属于所述类别。相反,当节目的属性是“假(FALSE)”时,它表示相应的评价值小于所述阈值,其表明已经判定该节目不属于所述类别。
用户喜好度分析单元9对用户在过去的预定周期期间已经做过的记录预设的历史执行类别分析,由此来获得对于各个类别的用户喜好度。具体地说,从RAM 4的用户喜好节目存储区中选择用户在过去的预定周期期间已经预设的节目并进行分析。将由这一分析所产生的用户喜好度存储在RAM 4的用户喜好度存储区中。
被推荐节目决定单元10通过参考用户喜好度分析单元9所获得的对于各个类别的用户喜好度,将权重加到已经由评价值计算单元7计算出的每一个节目相对于各个类别的评价值上,由此来分别获得所述节目的推荐等级值。然后,基于所计算出的推荐等级值,所述被推荐节目决定单元10决定被推荐的节目,并将与所述决定的被推荐节目有关的信息传递给显示控制单元12。
关键词更新单元11执行将关键词添加到类别词典,更新关键词相对于每一个类别的贡献度,以及删除关键词。添加处理是在过去的预定周期期间根据每一个用户喜好节目的评价值来执行的。更具体而言,添加处理是当用户喜好节目的评价值对于所有类别都为“0.00”时(即,当类别词典不包括用户喜好节目的节目描述中所包括的任何单词时)执行的。然后,相对于每一个类别的贡献度的更新是针对类别词典中的所有关键词执行的,包括由上述添加处理添加的新关键词。所述更新处理是根据i)在过去的预定周期期间在每一个节目的节目描述中出现的关键词数量与ii)在每一个用户喜好节目的节目描述中出现的关键词数量之间的比率,相对于每一个类别对每一个相应关键词执行的。在对每一个相应关键词的处理完成之后,当存在其对于每一个类别的贡献度都为0.00的任何关键词时,从类别词典中删除所述关键词。
显示控制单元12执行控制,以便利用连接到节目推荐装置的显示装置来以图形的形式显示在被推荐节目决定单元10中决定的被推荐的节目或者由用户喜好度分析单元9执行类别分析所获得的用户喜好度。显示装置的一个例子是电视机。在此,需要注意的是:用户能够通过查看显示器上的图形,根据他对输入接收单元1的操作来修改用户喜好度。
下面通过具体的例子来描述与本发明有关的节目推荐装置的工作。
图2示出了EPG的一个例子,并且图3示出了类别词典的一个例子。考虑这些附图,下面描述用于从在EPG中找到的六个节目当中决定被推荐节目的方法。在本说明书的先前部分中给出了图2和图3上的解释,因而在下面将不再重复。
首先,在EPG的节目描述中搜索在类别词典中登记的关键词。然后,对于每一个关键词,对出现次数分配相对于每一个类别的相应的贡献度,由此获得每一个节目对于所述类别的评价值。下面利用由评价值计算单元7执行的每一个节目对于每一个类别的评价值计算处理的流程(图4)来详细描述这一处理。
首先,从RAM 4中存储的EPG中读取节目P的节目描述(步骤S1)。接下来,在节目P的节目描述中搜索类别词典中包含的每一个关键词,由此计数每一个匹配的关键词出现的次数。然后,从RAM 4的类别词典中读取每一个匹配的关键词的贡献度(步骤S2)。然后,将类别C的所有所读取的贡献度加在一起,由此计算节目P相对于类别C的评价值PE[C,P](步骤S3)。当对于所有类别都完成从步骤S2到步骤S3的处理(步骤S4),并且对于所有节目都完成从步骤S1到步骤S4的处理(步骤S5)时,每一个节目的每一个类别的评价值计算处理就视为完成。
图5A是示出每一个类别的每一个节目的评价值的图,所述评价值已经根据上述流程计算出。
图5B是示出根据图5A的结果所确定的节目的节目类别属性的图。在此,将阈值设置为″0.50″,并且当评价值超过这个阈值时,绘制“真”,并且判定该节目属于所述类别。相反,当评价值低于所述阈值时,绘制“假”,并且判定该节目不属于所述类别。按照这种方式,对每一个节目进行分类。如这些附图所示,节目“如何在海外旅行(how to walk abroad)”既属于类别“旅行”又属于“美食家”。由于在这种情况下,取决于如何设置阈值,一个节目可以属于多个类别。这影响了利用类别进行的节目推荐。例如,当将阈值设置得低时,类别的判断就变得宽松,由此允许向用户推荐较宽范围的节目。相反,当将阈值设置得高时,类别的判断就变得严格,由此允许推荐较窄范围的节目。
接下来,描述用于获得用户喜好度的类别分析处理。参照图6给出了说明,图6示出了由用户喜好度分析单元9执行的类别分析处理的流程。
首先,将所有用户喜好节目相对于类别C的总评价值(UPEsum[C])设置为“0”(步骤S11)。对所有类别执行步骤S11的处理(步骤S12),并且将所有用户喜好节目的总评价值(TotalUPEsum)设置为“0”(步骤S13)。接下来,从RAM 4中读取用户喜好节目UP的类别C的评价值PE[C,UP](步骤S14)。将(PE[C,UP])添加到(UPEsum[C])(步骤S15)。将(PE[C,UP])添加到(TotalUPEsum)(步骤S16)。当对于所有类别完成从步骤S14到步骤S16的处理(步骤S17),并且对于所有用户喜好节目完成从步骤S14到步骤S17的处理(步骤S18)时,所有用户喜好节目相对于类别C的总评价值(UPEsum[C])除以所有用户喜好节目的总评价值(TotalUPEsum),以获得类别C的用户喜好度UD[C](步骤S19)。当对于所有类别都执行步骤S19的处理(步骤S20)时,结束类别分析处理。
可以将按上述方式获得的用户喜好度显示在屏幕上,如图7所示。图7以柱状图示出了说明每一个类别的用户喜好度的屏幕。所述屏幕被显示在连接到节目推荐装置的显示装置中。如在这个图中所示的用户喜好度的柱状图表示是有利的,这是因为用户能够把握节目推荐装置如何确认他的节目喜好。用户喜好度分析单元9所获得的每一个类别的用户喜好度被临时存储在RAM 4中。当输入接收单元1接收到用户指令来显示屏幕时,从RAM 4中读取用户喜好度,并且显示控制单元12产生显示信息。当用户不满意在屏幕上显示的结果时,他能够通过针对节目推荐装置的前面板所具有的输入单元进行操作或者通过遥控器,将他选择的柱状图的数值修改成期望的数值。所述操作等价于调整电视的图像质量的情形。如果用户想要固定某一类别的数值而不管用户的操作如何,则所有他必须做的就是选择相对于相应类别的固定按钮“bn1”,如图所示。
接下来,描述节目推荐处理。存在两种节目推荐处理的方法。一种方法是从所选的类别中推荐节目。另一种方法是从所有节目中推荐节目而不区分类别。首先,在下面描述从所选的类别中推荐节目的方法。
首先,从RAM 4中读取每一个类别的用户喜好度(步骤S21)。确定其用户喜好度超出已设阈值的每一个类别(步骤S22)。对于其用户喜好度被判定超出所述阈值的类别,从RAM 4中读取其属性值为“真”的每一个节目(步骤S23)。由此,按评价值的降序对所读取的节目进行排序,由此决定被推荐的节目(步骤S24)。
图9A和图9B是用于解释说明基于上述流程决定被推荐的节目的一个例子的图。
图9A是示出利用图7说明的每一个类别的用户喜好度的图。在此,如果假定所述阈值被设置为70%,那么将从类别“旅行”中选出被推荐的节目。图9B是示出每一个节目相对于类别“旅行”的评价值和属性值的图。在所述节目当中,仅仅其属性值显示“真”的节目被选择出并且按评价值的降序进行排序,由此决定被推荐的节目。在图10中示出了该结果。
图10是示出如何在连接到节目推荐装置的显示装置中显示类别“旅行”中的被推荐节目的图。正如这个图所示,显示节目名称、广播台和广播日期。在这个图中,属于类别“旅行”的所有四个节目都作为被推荐的节目而被显示。更详细地讲,预先相对于节目的评价值来设置阈值,并且只推荐其评价值大于该阈值的节目。在这个例子中,阈值被预先设置为“1.00”。
接下来,利用图11中所示的流程来描述从所有节目中进行推荐(而不区分类别)的方法。
首先,读取类别C的用户喜好度UD[C](步骤S31)。对所有类别执行步骤S31的处理(步骤S32)。将“0”设置为节目P的推荐等级值R[P](步骤S33)。读取节目P相对于类别C的评价值PE[C,P](步骤S34)。把通过将(UD[C])和(PE[C,P])相乘所得到的值加到(R[P])上(步骤S35)。当对于所有类别完成从步骤S34到步骤S35的处理(步骤S36)并且对于所有节目完成步骤S33到步骤S36的处理(步骤S37)时,执行按推荐等级值的降序对节目进行的排序,由此来决定被推荐的节目。
图12是示出节目的推荐等级值的图,所述推荐等级值是在上述流程中计算出的。所述节目按推荐等级值的降序进行排序。然后,将较高等级的节目推荐给用户。
图13是连接到节目推荐装置的显示装置如何显示上面参照图12所述的基于节目的推荐等级值所选的被推荐节目的图。如图13所示,显示节目名称、广播台、广播日期和类别。在此,“旅行”被显示为节目“如何在海外旅行”的类别。然而,如图5B所示,所述节目也属于“美食家”。在本实施例中,如果一个节目属于多个类别,则就选择具有类别的最高评价值的类别作为代表。然而,也可以显示所有节目所属的多个类别。在这个图中,所有六个节目都作为被推荐的节目而被显示。更详细地讲,阈值是相对于推荐等级值而设置的,并且只推荐其推荐等级值大于所述阈值的节目。
到目前为止,利用预先登记在类别词典中的关键词和相应的贡献度,执行每一个节目的评价值和用户喜好度的计算。在本发明中,作为选择,可以基于用户喜好节目来更新类别词典中的关键词及其对应各个类别的贡献度。根据所述倾向,在一开始所创建的类别词典中无法找到在EPG的节目描述中的一些关键词。这将导致这样一个问题,即属于用户喜好的类型的节目无法被推荐,这是因为该节目对于每一个类别的评价值都不能计算。相反,在类别词典中存在已不在节目描述中使用的关键词。如果这种过时的关键词被留在类别词典中则是存储器的浪费。鉴于此,就必须定期地考虑类别词典中的关键词及其贡献度。
接下来,描述由关键词更新单元11执行的处理。
分别利用图14-17的流程图,在下面描述关键词添加处理,对于“用户喜好”的类别的关键词贡献度更新处理,对于“用户喜好”的类别之外的类别的关键词贡献度更新处理,以及关键词删除处理。
首先,利用图14描述关键词添加处理。对于用户喜好节目中的目标节目,从RAM 4中读取相对于类别的评价值。把所有类别的评价值加在一起(步骤S41)。然后,判断所有类别的总评价值是否为0(步骤S42)。如果判定它为0(即,EPG所示出的目标节目的节目描述中的关键词当中没有一个存在于类别词典中),使用在RAM 4中存储的名词词典,从目标节目的节目描述中提取新关键词,并且将所提取的关键词添加到类别词典(步骤S43)。在对所有用户喜好节目的处理结束之后(步骤S44),关键词添加处理结束。
接下来,利用图15来描述“用户喜好”的类别的关键词贡献更新处理。在此,将“用户喜好”的类别定义为RAM 4中所存储的所有用户喜好节目。因此,“用户喜好”的每一个类别与通过类别判断单元8将节目分类到其中的任何类别都不相关。如在其它类别的情况下那样,使属于“用户喜好”的类别的关键词的贡献度经历用于计算评价值和用户喜好度的处理。在尚未执行关键词更新的初始阶段中,“用户喜好”的类别中的所有关键词的贡献度都为0.00,所以图3的类别词典不考虑这种情况。以下是所述流程的说明。
首先,将关键词K在所有节目的节目描述中出现的次数(NinPsum[K])设置为0,同样将关键词K在用户喜好节目的节目描述中出现的次数(NinUPsum[K])设置为0(步骤S51)。然后,从EPG中读取在过去的预定周期期间广播的节目P的节目描述(步骤S52)。计数关键词K在节目P的节目描述中出现的次数(NinP[P,K])(步骤S53)。将这个NinP[P,K]加到NinPsum[K]上(步骤S54)。然后,当节目P已经证实是用户喜好节目(步骤S55)时,将NinP[P,K]加到NinUPsum[K]上(步骤S56)。然后,当对于所有节目都完成从步骤S52到步骤S56的处理时(步骤S57),判断NinPsum[K]是否为0(步骤S58)。
当NinPsum[K]不是0时,通过将NinUPsum[K]除以NinPsum[K]来计算关键词K相对于“用户喜好”的类别MC的贡献度KW[MC,K],并且利用所获得的值来更新类别词典中的贡献度KW[MC,K](步骤S59)。当在步骤S58中NinPsum[K]为0时,不执行对贡献度KW[MC,K]的更新(步骤S60)。作为选择,可以用数值“0”来更新贡献度KW[MC,K],当对于类别词典中的所有关键词完成该处理(步骤S61)时,相对于“用户喜好”的类别的关键词的更新处理结束。
接下来,利用图16,解释说明除“用户喜好”的类别以外的类别的关键词的贡献度更新处理的流程。在此,所述解释说明假定除“用户喜好”的类别以外的类别为类别C。首先,将NinPsum[K]设置为0;同样,将关键词K在属于类别C的用户喜好节目的节目描述中出现的次数(NinUPsum[C,K])设置为0(步骤S71)。从存储在RAM 4中的EPG中读取在过去的预定周期期间节目P的节目描述(步骤S72)。计数关键词K在节目P的节目描述中出现的次数(NinP[P,K])(步骤S73)。然后,将NinP[P,K]添加到NinPsum[K](步骤S74)。当节目P已经证实是用户喜好节目(步骤S75)时,将NinP[P,K]添加到NinUPsum[C,K](步骤S76)。当对于所有节目完成从步骤S72到步骤S76的处理(步骤S77)时,然后判断NinPsum[K]是否为0(步骤S78)。当NinPsum[K]不是0时,用NinUPsum[C,K]除以NinPsum[K],由此获得关键词K相对于类别C的贡献度(KW[C,K]),并且使用所获得的值来更新类别词典中的KW[C,K](步骤S79)。当步骤S78中的NinPsum[K]是0时,不执行关键词K相对于类别C的贡献度KW[MC,K]的更新(步骤S80)。作为选择,可以将贡献度设置为0。当对于所有类别词典中的关键词完成该处理(步骤S81)时,除“用户喜好”的类别以外的类别的关键词贡献度更新处理结束。
接下来,解释说明图17中所示的关键词删除处理的流程。首先,从类别词典中读取关键词及其相对于每一个类别的贡献度(步骤S91)。当对于所有类别的贡献度都为0(步骤S92)时,从类别词典上删掉关键词(步骤S93)。当对于所有关键词完成该处理(步骤S94)时,关键词删除处理结束。
接下来,借助于具体例子来解释说明由关键词更新单元11所执行的如上所述的关键词添加处理、贡献度更新处理和关键词删除处理。
图18是示出从图3的类别词典中所摘录的类别词典的内容的图。
图19是示出节目A-E中的每一个的节目描述包含了哪些关键词以及示出哪一个节目是用户喜欢的节目的图。在此,从“节目A”到“节目E”对应于在过去的预定周期期间在RAM 4中存储的EPG中的所有节目。如果这些节目被作为用户喜好节目存储在RAM 4中,则它们被判定为用户喜好节目。如这个图所示,“节目A”、“节目B”、“节目C”以及“节目D”的节目描述中的每一个都包含关键词“市场”。然而,图18中所示的类别词典不包含关键词“市场”。
图20A是示出根据图4的流程执行的计算每一个节目对于每一个类别的评价值的结果的图。图20B是示出利用每一个节目对于每一个类别的评价值和阈值0.50来进行节目分类的结果的图。“节目D”的节目描述仅仅包含类别词典中不存在的关键词“市场”。因此,节目D对于所有类别的评价值都是0.00。因此,将关键词“市场”添加到类别词典。
接下来,描述关键词“市场”的贡献度的计算方法。首先,描述“用户喜好”的类别的情形。通过用所有用户喜好节目中的关键词的数量除以所有节目中的关键词的数量来计算关键词的贡献度。在此,所有节目中的关键词的数量为3,而用户喜好节目中的关键词的数量为2,因此关键词“市场”对于“用户喜好”的类别的贡献度被计算为0.67。
接下来,描述除“用户喜好”的类别以外的类别的情形。在除“用户喜好”的类别以外的类别的情况下,通过用属于目标类别的用户喜好节目中的关键词的数量除以所有节目中的关键词的数量的来计算关键词的贡献度。由于属于目标类别“旅行”的用户喜好节目中的关键词的数量为0,因而关键词“市场”对于类别“旅行”的贡献度被计算为0.00。在类别“美食家”和“烹饪”中的关键词“市场”的数量分别为1,对于类别“美食家”和“烹饪”的贡献度分别为0.33。对其它关键词使用相同的方法来计算相应的贡献度。
图21A示出了对所有关键词执行的贡献度更新的结果。根据这个结果,从类别词典上删掉对于所有类别其贡献度都为0.00的每一个关键词。在图21B中示出了删除结果。
通过按上述方式定期地更新类别词典中的关键词,就可以避免这样的情形,即属于用户喜欢的类别的节目由于无法获得对每一个类别的评价值的原因而无法被推荐给用户。
<注释>
到目前为止,基于第一实施例描述了与本发明有关的节目推荐装置。然而,不用说,本发明不应该限于上述例子,而是能够执行对节目推荐装置的部分修改。例如,可以进行以下修改。
(1)在第一实施例中,仅仅名词被示出为在类别词典中登记的关键词的例子,但是本发明并不限于这样的结构。动词和形容词也可以是关键词。
(2)在第一实施例中,针对EPG中的节目描述执行关键词搜索,但是本发明并不限于这样的结构。例如,也可以针对EPG的其它项执行所述关键词搜索,比如节目名称、演员表、类型。
(3)在第一实施例中,用户喜好节目是从EPG中选择的用户在观看之后发现感兴趣的节目,以及在连接到节目推荐装置的外部记录装置的记录预设历史中发现的记录预设节目。然而,不用说,本发明并不限于这样的结构。其它结构也是可以的,例如其中用户已经在连接到节目推荐装置的外部电视上看过的节目被视为用户喜好节目,以及其中只有记录预设节目中播放的节目被视为用户喜好节目。这些结构具体是通过为节目推荐装置提供下列单元来实现的:第一播放历史获得单元,用于获得与在电视上播放的节目有关的第一播放历史;第二播放历史获得单元,用于获得与在记录装置上播放的节目有关的第二播放历史;播放判断单元,用于通过参考由第二播放历史获得单元所获得的第二播放历史,来判断第二播放历史中的节目是否存在于记录预设历史中。将第一播放历史和示出从EPG中选出的节目的信息直接存储在RAM 4的用户喜好节目存储区中。将记录预设历史临时存储在RAM 4的不同区中。从第二播放历史获得单元中获得与所播放的节目有关的历史,然后相对于由播放判断单元所读取的记录预设历史进行校验。其结果是,仅仅把存在于记录预设历史中且被判定为已经播放的节目存储在RAM 4的用户喜好节目存储区中。
(4)在第一实施例中,节目推荐装置本身不具有与EPG和被推荐节目有关的显示功能或记录功能,所以必须连接到诸如电视和记录装置这样的视听装置,以便实现这样的功能。然而,不用说,本发明不限于这样的结构,而可以是将电视、记录装置和节目推荐装置的功能集成在一起的装置。
(5)在根据第一实施例的类别分析的方法中,用户喜好度是相应类别的评价值的总数量与所有类别的评价值的总数量之比。然而,本发明不限于这样的结构。例如,用户喜好度可以是属于相应类别的用户喜好节目与全部用户喜好节目之比,或者可以是用户喜好节目对于相应类别的评价值的总数量与该类别的所有节目的评价值的总数之比。仍然,作为选择,用户喜好度可以是用户喜好节目与相应类别内的节目之比。
(6)在第一实施例的屏幕显示中,用户喜好度是以柱状图的形式显示。然而,不用说,本发明不限于这样的结构。例如,可以使用饼分图(circle graph)。用户喜好度的修改不应该限于通过经由节目推荐装置的前面板所具有的输入单元,或者经由遥控器而接收的操作来执行。例如,可以通过经由键盘、触摸板、鼠标、衬垫、轨迹球等而接收的点击操作或拖曳操作实现这种用户喜好度的修改。
(7)在用第一实施例解释的为每一个类别推荐节目的方法中,其用户喜好度超出预设阈值的任何节目都被推荐。然而,不用说,本发明不应该限于这样的结构。例如,可以推荐属于其用户喜好度最大的类别的节目。
(8)在来自于用第一实施例解释的每一个类别的推荐方法中,首先,按评价值的降序推荐类别“旅行”内的节目。然而,不用说,本发明不限于这样的结构。例如,如下结构是可能的,即:如同在不考虑类别而推荐节目的情况下那样计算推荐等级值,然后根据计算结果来推荐节目。具体地说,在这样的结构中,通过将每一个类别的评价值与相应的用户喜好度相乘,来计算每一个节目的推荐等级值,然后求所有类别的乘法结果的总和,由此获得节目的推荐等级值,然后从属于类别“旅行”的节目中推荐具有高推荐等级值的节目。
(9)在第一实施例中,相对于节目的评价值,根据类别与将要被推荐的节目数量成比例地设置阈值,并且仅仅推荐具有比阈值大的评价值的节目。然而,本发明不限于这样的结构。例如,可以通过将属于一个类别的节目的数量与该类别的用户喜好度相乘来计算该类别内的将要推荐的节目数量。
作为选择,也可以将一个类别内的将要被推荐的节目数量设置为通过将1)所给定的被推荐节目的数量与2)类别的用户喜好度与所有类别的用户喜好度之比相乘而获得的数值。
(10)在第一实施例中,在关于关键词更新单元11所执行的关键词添加处理的解释说明中,RAM 4中所存储的名词词典中所包括的名词从节目描述中提取出来作为关键词。然而,不用说,本发明不限于这样的结构。例如,也可以利用包含动词和形容词的词典来将动词和形容词提取出来作为关键词。
(11)采用图4、6、8、11和14-17中所示程序的信息处理是通过使用诸如CPU和RAM之类的硬件资源来具体实现的。因此,所述程序可以分别构成一个发明。第一实施例描述了将程序并入节目推荐装置中的情形,但是第一实施例中的程序可以独立于该节目推荐装置使用。然而,第一实施例中的每一个程序都可以独立于该节目推荐装置使用。执行程序的动作包括:(1)产生的动作,(2)需要或不需要收费进行转让的动作,(3)租赁的动作,(4)导入的动作,(5)经由双向电子通信网络为公众提供的动作,以及(6)利用店面显示、商品目录或小册子来提供转让或租赁的动作。
使用双向电子通信网络的上述类型(5)的一个例子是功能提供型ASP服务。功能提供型ASP服务为,经由电子通信网络仅仅向用户提供程序的功能,而程序被留在供应商的手中。
(第二实施例)
图22是示出与本发明有关的节目推荐装置的第二实施例的结构的图。这个节目推荐装置包括:RAM 2201、控制单元2202、节目信息获得单元2203、用户输入接收单元2204以及解码器2205。
RAM 2201包括:用于存储节目信息获得单元2203已经获得的节目信息的节目信息存储区2210、用户喜好节目存储区2211、类别词典存储区2212、类别标识信息存储区2213、节目类别评价值存储区2214、节目类别存储区2215、用户喜好度存储区2216、节目推荐度存储区2217、被推荐节目存储区2218以及GUI管理信息存储区2219。
控制单元2202是CPU单元,并且包括:关键词更新单元2220、节目类别评价值计算单元2221、节目类别判断单元2222、用户喜好度分析单元2223、节目推荐度计算单元2224、被推荐节目决定单元2225、用户喜好度调整单元2226以及GUI控制单元2227。
所述解码器2205包括GUI生成单元2230和AV解码器2231。
与第一实施例相同的组成部分在下文不作详述。下面仅仅详述只有第二实施例才有的组成部分。
节目信息存储区2210相当于第一实施例中的RAM 4的EPG存储区并且在其中存储节目信息。
用户喜好节目存储区2211在其中存储用户过去已经看过的节目,以作为用户喜好节目。在第一实施例中,记录预设历史获得单元3获得记录预设历史,并且存储标识记录预设历史中所列出的节目的信息,以作为用户喜好节目。然而,在本实施例中,用户输入接收单元2204被设计为存储用户已经看过的每一个节目以作为用户喜好节目。需要注意的是:为每一个用户存储用户喜好节目。例如,当用户输入接收单元2204已经利用电视遥控器的频道选择接收到一个节目的选择时,或者在显示节目信息之后,所述用户输入接收单元2204还接收标识该用户的信息的输入。当用户是“太郎”时,接收已定义的标识符“1”,并且当用户是“花子”时,接收已定义的标识符“2”。为这些标识符中的每一个存储标识节目的信息。
类别词典存储区2212在其中存储类别词典。
图23示出了类别词典的例子。所述类别词典2301具有在节目信息中找到的多个单词的列表以作为关键词2302,给每一个关键词分配相对于每一个类别的贡献度2303。所述类别是节目的粗分类并且可以通过在它们之间进行组合来精确地区分节目。
在此,当关键词是普通单词时,所分配的贡献度2303表示小的数值,并且当关键词是与类别有强联系的特殊单词时,所分配的贡献度2303表示大的数值。
类别标识信息存储区2213存储可视地标识每一个类别的类别标识信息。
图24是示出类别标识信息的一个例子的图。在类别标识信息2401中,颜色2403分别标识类别2402。例如,在显示节目信息的时,将节目粗分类到类别中。然后,在具有相应的其中一种颜色2403的背景中的节目栏中显示每一个节目。另外,当节目具有被分配了大的贡献度的关键词时,以与该关键词相关联的颜色显示节目的解释。
上述例子中,分别以不同的颜色显示所述类别。然而,显示方式不限于这样的结构,只要将类别可视地彼此区别开即可。例如,可以对每一个类别改变字体。
节目类别评价值存储区2214相当于第一实施例中的评价值存储区,并且在其中存储节目类别评价值。
图25是示出节目类别评价值的一个例子的图。节目类别评价值2501是分别对应节目2502的评价值2503的列表。在此,评价值2503分别表示每一个类别的节目信息中所包含的关键词的贡献度。
将节目类别存储在节目类别存储区2215中。
图26是示出节目类别的一个例子的图。节目类别2601包括节目2602的粗定义类别2603。在此,每一个类别2603都对应于其评价值2503是类别评价值2501中对相应的其中一个节目2502而言为最大的类别。
用户喜好度存储区2216在其中存储表明每一个用户的喜好倾向的用户喜好度。如图27所示,用户喜好度2701是用户已经看过的节目(即,存储在用户喜好节目存储区2211中的每一个节目)的类别的喜好度2703的百分比表示。需要注意的是:这个用户喜好度相当于上述第一实施例的图7中所示的用户喜好度。
节目推荐度存储区2217在其中存储当前显示在当前所连接的电视屏幕等等上的节目表中所显示的节目的推荐度。
图28是示出推荐度的一个例子的图。在推荐度2801中,为每一个用户2802列出节目2803的推荐度2804。在此,由具有作为类别总数的最大数量的数值来表示推荐度。所述数值变得越大,就越表明所述节目匹配用户的喜好。在此,将类别的总数设置为“5”。这个推荐度的计算方法稍后作描述。
被推荐节目存储区2218在其中存储向用户推荐的节目。
GUI管理信息存储区2219在其中存储用于可视化节目表和用户喜好度的模板。
图29是示出用于显示节目表的模板的一个例子的图。所述模板2901包括:相应节目的广播日期的显示区2902;类别标识信息2903;节目表显示区2904;指定节目的推荐度2905;和节目描述栏2906;以及雷达图形(radar-graph)区2907。
类别标识信息2903表明类别标识信息2401所显示的颜色,然而在这个具体图的框中没有示出任何内容。
节目表显示区2904用于显示从节目信息存储区2210中读取的节目信息。
推荐度2905由黑色星的数量表示。在所述模板中,按照与类别的数量相对应的数量来显示白色星。
节目描述栏2906用于详细显示所选节目的介绍性描述。
在雷达图形区2907中,仅仅说明了分别与所述类别相对应的轴。在这个雷达图形区2907中,用户喜好度2701和类别评价值2501的标准化数值都是以图形的形式显示的。
图30示出了用于显示用户喜好度的模板。模板3001包括分别与雷达图形中的类别相对应的轴3002,用于显示每一个都对应于类别3003的柱状图的显示区3004,每一个柱状图的“固定”按钮3005和“可变”按钮3006。
所述控制单元2202根据存储在ROM中的每一个程序(未图示)来执行每一个处理操作。
关键词更新单元2220相当于上述第一实施例中的关键词更新单元11。
关键词更新单元2220从用户喜好节目存储区2211中所存储的节目中选择对于在节目类别评价值存储区2214中找到的类型的所有类别评价值的总和为“0”的每一个节目,并且从节目信息存储区2210读取与所选出的节目相对应的节目信息。然后,关键词更新单元2220例如利用名词词典,来提取所读取的节目信息中所包括的单词,并且将所提取的单词登记到类别词典存储区2212中作为关键词。
接下来,执行下列处理以便给所登记的关键词分配贡献度。
在此,假设单词“W”被提取作为关键词。关键词更新单元2220获得从当前时间点(例如,在过去的一个月)起在预定周期中广播的所有节目的节目信息,并且计数单词“W”已经出现了多少次。例如,假定单词“W”已经出现了10次(AT=10)。接下来,获得关于每一个节目被分类到节目类别存储区2215中的哪一个类别中的信息。例如,假定有三个节目分类到类别A中。那么,就计数单词“W”在三个节目的节目信息中出现了多少次。在此,假定单词“W”已经出现了七次(AC=7)。在这种情况下,单词“W”相对于类别A的贡献度被计算为AC/AT=0.7。将这个贡献度0.7登记在类别词典存储区2212中以作为新近添加的单词“W”相对于类别A的贡献度。如果单词“W”在分类到类别B中的每一个节目的节目信息中甚至未出现一次,那么AC=0。因此,将把单词“W”相对于类别B的贡献度登记为″0″。
节目类别评价值计算单元2221和节目类别判断单元2222分别相当于第一实施例的评价值计算单元7和类别判断单元8。
用户喜好度分析单元2223基于由节目类别评价值计算单元2221计算出的节目类别评价值2501,获得用户已经看过的每一个类别的节目(存储在用户喜好节目存储区2211中)的喜好度。所获得的用户喜好度2701被记录在用户喜好度存储区2216中。
需要注意的是:在第一实施例中,假定只有一个用户使用本发明的节目推荐装置,所以就不考虑用户之间的区别。然而,本实施例被设计成能通过用户输入接收单元2204识别正在观看节目的用户,并且获得每一个用户的用户喜好度。
节目推荐度计算单元2224,当利用GUI控制单元2227显示节目表时,基于在节目类别评价值存储区2214中存储的所显示节目的节目类别评价值与指示显示节目表的用户的喜好度之间的相似程度来计算推荐度。所计算出的推荐度被存储在节目推荐度存储区2217中。
图31示出了显示节目的类别评价值和用户喜好度以便获得推荐度的具体例子。在此,节目类别评价值3101是图25中的评价值2503的标准化版本,以便落在0.0-1.0的范围(包括0.0和1.0在内)之内。同样,用户喜好度3102是以百分比表示示出的图27的用户喜好度2701的标准化版本,以便落在0.0-1.0的范围(包括0.0和1.0在内)之内。
利用下列等式(1)来计算推荐度R。
...等式(1)
在这个等式中,“N”表示类别的总数。在图31中,它相当于“5”(即,类别E到类别A)。
如下所示,节目推荐度计算单元2224利用等式(1)分别计算太郎和花子的推荐度R。
按如下计算节目X的用户太郎的推荐度R。
R=5-(|1.0-1.0|+|0.0-0.0|+|0.1-0.3|+|0.9-0.8|+|1.0-1.0|)
=5-(0+0+0.2+0.1+0)=5-0.3=4.7
按如下计算节目X的用户花子的推荐度R。
R=5-(|1.0-0.0|+|0.0-1.0|+|0.1-1.0|+|0.9-0.0|+|1.0-1.0|)
=5-(1.0+1.0+0.9+0.9+0)=5-3.8=1.2
根据这些计算结果,节目X的推荐度R对于太郎而言为4.7,而对于花子而言为1.2。所述结果显示出节目X具有与太郎的喜好非常相似的类别评价值,所以匹配太郎的喜好,但是不匹配花子的喜好。
被推荐节目决定单元2225从节目推荐度存储区2217中存储的节目中决定具有高推荐度的节目,以作为被推荐的节目。需要注意的是:第一实施例中的被推荐节目决定单元10还可以被设计为,将具有由本实施例的节目推荐度计算单元2224计算出的高推荐度R的节目决定为被推荐节目。在这种情况下,节目推荐度计算单元2224应该不仅计算指定节目的推荐度R,而且还应计算节目信息中示出的节目的推荐度。
用户喜好度调整单元2226经由用户输入接收单元2204从用户接收用户喜好度的初始设置和修改设置。用户喜好度调整单元2226接着调整在用户喜好度存储区2216中存储的用户喜好度2701。
在上述例子的用户喜好度2701中,利用用户在过去已经看过的节目,为每一个类别计算用户喜好度2703。因此,在节目推荐装置的引入开始时,还没有获得用户喜好度。因此,直接从用户接收该用户对于所述类别的好恶,并且将其存储在用户喜好度存储区2216中作为喜好度。
本装置能够由用户喜好度分析单元2223获得用户喜好度。同样,当用户想要修改所存储的用户喜好度时,本装置允许这种修改。
按如下执行初始设置。首先,显示图30的模板3001。在为所有类别3003设置“可变”按钮3006之后,在柱状图显示区3004中针对所有类别绘制柱状图。接着,将“可变”按钮3006改为“固定”按钮3005。按照这种方式,可以根据用户的意图来设置所述类别的用户喜好度。
按如下执行修改。如图32所示,显示当前存储在用户喜好度存储区2216中的用户喜好度。接着,为他想要修改的类别执行“可变”按钮3201的设置,并且扩展或缩小相应的柱状图3202,接着将“可变”按钮3201改为“固定”按钮3203。用户喜好度调整单元2226在所述修改后,根据修改后的柱状图的长度,将所述类别的喜好度记录在用户喜好度存储区2216中。
GUI控制单元2227在本装置所连接的电视屏幕上显示被推荐节目、节目表以及指定节目的推荐度,并且执行例如用于设置/修改用户喜好度的各种其它显示。稍后给出其细节。
节目信息获得单元2203具有与第一实施例中的EPG获得单元2相同的结构。
同样,用户输入接收单元2204相当于输入接收单元1。在节目处于被选状态时,所述用户输入接收单元2204接收关于哪个用户正在观看所述节目的输入,并且通知该用户的用户喜好度分析单元2223。这使得能够分析每一个用户的用户喜好度以及实现对每一个用户的节目推荐。
GUI生成单元2230利用GUI控制单元2227执行的控制来生成显示屏幕。
AV解码器2231输出由GUI生成单元2230生成的显示屏幕中包含的视频。
下面详细描述GUI控制单元2227。图33是示出GUI控制单元2227的细节的结构图。
所述GUI控制单元2227包括:周期节目信息获得单元3301、指定节目信息获得单元3302、类别标识单元3303、节目表创建单元3304、指定节目描述帧创建单元3305、评价值图形化单元3306、指定节目内容帧创建单元3307以及显示信息合成单元3308。
当从用户输入单元2204接收到用于显示节目表的指令时,周期节目信息获得单元3301从节目信息存储区2210中获得在包含当前时间在内的预定周期(例如,两个小时)期间广播的节目的节目信息,并且向节目表创建单元3304通知所获得的节目信息。当周期节目信息获得单元3301从用户输入接收单元2204接收到来自于所显示节目表中的指定节目的通知时,它向指定节目信息获得单元3302通知该指定节目的节目信息。
当从用户输入接收单元2204接收到该指定节目的通知并且从周期节目信息获得单元3301接收到该指定节目的节目信息的通知时,指定节目信息获得单元3302向指定节目描述帧创建单元3305和类别标识单元3303通知将要显示在节目描述栏2906中的指定节目的节目描述。另外,指定节目信息获得单元3302向评价值图形化单元3306通知该指定节目的名称。
类别标识单元3303从类别标识信息存储区2213中提取每一个类别的类别标识信息,并且向节目表创建单元3304、指定节目描述帧创建单元3305以及向评价值图形化单元3306通知所提取的类别标识信息。另外,类别标识单元3303在存储在类别词典存储区2212中的类别词典中搜索由指定节目信息获得单元3302通知的节目信息中包括的关键词。类别标识单元3303向指定节目描述帧创建单元3305通知获得每一个关键词的高贡献度的类别。
节目表创建单元3304利用从GUI管理信息存储区2219中获得的模板2901以及由周期节目信息获得单元3301通知的节目信息来创建节目表。在这个操作中,节目表创建单元3304根据类别标识单元3303所通知的标识信息,将颜色添加到所述节目的节目栏。节目表创建单元3304也根据标识信息2903将颜色添加到位于节目表的显示区2904上面的每一个类别的标识信息2903,并且将适当的数量显示到节目表中的日期2902。将所创建的节目表通知给显示信息合成单元3308。
当从指定节目信息获得单元3302接收到指定节目的节目信息的通知时,指定节目描述帧创建单元3305从GUI管理信息存储区2219中读取模板2901,并且向指定节目内容帧创建单元3307通知所述节目信息和节目描述栏2906,以及向它通知所述节目信息的描述中包括的关键词的颜色。
当从类别标识单元3303接收到类别标识信息的通知以及从指定节目信息获得单元3302接收到指定节目名称的通知时,评价值图形化单元3306读取与指定节目名称相对应的节目的类别评价值,并且从用户喜好度存储区2216中读取已经指定节目名称的用户的用户喜好度。接着,评价值图形化单元3306在从GUI管理信息存储区2219中读取的模板2901的雷达图形2907中绘制类别评价值和用户喜好度,并且向指定节目内容帧创建单元3307通知上述操作的完成。
指定节目内容帧创建单元3307从节目推荐度存储区2217中读取指定节目的推荐度,并且通过根据节目的推荐度给星添加颜色来显示推荐度2905。
另外,指定节目内容帧创建单元3307向显示信息合成单元3308通知由指定节目描述帧创建单元3305通知的节目描述栏以及由评价值图形化单元3306通知的雷达图形。
显示信息合成单元3308合成在节目表创建单元3304中创建的节目表、由指定节目内容帧创建单元3307通知的雷达图形等等,并且向GUI生成单元2230通知合成的结果。
GUI生成单元2230产生如图34所示的GUI屏幕。在GUI屏幕3401中,使用斜线等等来标识在类别标识信息3402和节目表3403中的类别。然而,在实际的屏幕中,使用类别标识信息中所指定的不同颜色。
在GUI屏幕3401中,雷达图形3407中的黑色圆圈中所示的推荐度3405、节目描述栏3406和类别评价值3408与用户已经指定的节目表3403中的节目3409有关。
在这个节目表3403中,每一个节目通过被分到其类别评价值为最大的类别中来加以显示。当用户指定一节目时,使用其颜色被改变的星的数量来显示该节目的推荐度3405。以雷达图形来显示用户喜好度3410和类别评价值3408,并且在节目描述栏3406中显示节目描述。利用这些显示,用户能够容易地判断是否观看所述节目。
例如,如果在推荐度3405中,其颜色被改变的星的数量少,则用户能够指定另一个节目以供选择与用户的喜好度匹配的节目。
接下来,利用图35的流程图来描述作为本实施例的主要操作的推荐度的显示操作。
首先,用户输入接收单元2204等待直到从用户接收到显示节目表的指令(S3502)。当接收到节目表的显示指令时,周期节目信息获得单元3301获得在预定周期内广播的节目信息(S3504)。
节目表创建单元3304根据该节目信息创建节目表,并且通过GUI生成单元2230在电视屏幕上显示节目表(S3506)。
接下来,用户输入接收单元2204等待直到从用户接收到当前显示的节目表当中的一个节目的说明。
评价值图形单元3306从节目类别评价值存储区2214中获得指定节目的标准化的类别评价值(S3510),并且从用户喜好度存储区2216中获得标准化的用户喜好度(S3514)。
在标准化的类别值中,将所述类别的类别评价值进行标准化以使最大值为“1.0”,且最小值为“0.0”。在标准化的用户喜好度中,将所述类别的用户喜好度进行标准化以使最大值为“1.0”,且最小值为“0.0”。
评价值图形化单元3306产生雷达图形(S3514),并且通过GUI生成单元2230在电视屏幕上显示雷达图形。
节目推荐度计算单元2224利用等式(1)来计算推荐度R、指定节目的类别评价值和用户喜好度,并且将推荐度R存储在节目推荐度存储区2217中(S3516)。
指定节目内容帧创建单元3307从节目推荐度存储区2217中读取指定节目的推荐度R,将与推荐度R相对应的数量四舍五入成最接近的整数,按与该整数数量相对应的数量改变星的颜色以表示推荐度,并且通过GUI生成单元2230在显示屏幕中显示推荐度(S3518)。
判断已经查看指定节目的推荐度等等的用户是否已经选择了指定节目以供观看(S3520)。当判定指定节目被选择时,所述处理结束。当判定指定节目未被选择时,所述控制返回到步骤S3508。
需要注意的是:在本实施例中,所述节目推荐装置是通过连接到外部电视等等来使用的。然而,不用说,所述节目推荐装置可以与电视接收装置、记录装置以及进一步与机顶盒组装为一个整体来使用。