首页> 中国专利> 包含协作过滤的四路建议方法和系统

包含协作过滤的四路建议方法和系统

摘要

公开了一种采用自动协作过滤方法的系统,该方法用于根据反馈数据(D3,D4,D7,D8,D11)、隐式数据(D7,D8,D17a-D17c,D19a-D19c)和/或显式数据(D11,D21a-D21c)向主要观众(14)以及其它次要观众(15,17)提供项目建议。自动协作过滤过程的第一个动作是使指示主要观众(14)观看的第一组项目的数据(D3,D4,D7,D8,D11)与指示一组次要观众(15-17)观看的第二组项目的数据(D12a-D12c,D15a-DISc,D17a-D17c,D19a-D19c,D21a-D21c)相匹配。自动协作过滤过程的第二个动作是产生作为指示该项目一个或多个属性的数据(D13)的函数的主要观众(14)未观看项目的建议(D14,D16,D18,D20,D22,D23),这与在第一个动作中已完成匹配的数据相比较。

著录项

  • 公开/公告号CN1554192A

    专利类型发明专利

  • 公开/公告日2004-12-08

    原文格式PDF

  • 申请/专利权人 皇家飞利浦电子股份有限公司;

    申请/专利号CN02817644.8

  • 申请日2002-08-29

  • 分类号H04N7/173;

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人程天正;张志醒

  • 地址 荷兰艾恩德霍芬

  • 入库时间 2023-12-17 15:43:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-12-01

    未缴年费专利权终止 IPC(主分类):H04N7/173 授权公告日:20070711 终止日期:20090929 申请日:20020829

    专利权的终止

  • 2007-07-11

    授权

    授权

  • 2005-02-09

    实质审查的生效

    实质审查的生效

  • 2004-12-08

    公开

    公开

说明书

本发明总体上采用电子节目指南以便在管理大量的媒体内容选择(例如,电视节目、访谈节目、点播视频媒体文件、音频等等)时帮助媒体观众的系统。具体地,本发明涉及到具有“智能”以便给观众建议选择并基于该建议采取行动(例如为观众记录节目)的系统。

常规的电子节目指南为多个可用的频道显示一个节目列表。该列表可能是本地产生并交互显示。该列表通常被安排在一个格栅中。该格栅的每行表示特定的广播频道或者有线频道(例如NBC、CBS、ABC、PBS、CNN、ESPN、HBO、MAX等等)。该格栅的每列表表示特定的时隙(例如从上午12:00开始长30分钟的时隙)。多个行和多个列可以同时在屏幕上显示。各种已排定的节目或者表演(show)被排列在行和列中从而指示它们可以被单独找到的频道和时间。该格栅可以被垂直滚动以便观众可以扫描给定时间间隔中的不同频道。格栅也可以被水平(平行地)滚动搜索以便改变显示的时间间隔。

关于可获得节目的数据可以作为一组数据记录通过电缆系统或者电话线被接收。每个可获得节目可能具有单个相应的数据记录,所述数据记录包括有关节目的信息,例如它的频道、它的开始和结束时间、它的题目、星级演员的名字、是否可以获得最接近的字幕或者立体声、或者可能是该节目的简要描述。从这些类型的数据记录来格式化上述表格是不难的。典型地,跨越一个周期(例如两周)的数据在服务器上被格式化一次并连续不断地重复广播到由电缆系统服务的家庭。可替换地,数据可以通过电话线或者其它网络下载,或者是通过点播或者是通过预定的时间表。

电子节目指南系统能够在带有观众界面的设备上运行(下文的“观众界面设备”)。观众界面设备可以是机顶盒(STB)、通用计算机、嵌入式系统、电视机中的控制器、或者通信网络服务器或因特网服务器。观众界面设备连接到TV以便产生显示和从观众接收输入。当滚动到新的列或者行时,观众界面设备可以从存储数据库(在观众界面设备中或者其它地方)中检索关于需要为新的行或者列显示的节目信息的适当的信息。例如当滚动到新的列时,就需要显示落入新时隙的节目。

电子节目指南便于管理从无数的电视和其它的媒体观看选择中进行选择。电子节目指南的交互式程序建立一个用户偏好数据库并使用该偏好数据库来生成建议,过滤当前的或者将来的节目信息来简化选择工作,甚至代表观众进行选择。例如,系统可以在观众没有作出特定请求时记录节目或者高亮显示它建议的选择。

