用于产生内容项目的推荐的方法和系统的制作方法

文档序号:7940887阅读:158来源:国知局
专利名称:用于产生内容项目的推荐的方法和系统的制作方法
技术领域
本发明涉及一种用于产生内容项目的推荐的方法和系统,并且具体地但是非排他 性地涉及电视节目的推荐的产生。
背景技术
近年来,多媒体和娱乐内容的可用性和提供已经实质性地提高。例如,可用的电 视和无线电信道的数目已经相当大的增长,并且因特网的普及已经提供了新的内容分发手 段。因此,正在从不同的来源越来越多地向用户提供许多不同类型的内容。为了识别和选 择期望的内容,用户通常必须处理大量的信息,这可能很麻烦且不实际。因此,已经投入了大量的资源来用于研究可以提供改善的用户体验并且帮助用户 识别和选择内容、个性化服务等的技术和算法。作为示例,电视推荐器系统正在变为帮助人们查明大量和越来越数量的节目选项 以便找到适合他们个人(或者家庭)偏好的节目的普及方式。例如,包括用于基于用户偏 好向用户提供电视节目的推荐的功能的数字视频记录器(DVR)或者个人视频记录器(PVR) 正在变得越来越普及。更具体地,这样的装置可以包括用于监视用户的观看和记录偏好的 功能。这些偏好可以被存储在用户简档中,所述用户简档随后可以用于自主地选择和推荐 适当的电视节目来观看或记录。例如,DVR可以自动地记录节目,然后例如通过在由DVR记 录的所有节目的列表中包括自动记录的节目的方式,将自动记录的节目推荐给用户。为了增强用户体验,有利的是,尽可能个性化向各个用户的推荐。在这个背景下, 推荐通常在于预测多少用户可能喜欢特定的内容项目,并且如果认为该特定的内容项目 具有足够的兴趣,则推荐该特定的内容项目。产生推荐的处理要求已经捕获了用户偏好,使 得它们可以被预测算法用作输入数据。推荐器系统使用不同的方法来推断用户的偏好,但是通常共享尝试从最匹配用户 (多个)的各个偏好的可用节目的列表来识别电视节目的共同目标。通常,从已经通告在未 来时间窗口(通常一个星期)中要广播的节目列表中选择节目。推荐器系统的角色经常是 将这个列表缩小为更小的、更可管理的子集列表,该子集列表强调了最佳地匹配用户的个 性化偏好的节目。在许多应用中,通过诸如PVR或者电视机的各个装置来独立地产生推荐。这样的 方法可以允许提供灵活的和高度定制的推荐,但是也要求每个个体装置包括所需要的推荐 功能。因为许多装置具有有限的计算资源,因此这趋向于将推荐算法缩小成相对简单的算 法和/或提高每个个体装置的成本。而且,它将推荐限制成基于本地可用于所述装置的信 息。这通常将推荐限制成基于仅用于特定装置的用户(多个)的用户简档,并且防止了协 作推荐,在协作推荐中,推荐考虑了大量用户的偏好。由于各种原因,诸如缺少个体装置的计算能力或者需要汇集诸如用于协作推荐器 的、来自不同用户的信息,因此,经常在中央服务器上执行推荐的计算,并且然后将其分发 到用户所对接的本地装置(多个)。
5
然而,这样的集中方法要求每当所述装置需要向用户提供推荐时在服务器和所述 装置之间交换数据,或者要求向所述装置(多个)频繁地发送推荐,使得当需要时可容易地 获得所述推荐。然而,第一种方法的问题是它导致在推荐的产生上的延迟,从而导致推荐应用向 用户显示得慢。而且,该方法需要高的通信容量,并且可能使用相当多的通信资源。这个缺 点使得该方法在许多情况下并且特别是当在所述装置(多个)和服务器之间的通信信道是 受限或者缓慢的资源(例如,对于移动装置而言)时不实用。第二种方法的问题是推荐信息的呈现限于已经接收到的实际推荐。因此,推荐趋 向于那个时间间隔的一般推荐,并且该方法趋向于导致产生更一般和更不适合的推荐。而 且,在向用户提供不同的推荐上的灵活性趋向于大大地受限,并且该方法趋向于导致次优 的用户体验。因此,改善的推荐系统将是有利的,并且特别是,允许提高灵活性、便利实现、提高 响应速度、改善用户体验、降低通信要求、降低计算资源要求、协作推荐和/或改善推荐的 系统将是有益的。

