背景技术
电视推荐器一直是非常活跃的研究和开发领域,当前可以获得许多针对电视推荐器的技术和设备。推荐器通常处理比如由电子节目指南(EPG)提供的节目信息,并且针对用户可能会喜欢的那些节目提出建议。这种推荐典型地是基于用户对多种节目属性的特定偏好,所述节目属性是由推荐器在评估可以获得的节目时所确定、存储并利用的。由推荐器对于一个用户所开发的偏好或推荐规则的列表一般被称作观众简档。
由推荐器所存储并应用的用户偏好还可以指示用户所不喜欢(实质上是负面偏好)的那些节目类型。由推荐器确定的用户所不喜欢的节目可以不再被进一步考虑(也就是说不呈现给用户),或者可以以负面指示呈现给用户(“负面”推荐)。
推荐器可以宽泛地被划分成多个类别。一种一般类型的推荐器可以总体上被归类为“隐式(implicit)”电视节目推荐器。隐式电视节目推荐器通常基于从用户的观看历史导出的信息以不引人注意的方式产生观众简档,并且把该观众简档作为后续的电视节目推荐确定的基础。其他类型的推荐器可以总体上被归类为“显式(explicit)”电视节目推荐器。显式电视节目推荐器明确地向用户询问他们对于节目属性的偏好以便导出观众简档,并且产生推荐,所述节目属性例如是标题、类型、演员、频道和日期/时间。显式电视节目推荐器以已知的方式处理用户反馈,以便产生包含一组规则的观众简档,该组规则实现用户的偏好,并且在提供后续的节目推荐确定时被使用。
不同类别的推荐器的各方面也可以被组合成单个推荐器。例如,单个推荐器可以通过如上所述的隐式和显式偏好而开发出观众简档。当在隐式地开发出的偏好与显式地开发出的偏好之间存在冲突时,所述推荐器规则可以选择显式偏好,或者例如对二者进行平均。因此,将基于隐式偏好与显式偏好的综合来评估输入节目。对于综合推荐器的描述可以在共同未决且共同拥有的标题为“Three-Way MediaRecommendation Method and System”的美国专利申请序列号09/627,139中找到,该申请于2000年7月27日提交,其发明人为Schaffer、Lee和Gutta,在此合并该申请的全部内容以作参考。另一种综合推荐器在共同未决且共同拥有的标题为“Method and Apparatusfor Generating Recommendation Scores Using Implicit and ExplicitViewing Preferences”的美国专利申请序列号09/666,401中进行了描述,该申请于2000年9月20日提交,其发明人为Kurapati、Schaffer和Gutta,在此合并该申请的全部内容以作参考。
虽然现有的电视推荐器识别给定用户可能感兴趣或者可能不感兴趣的节目,但是它们具有许多限制,如果克服了这些限制,则可以进一步提高所产生的节目推荐确定的质量。举例来说,推荐器通常依赖于与节目一起提供的数据来确定偏好。这种数据典型地由服务供应商提供,或者与节目视频本身包括在一起(例如元数据)。推荐器对于所接收的数据的这种不加质疑的依赖性可能导致错误地识别的偏好和推荐(或者未推荐)。
作为一个特定的例子,对应于正由用户观看的特定电影的元数据可以把演员标识为Tom Cruise和Nicole Kidman。在一个隐式类型的推荐器中,该推荐器在开发偏好简档的过程中可以利用电影类型以及演员Tom Cruise和Nicole Kidman来作为正面属性。然而,该用户最喜欢的演员Aidan Quinn可能实际上是该部电影的主演(或重要演员),但是却没有被包括在所述元数据中。因此,该推荐器在开发用户简档的过程中并没有捕捉到关于用户最喜欢的演员的重要信息。结果,当EPG后来所包括的一个节目标识出其中一个演员是Aidan Quinn时,该推荐器可能不会把该节目推荐给用户。
此外,由服务供应商在所述元数据或其他节目数据中提供的演员姓名的顺序一般对于演员角色的重要性没有特别的相关性。因此,即使上面的电影实例列出了Aiden Quinn,他的姓名可能出现在第五演员字段中,尽管他实际上是该部电影中的主演。例如,如果所述推荐器在开发用户偏好或者做出推荐的过程中仅仅利用前两个演员字段,则有可能再次发生如上所述的类似结果。
此外,以类似的方式,对于在EPG中接收到的节目进行评估的推荐器可能还依赖于所提供的演员数据和/或排序。在所述EPG中排除、错误地包括以及/或者错误地排位对应于该节目的演员数据都可能导致所述观众简档对该节目的错误评估,从而有可能给出不正确的正面推荐确定或者错误的负面推荐确定。
发明内容
本发明特别包括一种电视节目推荐器,其使用除了对于节目所接收到的数据之外的单独的源来识别该节目中的一个或多个主要演员,并且调节对于该节目所接收到的所述主要演员数据以便包括所述单独确定的一个或多个演员。可以简单地用所述单独识别出的一个或多个演员来替换对于所述节目所接收到的演员数据。作为一个替换实例,所述推荐器可以首先确定是否要调节所接收的演员数据。举例来说,该推荐器可以首先确定在对于该节目所接收到的数据中是否缺失单独识别出的主要演员,如果是的话则调节所接收的数据以便包括该缺失的演员。例如,可以用该缺失的演员来替换所接收的数据中的其中一个演员字段,或者可以把该缺失的演员包括在一个新的字段中。该推荐器还可以确定单独识别出的主要演员在对于该节目所接收到的数据中是否被错误地排位,如果是的话则调节所接收的数据以便对该演员进行正确的排位。
所述节目数据可以与节目一起被接收,该节目被所述推荐器用来创建观众简档。因此,所述节目数据可以例如与用户已经选择观看的节目的视频一起被接收。存在多种单独识别主要演员数据(以及排位,如果适用的话)的方式。例如,对于当前正由用户观看的节目,该推荐器(或者另一个模块)可以监视该节目的介绍文字、识别诸如“主要演员”之类的关键词以及识别与之相关联的一个或多个姓名。此外,所述姓名在该视频中出现的顺序可以被接受作为对于所提到的演员的排位的反映。或者,对于演员姓名和排位可以咨询一个单独的数据库,该数据库包括节目数据并且已知其具有可接受的精确度。
对于由所述推荐器进行的后续处理来说,对应于节目的经过调节的演员数据一般看起来与所接收的数据相同。(如果添加了新的演员字段,则该推荐器被编程来识别该新的演员字段。)因此,在创建观众简档时,该推荐器可以以相同的方式利用经过调节的演员数据,就像在未经调节的情况下利用对于该节目所接收到的演员数据那样。因此,用于创建观众简档的推荐器的后续处理可以合并传统推荐器(例如已知的隐式推荐器、显式推荐器等等)的技术。把对应于节目的数据调节到更为精确地反映主要演员可以使得所述推荐器能够提供更为精确的观众简档。
因此,本发明的一方面包括一种节目推荐器,该节目推荐器与节目一起接收一个或多个主要演员数据字段。该推荐器调节一个或多个所接收的主要演员数据字段,这是通过利用与所接收的主要演员数据字段分开的源来识别该节目中的一个或多个主要演员而调节的。另一方面,本发明包括一种用于处理关于所接收的节目的数据以便与自动电视推荐器一起使用的方法。根据该方法,对一个包含主要演员信息的单独的信息源进行访问。该单独的信息源被用来确定其是否可以识别所接收的该节目中的一个或多个主要演员。如果是的话,则利用一个或多个所识别的主要演员来调节所接收的数据。对应于该节目的经过调节的所接收数据可用于创建观众简档。
本发明还包括一种对于所接收的节目信息(例如通过EPG)执行类似的调节的推荐器,所述节目信息被用来基于用户简档做出推荐。以类似的方式,可以对与节目列表一起接收的演员数据进行调节,以便包括单独识别出的演员数据,其中还可以包括确定所述信息在所接收的数据中缺失或者被错误地排位。该推荐器随后可以利用该节目经过重新编排演员(re-cast)后的数据来确定是否把该节目推荐给用户。提高对于EPG中的节目所包括的主要演员数据的精度允许提高推荐确定的精度。
因此,本发明的另一方面包括一种用于处理对于节目所接收的电子节目数据以便在自动电视节目推荐中使用的方法。根据该方法,对一个包含主要演员信息的单独的信息源进行访问。确定该单独的信息源是否识别出该节目中的一个或多个主要演员。如果是的话,则利用一个或多个所识别的主要演员来调节所接收的电子节目数据。对应于该节目而接收的经过调节的电子节目数据可用于确定该节目的自动推荐。
还应当注意的是,对于主要演员的重新排序还可以使得所述推荐器在创建用户简档时不考虑角色较为次要的演员,从而增强所述简档的完整性。(例如,次要演员不大可能是用户选择节目时的焦点。)类似地,调节EPG数据中的演员可以避免向用户做出错误的或令人失望的推荐,并且还可以得出在其他情况下可能被忽视的推荐。
虽然在上面把本发明的各方面概述为所述推荐器的一部分,但是如下所述,在实现本发明时可以使用许多不同的配置。
特别地,为了方便起见,这里统一采用的术语“演员”同时指代男演员和女演员。此外,在本文中始终统一使用术语电视“节目”,其意图指代所广播的任何内容,其中包括电影、秀、商业信息片等等。由一个源(包括所接收的节目数据,比如元数据)所提供的演员的顺序一般将被称作演员排位,其中第一个演员被称作主演或者最高排位的演员,并且第二个、第三个(等等)列出的演员被称作较低排位的演员。此外,如上所述,推荐器在创建观众简档时可以利用对应于所选择的节目和未选择的节目的数据,因此该观众简档可以包括正面的偏好和负面的偏好。同样地,由某些推荐器对于所考虑的节目所做出的推荐确定可以是正面的和负面的,并且可以向用户通知全部两种类型的推荐确定。
具体实施方式
图1示出了根据本发明的推荐器300的一个示例性实施例。在图1中,推荐器300由多个分开绘制的模块构成。一般来说,观众简档产生处理模块315处理用户的节目选择(用户节目选择输入312,其包括相关的节目数据和视频)以便创建观众简档400。观众简档产生处理模块315可以使用通过输入312而输入的正面的用户节目选择和负面的用户节目选择(即选择观看的节目以及选择不观看的节目)。节目推荐产生处理模块500一般接收关于节目数据的输入(比如通过EPG输入310),并且通过咨询观众简档400而向用户输出节目推荐确定330。输出给用户的推荐一般将包括所建议的节目(正面推荐),但是也可以表明一个(或多个)节目不被推荐(负面推荐)。正如下面更为详细地描述的那样,推荐器300还包括主要演员调节处理模块600,其在由观众简档产生处理模块315和/或节目推荐产生处理500进行进一步处理之前分别对与用户节目选择312和/或EPG 310相关的主要演员数据进行预处理。
推荐器300(特别是图1中示出的并且在上面描述的各种模块)可以被具体实现在任何计算设备中,所述计算设备例如是PC、工作站、机顶盒、电视电路等等。因此,包括在推荐器300中的模块一般可以驻留在一个或多个处理器和相关存储器中。例如,图1a提供了支持图1示出的各模块的推荐器300的各硬件和软件组件的代表性实施例。因此,图1的各模块可以驻留在图1a的存储器304的软件304a中,并且所述各模块的处理可以由图1a的处理器302结合相关的存储器304和软件304a来执行。(作为一个更加具体的例子,下面讨论的主要演员调节处理模块600的实施例的各个方面(比如文字和图像检测及识别、数据字段调节等等)可以被存储在软件304a中,并且通过利用处理器302和相关存储器304而被应用。)
由推荐器300的观众简档产生处理315在创建观众简档400时所使用的技术以及由节目推荐产生处理500(其一般结合观众简档400进行操作)所使用的技术可以根据本领域公知的或传统的一种技术或技术组合。因此,所述观众简档产生处理315、观众简档400和节目推荐产生处理500可以从传统的显式节目推荐器、隐式节目推荐器和其他节目推荐器当中的一种或其组合采用这种处理。举例来说,所述观众简档产生处理315、观众简档400和节目推荐产生处理500可以利用决策树处理技术,所述决策树处理技术在标题为“Method andApparatus for Recommending Television Programming Using DecisionTrees”的美国专利No.6,727,914 B1中进行了描述,该专利于2004年4月27日公告,其发明人为Srinivas Gutta,在此合并其全部内容以作参考(其被称作“’914专利”)。该‘914专利利用用户已经观看过(或者选择不观看)的秀的数据对多种节目属性进行分类。创建一个分层决策树,其中对于各节点所选择的属性是通过对应于所述属性的相对熵量度而确定的,并且每个叶节点对应于特定的分支而提供对于节目的正面或负面推荐。这种处理和所得到的决策树可以分别被合并作为所述观众简档产生处理315和观众简档400。此后应用所述决策树来做出节目推荐,这对应于节目推荐产生处理500。无论在本实施例的推荐器300中合并了什么技术,正如下面所进一步描述的那样,至少某些节目中的主要演员由所述观众简档产生处理315用来创建观众简档400,以及/或者所述主要演员被用于所述节目推荐产生处理500中的至少某些节目列表。
首先集中在观众简档400上,如上所述,该观众简档400由推荐器300的观众简档产生处理315基于观众所选择观看(对于某些推荐器来说是不观看)的节目而创建。该节目数据在图1中被表示为通过用户节目选择312的输入,其包括相关的节目数据和视频。因此,推荐器300一般监视通过块312输入的由用户所观看的节目,并且在观众简档产生处理315中利用(直接利用或者在下面描述的特定预处理之后利用)该数据来创建观众简档400。在所述推荐器300实现‘914专利的决策树技术的情况下,所述输入节目数据(包括经过预处理的数据)包括在创建该树的各节点和叶子的过程中所利用的所述属性以及正面的和负面的例子。
在根据所利用的传统技术创建观众简档400的过程中,在块312处输入的关于所观看的(以及未选择的)节目的许多节目数据可以由观众简档产生处理315直接利用。其中可以包括节目类型、时间和频道以及许多其他节目属性。然而,可以首先由主要演员调节处理600调节所接收的数据的各部分以及/或者添加新的数据。举例来说,如果在块312中输入的节目的所接收数据(比如元数据)包括主要演员字段,则在由推荐器300的观众简档产生处理315对所述演员数据进行进一步处理之前应用所述主要演员调节处理模块600。在这种情况下,模块600可以在一段时间内,分析在块312处可用的对应于该节目的视频输入。例如,可以对于该视频应用3分钟的文字检测和辨识,这近似对应于节目的介绍致谢名单部分的持续时间,其中所述文字检测和辨识被用来识别一个或多个主要演员。类似地,可以同样地监视该节目的最后三分钟,在这段时间内通常会出现结束致谢名单。
在所述视频的所考虑部分中进行文字检测和辨识可以利用任何一种已知的或传统的技术或者其组合。例如,可以采用并且适配来自标题为“Method And System For Analyzing Video Content Using DetectedText In Video Frames”的美国专利No.6,608,930,B1的某些技术,该专利于2003年8月19日公告,其发明人为Agnihotri等人,在此合并其全部内容以作参考(并且将其称作“‘930专利”)。因此,如上所述,主要演员调节处理600可以采用来自‘930专利的与文字检测和辨识相关的技术,以便例如监视所述节目的开头或结尾视频中的致谢名单文字。(此外,还可以采用来自‘930专利的用于识别节目致谢名单的相关文字属性特征(比如滚动文字、识别诸如“主要演员”之类的关键词等等),以便确认所监测到的文字对应于节目致谢名单。)
作为一种替换方案,推荐器300的主要演员调节处理模块600可以利用在“Automatic Location Of Text In Video Frames”(Xian-ShangHua、Xiang-Rong Chen、Liu Wenyin&Hong-Jiang Zhang,Proceedingsof the 2001 ACM Workshops on Multimedia:Multimedia InformationRetrieval,pp.24-27(ACM Press 2001))一文中描述的文字检测技术进行替换,在此合并其全部内容以作参考。
在按照这种方式检测及识别了致谢名单文字之后,调节处理600可以将其适配成识别包括在所述文字中的主要演员。因此,调节处理600例如可以通过将所述文字与姓名数据库(其可以特别包括演员姓名)中的姓名进行比较来确认所述文字包括姓名。调节处理600可以基于一条或多条选择规则来选择主演。用于这种分析的规则可以非常简单,比如确定所检测到的文字是否包括与姓名相邻的“主要演员”一词。根据其他的(附加的)规则,可以监视所述文字,以便确定出现在所述节目视频中的文字当中的第一个姓名或者尺寸最大的姓名,其通常对应于主演。
在利用基于文字的技术从对应于所述节目的视频中如上识别出所述主演之后,所述主要演员调节处理600可以简单地利用所识别出的主演来替换所接收的主要演员字段中的第一个姓名。图2a提供了该基本处理的例子,其中用单独识别出的主演(Aidan Quinn,通过对该节目的视频进行文字分析而识别出)简单地替换在所接收的主要演员字段中排在第一位的演员(Tom Cruise)。所得到的经过调节的主要演员字段包括更为精确的主演。因此,经过调节的主要演员字段以与所接收的主要演员字段相同的形式出现,并且可以由观众简档产生处理315与对应于所述节目的其他输入数据一起使用来创建观众简档400。
在图2a所示出的特定例子中提高了主演字段的精度,但是AidanQuinn在经过调节的数据中同时也是第三个被提到的姓名,并且丢失了对应于Tom Cruise的所接收的演员数据。替换地,在替换姓名之前进行附加的处理。例如,首先可以把所识别出的主演姓名与所接收到的姓名进行比较,以便确定是否应当调节任何所接收的姓名。如果所识别出的主演姓名没有出现在所接收的演员当中,则在第一字段中插入所识别出的演员的姓名,所接收的各姓名都被向下移动一位,并且丢弃所接收到的排位最低的姓名。如果所识别出的演员出现在第一个所接收的演员字段中,则不需要进行调节。如果所识别出的演员出现在排位较低的所接收字段中,则从该较低字段中移除该姓名,并且所接收到的所有排位更高的姓名都各被向下移动一位。这是为了把所空出的字段移动到第一字段,并且在该第一字段中插入所识别出的演员姓名。图2b对于图2a的情况例示了这样一个程序。在图2b中,所识别出的演员Aidan Quinn被辨识为也出现在第三个所接收字段中。因此,从第三字段中丢弃他的姓名,把第一个和第二个所接收的姓名(Tom Cruise和Nicole Kidman)分别移动到第二个和第三个字段,把Aidan Quinn的姓名插入到第一个字段中,并且第四个字段中的姓名(John Goodman)保持不变。(这样,Aidan Quinn的姓名排位实际上被从第三位移动到第一位。)因此,在经过调节的数据中的主演更为精确地把Aidan Quinn标识为主演,同时还根据所接收的字段保持了其他演员的身份和相对排位。
取决于将为数据给出的相对优先级,本领域技术人员将会很容易地想到其他比较和替换规则。如上所述,并且如在图2b所示的结果中所表明的那样,经过调节的主要演员字段以与所接收的主要演员字段相同的形式出现,并且可以由观众简档产生处理315与对应于所述节目的其他输入数据一起使用来创建观众简档400。通过包括更为精确地反映所述节目的实际主演的节目数据,推荐器300能够创建更为精确的观众简档400,并且可以随后使用该简档做出更为精确的推荐确定。
应当注意到,上面描述的示例性实施例依赖于在用户调入到节目后的前几分钟内检测视频中的致谢名单文字。这又依赖于用户在所述节目开始时调入。例如,如果用户在开头致谢名单之后调入,则不会检测到文字,并且所述观众简档产生处理315在创建观众简档400时可以使用与该节目一起接收的未经改变的主要演员数据字段。(如果该节目的结尾致谢名单可以被使用但是却没有被检测到,则可能出现类似的结果。)或者,如果没有检测到或者辨识出文字,主要演员调节处理600可以咨询一个内部或外部数据库,该数据库列出节目和对应的主要演员数据。(这种内部数据库例如也可以处于图1a的存储器304中。)如上所述,之前可以利用基于文字的视频分析来编辑对应于包括在这种数据库中的节目的主要演员数据,可以由经过训练的服务人员手动输入所述数据等等。调节处理600可以确定该数据库是否包括所考虑的节目(通常通过所接收的标题数据字段向推荐器300标识该节目)。如果是的话,可以在该数据库中识别出对应于该节目的主演,并且可以如上所述地将该主演用于基于文字的识别。应当注意到,调节处理600可以利用该数据库作为对可能的主演的文字确定的替换方案。此外,这种数据库还可以与所述基于文字的识别相结合地使用,其中当存在对于可能主演的矛盾的基于文字的识别时利用适当的判定规则。
作为独立于与节目一起接收的主要演员数据(例如,元数据等)来识别主要演员的上述技术的替换方案(或补充),推荐器300的主要演员调节处理600可以对该节目的视频应用公知的面部辨识技术,以便识别演员。例如,可以监视该节目的视频的一个样本,并且利用公知的技术捕获面部图像。可以通过与可用于所述主要演员调节处理600的演员面部数据库进行比较来识别所述面部。例如可以基于在所述采样中的出场时间来选择主演(以及次要演员)。
作为替换所接收的主要演员数据字段中的排第一位的姓名的备选方案,可以由主要演员调节处理600把通过基于文字的技术(或者其他确定)在所述视频中确定的主演的姓名放到一个新的数据字段中,该新的数据字段被称作“主演”字段。在这种情况下,当所述主演字段被填充时,在创建观众简档400的过程中,观众简档产生处理315被编程来以相同的方式利用该主演字段,正如其将使用与节目一起接收的第一个主要演员数据字段那样。此外,如果所述观众简档产生处理315在确定所述观众简档时能够利用主要演员作为一个属性,但是所接收的节目不包括主要演员数据字段,那么调节处理600可以如上所述地识别一个主演并且创建一个对应于该节目的主要演员字段,以用于开发观众简档400。
应当注意到,在创建更为精确的观众简档400的过程中,观众简档产生处理315通常优选地被编程为在适当的时候利用针对节目的经过调节的主要演员的身份和排位。然而,在创建观众简档400的过程中,观众简档产生处理315不必使用对应于用户的任何一个特定节目选择的所有数据。因此,对于通过块312输入的特定节目,观众简档产生处理315可能不必使用对应于该节目的经过调节的主要演员字段,其中所述主要演员字段由主要演员调节处理600调节和/或创建。此外,在创建观众简档400的过程中,许多传统的推荐器还利用未被用户选择观看的节目的属性,从而实质上创建了负面偏好。观众简档400中的这种负面偏好可以被用来评估后续节目,从而不做推荐或者做出明确的负面推荐。如果推荐器300的观众简档产生处理315使用未选择的节目来构造观众简档400,则主要演员调节处理600按照与上面对于已观看节目所描述的类似的方式调节那些未观看的节目的主要演员数据字段。例如,如果对于视频信号的基于文字的分析被用来确定主要演员,则主要演员调节处理600可能能够同时监视所选节目以及一个或多个未选节目的视频信号。通过更为精确地反映未选择节目中的主要演员,所创建的观众简档400再次更为精确地反映用户的喜好和厌恶。
按照类似的方式,主要演员调节处理600可以单独识别出对应于所接收节目的多于一个演员姓名,并且利用所述演员姓名来调节所接收的主要演员字段。所述多个所识别出的演员可以被用来替换在对应于所述节目的所接收数据字段中列出姓名的演员、用来填充空字段或者被放置在新创建的字段中。如图2a和2b所示,在所接收的主要演员字段中可能列出了四个演员的姓名,这几个演员可能被单独识别出的演员所替换。(虽然在这些例子中使用了四个演员,但是其数目可以更多或更少。例如,Tribune Media Service对于演员姓名保留总共6个字段。)举例来说,按照类似于上面描述的方式,可以对节目的视频进行分析以便识别包含两个主要演员姓名的文字。还可以把所识别出的演员的排位视为符合在所述视频中检测到的顺序。调节处理600可以用对应的所识别出的演员来替换出现在第一个和第二个所接收数据字段中的两个姓名。按照类似的方式,可以识别出多于两个姓名,并且使用所述所识别出的姓名来替换所接收的姓名。
如果主要演员调节处理600识别出多个主要演员姓名,则还可以利用上面描述的其他方面。例如,可以在替换所接收的数据字段之前在数据库中检查所识别出的姓名,以便确认它们实际上是演员的姓名。此外,可以按照所识别出的姓名的数量来向下移动所接收到的姓名的排位,从而所识别出的姓名实际上替换所接收的最低排位的姓名。此外,可以首先把所识别出的姓名与所接收的姓名进行比较,并且在所述调节中使用所述比较结果。例如,对于作为所接收姓名出现的每个所识别出的姓名,可以从其所接收姓名字段中移除该姓名。可以把排位更高的剩余的所接收姓名顺序地向下推,以便填充任何空出的较低字段,同时还清空所需数目的最高字段,以用于插入所识别出的演员姓名。如果必要的话(也就是说当不是所有的所识别出的姓名都出现在所接收姓名当中时),可以推出(丢弃)最低字段中的所接收姓名,以便在顶部字段中腾出足够的空间。
举例来说,如图2c中所示,两个所识别出的演员Nicole Kidman和Aidan Quinn分别具有所识别出的排位1和2。通过比较所接收的姓名与所识别出的姓名,辨识出所识别的演员Nicole Kidman也出现在所接收字段2中。因此,从所接收字段2中移除Nicole Kidman。在所接收字段1中的姓名(Tom Cruise)被向下移动两个字段到字段3,从而空出字段1和2以用于分别插入所识别出的演员Nicole Kidman和Aidan Quinn。Tom Cruise把John Goodman从位置3推到位置4,而JohnGoodman则把Harvey Keitel推出该列表。对应于多个所识别出的演员的该示例性替换程序为所识别出的演员和排位给出了优先级,其避免了较低排位中的复制,并且在较低的排位中保留了所接收的演员的排位。
与一个所识别出的演员的情况一样,对于姓名的比较可以被用来首先确定是否需要调节所接收姓名字段当中的一个或多个。举例来说,所述比较可以辨识出所识别出的演员的姓名和排位何时与所接收的演员的姓名和排位相同,从而确定对于该字段不需要进行调节。在这样辨识出的字段中的数据可以被保持,同时对于任何其他所取回的姓名按照需要进行调节。(在上面描述的方法中,例如被向下推以便为其他所识别出的姓名腾出空间的更高排位的姓名将跳过这种字段。)在所有所识别出的姓名和排位对应于其相应的所接收姓名和排位的情况下,所述比较可以确定不需要进行调节。
与单独识别一个主要演员的情况一样,除了基于文字的技术之外(或者作为对于基于文字的技术的补充),其他技术可以被用来识别所述节目中的多个主要演员,比如咨询一个数据库。此外,所识别出的“主演”可以被放置在一个新的数据字段中,同时所识别出的第二个、第三个演员等等可以替换在所接收的数据字段中的演员。此外,由调节处理600识别出的演员可以被用来填充对于一个节目所接收的空数据字段,而不仅仅是替换所接收数据字段中的姓名或者对所述姓名进行重新排序。此外,替换规则可以很容易地覆盖所识别出的主要演员多于所接收数据字段的情况。(对于上面参照图2c描述的示例性实施例,如果识别出五个演员姓名,则除非创建附加的数据字段,否则前四个将出现在四个经过调节的主要演员字段中。)类似地,如果推荐器300的编程在确定所述观众简档时能够利用主要演员作为一个属性,但是所接收的节目不包括主要演员数据字段,那么调节处理600可以使用单独的源(例如对于节目视频的基于文字的分析)识别一个或多个主要演员并且创建对应于该节目的数据字段。
图3是给出关于创建观众简档的基本示例性方法的一个实施例。在块700中,接收用户节目选择(包括节目数据和视频)。在块704中,独立于在块700中接收的任何节目数据来识别对应于所接收的节目的一个或多个主要演员。在块708中,利用在块704中对于该节目所识别出的主要演员数据来调节与该节目一起接收的主要演员数据。在对所接收的主要演员与所识别出的主要演员的姓名(可选地还有演员排位)进行了比较之后,所述调节可以是自动的,或者可以选择性地发生。在块712中,经过调节的数据可以与对于该节目所接收的任何其他数据一起被使用来创建观众简档。
如上所述,调节(添加)所述主要演员数据信息以便更好地反映主演(以及次要演员),这样允许推荐器300创建更好地反映用户的节目偏好(在适用的情况下包括负面偏好)的观众简档400。随后利用该简档对EPG 310中的节目进行评估,从而可以导致更为精确的推荐确定330。
按照与上面关于在创建观众简档400的过程中使用的节目所讨论的类似的方式,对于在EPG 310中列出的节目所包括的主要演员数据也可以在适当情况下被调节。被包括在EPG 310中的某些(或所有)节目也可以包括主要演员数据,并且在把观众简档400应用于预期节目列表的过程中,节目推荐产生处理500可以被编程为利用这种主要演员数据。例如,如果观众简档400包括根据‘914专利的决策树,那么它可以包括对应于一个或多个演员的节点和分支。因此,在确定对于所述节目的推荐的过程中,在该决策树的节点或分支中可以利用对应于节目列表的演员数据。
因此,与预期节目一起被包括在EPG 310中的主要演员数据的更高精度将导致更为精确的推荐确定,其中所述EPG 310与所述推荐器一起使用。在图1所示的示例性实施例的一个附加(或备选)方面中,所述主要演员调节处理600可以初始地对于节目数据进行操作,所述节目数据通过EPG 310与所述节目列表一起被输入到推荐器300。举例来说,与所述列表包括在一起的标题以及(必要的话)其他节目信息(比如节目类型)被用来从一个外部或内部节目数据库取回所述节目的主要演员,其中所述数据库包含主要演员数据。(对于在创建观众简档400的过程中使用的数据库,之前可以利用如上所述的基于文字的视频分析技术来编辑对应于包括在这种数据库中的节目的主要演员数据,可以由经过训练的服务人员手动输入所述数据等等。)调节处理600可以确定该数据库是否包括所考虑的节目,如果是的话,则取回一个或多个主要演员姓名,并且在适用的情况下取回演员排位。
调节处理600随后可以调节对应于所述节目列表的所述主要演员数据,以便包括所取回的一个或多个演员。举例来说,可以用所取回的姓名来简单地替换与所述列表一起接收的姓名。或者,对应于该节目所取回的每个姓名可以基于排位来替换与该节目一起接收的对应姓名。例如,如果取回了三个姓名并且接收到四个姓名,则所取回的姓名1-3可以替换所接收的姓名1-3,并且所接收的姓名4将保持不变。或者,与上面对于调节在创建观众简档400的过程中使用的数据所进行的描述类似,调节处理600可以对所接收姓名与所取回的姓名进行比较。所述比较可以被用于调节所接收的姓名,其中包括确定是否要调节一个或多个姓名。(例如,对应于节目列表的调节处理600可以使用与上面关于图2b和2c所描述的类似的程序,在本例中,所接收的主要演员字段对应于所述节目列表数据,并且对应于该节目列表的所取回的演员姓名类似于图2b和2c的所识别出的一个或多个主演。)如果在先前的例子中取回四个或更多姓名,则前四个姓名将替换所有所接收的姓名,或者可以创建附加的数据字段。此外,调节处理600可以把所取回的姓名添加到所述节目数据中的空数据字段,或者可以对于所取回的姓名创建新的或附加的字段。
当然,对应于节目列表的所接收的主要演员数据可能精确地反映了所取回的演员数据,或者所述数据库可能不包括所述节目。在这种情况下,由推荐器300的节目推荐产生处理500以其正常方式使用所述原始节目数据,以便提供对于节目的推荐确定330。当调节处理600调节通过EPG 310与节目一起接收的演员数据时,经过修改的节目数据包含更为精确的主要演员数据,但是其他方面则具有相同的形式。(如果例如通过向所述列表添加包括所取回的姓名的新字段而改变了所述形式,则节目推荐产生处理500被编程来辨识所述改变。)因此,经过调节的节目列表数据同样以其正常方式与观众简档400一起被节目推荐产生处理500使用,以便提供对于所述节目的推荐确定330。(在这方面,应当注意到,在呈现对于所述节目的推荐确定330的过程中,节目推荐产生处理500和观众简档400优选地一般被配置成利用节目列表中的经过调节的主要演员的身份和排位。然而,对于所列出的任何特定节目,所述节目推荐产生处理500可能不必利用所包括的主要演员数据,不管其是否经过调节。此外,在推荐确定330中,处理500可以不对特定节目产生推荐,或者产生明确的负面推荐。)
在上面关于EPG 310节目数据的调节给出的特定实施例中,利用一个节目数据库来取回对应于所述节目的主要演员,并且调节对于EPG 310中的节目所接收的节目数据。然而,其他技术可以被用来独立于与EPG 310一起接收的节目数据而识别主要演员信息。例如,调节处理600可以对EPG 310中列出的节目的底层视频应用上面描述的基于文字的分析技术。对应于节目的底层视频例如可以通过一个或多个视频档案进行访问,所述视频档案由所述调节处理访问。由于许多节目典型地是通过EPG 310输入的,因此以上述方式对于每一个所列出的节目尝试评估和调节(或添加)主要演员信息可能是非常耗时的。因此,调节处理可以首先集中于即将在半个小时内开始的电影,然后再把所述处理扩展到其他节目。或者,作为一项服务,EPG 310的提供商可以对于每个节目实施初始致谢名单文字搜索,并且与EPG 310中的其他节目数据一起按顺序提供这些特定视频帧。对于每个节目,调节处理600可以按照上面描述的方式非常快速地在所接收的帧中搜索主要演员文字。
图4是给出对应于根据本发明的EPG方面的基本方法的一个实施例。在块740中接收对应于节目的节目数据。在块744中,独立于在块740中接收的任何节目数据来识别对应于所述节目的一个或多个主要演员。在块748中,利用在块744中对于该节目所识别出的主要演员数据来调节与该节目数据一起接收的主要演员数据。在对所接收的主要演员与所识别出的主要演员的姓名(可选地还有演员排位)进行了比较之后,所述调节可以是自动的,或者可以选择性地发生。在块752中,经过调节的数据可以与对于该节目所接收的任何其他数据一起被使用来为用户确定该节目的推荐。这种推荐可以是正面推荐,负面推荐或者不推荐。
虽然参照几个实施例描述了本发明,但是本领域技术人员将理解,本发明不限于所示出并描述的具体形式。因此,在不背离由所附权利要求书限定的本发明的精神和范围的情况下,可以在形式和细节方面做出多种改变。例如,如上所述,对于可以在多种实施例中利用的文字检测和辨识存在许多替换技术,并且存在可以利用的许多不同类型的支持推荐器技术。此外,所述推荐器(比如图1的推荐器300)可以被实现为电视机的一部分,其可以是与电视机接口的机顶盒的一部分,可以在更加上游的位置(例如网站的一部分),或者可以具有其他类似配置。类似地,在关于图1讨论的实施例中,所述主要演员调节处理600被显示为推荐器300中的单独模块。本领域技术人员将明白,如上讨论的该模块的各种处理任务的实现方式可以与观众简档产生处理模块315和/或节目推荐产生处理模块500集成在一起。
此外,支持本发明的各实施例的各种模块可以是一个更大的视频或娱乐系统的一部分(或者散布在其中)。例如,调节处理600模块可以独立于推荐器300的其他模块来实现,并且利用其自身的一个或多个处理器。因此,举例来说,对于与用户节目选择312相关的主要演员数据的单独的调节处理可以在推荐器300的其他模块的上游实现,并且对于EPG 310的单独的调节处理可以在推荐器300的其他模块的上游实现。该推荐器的其他模块和所述调节处理可以在分开的远程网站处执行,并且可以随后被发送到用户的电视、计算机或类似设备。
此外,上面讨论的实施例为所述单独识别出的演员给出高于与所述节目信息一起接收的演员的优先级。或者,所述推荐器规则可以为所接收的演员姓名给出优先级。例如,只有在单独识别出的一个或多个演员未出现在所接收的演员当中的情况下才把所述单独识别出的演员用作替换,并且所述单独识别出的演员只能被用来替换一个或者有限数目的排位最低的字段。这种优先级可以是与所识别出的姓名的可靠性相关的规则的函数。
因此,上面描述的特定技术仅仅是用于举例,而不是为了限制本发明的范围。