用于建立偏好数据库的第一种设备是一个隐式简档建立装置(implicit profiler)。观众仅仅以正常的方式在原始节目指南数据中进行选择,而隐式简档建立装置通过从选择中提取观众行为的模型来逐步建立个人偏好数据库。建议器然后使用该模型作出关于观众将来会更喜欢看什么的预测。这个提取过程可以按照简单的算法,例如通过检测对相同项目的重复请求来识别明显喜欢的,或者它可以是复杂的机器学习过程,例如带有很多输入(自由度)的判定树。一般而言,这种模型寻找在观众的交互行为(即,与观众交互界面的用于作出选择的交互)中的模式。

一种用隐式简档建立装置实现的用于从观众的观看模式中提取出有用信息的技术是产生属性-值计数表。属性的一个例子是“日时”,而相应的值可能是“早上”。当作出选择时,属性-值的计数被表征为选择的递增。通常,给定的选择将具有许多属性-值。一组否定选择也可以通过选择表演的子集来产生(可选地,同时进行),选择从该否定选择区分出来。它们相应的属性-值计数将被递减(或者对没有观看的表演的计数递增)。这个数据被发送到采用贝叶斯预测器(Bayesian predictor)形式隐式简档建立装置,该贝叶斯预测器将该计数用作来表征候选者的特征计数的加权,以便预测观众更喜欢该候选者的概率。贝叶斯预测器的一个例子在2000年2月4日提交的序列号为09/498,271并且题为“贝叶斯电视节目建议器(BAYESIAN TV SHOWRECOMENDER)”的美国专利申请中描述了,该美国专利申请在此全部引入作为参考,就好像它们全部在此阐述一样。基于规则的隐式简档建立装置也在1999年1月14日公开的题为“智能电子节目指南(INTELLIGENT ELECTRONIC PROGRAM GUIDE)”的PCT申请WO99/01984中描述了,该基于规则的隐式简档建立装置被动地从对观众行为的观察来建立隐式简档。

隐式简档建立装置的另一个例子是并入MbTV中的一个,即通过监视观众的观看模式来学习观众的电视观看喜好的系统。MbTV透明地操作并建立观众品味的简档。这个简档被用来提供服务,例如,建议观众可能有兴趣观看的电视节目。MbTV学习其观众的每一个品味并使用它所学习到的来建议即将开始的节目。通过提醒观众他们期望的即将开始的节目并且增加存储设备以便当观众不在时自动记录这些节目,MbTV可以帮助观众制订电视观看时间的时间表。

MbTV具有偏好确定引擎和存储管理引擎。它们被用来促进随使间移动的电视(time-shifted television)。MbTV可以自动记录而不仅仅是建议期望的节目。MbTV的存储管理引擎努力确保存储设备具有最优的内容。这个过程涉及到跟踪哪些已记录的节目已经被观看过(完全或部分),并且这些就就被忽略。观众可以“锁定”已记录的节目以便将来观看,从而阻止将其删除。观众处理节目建议或已记录内容的方式向MbTV偏好引擎提供了附加的反馈,该偏好引擎就利用这些信息来改进将来的确定。

MbTV将保留一部分记录空间来提供每个“组成的兴趣(constituent insterest)”。这些“兴趣”可以转换到不同家庭成员或者可以表示不同的品味分类。虽然MbTV不需要观众干预,但是它是可以由那些希望微调其性能的那些人来定制的。观众可以影响不同类型节目的“存储预算”。例如,虽然在家庭中主要是儿童观看电视,但是观众可能指示只有25%的记录空间应该被儿童节目消耗。

用于建立偏好数据库的第二种设备是显式简档建立装置。该显式简档建立装置允许观众通过对特征进行分级来规定喜好和嫌恶。这些可以是对属性-值对进行打分(例如,对于属性为演员和值为JohnWayne,在1-7的数值范围内,7表示极度喜欢)或者其它诸如属性值对的组合之类的规则规范,像“我喜欢记录片,但是在周二不行,周二晚上哥们要过来”。例如,观众可以通过观众界面设备来指示喜欢戏剧和动作片以及不喜欢特定的演员。然后,这些准则可以被用来预测在一组节目中观众会更喜欢哪些节目。

欧洲申请(EP 0854645A2)公开了一种具有显式简档建立装置的系统,该显式简档建立装置使得观众能够输入诸如更喜欢的节目种类(例如,连续剧、戏剧系列、老电影等等)之类的一般偏好。该申请还描述了偏好模板,在该模板中可以选择偏好简档,例如,10到12岁儿童的偏好简档、十几岁女孩的另一个偏好简档以及飞机偏好者的另一个偏好简档等等。

