本申请基于2004年11月1日递交的澳大利亚专利申请No.2004906288,以及2004年11月1日递交的澳大利亚专利申请No.2004906289,并要求其优先权。所述申请的全部内容通过引用被结合到本申请中,视同在本申请中进行了完整的说明。
具体实施方式
当任何附图中有具有相同附图标记的步骤和/或特征时,这些步骤和/或特征就本说明书而言具有相同的功能或者操作,除非有相反的意图。
应当注意,“背景技术”部分所包含的内容以及与现有技术方案相关的内容都涉及到通过各自的出版和/或使用而形成公有知识的文献或者设备。这些内容不能被解释为本申请的发明人或者专利申请人的有关所述文献或者设备以任何方式构成本领域的公知常识的陈述。
这里所说明的方法的原理普遍适用于包括数据项目集合和用于搜索和取出与这些数据项目中的选定数据项目有关的数据的任何环境。但是,为了便于说明,对方法的步骤的说明是针对用于在电视机上观看的电视节目的选择以及与电视节目相关的数据属性的显示来进行的。但是这不是要把本发明限制于所描述的方法。例如,所描述的方法可以应用于在线购物目录、数字相册等。
图1图示了可以实施本发明的方法的电视系统100的硬件结构。该系统100包括连接到体现为电视机112(例如数字电视机)的形式的显示设备的机顶盒101。该系统100还包括体现为遥控单元105的形式的控制器,该控制单元可以被配置为选择对应于要在电视机112上显示的电视节目的数据项目。如图1所示,遥控单元105包括方指南航按钮106和特殊功能按钮107、108和111。遥控单元105的按钮106,107,108和111可以采用任何形式。例如,按钮106,107,108和111中的一个或者多个可以是印刷或者形成在遥控单元105的表面上的限定区域,可由用户以类似于图1所示的按钮106,107,108和111的方式加以选择。遥控单元105还可以采用智能卡(未图示)以及智能卡读卡器(未图示)的形式,其中智能卡具有形成在其表面上的许多用户可选的标记(或者区域)。在这种情况下,用户可选的标记可以以类似于遥控单元105的按钮106,107,108和111的方式布置在智能卡的表面上。
机顶盒101可以用来解释根据对遥控单元105的按钮106,107,108和111中的一个或者多个的按压或者选择从遥控单元105接收的信号109,从而允许在系统100内发生控制事件。这些控制事件可以导致系统100的状态的变化,和/或在电视机112上进行的适当的再现。这将在下面描述。
在系统100中,遥控单元105可以使用射频或者红外(IR)收发器(未图示)向机顶盒101发射信号109。或者,遥控单元105可以通过通信电缆(未图示)有线连接(硬连线)到机顶盒101。类似地,图1中的机顶盒101被图示为通过通信电缆104连接到电视屏幕112。或者,可以不通过有线连接,也用射频或者IR收发器1308(见图13)进行机顶盒101和电视机112之间的通信。
图13更详细地图示了系统100的机顶盒101。某些实现方式的机顶盒101基本上就是传统的计算机系统的缩放版。这样的计算机系统可以包括IBM-PC以及兼容机、Sun Sparcstation或者由之衍生出来的类似计算机系统。
机顶盒101一般包括至少一个中央处理器(CPU)1305、存储器单元1306(例如由半导体随机存取存储器(RAM)和只读存储器(ROM)形成)。CPU 1305也可以被称为“处理器”。机顶盒101还包括输入输出(I/O)接口,包括至少一个I/O接口1313,用来在与电视机112之间来回发送数据。I/O接口1313也可以用来在与另一个设备比如便携式软盘驱动器、CD-ROM驱动器之间来回发送数据,甚至在与通信网络(例如因特网)之间来回发送数据。机顶盒101的输入输出(I/O)接口一般还包括用于IR收发器1308的I/O接口1315。IR收发器1308可以被配置为收发信号109。机顶盒101的部件1305,1306,1308,1313和1315一般通过互连总线1304通信,通信方式导致传统的工作模式。从遥控单元105接收到的数据的中间存储可以用半导体存储器1306完成。或者,机顶盒101的部件1305,1306,1308,1313和1315可以被配置在电视机112内。
实现这里所描述的方法的软件程序可以驻留在存储器1306中,在执行过程中可由机顶盒101的CPU 1305读出和控制。软件程序的中间存储可以用半导体存储器1306(可以与CPU 1305配合)完成。在某些情况下,软件程序可以用CD-ROM或者软盘提供,通过I/O接口1313下载到存储器1306。另外,软件程序还可以从其它计算机可读存储介质装载到存储器1306中,这些存储介质包括磁带、ROM或者集成电路、磁光盘、机顶盒101和另一个设备之间的无线电或者红外传输通道、计算机可读卡比如智能卡、计算机PCMCIA卡、TV广播,以及因特网和内联网,包括通过记录在网址上的信息的电子邮件传输,等等。前面只是对有关的计算机可读介质的举例。也能够实施其它的计算机可读存储介质而不脱离本发明的由所附权利要求限定的范围。
这里所描述的方法或者可以在专用硬件中实现。所述专用硬件比如是一个或者多个执行所描述的方法的功能或者子功能的集成电路。这样的专用硬件可以包括图形处理器、数字信号处理器或者一个或多个微处理器及相关存储器。
在系统100中,存储器单元1306包含存储在其中的多个数据项目。每一个数据项目对应于当前正在广播的或者可以在将来某个时候广播的电视节目。每一个数据项目可以包括描述对应的电视节目名称、广播细节比如对应的电视节目的广播频道和事件和/或对应于与相应电视节目相关的各种数据属性(例如流派、演员、导演、奖项、制片人、系列、制片厂等)的数据值的元数据集。
图1所示的电视机112显示了一个用户界面110。该用户界面110是PCU 1305根据这里所描述的方法绘制并通过通信电缆104传输到电视机112的。该用户界面110可以重叠在电视机112正在显示的任何实播视频流上。由遥控单元105发射的信号109由CPU 1305接收到,取决于选中了按钮106,107,108和111中的哪一个,会导致对用户界面110的改变。这将在下面详细说明。
图2更详细地图示了用户界面110。用户界面110包括由具有预定的空间排布的多个卫星区202、205、208和211环绕的中央区200。该中央区200包含与存储器1306中存储的特定电视节目对应的电视节目名201。对应于示于中央区200中的电视节目名201的电视节目被称为“枢纽节目”。
除了属性名204、207、210和213之外,每一个卫星区202、205、208和211也分别包含电视节目名203、206、209和212。电视节目名203、206、209和212代表通过共享一个或者多个数据属性(例如流派、演员、导演、奖项、制片人、系列、制片厂等)的相似值而与枢纽节目201相关联的电视节目。电视节目名203、206、209和212所代表的电视节目借以与枢纽节目201相关联的数据属性分别在每一个卫星区202、205、208和211中被示为属性名204、207、210和213。因此,在每一个卫星区202、205、208和211中所示的属性名204、207、210和213向系统100的用户指明每一个卫星区202、205、208和211中所表示的电视节目与枢纽节目201之间的关联。
图12的流程图图示了使用用户界面110显示与对应于某个电视节目(例如节目B)的选定数据项目相关的数据属性的方法1200。该方法1200可以被实现为驻留在存储器1306中、在执行时由CPU 1305控制的软件。
该方法1200始于第一步骤1202,其中CPU 1305检测对用户界面110上卫星区202、205、208和211之一(代表对应于某个电视节目(例如节目B)的第一数据项目)的选择。可以使用遥控单元105的按钮106,107,108和111选择卫星区202、205、208和211。在下一个步骤1203,响应于用遥控单元105对卫星区202、205、208和211之一的选择,CPU 1305用所选中的卫星区中的第一数据项目所对应的电视节目名(例如203)来更新显示在中央区200中的枢纽节目201,这将在下面详细描述。在步骤1203,CPU 1305还将每一个卫星区202、205、208和211更新为对应于基于存储器单元1306的搜索的第二数据项目的显示。每一个第二数据项目代表与更新后的枢纽节目201相关联的新的电视节目。当枢纽节目201在步骤1203被更新时,每一个卫星区202、205、208和211的属性名204、207、210和213也都被更新。更新后的属性名204、207、210和213指示每一个卫星区202、205、208和211中的关联电视节目名(例如203)所表示的新的电视节目(也就是第二数据项目)与更新后的枢纽节目201之间的关联。该方法1200在步骤1203之后结束。
该方法1200可以用来显示与存储器单元1306中所包含的电视节目相关联的数据属性,直到找到了适合观看、记录(录制)或者进行其它动作的电视节目。
响应于使用遥控单元105再次对卫星区202、205、208和211之一的选择,可以重复该方法1200的步骤。在这种情况下,CPU 1305再次用所选中的卫星区中的第二数据项目所对应的电视节目名(例如203)来更新显示在中央区200中的枢纽节目201,这将在下面详细描述。CPU 1305还将每一个卫星区202、205、208和211更新为对应于基于存储器单元1306的搜索的第三数据项目的显示。每一个第三数据项目代表与更新后的枢纽节目201相关联的新的电视节目。
如图2所示,可以用卫星区202的可视的高亮指示标记214来表示示于卫星区202中的电视节目名203已经被选中,并且正有作用于电视节目名203所代表的电视节目的动作在等待中。等待中的动作可以是要用该电视节目名203来更新枢纽节目201(也就是节目名203成为新的枢纽节目201)。可以用黑体字来区分选中的电视节目名203与未被选中的节目名206、209和212。
图3图示了图2的用户界面110,但是包括一个附加区301,该区包含一个附加电视节目名302。该附加区301使得能够通过别的方式选择新的枢纽节目201,而不是通过与另一个电视节目(另一个电视节目名所代表的电视节目)共有一个或者多个类似(相同)的数据属性的方式。例如,该附加区301中的附加电视节目名302可以表示与枢纽节目201最不相关的电视节目,这使得系统100的用户能够进行“通配的”(任意的)选择。图3的用户界面110的附加电视节目名302允许快速地搜索不同于当前枢纽节目201(也就是当前在中央区200中显示的电视节目名)的电视节目。该附加区301可以用在这样的情况下:如上所述对卫星区202、205、208和211的选择以及与所选中的卫星区202、205、208和211相关的电视节目的显示所指引的方向不是用户感兴趣的。
又例如,附加区301中的电视节目名302可以是不同于枢纽节目201的最受推荐的电视节目。或者,附加区301中的电视节目名302可以是不同于枢纽节目201的随机选择的电视节目。
图4A和4B图示了与图3的用户界面110在一起的遥控单元105。如图4A所示,遥控单元105具有特殊功能按钮111,其中一个按钮406被配置为启动图4B中的用户界面110。如图4A所示,图符407指示按钮406的功能。
方向按钮106包括“上”方向按钮401、“右”方向按钮402、“下”方向按钮403、“左”方向按钮404以及中央按钮405。图4B中用户界面110的卫星区202、205、208和211的空间布置分别对应于方向按钮401、402、403和404的空间布置。类似地,用户界面110的中央区200对应于遥控单元105的中央按钮405。遥控单元105和用户界面110的上述布置使得用户易于理解遥控单元105的方向按钮401、402、403和404和用户界面110上的相应卫星区202、205、208和211之间的对应关系。
图5A和5B图示了遥控单元105和另一个用户界面510。该用户界面510包括中央区511和卫星区512、513、514和515。如图5B所示,各区511、512、513、514和515不直接与遥控单元105的方向按钮401、402、403和404的空间布置对应。对于用户界面510,可以用每一个区域512、513、514和515内的可视指示标记(例如516)来将区域512、513、514和515与遥控单元105上的方向按钮401、402、403和404可视地联系起来。用户界面510的布局减少了例如在电视机上显示用户界面510所需的竖直空间量。
图5C图示了另一个用户界面520。该用户界面520包括区域521、522、523、524和525。按照线性序列布置区域522、523、524和525,而不是布置为包含枢纽节目(例如枢纽节目201)的区域521的卫星区。如图5B所示,区域522、523、524和525映射到遥控单元105的特殊功能按钮108(也就是功能按钮501、502、503和504)的空间布置。对于用户界面520,可以分别用功能按钮501、502、503和504来选择区域522、523、524和525,而不是使用遥控单元105的方向按钮401、402、403和404。
图6的流程图图示了使用图4A的遥控单元105和图4B的用户界面110选择电视节目的方法600。该方法600可以实现为驻留于机顶盒101的存储器1306中、在执行时由CPU 1305控制的软件。该方法600在如下所述的步骤602的开始和步骤607的完成之间的执行期间被称为“浏览期”。
该方法600始于第一步骤602,其中,如果检测到从遥控单元105接收到的信号,则CPU 1305绘制用户界面110并将绘制的用户界面110传输到电视机112,显示在电视机112上。该信号可以由遥控单元105在步骤602例如响应于用户对功能按钮406的选择而发送。在步骤602绘制用户界面110时,CPU 1305将电视节目的名称绘制在中央区200中。绘制在中央区200中的电视节目可以是用户当前正在观看的电视节目。该电视节目是初始的枢纽节目201。该用户界面110可以重叠在电视机112上正在观看的电视节目的实播视频上。
或者,该初始枢纽节目201可以是用户从例如电子节目指南中选择的电视节目。在步骤602,除了属性名204、207、210和213之外,CPU 1305还分别在每一个卫星区202、205、208和211中描绘电视节目名。用户界面110的每一个卫星区202、205、208和211中的每一个电视节目名(例如203)代表通过共享一个或者多个数据属性(例如流派、演员、导演、奖项、制片人、系列、制片厂等)的相似值而与该初始枢纽节目201相关的电视节目。这些数据属性之一或者其它数据属性被显示为每一个卫星区202、205、208和211中的属性名204、207、210和213。在步骤602,可以由CPU 1305从机顶盒101的存储器1306中选择在每一个卫星区202、205、208和211中绘制的电视节目名和数据属性。
在下一个步骤603,如果检测到从遥控单元105接收到的另一个信号并且表示对卫星区之一(例如202)的选择,则CPU 1305更新枢纽节目201。在步骤603,CPU 1305通过用所选中的卫星区所表示的电视节目名(例如节目B)替换初始枢纽节目201来更新枢纽节目201,这样使得所选中的卫星区的电视节目成为当前枢纽节目201。或者,CPU 1305可以响应于检测到的来自遥控单元105的信号,利用如上所述的可视高亮指示标记214来突出显示在步骤603选中的卫星区。在这种情况下,CPU 1305可以在接收到来自遥控单元105的另一个信号时更新初始枢纽节目201。这另一个信号可以由遥控单元105例如响应于对中央按钮405的选择而发送。
例如,在步骤603,用户界面110的电视节目名203、206、209和212中的特定一个可以用来更新初始枢纽节目201。
在步骤603,在选中卫星区时也可以执行其它动作,比如计划对所选中的卫星区(例如202)所代表的电视节目的记录(录制)。这些其它动作可以在,例如,选中遥控单元105的一个或者多个功能按钮107、108和111时被执行。
该方法600在下一个步骤604继续。在该步骤,CPU 1305分别将每一个卫星区202、205、208和211中的电视节目名203、206、209和212和属性名204、207、210和213更新为表示与当前枢纽节目201相关的电视节目。同样,在步骤604,可以由CPU 1305从机顶盒101的存储器1306选择在每一个卫星区202、205、208和211中描绘的电视节目名和数据属性。例如,在步骤604,仅当在同一浏览期中特定电视节目名未曾作为枢纽节目201过,才能选择该特定电视节目名并用来更新卫星区202、205、208和211的电视节目名203、206、209和212。或者,在步骤604选择的一个或者多个电视节目名可以在当前浏览期中曾经做过枢纽节目201。又例如,在步骤604,仅当特定电视节目不是同一浏览期中紧挨着当前枢纽节目201的前一个枢纽节目时,才可以选择该特定电视节目名并用来更新卫星区202、205、208和211的电视节目名203、206、209和212。
例如,图7图示了在更新了中央区200中的枢纽节目201并更新了每一个卫星区202、205、210和213之后图2的用户界面110。对于图2的用户界面110,“节目A”是当前枢纽节目201,被图示为在中央区200中予以描绘。“节目B”、“节目C”、“节目D”和“节目E”被图示为分别在卫星区202、205、210和213中予以描绘,作为通过共享属性之一(分别是“属性1”204、“属性2”207、“属性3”210和“属性4”213)的类似值(相同值)而与当前枢纽节目201相关的电视节目。在图7的例子中,用户例如使用方向按钮401、402、403、404和405选择代表节目B的卫星区202。对卫星区202的选择启动了用户界面110从图2所示的状态向图7所示的状态的转换。对于图7的用户界面110,节目B成为当前枢纽节目201,被显示在用户界面110的中央区200中。在每一个卫星区202、205、206和207中显示节目F、节目G、节目H和节目J,表示它们分别通过共享一个或者多个相似的属性值(“系列”204、“制片人”207、“制片厂”210和“演员”213)而与当前枢纽节目201相关联。
该方法600在下一个步骤605继续。在该步骤,CPU 1305从遥控单元105接收进一步的信号。在步骤605,如果CPU 1305接收到的信号表示对遥控单元105的中央按钮405的选择,则该方法600前进到步骤606。该信号表示用户希望观看由当前枢纽节目201所代表的电视节目。不然,由CPU 1305接收到的信号再次代表对卫星区之一(例如202)的选择,该方法600返回步骤603。
在步骤606,CPU 1305将电视机112调谐到当前正在广播当前枢纽节目201所代表的电视节目的频道。例如,CPU 1305可以向电视机112内的调谐器通过通信电缆104发送信号,以将电视机112调谐到所述频道。或者,在步骤606,CPU 1305可以执行别的控制事件,例如计划对当前枢纽节目201所代表的电视节目的记录(录制)。在下一个步骤607,隐藏用户界面110(例如将其缩小或者从显示屏上移除),该方法600结束。
上面结合用户界面110描述了该方法600。或者,用户界面510和520或者这里描述的用户界面110的别的方案也可以用于该方法600。下面详细描述该方法600。
如上所述,存储器单元1306其中存储了多个数据项目。每一个数据项目对应于当前正在广播的电视节目或者在将来某个时候要广播的电视节目。每一个数据项目可以包括元数据集。元数据集至少描述对应的电视节目的名称、对应的电视节目的广播细节比如频道和广播时间以及对应于相应的电视节目的各种数据属性(例如流派、演员、导演、奖项、制片人、系列、制片厂)的数据值。对于存储器单元1306中所存储的任意两个特定的数据项目,对两个数据项目之间的相似性可以通过定义一个距离量度来加以量化,该距离量度为与这两个数据项目中的每一个相关的数据属性(也就是元数据集)的函数。该距离量度可以是高达N维的函数,其中N表示数据属性集中不同数据属性的数量。
图8图示了对于数据属性之一,可以用来确定存储器1306中存储的任意两个数据项目之间的距离的距离矩阵805。该距离矩阵805包括数据属性800(也就是“演员”)和属性项目(例如A 801和F 802)。矩阵805的这些数据项目(例如A 801和F 802)代表存储在机顶盒101的存储器1306中的数据项目。在图8的例子中,距离矩阵805的每一个数据项目(例如A 801和F 802)对应于当前正在广播的电视节目或者在将来某个时候要广播的电视节目。该距离矩阵805还包括距离值(例如803),代表对于某个数据属性(例如800),任意两个数据项目(例如A 801和F 802)之间的距离。例如,距离值803代表数据项目A 801和F 802之间的距离,可以根据与每一个数据项目A 801和F 802相关的数据属性800的值之间的相似性来确定。在图8的例子中,与所考虑的数据项目A 801和F 802相关的属性是属性“演员”800。在图8的例子中,对于距离矩阵805中的任意两个数据项目(例如806和801),如果它们所代表的电视节目对于“演员”属性800来说具有相同的值,则它们的相关距离值807为0。也就是,这两个数据项目801和806所代表的两个电视节目的演员是一样的。相反,如果对于“演员”属性800两个数据项目801和802具有不同的值,则距离值803等于1。
实现这里所描述的方法的软件可以被分为三个逻辑部件,包括数据部件1000、处理部件1001和用户界面部件1002,如图10所示。数据部件1000包括列出电视节目数据的电子节目指南1003、包括用户数据的用户简档1005以及包括特定于用户的电视节目推荐的推荐列表1009。数据部件1000还可以包括当前场景1007,包括诸如当前正在观看的电视节目、当前选择的电视节目以及在当前浏览期中选择的电视节目的序列等数据。
处理部件1001利用来自数据部件1000的数据确定用于在电视机112上显示的推荐电视节目的集合。该处理部件1001可以根据确定一个适当的数据属性的集合的数据属性选择策略1004和对每一个数据属性确定推荐节目的节目选择策略1011来加以配置。用户界面部件1002例如根据上面所描述的任意一个用户界面110、510和520的方案来在电视机112上显示推荐电视节目。
这里所描述的方法在节目空间内工作。例如,该节目空间包括当前正在广播的电视节目以及在不远的将来要广播的电视节目。或者,该节目空间可以包括当前正在广播的电视节目以及所有未来的节目。又例如,节目空间包括在存储器1306中存储的电子节目指南中的所有电视节目。又例如,节目空间只包括当前正在广播的电视节目。
图11的流程图图示了利用图4A的遥控单元和图4B的用户界面选择电视节目的方法1100。用户界面510或者520中的任意一个都可以用于该方法1100。该方法1100可以被实现为驻留于机顶盒101的存储器1306中、在执行时由CPU 1305控制的软件。同样,该方法1100在如下所述的步骤1101的开始和步骤1109的完成之间的执行期间被称为“浏览期”。该方法1100可以在如上所述的任何节目空间中执行。
该方法1100始于第一步骤1101,其中,CPU 1305生成电视节目推荐列表1009,用于根据用户的偏好向系统100的用户推荐一个或者多个电视节目。该推荐列表1009可以在步骤1101根据任何合适的推荐系统(包括但不限于机器学习算法)来生成。
例如,可以在浏览期开始时动态生成电视节目推荐列表1009。或者,可以定期生成并在存储器1306中存储电视节目推荐列表1009。在这种情况下,在浏览期开始时,可以从存储器1306取出电视节目推荐列表1009。
在该方法1100的下一个步骤1102,CPU 1305对与电视节目推荐列表1009中的电视节目相关的每一个数据属性确定距离矩阵(例如矩阵800)。在步骤1102确定的距离矩阵可以被配置为一组数学函数,这些数学函数根据下列公式(1)将推荐列表1009中的任意两个电视节目映射到或者为0或者为1的距离:
这里,p和q代表两个电视节目,va(p)和va(q)代表分别与每一个节目p和q相关的属性a的值。
或者,在步骤1102确定的距离矩阵可以被配置为一组数学函数,将推荐列表1009中的任意两个电视节目映射到某个数值的距离。例如,对于两个具有数值属性值的电视节目,这两个电视节目之间的距离可以是与这两个电视节目相关的属性值之间的绝对差。
可以对在其中执行该方法1100的特定节目空间中的任何两个电视节目确定在步骤1102确定的距离矩阵。在这种情况下,距离矩阵可以被存储在存储器1306中,并可以在浏览期开始时从存储器1306中取出。或者,在步骤1102确定的距离矩阵可以按照该方法1100的需要来确定。
该方法1100在下一个步骤1103继续。在该步骤中,CPU 1305选择电视节目,并将所选中的电视节目设置为当前枢纽节目201。在步骤1103选择的电视节目可以是当前正在观看的电视节目。或者,在步骤1103选择的电视节目可以是用户以前从存储器1306内配置的电子节目指南1003中选择的电视节目。在步骤1103选择的电视节目还可以是在步骤1101生成的电视节目推荐列表1009最为推荐的电视节目。
在该方法1100的下一个步骤1104,将在步骤1103被选为当前枢纽节目201的电视节目的名称(或者代表该名称的唯一标识符)存储在存储器1306中,作为当前场景的数据。存储当前枢纽节目201允许回溯当前浏览期的浏览路径。但是,如果不需要回溯,则不需要存储当前枢纽节目201。在步骤1104,当前枢纽节目201的名称也可以被显示在电视机112上,根据图4B的用户界面1100显示在区域200中。
然后,在该方法1100的下一个步骤1105,CPU 1305选择与当前枢纽节目201相关的一个或者多个数据属性,作为候选属性。在步骤1105选择的数据属性构成搜索条件集。所选中的数据属性可以用来选择用于浏览存储在存储器1306中的数据项目的电视节目选项。在这里所描述的例子中,可以基于下述预定标准在步骤1105动态选择多达四个数据属性:
(i)当前枢纽节目;以及
(ii)如下面将要详细讨论的,电视节目使用:(a)信息增益,或者(b)独特性,推荐其作为选中的候选数据属性的有效性(可用性)。
在这种情况下,术语“动态(地)”的意思是在步骤1105由CPU1305基本上自动地选择数据属性。在执行该方法1100时在步骤1105选择数据属性,而不需要用户的输入来选择数据属性。或者,可以使用用户输入来在步骤1105选择数据属性。
在步骤1105选择的数据属性尽可能是唯一(独特)的。在这种情况下,由于元数据可用性差或者下面将要讨论的其它标准,可以对枢纽节目201重复所选择的数据属性。元数据缺乏的一个例子是缺乏与当前枢纽节目201相关联的可用的属性值,因此可用的数据属性的数量小于预定数量。该预定数量在图2、3、4B、5B和5C的方案中可以是4。
如上所述,或者也可以利用信息增益来选择在步骤1105选择的数据属性。数据属性的信息增益是一个数值,该数值用来量化该数据属性在判断哪一个电视节目以前已经被系统100的用户看过或者是没看过方面有用的程度。根据下面的公式(2)可以确定属性a的信息增益I和分类w:
这里,w表示“被观看过”这个类别,从而,被分类为“观看过的”的电视节目就已经被电视系统100判断为系统100的用户此前已经观看过了。例如,电视系统100可以使用特定统计数据判断用户以前是否观看过一个电视节目。Hw表示分类w的熵(平均信息量),n表示属性a的不同取值的总数,vai表示属性a的所有不同值的集合中的一个值;Pvai表示一个电视节目对属性a具有值vai的概率,H<w|vai>表示在a具有值vai的情况下分类w的熵。
分类w的熵H可以根据下面的公式(3)确定:
Hw=-Pwlog(Pw) (3)
这里,Pw表示一个电视节目具有分类w的概率。在属性a具有值vai的情况下分类w的熵H可以根据下面的公式(4)确定:
H<w|vai>=-<Pw|vai>log<Pw|vai> (4)
如这里所述,有对应的数据项目存储在存储器1306中的每一个电视节目的属性a的信息增益Ia是从系统100的用户过去的观看行为来确定的。根据公式(2),可以对存储器1306中存储的每一个数据属性a确定信息增益Ia的值。然后可以根据对每一个属性a确定的信息增益Ia对属性进行排序。然后,对于当前枢纽节目201不具有对应的值的所有经过排序的数据属性都可以废弃,可以选择对信息增益Ia具有最高对应值的属性作为步骤1105的属性。
如上所述,由于元数据可用性差或者其它的标准,对枢纽节目201可以重复所选择的数据属性。例如,可以根据以下标准的任意组合,来判断是否需要重复所选择的属性:
a)信息增益I的预定阈值;
b)第一属性和第二属性之间的信息增益I差;以及
c)枢纽节目201可用的属性数量。
对于上述标准a),可以在浏览期的开始之前(也就是在执行该方法1100之前)确定所述预定的阈值。当属性a的信息增益Ia低于所述预定阈值时,不重复该属性a。该预定阈值可以被设置在该浏览期的最小和最大信息增益I之间的半中间。
对于上述标准b),如果信息增益I在第一属性和第二数据属性之间的差比较大,则判断哪一个电视节目已被观看过时使用第一属性比使用第二属性更多。在这种情况下,则重复第一属性而不是选择第二属性。
对于上述标准c),如果当前枢纽节目201可用的属性数量小于所需数据属性的数量,则可以重复数据属性。在图2、3、4B、5B和5C的方案中,如果当前枢纽节目201可用的属性的数量小于4个数据属性,则可以重复数据属性。在步骤1105可以使用独特性来选择数据属性。数据属性的独特性是一个数值,用来量化枢纽节目201的属性的值在当前节目空间中的独特性有多高。在有|P|个节目的节目空间P上,具有值v的当前枢纽节目c的属性a的独特性U(a)可以根据下面的公式(5)确定:
Uc(a)=1-(∑pεPdista(va(p),va(f))/|P| (5)
这里dista(va(p),va(f))是确定上面结合公式(1)描述的两个属性值va(p)va(f)之间的距离的函数,|P|表示节目空间P中的电视节目的数量。
下面描述在步骤1105执行的,利用独特性选择与当前枢纽节目201相关联的一个或者多个数据属性用作候选属性的方法1400。该方法1400可以被实现为驻留于机顶盒101的存储器1306中的、在执行时由CPU 1305控制的软件。
该方法1400始于第一步骤1401,在这里,CPU 1305根据上述公式(5)确定与枢纽节目201相关联的数据属性的独特性Uc(a)。然后在下一个步骤1403,CPU 1305废弃所有Uc(a)=1的独特数据属性。在下一个步骤1405,将与当前枢纽节目201相关联的剩下的数据属性(也就是那些在步骤1403没有被废弃的属性)按照它们的独特性进行排序。该方法在下一个步骤1407结束。在该步骤,CPU 1305选择与枢纽节目201相关联的一个或者多个排序的数据属性用作候选属性。在步骤1407,选择具有最高独特性的数据属性作为候选属性。如果两个数据属性具有相同的独特性,则可以在步骤1407选择具有更高信息增益的数据属性。如果两个数据属性具有相同的信息增益,则可以在步骤1407随机地选择其中的一个作为候选属性。
除了如上所述自动选择数据属性、信息增益和独特性之外,在图11的步骤1105可以使用用户输入来选择数据属性。例如,在浏览期之前,可以由系统100的用户选择一个或者多个数据属性用作候选属性。在这种情况下,在浏览期的过程中,所选择的数据属性不改变。或者,可以由系统100的设计者在开发系统100的过程中选择一个或者多个数据属性作为候选属性。同样,在这种情况下,在浏览期的过程中所选择的数据属性不改变。
该方法1100在下一个步骤1106继续。在该步骤,CPU 1305对在步骤1105选择的每一个候选属性选择候选电视节目。利用在步骤1102确定的距离矩阵从步骤1101生成的电视节目推荐列表1009选择候选电视节目。如果候选电视节目满足下列标准,则可以在步骤1106对特定候选属性选择该候选电视节目:
a)所选择的候选电视节目在当前浏览期中从未做过枢纽节目;并且
b)该候选电视节目的该特定候选属性的值等于与枢纽节目201相关联的对应属性的值;并且
c)所选中的候选电视节目在上述b)选择的电视节目中具有最高的推荐等级。
如果不止一个电视节目具有同样高的推荐等级,并且对于对应于候选属性的属性具有相同的属性值,则选择与当前枢纽节目201“最接近”的电视节目。在这种情况下,可以根据下面的公式(6)确定“接近度”:
这里,dista(va(p),va(c))是根据上面的用于确定两个属性值va(p)和va(c)之间的距离的公式(1)确定的。如果对于特定的候选属性没有电视节目满足上面的选择标准a)、b)和c),则用在步骤1105选择的候选属性中的下一个来取代该特定候选属性。
除了对于特定候选属性具有相等的属性值之外,对于特定候选属性的属性值类似于当前枢纽节目201的属性值的电视节目也可以被示为候选电视节目。如果两个属性值之间的距离小于预定阈值距离,这两个属性值就可以被视为近似。所述预定阈值距离可以被设置在最小和最大距离值的半中间。
如上所述,由CPU 1305执行步骤1105的对一个或者多个数据属性的选择以及步骤1106的对候选属性的选择。或者,步骤1105和1106可以由不同的CPU执行,其中每一个CPU都可以被配置在机顶盒101内,或者一个或者两个CPU可以被配置在机顶盒的外部。
该方法1100在下一个步骤1107继续。在该步骤,根据图4B的用户界面1100,在枢纽节目201的附近,在电视机112上显示候选电视节目及其相关属性。如图4B所示,在用户界面1100的中央区200中显示在步骤1103设置的当前枢纽节目201,分别在卫星区202、205、208和211中连同对应的候选属性204、207、210和213一起显示在步骤1106选择的四个候选电视节目。或者,可以用用户界面110、510或者520中的任何一个或者其它合适的用户界面配置来向系统100的用户呈现枢纽节目201和候选电视节目和属性。
在下一个步骤1108,如果CPU 1305接收到表示选择了遥控单元105的中央按钮405的信号,则该方法1100前进到步骤1109。该信号表示用户希望观看、记录(录制)由枢纽节目201所代表的电视节目或者希望对之进行别的操作。反之,如果在步骤1108从CPU 1305接收的信号表示选择了在步骤1107显示的用户界面110上的卫星区之一(例如202),则该方法1100前进到步骤1110。
在步骤1109,选择当前枢纽节目201,该方法1100结束,从而该浏览期结束。如上所述,如果枢纽节目201所代表的电视节目是当前正在广播的,则CPU 1305然后可以将电视机112调谐到一个频道。如果当前枢纽节目201代表在将来要广播的电视节目,则电视系统100可以寻求用户进行输入,指出是否要记录(录制)该电视节目或者是否要生成提醒信息以在电视节目正在播出时提示用户。
在步骤1110,用在步骤1108用户所选择的卫星区(例如202)所代表的候选电视节目来替换当前枢纽节目201。在步骤1110之后,该方法1100返回步骤1104,在这里,将当前枢纽节目201存储到存储器1306中。然后可以重复步骤1104到1110,直到CPU 1305接收到表示选择了遥控单元105的中央按钮405从而选择了当前枢纽节目201的信号109。
在每一次重复步骤1105时,所选择的候选属性的新集合可以不同于所选择的候选属性的前一个集合。在这种情况下,所选择的候选属性的新集合构成新的搜索条件集。
在步骤1106对每一个候选属性选择候选电视节目之后,可以由CPU 1305从存储器1306选择一个附加候选电视节目。例如,该附加候选电视节目可以被选择为不同于在该方法1100的步骤1103设置的当前枢纽节目201。该附加候选电视节目可以在该方法1100的步骤1107被显示在用户界面110的区域301中。该附加候选电视节目可以是不同于枢纽节目201的最受推荐的电视节目。又例如,该附加候选电视节目可以是不同于在步骤1103设置的枢纽节目201的随机选择的电视节目。
前述的优选方法包括了特定的控制流。在不脱离本发明的实质范围的前提下,所述优选方法存在使用不同的控制流的许多其它的变型。另外,所述优选方法的一个或者多个步骤可以并行执行而非顺序执行。
上面只是描述了本发明的一些实施例。在不脱离本发明的实质范围的前提下,可以对这些实施例加以修改和/或变化。这些实施例只是说明性的而非限制性的。