发明内容
因此,本发明寻求单独地或者组合地优选减轻、缓和或者消除上述缺点中的一个 或多个。根据本发明的一个方面,提供了一种用于在推荐系统中产生内容项目的推荐的方 法,所述推荐系统包括推荐服务器和至少一个第一推荐装置,所述方法包括服务器执行以 下步骤响应于与第一用户相关联的第一用户简档来产生推荐的内容项目的第一推荐集 合,并且向至少所述第一推荐装置传送内容项目标识数据,所述内容项目标识数据包括用 于所述第一推荐集合的每个内容项目的内容项目标识;并且,在所述第一推荐装置处执行 以下步骤从推荐服务器接收内容项目标识数据,响应于内容项目标识数据而确定第一推 荐集合,执行来自推荐应用的集合的第一推荐应用,推荐应用的集合中的每个应用可操作 地用于提供推荐,并且响应于第一推荐应用的特性而从所述第一推荐集合产生推荐的内容 项目的第二推荐集合;并且,所述第一推荐应用响应于第二推荐集合而提供推荐。本发明可以提供一种改善的推荐系统。可以提供对于特定应用优化的灵活推荐。 在许多实施例中可以实现降低服务器和/或第一推荐装置的计算资源的使用。可以实现降 低用于在服务器和第一推荐装置之间的通信的通信资源。可以实现对于当前情况的推荐的 高度的灵活性、定制和/或调整。可以实现提高对于推荐请求的响应能力,因为可以基于在 第一推荐装置处的本地计算来提供推荐。本发明可以特别地在许多实施例中提供在利用集中式和分布式推荐器的方法之 间的改善的和/或更灵活的折衷。特别地,本发明可以在许多实施例中允许将针对多个应 用中的每个的个体要求的快速、有效和/或改善的推荐定位,同时提供了利用集中式推荐 的方法。例如,协作推荐可以迅速和有效地适于特定应用的特性。该方法可以允许在单个 装置中实现使用不同的推荐参数和/或算法的多个推荐应用,而不要求相应的高复杂性和 /或计算资源使用。将理解,可以通过第一推荐应用来执行第二推荐集合的产生。所述第二推荐集合
6可以是由第一推荐应用产生并且被呈现给用户的推荐集合。具体地,第二集合可以是第一 推荐集合的子集,并且/或者可以是第一推荐集合的内容项目的重新布置或者重新优先 化。内容项目标识数据可以在诸如每日的给定更新时间间隔被传送到第一推荐装置, 并且可以涉及不同的时间间隔,诸如一个星期。在每个更新时间间隔中,第二集合的产生可 以是响应于在更新时间间隔中改变的特性的当前值。内容项目可以例如是根据给定传送时间表被传送到第一推荐装置的内容项目,并 且可以具体地是电视节目。根据本发明的另一个方面,提供了一种用于产生内容项目的推荐的系统,包括服 务器,该服务器被布置成执行以下步骤响应于与第一用户相关联的第一用户简档来产生 推荐的内容项目的第一推荐集合,并且向至少第一推荐装置传送内容项目标识数据,内容 项目标识数据包括用于第一推荐集合的每个内容项目的内容项目标识;并且,在第一推荐 装置处,第一推荐装置被布置成执行以下步骤从推荐服务器接收内容项目标识数据,响应 于内容项目标识数据而确定第一推荐集合,执行来自推荐应用的集合的第一推荐应用,该 推荐应用的集合中的每个应用可操作地用于提供推荐,并且响应于第一推荐应用的特性而 从第一推荐集合产生推荐的内容项目的第二推荐集合;并且,第一推荐应用被布置成响应 于第二推荐集合而提供推荐。本发明的这些和其他方面、特征和优点从以下所述的实施例(多个)将显而易见, 并且参考以下所述的实施例(多个)来说明本发明的这些和其他方面、特征和优点。