用于建立偏好数据库的第三种设备是反馈简档建立装置。例如,目前,TiVo允许观众给一个表演高达3个赞同和3个反对。题为“使用电视时间表信息的系统和方法(System and Method for UsingTelevision Schedule Information)”的PCT申请WO 97/4924是并入反馈简档建立装置的系统的一个例子。该申请描述了观众可以在其中导航以通常的格栅形式显示的电子节目指南并选择各种节目的系统。在每个点上,他/她可能在做所述各种不同的任务,包括选择要记录的节目或者观看和安排观看电视的提醒信号,以及选择指定为喜爱的节目。将节目指定为喜爱的目的大概是为了实现诸如“总是显示观看这个表演的选项”之类的固定规则,或者实现循环的提醒。指定喜爱的目在本申请中并没有清楚地进行描述。但是,更重要的是,为了创建喜好数据库的目的,当观众选择节目以便指定为喜爱时,她/他可以被提供这样的选项,指示喜爱该节目的原因。该原因以与其它显式准则相同的方式来指示:通过定义一般喜好。

隐式简档建立系统对于观众而言有更容易的优点,因为观众不必提供任何反馈数据或显式数据。观众仅仅与该系统交互。显式简档建立系统和反馈简档建立系统具有提供显式的喜好信息的优点。该显式简档建立系统是可靠的,但并不是完美的,因为在能够确定哪个准则是较好的鉴别器并且给它们什么样的加权这一点上,观众可能有一个艰苦的时间来提炼他自己的喜好。反馈简档建立系统可能提供了最佳质量的信息,但是其产生是一个负担,还不能包含用显式简档建立系统获得的所有信息,并且像隐式简档建立系统一样还需要关于许多表演的信息。

此外,反馈类型和隐式类型的简档建立系统和观众一起经受了被称为“冷启动”的经历。具体地,这些类型的简档建立系统在建立观众偏好数据库中的效率程度随着系统和观众之间交互的成熟而增加。这样,在系统和观众之间交互的早期,每种简档建立系统在建立观众偏好数据库中的效率程度是有限的。

处理“冷起动”情形的一种方式是利用自动协作过滤系统,例如在美国专利US 4,996,642和美国专利US 5,790,426中公开的系统。响应于观众请求建议未观看的项目,这些现有技术系统是基于请求观众对观看项目所分的等级以及一组次要观众对观看项目所分的等级的。但是,这些现有技术系统没有对未观看项目和观看项目的具体特征给予任何直接的考虑。因此,提供给观众的建议可能脱离观众对未观看项目具体特征的观点。此外,未观看项目可能没有被该组次要观众包括在观看项目中。但是,现有技术系统没有提供用于产生对该组次要观众未观看的项目的建议的方法。本发明致力于解决这个问题。

本发明涉及到四路媒体建议方法和系统,它包括克服与现有技术相关的缺点的协作过滤器。特别地,本发明有助于应用协作过滤没有被系统用户划分等级的项目。本发明的各个方面都是新颖的、非显而易见的,并且本发明提供了多方面的优点。虽然这里覆盖的本发明的实际特性只能参照所附的权利要求来确定,但是作为这里公开实施例特征的特定特征简述如下。

本发明的一种形式是一种用于向主要观众提供项目建议的自动协作过滤方法,首先,使指示主要观众观看的第一组项目的数据与指示次要观众观组看的第二组项目的数据的子集相匹配。其次,产生作为该已匹配数据的子集以及指示该项目的一个或多个属性的数据的函数的项目建议。

本发明的第二种形式是一种用于向主要观众提供项目建议的自动协作过滤系统,所述系统包括第一模块,用于使指示主要观众观看的第一组项目的数据与指示次要观众组观看的第二组项目的数据的子集相匹配。所述系统还包括第二模块,用于产生作为指示第一项目的一个或多个属性的数据和该已匹配数据的子集的函数的项目建议。本发明的第三种形式是计算机可读介质中用于向主要观众提供项目建议的一种计算机程序产品。该计算机程序产品包括计算机可读代码,用于使指示主要观众观看的第一组项目的数据与指示次要观众组观看的第二组项目的数据的子集相匹配。所述计算机程序产品还包括第计算机可读代码,用于产生作为指示该项目的一个或多个属性的数据和该已匹配数据的子集的函数的项目建议。

通过结合附图阅读以下对本发明优选实施例的详细描述,本发明的前述形式和其它形式、特征以及优点将变得进一步清楚可见。该详细描述和附图仅仅是示意本发明而不是限制本发明,本发明的范围由所附权利要求及其等价物来限定。

图1图示了自动协作过滤系统根据本发明的一个实施例的示意图;

图2图示了在图1的系统中采用的计算机硬件根据本发明的一个

实施例的框图;

图3A图示了本发明的简档建立例程的流程图;

图3B图示了本发明的节目建议例程的流程图;

图4A图示了在图1的系统中用于实现图3A的例程的反馈建议软件的一个实施例的框图;

图4B图示了在图1的系统中用于实现图3A的例程的隐式简档建立软件的一个实施例的框图;

图4C图示了在图1的系统中用于实现图3A的例程的显式简档建立软件的一个实施例的框图;

图5图示了本发明的协作过滤例程的流程图;

图6A图示了在图1的系统中用于实现图5的例程的反馈过滤软件的第一个实施例的框图;

图6B图示了在图1的系统中用于实现图5的例程的反馈过滤软件的第二个实施例的框图;

图6C图示了在图1的系统中用于实现图5的例程的隐式过滤软件的第一个实施例的框图;

图6D图示了在图1的系统中用于实现图5的例程的隐式过滤软件的第二个实施例的框图;

图6E图示了在图1的系统中用于实现图5的例程的显式过滤软件的一个实施例的框图;和

图6F图示了在图1的系统中用于实现图5的例程的组合过滤软件的各种实施例的框图。

图1示出了本发明的自动协作过滤系统。该系统包括网络10,该网络10是用来在应用服务器11a、数据库服务器11b、观众计算机12a、观众计算机12b、观众计算机12c和观众计算机12d之间提供通信链路的媒体。网络10可以包括诸如有线或者光缆之类的永久连接或者通过电话或者无线通信建立的暂时连接。网络10可以是因特网、企业外部网(extranet)、企业内部互联网、局域网(LAN)、广域网(WAN)的形式或者本领域普通技术人员所知的其它形式。

观众计算机12a-12d分别与一组电视13a-13d通信(暂时或者永久),电视13a-13d分别被一组第次要观众用来观看电视节目。

应用服务器11a和数据库服务器11b可以以任何形式来配置以便接受有结构的输入、根据规定的规则来处理输入、并输出处理结果,从而实现本发明的简档建立例程30(图3A)和节目建议例程40(图3B)。观众计算机12a-12d可以以任何形式来配置以便接受有结构的输入、根据规定的规则来处理输入、并输出处理结果,从而实现本发明的协作过滤例程80(图5)。在应用服务器11a、应用服务器11b和观众计算机12a-12d中采用的计算机硬件的一个实施例在图2中示出。该计算机硬件包括用于使在一个或者多个中央处理单元(CPU)21、只读存储器(ROM)22、随机存取存储器(RAM)和控制器24a-24d中的电通信变得容易的总线20。

优选地,每个CPU 21为Intel系列微处理器中的一个、AMD系列微处理器中的一个或者摩托罗拉系列微处理器中的一个。ROM 22永久地存储各种控制程序。RAM 23是用于装载常规操作系统和选择性地装载控制程序的存储器。

通常,控制器24a使在CP21和硬盘驱动器25a之间的交互变得容易。硬盘驱动器存储常规操作系统和应用程序。控制器24b通常使在CPU21和CD ROM驱动器25b之间的交互变得更加容易,从而CD ROM盘26上的任何程序都可以被安装在硬件上。控制器24b通常使在CPU21和磁盘驱动25c之间的交互变得更加容易,从而磁盘27上的任何程序都可以被安装在硬件上。控制器24d通常使在CPU21和网络10之间的交互变得更加容易。

为了实现本发明的原理,图2所示的计算机硬件可以包括本领域普通技术人员所公知的其它的硬件组成部分。此外,正如本领域的普通技术人员所知,应用服务器11a、应用服务器11b和观众计算机12a-12d可以有图2中所示的计算机硬件的修改形式或者它的可替换实施例。

在此,简档建立例程30(图3A)和节目建议例程40(图3B)将在相应于观众14的观看数据的背景下被描述,协作过滤例程80(图5)将在相应于观众14-17的观看数据的背景下进行描述。然而,本领域的普通技术人员将会理解,在包含了大量激活观众(例如100-10000)的情况下,例程30和例程80在本发明的自动协作过滤系统中执行。

如图3A中所示的例程30可以以诸如例如反馈简档建立软件50(图4A)、隐式简档建立软件60(图4B)、显式简档建立软件70(图4C)之类的许多种形式来实现。观看计算机12a的计算机可读介质(例如硬盘驱动器25a、CD ROM盘26、软盘27或者其它任何形式的盘)被电、磁、光或化学改变以便包含对应于软件50、软件60和/或软件70的计算机可读代码。可替换地,通过模拟电路、数字电路或两者,软件50、软件60和/或软件70可以部分或完全实现在观看计算机12a中。

在例程30的级S32期间,观看计算机12a接收并存储对应于观众14的观看数据。如图4A所示,在级S32期间,软件50包括传统的反馈用户界面51用于接收以节目X和得分Y的形式出现的观看数据D1,还用于将观看数据D1格式化为存储在反馈历史数据库DB1中的观看数据D2。如图4B所示,在级S32期间,软件60包括传统的隐式用户监视器61用于接收以节目X的形式出现的观看数据D5,还用于将观看数据D5格式化为存储在隐式历史数据库DB3内的观看数据D6。如图4C所示,在级S32期间,软件70包括传统的显式用户界面71用于接收以观众偏好的形式出现的观看数据D9,还用于将观看数据D9格式化为观看数据D10。