将参考附图仅仅举例描述本发明的实施例,在附图中图1图示了根据本发明的一些实施例的分布式推荐系统的示例;图2图示了根据本发明的一些实施例的推荐服务器的示例;图3图示了根据本发明的一些实施例的推荐装置的示例;图4图示了根据本发明的一些实施例的用于推荐服务器的操作的方法的示例;图5图示了根据本发明的一些实施例的用于推荐装置的操作的方法的示例;以及图6图示了根据本发明的一些实施例的用于推荐装置的操作的方法的示例。
具体实施例方式下面的描述集中于可应用于推荐电视节目的推荐系统的本发明的实施例。然而, 将理解,本发明不限于这个应用,而是可以被应用到许多其他的推荐系统。图1是根据本发明的一些实施例的分布式推荐系统的示例。该推荐系统包括多个推荐装置101、103、105。推荐装置101、103、105中的每个包 括多个应用,所述应用能够产生电视节目的推荐,并且将它们呈现给推荐装置101、103、105 的用户。推荐装置101、103、105可以例如是电视机、个人视频记录器等。此外,该系统包括推荐服务器107,服务器107可操作地用于执行如下所述的各种 集中式推荐操作和算法。推荐装置101、103、105经由网络109耦接到推荐服务器107,网络109允许在推荐装置101、103、105和推荐服务器107之间的数据通信。该网络可以例如包括传统电话系 统、移动蜂窝通信和/或因特网。在该系统中,推荐装置101、103、105中的每个可以执行多个推荐应用,所述推荐 应用向所述装置的用户(多个)提供电视节目的推荐。另外,推荐服务器107被布置成执 行用于产生适合于用户或者用户组的电视节目的推荐集合的推荐算法。具体地,推荐服务 器107存储一个或多个用户简档,并且可以使用高级推荐算法来选择电视节目的第一推荐 集合。所选择的集合用户的(或多个用户的)偏好,但是通常可能是反映更基本的偏好的 相对大的集合。特别地,该集合可以反映多个用户的一般偏好集合和/或长期偏好集合。推荐服务器107向一个或多个推荐装置101、103、105传送内容项目标识数据,内 容项目标识数据识别第一推荐集合的内容项目。然后,推荐装置101、103、105使用第一推 荐集合来作为进一步定制推荐的基础。这个定制取决于用于向用户提供推荐的各个推荐应 用的特性。因此,该系统使用分布式的两级推荐处理,其中,集中产生的第一推荐集合随后被 改善,以匹配在各个推荐装置101、103、105中的具体应用特性。该方法可以减少对各个装 置的计算要求,减少通信资源使用,改善响应速度,允许使用复杂的推荐算法和/或使得能 够使用集中式信息。特别地,该方法允许各个推荐装置101、103、105通过减少资源使用来 采用多个高级和不同的推荐应用。因此,该推荐处理被划分为两个阶段。第一阶段被集中地执行,并且可以类似于产 生推荐列表的传统推荐器。第二阶段在各个装置中被执行,并且根据来自所述装置处的可 能应用的集合执行的具体应用而重新布置这个列表。第一阶段被周期地执行,以覆盖未来 时间窗口,而每当需要新的推荐时执行第二阶段,并且第二阶段可以具体地重新布置来自 推荐服务器107的列表以处理当前的接口环境等。该方法因此仅允许执行密集的计算任务一次,同时仍然提供变化的推荐体验。它 也允许密集计算位于服务器中,同时允许本地装置灵活地提供多个推荐体验,同时最小化 在两者之间的通信(因为例如可以以长的时间间隔来传送更新的推荐列表)。图2图示了图1的推荐服务器107的更多细节,并且图3图示了第一推荐装置101 的更多细节。图4和5分别图示了推荐服务器107和第一推荐装置101的操作的方法。将 参考这些附图更详细地描述图1的系统的操作。推荐服务器107包括服务器推荐器201,服务器推荐器201被布置成执行步骤 401,其中,响应于与第一用户相关联的服务器用户简档而产生推荐的内容项目的第一推荐 集合。服务器推荐器201耦接到用户简档处理器203,用户简档处理器203存储和管理用于 由服务器推荐器201使用的一个或多个用户简档。服务器推荐器201和用户简档处理器203耦接到网络处理器205,网络处理器205 被布置成执行步骤403,其中,产生包括用于第一推荐集合的每个内容项目的内容项目标识 的内容项目标识数据。然后,内容项目标识数据被传送到至少第一推荐装置101。在具体示 例中,内容项目标识数据被传送到所有的推荐装置101、103、105。服务器推荐器201从可用于推荐装置101、103、105的用户(多个)的内容来产生 第一推荐集合,第一推荐集合包括内容项目推荐。在具体示例的电视推荐域中,这通常在 于从提供的电视时间表中选择特别匹配用户的偏好的电视节目。该推荐算法将根据具体时间间隔。在具体情况下,服务器推荐器201产生第一推 荐集合,第一推荐集合包括下一个星期的推荐的电视节目。在该示例中,服务器推荐器201将第一推荐集合限于可用于推荐装置101、103、 105的电视节目,并且具体地,服务器推荐器201可以将向推荐装置101、103、105中的每个 的推荐集合限于可以被各个推荐装置101、103、105接收的信道的节目。服务器推荐器201产生第一推荐集合,使得它包括与可以在各个推荐装置101、 103,105中执行的所有推荐应用相关的推荐节目集合。因此,服务器推荐器201的推荐算法 被设置成产生与用户的偏好相匹配但是同时对于不同的推荐应用不太限制的相对宽的推 荐集合。将理解,本领域内的技术人员将知道用于响应于用户简档而产生内容项目推荐的 许多不同推荐算法,并且服务器推荐器201可以在不偏离本发明的情况下使用任何适当的 方法。作为示例,服务器推荐器201可以使用诸如在下文中提供的算法的推荐算法 Jonathan L Herlocker,Joseph A. Konstan, A1 Borchers,JohnRiedl,‘‘An algorithmic framework for performing collaborative filtering,,, Proceedings of the 22nd annual international ACM SIGIR conference onResearch and development in information retrieval, p. 230—237,Augustl5_19,1999,Berkeley, California,United States。在该示例中,在服务器中存储的用户简档是已经响应于一组用户的偏好而确定的 一组用户简档。例如,可以从选择的一组用户或者对于与推荐服务器107相关联的所有用 户获得用户偏好。然后,推荐服务器107可以确定第一推荐装置的用户的该组用户简档以 考虑其他用户的偏好。因此,由推荐服务器107产生的第一推荐集合可以是基于协作推荐, 并且因此可以包含作为在该组中的其他用户的偏好的结果而部分地被选择的内容项目。服务器推荐器201的推荐算法可以偏爱在用户的偏爱信道或者观看时间中安排 的节目。这可以允许改善对于用户偏好的改进的调整,并且提高当用户通常观看这样的内 容时将传送由推荐装置101、103、105的推荐应用产生的、对用户的最后推荐的可能性。例如,如果在用户的峰值观看时间传送不太偏好的节目,则服务器推荐器201可 以向第一推荐集合添加所述不太偏好的节目(例如,如果在偏好时间传送具有低于阈值 的推荐值的节目,则可以仍然包括这个节目,第一阈值用于将推荐值包括在第一推荐集合 中)。这样的方法可以保证在用户的峰值观看时间期间至少有一个节目要推荐给用户。通 常在所产生的第一推荐集合中,这样的节目将被给予低偏好/优先级值。在这个示例中,服务器推荐器201不仅产生推荐的内容项目的列表,而且产生用 于每个内容项目的关联的用户偏好指示。这个指示表示内容项目与用户简档的匹配程度, 并且/或者是用户可以具有的内容项目的偏好的量度(它可以例如是用于内容项目的预测 的用户分级)。在该示例中,网络处理器205被布置成将这个信息包括在内容项目标识数据 中,内容项目标识数据被传送到推荐装置101、103、105。相关联的用户偏好指示可以例如指 示在优先化的第一推荐集合中的每个内容项目的优先值,其中,较高的优先级表示用户将 喜欢特定内容项目的较高的可能性。 在一些实施例中,内容项目标识数据包括所推荐的内容项目中的至少一个的传送
9时间指示。传送时间指示可以具体地指示传送特定的电视节目的时间。因此,在这样的示 例中,第一推荐集合的项目是不仅指定内容项目而且指定这些何时可用的事件项目。这可 以便利在推荐装置101、103、105处的操作,因为这些可以直接处理第一推荐集合以向用户 产生考虑到电视节目的具体传送时间的具体推荐。在其他示例中,内容项目标识数据不包括对第一推荐集合中的至少一个内容项目 的传送时间指示。具体地,内容项目标识数据可以仅仅包括内容项目标识符,而没有内容项 目的传送时间的任何指示。因此,第一推荐集合的元素可以仅仅是内容项目元素,而不是事 件项目。例如,如果特定的电视节目在下一个星期中被传送三次,则第一推荐集合可以仅仅 包括节目的单个标识。在这样的示例中,推荐装置101、103、105中的每个可以响应于内容项目的标识和 本地存储的内容项目的传送时间的表而确定电视节目的实际传送时间(多个)。具体地,可 以使用电视节目的标识来在电视时间表中进行查找,以识别传送节目的信道(多个)和时 间(多个)。在这样的示例中,在第一推荐集合中的单个内容项目条目可以被扩展成多个事 件项目,然后,多个事件项目被推荐装置101、103、105使用。因此,在内容项目标识数据中,可以仅仅以内容标识符或者时间安排事件标识符 来表达第一推荐集合。先前的方法允许减少内容项目标识数据的大小,由此减少了通信资 源使用,但是也可能增加推荐装置101、103、105的复杂性和/或计算资源。在一些实施例中,传送时间可以指示偏好传送时间。然后,推荐装置可以从本地存 储的TV时间表来确定替代的传送时间。推荐服务器107通常产生涵盖可能要由推荐装置101、103、105的推荐算法使用的 所有可能选项的第一推荐集合。然而,第一推荐集合实质减少了可用内容的总量,由此降低 了推荐装置101、103、105的计算要求。而且,产生相对短的第一推荐集合减少了通信资源 使用,并且因此减少了在推荐服务器107和推荐装置101、103、105之间的通信的带宽要求。 为了减少所传送的内容项目标识数据的数量,可以仅仅传送在当前的第一推荐集合和以前 传送的第一推荐集合之间的不同(例如,如果传送涵盖一个星期的第一推荐集合的每日更 新)。在该具体示例中,推荐服务器107产生包括内容标识符(或者事件标识符)和它 们的偏好值/推荐加权(WD的第一推荐集合。该集合涵盖了向前一个时段TK(通常是向 前一个星期)的时间窗口。该集合的更新被周期地发送到所述装置。在更新Tu(通常是一 天)之间的时间应当小于Tk。该集合包含根据推荐器预测对用户来说感兴趣的项目。在下面,将参考图3和5来更详细地描述第一推荐装置101的操作。第一推荐装置101包括执行步骤S501的网络接口 301,其中,从推荐服务器107接 收内容项目标识数据。网络接口 301耦接到执行步骤503的内容列表处理器303,其中,从内容项目标识
数据提取第一推荐集合。 在该具体示例中,第一推荐集合包括内容项目标识数据而不是事件项目标识,并 且内容项目标识数据不包括内容项目的传送时间的任何指示。然而,内容列表处理器303 耦接到时间表存储器305,时间表存储器305包括内容项目的传送时间信息(具体地,它可 以包括接下来的星期的电视时间表)。内容列表处理器303检索用于第一推荐集合的每个电视节目的传送时间(多个),并且使用它从所接收到的内容项目产生事件项目。因此,在这样的示例中,内容列表处理器303响应于在内容项目标识数据中的内 容项目标识和本地存储的内容项目的传送时间的表(诸如存储的电视时间表)而确定内容 项目的传送时间。内容列表处理器303在该示例中耦接到装置推荐器307,装置推荐器307可操作地 用于执行步骤505,其中,从第一推荐集合产生推荐的内容项目的第二推荐集合。第二集合 可以由比第一集合更小和更多的定位推荐集合构成。装置推荐器307耦接到三个不同的应用处理器309、311、313。这些中的每个可操 作地用于执行推荐应用,如步骤507所示。因此,第一推荐装置101包括用于执行多个不同的推荐应用的功能,所述不同的 推荐应用具有不同的特性,诸如不同的用户接口 /呈现特性等。装置推荐器307被布置成响应于第一推荐应用的特性而产生第二推荐集合。在该 具体示例中,应用处理器309-313可以从装置推荐器307请求推荐的集合,并且根据哪个应 用处理器309-313请求推荐,装置推荐器307继续使用推荐处理的不同的参数和/或约束 来产生第二推荐集合。因此,根据哪个应用处理器309-313请求推荐的集合,装置推荐器 307产生不同的推荐的集合。在该示例中,然后,应用处理器309-313继续使用根据具体应 用所提供的第二推荐集合,并且具体地可以向用户提供所提供的第二推荐集合。在该具体示例中,因此,应用处理器309-313不包括各个推荐器功能,而是全部使 用装置推荐器307的公共推荐功能。然而,根据具体应用来修改装置推荐器307的推荐处 理/算法。在该示例中,装置推荐器307可以例如被实现为可以由在第一推荐装置101处执 行的任何推荐应用调用的子例程。推荐子例程的调用可以包括被应用于定制推荐的用于调 用应用的参数集合。这些参数因此可以是用于定制推荐的调用应用的特性。将理解,在其他实施例中,应用处理器309-313中的每个可以包括用于产生第二 推荐集合的推荐功能。因此,使用不同的功能和/或推荐处理/算法来产生取决于执行哪个 应用的第二推荐集合。在这样的示例中,应用处理器309-313中的每个可以从内容列表处 理器301接收第一推荐集合,并且使用应用特定的推荐处理来单独地产生第二推荐集合。第一推荐装置101因此可以基于与应用相关联的具体要求和偏好来动态地优化 所产生的推荐。例如,一个应用可以被布置成提供从当发出推荐请求时起的很短的时间间 隔中要观看的节目的推荐。作为响应,第一应用处理器309可以处理从推荐服务器107接 收到的第一推荐集合,以产生旨在提供很快将开始的电视节目的推荐的定位列表。例如,第一应用处理器309可以基于传送时间和当前时间向第一推荐集合的用户 偏好引入倾向性。这个倾向性可以导致第二推荐集合具有第一推荐集合的内容项目的改 变的优先级或者顺序。结果,第一应用可以例如向观众提供推荐在几分钟后开始的略微不 太偏好的节目,而不是在例如一个小时后开始是更偏好的节目。然而,通过适当地调整倾向 性,第一应用仍然可以相对于在例如5分钟后开始的很不偏好的节目而推荐在例如20分钟 后开始的、具有很高的偏好值的节目。第二应用可以产生推荐的内容项目的集合,它覆盖例如几天的较长时间间隔。在 这种情况下,可以考虑到例如用户偏好的观看时间来处理第一推荐集合。因此,可以产生并向用户呈现完全不同的第二推荐集合。然而,两个应用都基于第一推荐集合,第一推荐集合与用户可用的全部内容项目 的集合相比较实质上减小。因此,在第一推荐装置101处可以实现更快和更少资源要求的 推荐处理。特别地,第一推荐装置101的推荐处理可以仅仅基于倾向性由推荐服务器107 产生的第一推荐集合的内容项目偏好。因此,在一些实施例中,从推荐服务器107接收到的内容项目标识数据可以包括 每个内容项目的偏好指示,它反映了对于由推荐服务器107的推荐处理预测的内容项目的 用户偏好。在这样的实施例中,推荐内容项目的第二集合的产生可以是响应于这个相关联 的用户偏好指示。例如,如上所述,装置推荐器307可以向所接收到的用户偏好引入倾向 性,或者可以将使用本地存储的用户简档来本地产生的用户偏好与来自推荐服务器107的 偏好相组合(例如通过加权求和)。具体地,本地存储的用户简档可以涉及一组用户,这组用户是对于推荐服务器107 的用户简档有影响的一组用户的子集。例如,已经响应于比使用第一推荐装置的用户更多 的用户而导出用于推荐服务器107中的推荐的用户简档,并且特别地,可以响应于所有推 荐装置101、103、105的所有用户的内容项目选择/偏好来导出用于推荐服务器107中的推 荐的用户简档,而本地存储的用户简档可以仅仅包括使用第一推荐装置101的用户的用户 偏好。具体地,本地存储的用户简档可以是单个用户简档。因此,该系统允许基于协作用户 偏好的推荐以有效地适于各个用户偏好。作为另一个示例,本地存储的用户简档可以是比由推荐服务器107使用的用户简 档更详细的用户简档。例如,本地用户简档可以包括更精确的偏好、更多类别和/或内容项 目特性的偏好、更复杂的偏好值(例如偏好的集合而不是单个偏好值)等。这样的方法可 以允许改善推荐的定位,而不要求高度详细的用户简档的集中式存储、产生和维护。在一些实施例中,推荐内容项目的第二集合的产生是响应于用户的内容项目呈现 时间偏好。例如,第一推荐装置101可以监视用户通常何时观看电视节目,并且这可以在本 地用户简档中捕获。然后,可以根据所存储的特定电视节目的传送时间的呈现时间偏好来 在装置推荐器307中倾向于第一推荐集合的给定电视节目的偏好值。作为另一个示例,本地存储的用户简档可以包含指示用户偏好如何随着时间改变 的信息。例如,它可以反映用户趋向于偏好在晚上的早些时间观看喜剧节目和在晚上的晚 些时间观看电影。因此,用户简档可以指示不同时刻的用户的内容项目偏好。然后,推荐的 内容项目的第二集合的产生可以考虑这个时变的偏好。例如,装置推荐器307可以肯定地 倾向于在晚上早些时间的喜剧节目和在晚上晚些时间的电影。因此,在这样的系统中,可以 实现推荐对于提供推荐的时间的短期调整,而不要求集中式推荐服务器107考虑或者知道 这样的短期改变。因此,可以通过集中式推荐来产生公共和非时间依赖的第一推荐集合,由 此减少或者消除对于第一推荐集合的频繁更新的需要,并且/或者减小内容项目标识数据 的大小,因为这不需要包括表示短期偏好改变的数据。可以例如根据请求推荐集合的推荐应用的用户接口特性来调整由装置推荐器307 的推荐。例如,第二推荐集合的产生可以取决于应用正在向用户呈现多少内容项目推荐。因 此,对于第二推荐集合而言,可以例如仅仅通过选择实现在推荐中达到最高偏好值所需要 的内容项目的数目来减少在第一推荐集合中的内容项目的数目。
作为另一个示例,可以响应于与第一应用相关联的内容项目呈现特性而调整推荐。例如,如果所述应用实时地(即当它们被传送时)推荐要观看的内容项目,则第二推荐 集合的产生可以考虑用户的观看时间偏好。然而,如果所述应用推荐用于记录的内容项目, 则第二推荐集合的产生可以忽略观看时间偏好,而是向第二推荐集合施加它必须不包含重 叠的节目的限制。 在一些示例中,可以根据应用的推荐时间间隔特性来调整推荐。例如,如上所例示 的,如果应用提供在当前时间附近的短时间间隔的推荐,则第二推荐集合的产生将强烈地 倾向于在近期开始的电视节目,而如果应用推荐接下来几天的电视节目,则为了记录到本 地存储器以供以后欣赏,将不引入这样的倾向性。在下面,将描述第一推荐装置101的具体操作的具体示例。在该示例中,使用用于不同的接口交互的不同的重新布置策略的应用用于产生第 二推荐集合。所述的具体推荐策略特别适合于与电视的典型用户交互。被称为樱桃挑选器(cherry picker)应用的第一应用产生在几天的时段中的最偏 好的电视节目(“樱桃”)的推荐,由此通过呈现该时段的最佳推荐集合来允许用户提前计 划他们的观看。被称为现在和接下来应用的第二应用产生当前呈现或者在短时间窗口(例如在 接下来的15分钟中)中开始的电视节目的推荐。因此,这个应用帮助用户决定现在观看什 么。被称为记录应用的第三应用产生用于在接下来的例如两天中记录的电视节目的 推荐(并且因此没有任何已知用户观看时间限制)。因此,这个应用帮助用户决定在接下来 的日子中记录什么。根据具体应用,需要通过消除不适合于交互环境的节目,或者通过针对应用的细 节来调整相对偏好值,重新布置第一推荐集合。如上所述,第一推荐装置101包括服务器通信功能,它能够从推荐服务器107接收 推荐列表(第一推荐集合)。当从推荐服务器107接收到新的推荐列表时,更新本地存储的第一推荐集合(或 者根据内容项目标识数据是包括完整的第一推荐集合还是仅仅接收到差别的第一推荐集 合,将它替换为所接收到的列表)。然后,列表的内容项目被扩展到事件项目。具体地,在本 地时间表(用于预定的未来时间窗口,通常在一个星期中)中查找内容标识符(CIDi),并且 产生特定的时间安排事件(SID)。在一些情况下,可以将同一内容广播不止一次。在这种情 况下,一个内容条目将被转换成多个事件条目。当从所述应用之一接收到请求的时候,装置推荐器307基于第一推荐集合来执行 推荐处理。因此,推荐器处理开始于基础推荐列表(第一推荐集合)。第一步骤是去除已经被 传送的任何时间安排事件。具体地,响应于当前时间和内容项目的传送时间的比较来从第 一推荐集合去除内容项目(例如去除具有SID值的所有项目,所述SID值指示过去的时间 安排事件)。此时,可以更新基础推荐列表,使得不必再次查找这些项目。根据请求推荐的应用,应用不同的选择策略现在和接下来的应用请求
通过仅仅选择将在短时间间隔中(例如,在下一个小时中)将传送的那些节目,所 述推荐列表被限于当前时段。第二推荐集合的产生可以具体地考虑情绪分数,情绪分数反 映了随着时间的用户偏好变化(例如,它可以反映用户的当前偏好(例如,用户当前正在寻 找的节目的类型))。可以例如从用户以前的观看行为来推断情绪分数,或者可以将情绪分数存储在推 荐装置101的用户简档中。情绪分数可以例如被建模为匹配当前情绪的特定内容C的概率 P_d (C)。例如,可以在内容与在某个时间ei之前的同一观看时段中观看的其他内容Ci的内 容类似度方面建模情绪分数(λ是系统的常数参数)Pmood (C) = Yl QXTpi-^ei )similarity{c, Ci)在简单的示例中,可以从比较的内容的类别来计算类似度(例如,如果类别相同, 则类似度是1,否则为0)。更复杂的类似度量度可以考虑其他属性。因此,对于第一推荐集合的每个内容Ci,装置推荐器307可以考虑情绪分数 P_d(Ci),以调节内容项目的加权(Wi)(偏好值)。因此,具有较高情绪分数的项目的加权 (Wi = W^aPmood(Ci))被提高,并且可以通过根据这些新加权值重新布置第一推荐集合来产 生第二推荐集合。樱桃祧诜器应用请求对于本应用,推荐处理将计划进一步未来的时间安排事件(通常它将以在第一推 荐集合中的所有程序开始)。对于在第一推荐集合内的每个内容Ci,使用传送时间ti来计算这个时间的用户偏 好PtinJti)。因此,用户观看时间偏好用于修改偏好值。可以使用观看信息来确定观看时间偏好。例如,可以确定在一个星期中的特定时 隙t(例如,在这个星期中的每半个小时)中观看的概率Ptime(t)。可以将它计算为在那个 时隙t中已经观看内容的次数除以用户在任何时隙中已经观看内容的总次数。如果同一内容Ci与不同的时间安排事件相关联,则选择在最偏好的时间传送的内 容,并且丢弃其他事件(如果偏好值相同,则可以选择第一传送)。然后,使用观看时间偏好 来调节内容的加权Wi (Wi = Wi+a Ptinre(ti)),并且通过根据这些新的加权值重新布置第一推 荐集合来产生第二推荐集合。记录应用请求对于这个应用,装置推荐器307的推荐可以类似于樱桃挑选器应用,但是不是响 应于用户的偏好观看时间而调整偏好值,而是根据最早的传送时间来调整偏好值,并且避 免任何记录冲突(即,限制所述推荐以保证在任何一个时间没有安排记录比所述装置可以 同时记录的节目的数目更多的节目)。在一些实施例中,该应用可以向第二推荐集合添加一个或多个内容项目。因此,该 应用可以产生并且呈现内容项目的推荐列表,该推荐列表包括在第二集合中未包括的至少 一个内容项目。附加内容项目(多个)的选择可以例如是从电视时间表的随机选择,或者 可以被选择为在第一推荐集合和/或第二推荐集合中未包括的节目,但是附加内容项目与 这些集合的内容项目具有某种类似度(例如相同的演员和/或类别)。这样的方法可以在第一推荐集合中找到符合由所述应用请求施加的准则的较少选项时向第二推荐集合添加更多的选项。所述应用也可以选择考虑到所选择的项目的多样性而选择用于第二推荐列表的 项目。在这样的情况下,可以响应于每个内容项目与已经在推荐集合中的项目的类似程度 来调整每个内容项目的优先级或者加权。在一些实施例中,第一推荐装置101还监视用户行为,并且响应于所述行为而更 新用户简档。具体地,观看信息和内容分级可以被第一推荐装置101收集,并且用于更新用户 简档。如果选择内容项目来观看和/或如果接收到否定的用户分级,则可以例如提高对于 内容项目所属于的类别的用户偏好。
因此,基于内容项目的选择或者分级,可以产生用户偏好指示(例如直接地对应 于分级),并且用户偏好指示用于更新本地存储的用户简档。替代地或者另外,也可以将用 户简档指示传送到推荐服务器107,在此,用户简档指示可以用于更新用于产生第一推荐集 合的集中式推荐的用户简档。第一推荐装置101可以包括用于动态地更新第二推荐集合和/或第一推荐集合的 功能。例如,如果已经观看了一个电视节目,则可以从所述集合去除这个电视节目,因为用 户不可能要在推荐时间窗口(Tk)中再一次观看这个节目。如果特定的节目被否定地分级, 则可以避免这个节目的进一步的推荐。作为另一个示例,如果用户非常肯定地分级某个特定内容,则可以在第一推荐集 合和/或第二推荐集合中提升它(具体地,鉴于新的分级可以提高内容项目的相关联的加 权值,并且因此可以将内容项目重新定位在第二推荐集合中)。因此,第一推荐可以确定在第二集合中的内容项目的用户偏好指示,诸如分级。然 后,它可以响应于用户简档指示而修改用于至少一个内容项目的偏好值。在图6中示出了根据上述描述的推荐装置的操作的方法的示例。所描述的方法的优点是可以将新的推荐应用和接口添加到装置,而没有额外的通 信成本或者资源使用,并且仅仅增加较小的计算成本(因为已经在服务器上进行了大量的 计算)。将理解,为了清楚,以上描述已经参考不同的功能单元和处理器描述了本发明的 实施例。然而,将显而易见的是,在不偏离本发明的情况下,可以使用在不同的功能单元或 者处理器之间的功能的任何适当分布。例如,可以通过相同的处理器或者控制器来执行被 说明为由分立的处理器或者控制器执行的功能。因此,对于特定功能单元的引用应当仅仅 被看作对于用于提供所描述的功能的适当装置的引用,而不表示严格的逻辑或者物理结构 或者组织。可以以任何适当的形式来实现本发明,所述任何适当的形式包括硬件、软件、固件 或者其任何组合。本发明可以可选地至少部分地被实现为在一个或多个数据处理器和/或 数字信号处理器上运行的计算机软件。可以以任何适当方式来物理地、功能地和逻辑地实 现本发明的实施例的元件或者组件。事实上,可以将所述功能实现在单个单元中、多个单元 中或者实现为其他功能单元的一部分。同样,本发明可以被实现在单个单元中,或者可以物 理地或者功能地分布在不同单元和处理器之间。虽然已经结合一些实施例描述了本发明,但是本发明不意在限于在此阐述的具体形式。而是,本发明的范围仅仅由权利要求来限定。另外,虽然可能看起来结合特定的实施 例描述了特征,但是本领域内的技术人员将认识到,可以根据本发明组合所描述的实施例 的各种特征。在权利要求中,术语包括不排除其他元件或者步骤的存在。 而且,虽然单独地被列出,但是可以例如通过单个单元或者处理器来实现多个装 置、元件或者方法步骤。另外,虽然可以在不同的权利要求中包括各个特征,但是有可能有 益地组合它们,并且在不同的权利要求中的包括不暗示特征的组合不是可行的和/或有益 的。而且,在一类权利要求中的特征的包括不暗示对于此类的限制,而是指示所述特征视情 况同样可应用于其他权利要求类别。而且,在权利要求中的特征的顺序不暗示所述特征必 须起作用的任何具体顺序,并且特别地,在方法权利要求中的各个步骤的顺序不暗示必须 以这个顺序来执行这些步骤。而是,可以以任何适当的顺序来执行这些步骤。
权利要求
一种在推荐系统中产生内容项目的推荐的方法,所述推荐器系统包括推荐服务器和至少第一推荐装置,所述方法包括所述服务器执行以下步骤响应于与第一用户相关联的第一用户简档来产生推荐的内容项目的第一推荐集合,以及向至少所述第一推荐装置传送内容项目标识数据,所述内容项目标识数据包括用于所述第一推荐集合的每个内容项目的内容项目标识;并且在所述第一推荐装置处执行以下步骤从所述推荐服务器接收所述内容项目标识数据,响应于所述内容项目标识数据而确定所述第一推荐集合,执行来自推荐应用集合的第一推荐应用,所述推荐应用集合中的每个应用可操作地用于提供推荐,以及响应于所述第一推荐应用的特性而从所述第一推荐集合产生推荐的内容项目的第二推荐集合;并且所述第一推荐应用响应于所述第二推荐集合而提供推荐。
2.根据权利要求1所述的方法,其中,所述内容项目标识数据进一步包括用于所述第 一推荐集合的至少一个内容项目的相关联的用户偏好指示,所述相关联的用户偏好指示表 示用于所述至少一个内容项目的服务器估计的用户偏好;并且所述推荐的内容项目的第二集合的产生是响应于所述相关联的用户偏好指示。
3.根据权利要求1所述的方法,其中,所述内容项目标识数据包括用于所述第一推荐 集合的至少一个内容项目的传送时间指示;并且所述推荐的内容项目的第二集合的产生是 响应于所述传送时间指示。
4.根据权利要求1所述的方法,其中,所述内容项目标识数据不包括用于所述第一推 荐集合的至少第一内容项目的传送时间指示;并且所述第一推荐装置进一步执行以下步 骤响应于所述第一内容项目的内容项目标识和本地存储的用于内容项目的传送时间的 表而确定用于所述第一内容项目的传送时间。
5.根据权利要求1所述的方法,其中,所述特性是所述第一推荐应用的用户接口特性。
6.根据权利要求1所述的方法,其中,所述特性是所述第一推荐应用的推荐时间间隔 特性。
7.根据权利要求1所述的方法,其中,所述特性是所述第一推荐应用的内容项目呈现 特性。
8.根据权利要求1所述的方法,其中,所述第二推荐集合是内容项目的优先化的集合, 并且所述第一推荐装置进一步执行优先化所述第二集合的所述内容项目的步骤。
9.根据权利要求1所述的方法,其中,所述第二推荐集合的产生进一步响应于在所述 第一推荐装置处存储的本地用户简档。
10.根据权利要求9所述的方法,其中,所述本地用户简档比所述第一用户简档更详细。
11.根据权利要求1所述的方法,其中,所述第一用户简档是响应于第一组用户的偏好而确定的一组用户简档;并且,所述本地用户简档是响应于所述第一组用户的子集的偏好 而确定的用户简档。
12.根据权利要求1所述的方法,其中,所述第二推荐集合的产生进一步响应于所述用 户的内容项目呈现时间偏好。
13.根据权利要求1所述的方法,其中,所述推荐的内容项目的第二集合的产生进一步 响应于用户简档,所述用户简档指示不同时刻的用户内容项目偏好。
14.根据权利要求1所述的方法,其中, 所述第一推荐装置执行以下步骤确定用于所述第二推荐集合的至少一个内容项目的用户偏好指示,以及 向所述服务器传送所述用户简档指示;并且 所述服务器执行以下步骤 响应于所述用户简档指示而修改所述第一用户简档。
15.根据权利要求1所述的方法,其中,所述服务器执行向第二推荐装置传送所述内容 项目标识数据的步骤;并且,所述第二推荐装置执行以下步骤从所述推荐服务器接收所述内容项目标识数据; 响应于所述内容项目标识数据而确定所述第一推荐集合;执行来自推荐应用的第二集合的第二推荐应用,所述推荐应用的第二集合中的每个应 用可操作地用于提供推荐,并且响应于所述第二推荐应用的特性而从所述第一推荐集合产生的推荐的内容项目的第 三推荐集合;并且所述第二推荐应用响应于所述第三推荐集合而提供推荐。
16.根据权利要求1所述的方法,其中,所述第一推荐装置进一步被布置成响应于当前 时间和所述第一内容项目的传送时间的比较而从所述第一推荐集合去除第一内容项目。
17.根据权利要求1所述的方法,其中,所述第一推荐应用产生内容项目的列表,所述 内容项目的列表包括在所述第二集合中不包括的至少一个内容项目。
18.根据权利要求1所述的方法,其中, 所述第一推荐装置进一步执行以下步骤确定用于所述第二集合的至少一个内容项目的用户简档指示,以及 响应于所述用户简档指示而修改用于所述至少一个内容项目的偏好值。
19.根据权利要求1所述的方法,其中,所述第一推荐装置进一步执行以下步骤 从所述推荐应用的集合执行第二推荐应用;并且响应于所述第二推荐应用的特性而从所述第一推荐集合产生推荐的内容项目的第三 推荐集合;并且所述第二推荐应用响应于所述第三推荐集合而提供推荐。
20.一种用于产生内容项目的推荐的系统,包括 服务器,所述服务器被布置成执行以下步骤响应于与第一用户相关联的第一用户简档来产生推荐的内容项目的第一推荐集合,以及向至少所述第一推荐装置传送内容项目标识数据,所述内容项目标识数据包括用于所述第一推荐集合的每个内容项目的内容项目标识;并且在所述第一推荐装置处,所述第一推荐装置被布置成执行以下步骤 从所述推荐服务器接收所述内容项目标识数据, 响应于所述内容项目标识数据而确定所述第一推荐集合,执行来自推荐应用集合的第一推荐应用,所述推荐应用集合中的每个应用可操作地用于提供推荐,以及响应于所述第一推荐应用的特性从所述第一推荐集合产生推荐的内容项目的第二推 荐集合;并且,所述第一推荐应用被布置成响应于所述第二推荐集合而提供推荐。
全文摘要
一种推荐系统包括推荐服务器(107),它响应于与第一用户相关联的并且存储在推荐服务器(107)上的用户简档来产生推荐的内容项目的第一推荐集合。向第一推荐装置(101)传送用于识别第一推荐集合的内容项目的内容项目标识数据。第一推荐装置(101)包括从推荐服务器(107)接收内容项目标识数据的网络接口(301)。内容列表处理器(303)响应于内容项目标识数据而确定第一推荐集合。第一推荐装置(101)还包括可以执行不同的推荐应用的应用处理器(309-313)。装置推荐器(307)响应于执行的推荐应用的特性而从第一推荐集合产生推荐的内容项目的第二集合。然后,该应用响应于第二集合而提供推荐。
文档编号H04N7/173GK101828199SQ200880112154
公开日2010年9月8日 申请日期2008年9月23日 优先权日2007年10月17日
发明者克雷格·沃森, 桑德拉·加达尼奥 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1