在例程30的级S34期间,观看计算机12a更新观众14的观看简档。如图4A所示,在级S34期间,软件50包括传统的反馈简档模块52用于响应于反馈历史数据D3产生反馈简档数据D4并将反馈简档数据D4存储在反馈简档数据库DB2中。如图4B所示,在级S34期间,软件60包括传统的隐式简档模块62用于响应于隐式历史数据D7产生隐式简档数据D8并将隐式简档数据D8存储在隐式简档数据库DB4中。如图4C所示,在级S34期间,软件70包括传统的显式简档模块72用于响应于观看数据D10产生显式简档数据D11并将显式简档数据D11存储在显式简档数据库DB5中。

软件50、软件60和软件70在完成了级S34以后终止例程30。

根据本发明的原理,如图3B所示的例程40可以以许多种形式来实现,例如在1999年12月17日提交的序列号为09/466,406且题为“用于使用判定树来建议电视节目的方法和设备(Method andApparatus for Recommending Television Programming UsingDecision Tree)”的美国专利申请以及2000年2月4日提交的序列号为09/498,271且题为“贝叶斯电视节目建议器(Bayesian TV ShowRecommender)”中描述的节目建议过程,该两个申请中的每一个都被转让给本发明的受让人,并且它们都在此引入作为参考。观看计算机12a的计算机可读介质(例如,硬盘驱动器25a、CD ROM盘26、软盘27或其它任何形式的介质)被电、磁、光或化学改变以便包含对应于软件实现例程40的计算机可读代码。可替换地,通过模拟电路、数字电路或两者,该软件可以部分或完全实现在观看计算机12a内。

在例程40的级S42期间,观看计算机12接收对应于节目X的属性数据。在例程50的级S44期间,观看计算机12a确定观众14是否经受了冷启动情形。在一个实施例中,当观看计算机12a已经向观众14提供了比固定数目要少的建议时(例如,少于二十个建议),观看计算机12a确定观众14正在经受冷启动情形。

当观看计算机12a在级S44期间确定用户14没有经受冷启动情形时,观看计算机12a通常根据美国专利申请09/466406或者美国专利申请09/498271在例程40的级S46a期间产生节目建议并在级S46期间显示该建议。

当观看计算机12a在级S44期间确定用户14正在经受冷启动情形时,观看计算机12a进入例程40的级S46b以便要么从应用服务器11a接收在级S48期间显示的节目X的建议要么从应用服务器11a接收相应于一个或者多个观众15-17并在级S46a期间被用来产生节目X的建议的观看数据。作为例程80的执行结果,应用服务器11a提供节目的建议或者观看数据(图5)。

图5中所示的例程80可以以诸如例如反馈过滤软件90(图6A)、反馈过滤软件100(图6B)、隐式过滤软件110(图6C)、隐式过滤软件120(图6D)和显式过滤软件130(图6E)之类的多种形式来实现。应用服务器11a的计算机可读介质(例如硬盘驱动器25a、CD ROM盘26、软盘27或者其它任何形式)被电、磁、光或化学改变以便包含对应于软件90、软件100、软件110、软件120和/或软件130的计算机可读代码。可替换地,通过模拟电路、数字电路或者它们两者,软件90、软件100、软件110、软件120和/或软件130能够在应用服务器11a中部分地或者全部被实现。

在例程80的级S82期间,应用服务器11a从数据库服务器11b中检索相应于观众14(主要的)和观众15-17(次要)的观看数据。在数据库服务器11b中通过网络10存储相应于观众14-17的观看数据(图1)可以按照固定或者随机的时间表发生。优选地,响应应用服务器11a发起例程80,数据库服务器11b存储相应于观众14-17的观看数据的更新版本。

如图6A所示,在级S82期间,软件90的协作反馈简档模块91从数据库服务器11b的反馈简档数据库DB6中分别检索相应于观众14的观看数据D4和相应于观众15-17的观看数据D12a-D12c。

如图6B所示,在级S82期间,软件100的协作反馈历史模块101从数据库服务器11b的反馈历史数据库DB7中分别检索相应于观众14的观看数据D3和相应于观众15-17的观看数据D15a-D15c。

如图6C所示,在级S82期间,软件110的协作隐式简档模块111从数据库服务器11b的隐式简档数据库DB8中分别检索相应于观众14的观看数据D8和相应于观众15-17的观看数据D17a-D17c。

如图6D所示,在级S82期间,软件120的协作隐式历史模块121从数据库服务器11b的隐式历史数据库DB9中分别检索相应于观众14的观看数据D7和相应于观众15-17的观看数据D19a-D19c。

如图6E所示,在级S82期间,软件130的协作显式简档模块131从数据库服务器11b的显式简档数据库DB10中分别检索相应于观众14的观看数据D11和相应于观众15-17的观看数据D21a-D21c。

在例程80的级S84期间,应用服务器11a使观众14的观看数据和观众15-17的观看数据的子集相匹配。

在一个实施例中,当确定观众14和观众15是否有匹配的观看数据时,软件90的模块91在级S84期间执行以下一系列步骤。

首先,在观看数据D4和观看数据D12a中,对于具有噪音切断概率的属性-值对记录中的每个特征(f),当满足下面的公式【1】时,fb_score(j)就增加1:

对于classC+,{cp_i(f)-cp_j(f)}<cp_threshold        [1]

其中i表示观看数据D4;j表示观看数据D12a;cp_i(f)是来自于观看数据D4的特征(f)的条件概率;cp_j(f)是来自于观看数据D12a的特征(f)的条件概率;cp_threshold是在示例范围0.0到0.1之间的数字。cp_threshold的实际值根据经验被确定以便控制在观看数据D4和观看数据D12a之间实际匹配的数目。

其次,fb_score(j)的最终值通过除以具有比观看数据D4中的噪音切断概率大的特征(f)的总数目而归一化为最终值fbn_scofe(j)从而获得在0.0和1.0之间的观看数据D12a的fbn_score(j)。

最后,如图6所示,当观看数据12a的fbn_score(j)比匹配门限(match_threshold)大时,例如0.9,观看数据D12a被提供给协作反馈建议模块92。

此后,在相同系列的步骤下,此后,模块91就确定观看数据D4是否匹配观看数据D12a和观看数据D12c。因此,match_threshold可以根据经验来确定并被固定下来,因而观看数据匹配的样本大小随程序9 0的每次执行而改变。可替换地,match_threshold可以随程序90的每次执行而动态地改变,因此,观看数据匹配的样本大小就接近期望的样本大小。

在第二实施例中,当确定观众14和观众15是否具有匹配的观看数据时,软件100的模块101在级S84期间执行下列的一系列步骤。

首先,分数(B,A)根据下面的公式【2】计算出来:

fb_score(B,A)=match(pos(B),pos(A))/n_pos(B)     [2]

其中,pos(A)是在具有正分数的反馈数据D3中的节目;pos(B)是在具有正分数的反馈数据D15a中的节目;n_pos(B)是在观看数据D3中节目的数目;match((pos(B),pos(A))是在pos(A)和pos(B)之间列出的节目的数目。

其次,如图6B所示,当观看数据D15a的fb_score(B,A)比match_threshold大时,例如0.9,观看数据D15a被提供给协作反馈建议模块102。

此后,在相同系列步骤下,模块101确定观看数据D3是否匹配观看数据D15b和观看数据D15c。因此,match_threshold可以根据经验被确定并被固定下来,因此,观看数据匹配的样本大小随程序100的每次执行而改变。可替换地,match_threshold可以随程序100的每次执行而动态地改变,因此,观看数据匹配的样本大小接近期望的样本大小。

在第三实施例中,当确定观众14和观众15是否具有匹配的观看数据时,软件110的模块111在级S84期间执行下列的一系列步骤。

首先,在观看数据D8和观看数据D17a中,对于具有噪音切断概率的属性-值对记录中的每个特征(f),当满足下面的公式【1】时,im_score(j)就增加1:

对于classC+,{cp_i(f)-cp_j(f)}<cp_threshold        [1]

其中i表示观看数据D8;j表示观看数据D17a;cp_i(f)是来自观看数据D8的特征(f)的条件概率;cp_j(f)是来自观看数据D17a的特征(f)的条件概率;cp_threshold是在示例范围0.0到0.1之间的数字。cp_threshold的实际值根据经验来确定以便控制在观看数据D8和观看数据D17a之间实际匹配的数目。

其次,im_score(j)的最终值通过除以具有比观看数据D8中的噪音切断概率大的特征(f)的总数目被归一化为im_score(j)的最终值,从而获得在0.0和1.0之间的观看数据D17a的imn_score(j)。

最后,如图6c所示,当观看数据D17a的im_score(j)比match_threshold大时,例如0.9,观看数据D17a被提供给协作隐式建议模块112。

此后,在相同系列步骤下,模块111确定观看数据D8是否匹配观看数据D17b和观看数据D17c。因此,match_threshold可以根据经验来确定并被固定下来,因此,观看数据匹配的样本大小可以随程序110的每次执行而改变。可替换地,match_threshold可以随程序110的每次执行而动态地改变,因此,观看数据匹配的样本大小接近期望的样本大小。

在第四实施例中,当确定观众14和观众15是否具有匹配的观看数据时,软件120的模块121在级S84期间执行下面一系列的公式。

首先,im_score(B,A)根据下面的公式【3】计算出来:

im_score(B,A)=match(pos(B),pos(A))/n_pos(B)     [3]

其中,pos(A)是在具有正分数的观看数据D7中的节目;pos(B)是在具有正分数的观看数据D19a中的节目;n_pos(B)是在观看数据D7中的节目的数目;match((pos(B),pos(A))是在pos(A)和pos(B)内列出的节目的数目。

其次,如图6D所示,当观看数据D19a的im_score(B,A)比match_threshold大时,例如0.9,观看数据D19a被提供给协作隐式建议模块122。

此后,在相同系列步骤下,模块121确定观看数据D7是否匹配观看数据D19b和观看数据D19c。因此,match_threshold可以根据经验来确定并被固定下来,因此,观看数据匹配的样本大小随程序120的每次执行而改变。可替换地,match_threshold可以随程序120的每次执行而动态地改变,因此,观看数据匹配的样本大小接近期望的样本大小。

在第五实施例中,当确定观众14和观众15是否具有匹配的观看数据时,软件130的模块131在级S84期间执行下面一系列步骤。

首先,在观看数据D11和观看数据D21a中,对于属性-值对记录中的每个特征(f),当满足下面的公式【4】时,ex_score(j)就增加1:

对于classC+,|er_i(f)-er_j(f)|<er_threshold         [4]

其中i表示观看数据D11;j表示观看数据D21a;er_i(f)是来自观看数据D11的特征(f)的显式等级;er_j(f)是来自于观看数据D21a的特征(f)的显式等级;er_threshold是例如1或者2。er_threshold的实际值根据经验来确定以便控制在观看数据D11和观看数据D21a-D21c之间实际匹配的数目。

其次,er_score(j)的最终值通过除以具有非中性分数特征(f)的总数目被归一化为er_score(j)的最终值,从而获得在0.0和1.0之间的观看数据D21a的ern_score(j)。

最后,如图6E所示,当观看数据21a的ern_score(j)比match_threshold时,例如0.9,观看数据D21a被提供给协作反馈建议模块132。

此后,在相同系列步骤下,模块131确定观看数据D11是否匹配观看数据D21b和观看数据D21c。因此,match_threshold可以根据经验来确定并被固定下来,因此,观看数据匹配的样本大小可以随程序130的每次执行而改变。可替换地,match_threshold可以随程序130的每次执行而动态地改变,因此,观看数据匹配的样本大小接近期望的样本大小。

在例程80的级S86a期间,应用服务器11a接收相应于节目的属性数据。在例程80的级S88期间,应用服务器11a产生作为匹配的观看数据的函数的节目建议。

在一个实施例中,模块92从观看计算机12b中检索贝叶斯建议器,例如在序列号为09/498,271的美国专利申请中描述的一个建议器,从而如图6A所示产生作为观看数据D12a和属性数据D13的函数的建议D14。在模块91确定了观看数据D4和观看数据D12a-D12c之间的两个或多个匹配的情形下,模块92利用来自适当的观看计算机12b-12d的贝叶斯建议器来从每个匹配的观看数据D12a-D12c中产生单独的建议。然后,该单独的建议被集中(pool)起来,因此,最相关的建议可以充当建议D14,或者可以执行将单独的建议组合起来产生建议D14的任何方案,例如,可以计算单独建议的平均值来产生建议D14。

在第二个实施例中,模块102利用来自观看计算机12b的判定树建议器,例如在序列号为09/466,406的美国专利申请中描述的一个建议器,从而如图6B所示产生作为观看数据D15和属性数据D13的函数的建议D16。在模块101确定了观看数据D3和观看数据D15a-D15c之间的两个或多个匹配的情形下,模块102利用来自适当的观看计算机12b-12d的判定树建议器来从每个匹配的观看数据D15a-D15c中产生单独的建议。然后,该单独的建议被集中起来,因此,最相关的建议可以充当建议D16,或者可以执行将单独的建议组合起来产生建议D16的任何方案,例如,执行如下公式[5]:

>>Recomm>>(>t>,>B>)>>=>>(>1>/>K>)>>*>SUM>>Σ>>k>=>1>>>k>=>K> >score>>(>B>,>k>)>>*>recomm>>(>t>,>dt>>(>k>)>>)>>->->->[>5>]> >

其中,K是匹配的观看数据的数目,而recomm(t,dt(k))是对于表演t和用户k来自判定树建议器的建议。

在第三个实施例中,模块112从观看计算机12b中检索贝叶斯建议器,例如在序列号为09/498,271的美国专利申请中描述的一个建议器,从而如图6C所示产生作为观看数据D17a和属性数据D13的函数的建议D18。在模块111确定了观看数据D8和观看数据D17a-D17c之间的两个或多个匹配的情形下,模块102利用来自适当的观看计算机12b-12d的贝叶斯建议器来从每个匹配的观看数据D17a-D17c中产生单独的建议。然后,该单独的建议被集中起来,因此,最相关的建议可以充当建议D18,或者可以执行将单独的建议组合起来产生建议D18的任何方案,例如,可以计算单独建议的平均值来产生建议D18。

在第四个实施例中,模块122利用来自观看计算机12b的判定树建议器,例如在序列号为09/466,406的美国专利申请中描述的一个建议器,从而如图6D所示产生作为观看数据D19a和属性数据D13的函数的建议D20。在模块121确定了观看数据D7和观看数据D19a-D19c之间的两个或多个匹配的情形下,模块122利用来自适当的观看计算机12b-12d的判定树建议器来从每个匹配的观看数据D19a-D19c中产生单独的建议。然后,该单独的建议被集中起来,因此,最相关的建议可以充当建议D20,或者可以执行将单独的建议组合起来产生建议D20的任何方案,例如,执行此前描述的公式[5]。

在第五个实施例中,模块132从观看计算机12b中检索贝叶斯建议器,例如在序列号为09/498,271的美国专利申请中描述的一个建议器,从而如图6E所示产生作为观看数据D21a和属性数据D13的函数的建议D22。在模块131确定了观看数据D10和观看数据D21a-D21c之间的两个或多个匹配的情形下,模块132利用来自适当的观看计算机12b-12d的贝叶斯建议器来从每个匹配的观看数据D21a-D21c中产生单独的建议。然后,该单独的建议被集中起来,因此,最相关的建议可以充当建议D22,或者可以执行将单独的建议组合起来产生建议D22的任何方案,例如,可以计算单独建议的平均值来产生建议D22。

在例程40的级S46b期间,响应于接收到建议D14、D16、D18、D20和D22中的一个,观看计算机要么在例程40的级S48期间显示该建议要么将该建议与在级S46a期间产生的任何建议集中到一起以便在级S48期间显示组合的建议。

作为级S86a和级S88的替换方式,应用服务器11a可以向观看计算机12a提供匹配的观看数据(例如观看数据12a、观看数据15a、观看数据17a、观看数据19a和观看数据21a)。响应于在级S46b期间接收到的匹配观看数据中的一个,观看计算机12a将该匹配的观看数据用作到相应建议器的输入,从而在级S46期间产生建议并在级S48期间显示该建议。

软件90、软件100、软件110、软件120、软件130在这里一个一个地被单独描述。如图6F所示,在一个实施例中,前述软件中的两个或者多个可以被连接到协作过滤建议模块140中,从而在级S86期间产生作为观看数据12a或者观看数据15a、观看数据17a或者观看数据19a和观看数据21a函数的建议D23。在一个实施例中,对于表演的最终得分j从下面的公式【6】中计算出来:

Final_score(j)=(3*ex_score(j))+(2*fb_score(j))+(1*im_score(j)) [6]

其中ex_score(j)是来自于公式[4]的观看数据D21a的匹配得分;fb_score(j)是来自于公式[1]的观看数据D12a的匹配得分。此后,模块140使用合适的建议器以便提供建议D23给观看计算机12a。

本领域的普通技术人员将会理解,参照图1-6F描述的本发明是协作过滤器,该过滤器可以被应用到实时事件(也就是还没有被任何人划分等级)。本领域的普通技术人员还会理解,参照图1-6F描述的本发明可以被应用到不是节目时间表数据的其它背景下。例如,本发明可以被用于产生不是电视的web-cast或者媒体形式的建议,例如无线电广播。此外,本发明的自动协作过滤系统或者其替换实施例可以被用于定制web站点的观众界面,该界面提供新的项目(article)或者出售产品。图书馆浏览是另一个例子。我们可以想象一个其中使用本发明的这些技术来限定选择范围的在线图书馆或者期刊文章数据库。

对于本领域的普通技术人员来说,本发明不局限于前述示意性实施例的细节,并且本发明可以以其它特定形式来实施而不脱离本发明的精神和实质属性是显而易见的。因此,本实施例在所有的方面都被认为是示意性的而不是限制性的,本发明的范围由所附的权利要求而不是由前述说明书来指示,所以,属于权利要求书等价物的意义和范围的所有变化都打算包含在其中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号