用于向用户推荐内容的方法和系统的制作方法
【专利摘要】本发明提供了用于向用户推荐内容的方法、系统和程序。首先获取与一个或多个先前用户相关的第一信息。然后,基于与一个或多个先前用户相关的第一信息,建立从用户映射到感兴趣的话题的模型。也获取与当前用户相关的第二信息。基于该模型为当前用户标识一个或多个感兴趣的话题。根据当前用户的一个或多个感兴趣的话题,向当前用户推荐内容。最终,通过将与当前用户相关联的信息和基于与一个或多个先前用户相关的第一信息建立的模型集成起来,生成经更新模型。与当前用户相关联的信息包括与当前用户相关的第二信息。
【专利说明】用于向用户推荐内容的方法和系统
[0001]背景
1.
【技术领域】
[0002]本教导涉及用于因特网服务的方法、系统和编程。尤其,本教导涉及用于向因特网用户提供信息的方法、系统和编程。
[0003]2.技术背景的讨论
[0004]在线推荐系统是信息过滤系统的一个子类,其使用基于用户的特性以及与用户相关的内容以及用户的在线行为构建的模型来预测用户对在线内容(例如文章、新闻、音乐、书籍或电影)的“兴趣”。例如,传统的推荐系统通常以两种方式中的一种——通过协作的过滤或基于内容的过滤产生推荐的列表。协作过滤方法从用户的既往行为(例如,先前购买或的选择的商家、对那些商家给予的数字评级)以及由其他用户做出的相似判决构建模型,并使用该模型来预测用户可能感兴趣的其他项目。基于内容的过滤方法利用已知的内容的一系列离散特性以便推荐具有相似性质的附加内容。
[0005]传统的推荐系统的预测精度主要依赖于推荐系统可以获取的用户的既往行为数据的量。例如,为了估计用户将感兴趣的话题,传统的推荐系统需要监视和收集尽可能多的用户的既往在线活动和相关内容。然而,如果用户对推荐系统来说是新的,推荐系统将难以获取足够的新用户的既往行为数据以便做出有意义的推荐。此外,传统的推荐系统通常仅获取由用户自愿提供的数据,例如,通过问卷,或在用户直接地与推荐系统交互时由推荐系统记录的数据,例如,在用户登录推荐系统时的cookie或活动日志。结果,推荐系统的不活动用户不能用来提供用于构建推荐模型的数据。相应地,对于新用户或不活动用户,传统的推荐系统在个性化内容推荐方面变得较为低效。另外,传统的系统通常仅考虑在用户当中的显式关系以及基于用户的在线内容消费活动明确地表示的用户的兴趣。尽管在一些现有技术中处理了隐式关系,但是几乎都是经由自组织方法标识隐式关系。
[0006]因此,存在对提供用于基于与用户相关联的信息个性化内容推荐的改善的解决方案的需求,无论这样的信息是静态的、动态的、显式的还是隐式的,所有都以系统的和有效的方式来解决上述问题。
[0007]概述
[0008]本教导涉及用于向用户推荐内容的方法、系统和编程。
[0009]在一个示例中,公开了一种在至少一种机器上实现的方法,每一机器具有至少一个处理器、存储和连接到网络以便向当前用户推荐内容的通信平台。首先获取与一个或多个先前用户相关的第一信息。然后,基于与一个或多个先前用户相关的第一信息,建立从用户映射到感兴趣的话题的模型。也获取与当前用户相关的第二信息。基于模型,为当前用户标识一个或多个感兴趣的话题。根据当前用户的一个或多个感兴趣的话题,向当前用户推荐内容。最终,通过将与当前用户相关联的信息和基于与一个或多个先前用户相关的第一信息建立的模型集成起来,生成经更新的模型。与当前用户相关联的信息包括与当前用户相关的第二信息。
[0010]在另一示例中,公开了一种在至少一种机器上实现的方法,每一机器具有至少一个处理器、存储和连接到网络以便向用户推荐内容的通信平台。基于与用户相关的信息,首先建立用于估计用户感兴趣的话题的模型。该模型基于与所述多个用户相关的信息从多个用户映射到多个感兴趣的话题。然后,收集与所述多个用户相关的动态信息。基于与所述多个用户相关的已收集的动态信息,精化已建立的模型。最终,向用户推荐带有至少一个感兴趣的话题的内容,其中基于已精化的模型估计至少一个感兴趣的话题。
[0011]在又一个示例中,公开了一种在至少一种机器上实现的方法,每一机器具有至少一个处理器、存储和连接到网络以便向当前用户推荐内容的通信平台。首先接收向用户推荐内容的请求,并且也获取与用户相关的信息。然后,检索基于与一个或多个先前用户相关的信息建立的模型。基于从用户映射到感兴趣的话题的模型,标识用户感兴趣的一个或多个话题。然后,检索与用户感兴趣的一个或多个话题一致的内容。最终,提供一个或多个感兴趣的话题的内容,以作为对请求的响应。
[0012]在不同的示例中,公开了用于向当前用户推荐内容的系统。该系统包括用户表征模块、建模模块、用户请求处理单元、话题估计模块和内容推荐模块。用户表征模块被配置为获取与一个或多个先前用户相关的第一信息。建模模块被配置为基于与一个或多个先前用户相关的第一信息建立从用户映射到感兴趣的话题的模型。用户请求处理单元被配置为获取与当前用户相关的第二信息。话题估计模块被配置为基于该模型标识当前用户的一个或多个感兴趣的话题。内容推荐模块被配置为根据当前用户的一个或多个感兴趣的话题向当前用户推荐内容。建模模块还被配置为通过将与当前用户相关联的信息和基于与一个或多个先前用户相关的第一信息建立的模型集成起来生成经更新的模型。与当前用户相关联的信息包括与当前用户相关的第二信息。
[0013]在再一种不同的示例中,公开了一种用于向用户推荐内容的系统。系统包括用户内容/活动监视器和内容推荐引擎。用户内容/活动监视器被配置为收集与多个用户相关的动态信息。内容推荐引擎被配置为基于与用户相关的信息建立用于估计用户感兴趣的话题的模型。模型基于与多个用户相关的信息从多个用户映射到多个感兴趣的话题。内容推荐引擎还被配置为基于与所述多个用户相关的已收集的动态信息精化已建立的模型并向用户推荐带有至少一个感兴趣的话题的内容,其中基于已精化的模型估计至少一个感兴趣的话题。
[0014]在又一种不同的示例中,公开了一种用于向用户推荐内容的系统。该系统包括内容推荐引擎和内容入口。内容推荐引擎被配置为获取与用户相关的信息。内容推荐引擎还被配置为检索基于与一个或多个先前用户相关的信息建立的模型,并基于从用户映射到感兴趣的话题的模型标识用户感兴趣的一个或多个话题。内容入口被配置为接收向用户推荐内容的请求。内容入口还被配置为检索与用户感兴趣的一个或多个话题一致的内容,且提供一个或多个感兴趣的话题的内容以作为对请求的响应。
[0015]其他概念涉及用于向用户推荐内容的软件。根据这种概念,软件产品包括至少一种机器可读非暂态介质和由该介质携带的信息。由该介质携带的信息可以是关于与请求相关联的参数或操作参数的可执行程序代码数据,例如与用户、请求或社会团体等等相关的信息。
[0016]在一个示例中,一种机器可读有形和非暂态介质上记录有用于向当前用户推荐内容的信息,其中,在由机器读取时,该信息引起机器执行一系列步骤。首先获取与一个或多个先前用户相关的第一信息。然后,基于与一个或多个先前用户相关的第一信息,建立从用户映射到感兴趣的话题的模型。也获取与当前用户相关的第二信息。基于该模型,为当前用户标识一个或多个感兴趣的话题。根据当前用户的一个或多个感兴趣的话题,向当前用户推荐内容。最终,通过将与当前用户相关联的信息和基于与一个或多个先前用户相关的第一信息建立的模型集成起来,生成经更新的模型。与当前用户相关联的信息包括与当前用户相关的第二信息。
[0017]在另一示例中,一种机器可读有形和非暂态介质上记录有用于向用户推荐内容的信息,其中,在由机器读取时,该信息引起机器执行一系列步骤。首先建立基于与用户相关的信息估计用户感兴趣的话题的模型。该模型基于与所述多个用户相关的信息从多个用户映射到多个感兴趣的话题。然后,收集与所述多个用户相关的动态信息。基于与所述多个用户相关的已收集的动态信息精化已建立的模型。最终,向用户推荐带有至少一个感兴趣的话题的内容,其中基于已精化的模型估计至少一个感兴趣的话题。
[0018]在又一个示例中,一种机器可读有形和非暂态介质上记录有用于向用户推荐内容的信息,其中,在由机器读取时,该信息引起机器执行一系列步骤。首先接收向用户推荐内容的请求,且也获取与用户相关的信息。然后,检索基于与一个或多个先前用户相关的信息建立的模型。基于从用户映射到感兴趣的话题的模型标识用户感兴趣的一个或多个话题。然后,检索根据用户感兴趣的一个或多个话题的内容。最终,提供一个或多个感兴趣的话题的内容以作为对请求的响应。
[0019]在下面的描述中将部分陈述附加优点和新颖特征,且本领域中的技术人员在检查下列内容和附图后将明显看出部分附加优点和新颖特征,或者可以通过各示例的产生或操作来获知附加优点和新颖特征。可以通过下面讨论的详尽示例中所陈述的各种方法的各方面、手段和组合的实践和使用来实现和获取本教导的优点。
[0020]附图简述
[0021]参考各示例性实施例进一步描述在此描述的方法、系统和/或编程。参考附图详细描述这些示例性实施例。这些实施例是非限制性示例性实施例,其中,观察附图中的多个视图,类似的标号表示相似的结构,且其中:
[0022]图1(a)和图1(b)描绘根据本教导的不同实施例其中应用内容推荐的联网环境的示例性实施例;
[0023]图2是根据本教导的实施例的用于向用户推荐内容的系统的高级示例性系统图;
[0024]图3(a)是根据本教导的实施例用于向用户推荐内容的系统的示例性用户内容/活动监视器的系统图;
[0025]图3 (b)是根据本教导的实施例的用户内容/活动监视器的示例性过程流程图;
[0026]图4(a)是根据本教导的实施例用于向用户推荐内容的系统的示例性内容推荐引擎的系统图;
[0027]图4(b)是根据本教导的实施例的内容推荐引擎的示例性过程的流程图;
[0028]图5(a)是根据本教导的实施例的用户表征模块的示例性用户信息表征单元的系统图;
[0029]图5 (b)是根据本教导的实施例的用户信息表征单元的示例性过程的流程图;
[0030]图5(c)是根据本教导的实施例的用户表征模块的示例性用户相关内容表征单元和用户活动表征单元的系统图;
[0031]图5(d)是根据本教导的实施例的用户相关内容表征单元和用户活动表征单元的示例性过程的流程图;
[0032]图6(a)是根据本教导的实施例的内容推荐引擎的示例性建模模块的系统图;
[0033]图6(b)是根据本教导的实施例的建模模块的示例性模型精化单元的系统图;
[0034]图6 (C)和6 (d)是根据本教导的不同实施例的层次模型的描述;
[0035]图6(e)是根据本教导的实施例的建模模块的示例性过程的流程图;
[0036]图7(a)是根据本教导的实施例的建模模块的初始建模单元的一个示例的系统图;
[0037]图7 (b)是根据本教导的实施例的初始建模单元的示例性过程的流程图;
[0038]图8(a)是根据本教导的实施例的建模模块的初始建模单元的另一示例的系统图;
[0039]图8 (b)是根据本教导的实施例的初始建模单元的示例性过程的流程图;
[0040]图9(a)是根据本教导的实施例的建模模块的初始建模单元的又一示例的系统图;
[0041]图9(b)是根据本教导的实施例的用于为新用户建立初始模型的组质心的描述;
[0042]图9(c)是根据本教导的一种实施例的初始建模单元的示例性过程的流程图;以及
[0043]图10叙述可以在其上实现本教导的通用计算机体系结构。
[0044]详细描述
[0045]在下列详细描述中,为了提供对相关教导的透彻理解,作为示例陈述了众多特定细节。然而,本领域中的技术人员应明显看出,无需这样的细节就可以实践本教导。在其他实例中,已经以相对高的级别而非详细地描述了众所周知的方法、过程、系统、组件和/或电路,以便避免不必要地模糊本教导的各方面。
[0046]本公开内容描述向用户推荐个性化内容的方法、系统和编程的各方面。在此公开的方法和系统能够将感兴趣的内容推荐给已经建立在线行为的历史的用户和仅某些用户属性(例如年龄、性别、职业、家庭地址等等)可用而没有任何先前历史信息的新用户两者。本教导也能够经由例如派生或传播推断和/或导出用户的隐式兴趣和偏好,以便基于例如与其他现有用户相关的信息获取用户相关的信息。这样的推理也可以应用到不活动的用户,以便可以以系统方式基于所推断的兴趣推荐内容。假定在线活动持续发生和改变,在此公开的方法和系统能够通过动态地监视和更新用户相关的信息并增强推荐模型来连续地精化推荐模型。
[0047]图1(a)和图1(b)描绘根据本教导的不同实施例的其中执行内容推荐的高级示例性系统配置。在图1(a)中,示例性系统100包括内容推荐引擎102、内容入口 104、用户106、网络108、内容源110和用户内容/活动监视器112。网络108可以是单个网络或不同网络的组合。例如,网络108可以是局域网(LAN)、广域网(WAN)、公共网络、私有网络、专有网络、公共电话交换网络(PSTN)、因特网、无线网络、虚拟网络或其任何组合。网络108也可以包括各种网络接入点,例如有线或无线接入点,例如基站或因特网交换点108-a、…,108-b,数据源可以通过其连接到网络以便经由网络传输信息。
[0048]用户106可以属于不同类型,例如经由桌面型连接(106-d)连接到网络108的用户、经由无线连接连接到网络108的用户,例如通过膝上型计算机(106-c)、手持式设备(106-a)、或汽车中的内建设备(106-b)。用户106可以经由网络108发送请求并将基本用户信息提供给内容入口 104 (例如,搜索引擎、社交网络站点等等),并通过网络108从内容入口 104接收所推荐的内容。在这一示例中,内容推荐引擎102可以充当后端支持,以便基于用户106的基本信息将所估计的用户感兴趣的话题106提供给内容入口 104。在一些示例中,可以分级多于一个的感兴趣的话题并将其提供给内容入口,以使得内容入口 104可以检索每个话题的内容,并基于多个所估计的感兴趣的话题的分级将内容呈现给用户106。
[0049]内容源110包括多个内容源110-a、110_b、-UlO-C0内容源可以对应于由实体主控的web站点,无论是个体、企业或诸如USPT0.gov等的组织、诸如cnn.com和Yahoo, com等的内容提供商还是诸如tweeter或博客等的内容输入源。内容推荐引擎102和内容入口104两者可以访问来自内容源110-a、110-b、《"、110-c中的任何的信息,以便基于所估计的用户兴趣获取与用户相关的动态信息106或标识并检索内容。在一个示例中,用户内容活动监视器112充当独立于内容推荐引擎102的服务提供商,其监视并收集动态用户相关的内容和活动,并将这样的所收集的信息提供给内容推荐引擎102,作为连续地更新推荐模型以便将最新的个性化内容推荐给用户106的基础。在一些实施例中,用户内容活动监视器112可以是内容推荐引擎102的(在这里未示出)一部分。在另一示例中,内容入口 104从内容源110检索与内容推荐引擎102所估计的兴趣相关的内容。
[0050]图1(b)呈现与图1 (a)中所示出的内容类似的系统配置,但有以下不同:内容推荐引擎102现在被配置成独立的服务提供商,其直接地与用户106交互,以便提供个性化内容推荐服务。在示例性系统114中,内容推荐引擎102可以从用户106接收带有某种基本信息的请求和/或与用户相关联的动态内容,并直接地将所推荐的内容提供给用户,而不经过第三方内容入口 104。
[0051]图2是根据本教导的一种实施例的内容推荐引擎102的高级阐释。图2叙述内容推荐引擎102的基本输入和输出。对于内容推荐引擎102的先前的(现有的)用户,内容推荐引擎102可以获取三种类型的用户信息:(I)所监视的用户相关的内容,例如用户所消费的内容、用户所贡献的内容,例如用户自己的博客或微博条目,用户对其他人的博客或微博条目的评论等等;(2)用户简档,即内容推荐引擎102的用户信息档案中所存储的或从其他内容源110收集的用户基本属性;以及(3)所监视的用户在线活动,例如点击、未点击、所做出的在线支付或在线游戏活动等等。来自先前用户202的不同类型的用户信息可以动态地改变,且因而受到连续监视并被馈送到内容推荐引擎102中。基于与现有用户相关联的信息的表征,内容推荐引擎102可以构建和精化用于估计这样的用户(或新用户)感兴趣的话题的模型。在新用户204用诸如属性等的某种基本用户信息向内容推荐引擎102注册时(或者在内容推荐引擎102向其提供其服务的内容入口 104将这样的用户信息提供给内容推荐引擎102时),不管怎样简单,内容推荐引擎102可以基于所接收的新用户信息估计新用户感兴趣的话题,并直接地或通过内容入口 104,简化关于这样的所估计的兴趣的所推荐的内容并将其呈现给新用户204。然后,所接收的新用户的信息以及所估计的感兴趣的话题的初始的所推荐的内容可以用来扩展推荐模型,以使得推荐模型现在合并新用户的信息以便形成经聚集或集成的模型(在它被附加到所有其他现有用户的现有模型的意义上是被集成的)。从这一点起,监视新用户的任何进一步的在线活动(包括所消费或贡献的内容),并将其用来进一步精化推荐模型,以使得可以自适应地做出内容推荐。
[0052]图3(a)是根据本教导的一种实施例用于向用户推荐内容的系统的示例性用户内容/活动监视器112的系统图。如以上所描述的,用户内容/活动监视器112可以是与如图1(a)和图1(b)中所示出的内容推荐引擎10分离的独立服务,或者可以是内容推荐引擎102的一部分。如上所述,用户内容/活动监视器112可以动态地监视和收集任何用户信息。例如,可以通过网络108从任何内容源110检索由用户消费的内容(新闻、文章、描述、博客或任何社交网络内容)。用户内容/活动监视器也可以收集由用户贡献的任何内容(博客、制品、聊天、twitter等等)。这样的内容源可以包括但不限于社交网络站点(例如、Facebook、人人、QQ)、在线新闻源、在线游戏站点、在线购物站点、博客、微博(例如Twitter、新浪微博)。可以经由用户的在线活动标识这样的内容,例如,点击链接通往不同的文章,对博客条目的评论引起收集评论本身,转发文章给朋友可以引起朋友消费的关于相似话题的附加内容等等。用户的在线活动因而提供关于用户的兴趣尤其是动态兴趣的信息。因此,用户的在线活动也可以由用户内容/活动监视器112监视和记录。
[0053]也可以通过用户内容/活动监视器112所采用的不同机制来监视和收集不同类型的用户信息。例如,用户相关的内容和用户简档可以由web爬行器302收集,且用户活动可以由活动监视器304通过例如可以由每一内容源110提供的公共API 308来监视。用户相关的活动可以包括浏览网站、点击广告、购买产品、关注企业实体或个体(例如,朋友)、评论、转发、爱好或共享博客或微博条目、更新社交网络账户的状态等等。另外,用户内容/活动监视器112可以包括话题监视器/传播器306,其可以负责通过例如用户的活动和社交网络设置中的社交图谱推断用户的兴趣。例如,话题监视器/传播器306可以被配置为应用链接传播方法,以便基于社交图谱和用户活动(例如,关注、朋友)将名人的标签(例如,类另O)传播给社交网络中的每一用户。社会组成员的名人状态可以通过社交网络中的追随者的数量来推断。一般地,可以推断用户在社交网络中的重要性,且具有显著数量的追随者的重要用户的个人兴趣可以用来推断追随者的兴趣。
[0054]为了将所监视的用户信息关联到正确的用户,可以在用户内容/活动监视器112中部署用户标识符310,以使得对于所收集的每一消息片段,标识在信息和正确的用户之间对应关系。已标识的用户和相应的所收集的内容和活动可以被保存在用户相关的信息档案312和内容/活动信息档案314中以供将来使用。在这一示例中,用户内容/活动监视器112还可以包括内容/活动过滤器316,用于减少将要保存的内容和活动的体积,以便以最小的丢失重要相关信息风险来最大化效率。可以根据某些准则执行所收集的数据的这样的体积减少。在一个示例中,可以过滤调在阈值时间周期内的过期内容或活动。在另一示例中,可以由内容/活动过滤器316移除重复信息。在一些实施例中,可以将一些已过滤的内容和活动保存在内容/活动信息档案314中的专用存储(未示出)中。例如,可以检测并保存非法内容或活动以供将来可能调查。如上所述,用户内容/活动监视器112可以连续地收集动态用户相关的内容和动态用户活动,以便允许推荐模型的持续更新。
[0055]图3(b)是根据本教导的一种实施例的用户内容/活动监视器112的示例性过程流程图。在框322,首先例如通过用户标识符310建立要监视的目标用户。可以基于用户的诸如真实名称、个人的标识号、用户名称、生日等等的一个或多个属性标识和建立每一目标。在框324,可以通过诸如与公共API 308联合的web爬行器302、活动监视器304和话题监视器/传播器306等的不同机制为每一目标初始化一个或多个监视模式。例如,在框326,可以通过爬行因特网来收集出现在任何网站上的诸如用户简档等的目标相关的信息。在一些实施例中,在框328,还可以通过web爬行收集关于社会兴趣组和它们的话题信息。另外,在框330,可以由用户内容/活动监视器112通过公共API 308收集目标相关的内容(例如,由目标消费或贡献的内容)。在框332,还可以使用链接传播方法基于目标在社交网络中的社交图谱来获取在框330收集的与该内容相关的所传播的内容。除了目标简档和目标相关的内容之外,在框334可以例如由活动监视器304通过公共API 308监视目标的在线活动。在框336,可以标识或推断目标的在线活动的话题或类别。在框338,如果有必要,可以对通过上述的监视模式/机制获取的信息应用过滤,以便减少所收集的信息的体积。最终,在框340,为每一目标归档所监视的信息。
[0056]图4(a)是根据本教导的一种实施例用于向用户推荐内容的系统的示例性内容推荐引擎102的系统图。响应于接收到向新用户或现有用户推荐内容的请求,内容推荐引擎102被配置为获取与用户相关联的信息,无论这样的信息是静态、动态、显式还是隐式,并且基于从用户映射到感兴趣的话题的模型标识用户感兴趣的一个或多个话题。基于与内容推荐引擎102的现有用户相关的信息建立该模型。在一些实施例中,对于刚注册到系统的新用户,新用户的基本属性例如年龄、性别、职业、住所等等足以供内容推荐引擎102基于推荐模型做出推荐。在其他实施例中,对于现有用户,每当现有用户登入系统时,内容推荐引擎102可以基于连续精化的推荐模型和/或动态刷新的用户信息和在线行为提供最新推荐。在这一示例中,内容推荐引擎102包括用户表征模块402、建模模块404、特征数据库406、话题数据库408、用户请求处理单元410、话题估计模块412、内容推荐模块414和用户简档档案416。
[0057]在这一示例中,用户表征模块402包括三个单元,其中的每一个都负责处理一种类型的动态用户信息。动态用户相关的内容和用户活动分别由用户相关内容表征单元418和用户活动表征单元420表征,且被转换为内容特征信息,包括话题/类别和关键词(例如,由内容特征矩阵B表示)。用户简档(属性)由用户信息表征单元422表征,并由用户信息表征单元422转换成用户特征信息(例如,由用户特征矩阵A表示)。用户和内容特征信息两者被馈送到建模模块404,以便为话题估计模块412生成推荐模型。如上所述,可以由用户内容/活动监视器112动态地监视和收集用户简档和动态用户相关的内容和活动。另外,每一新用户在注册到内容推荐引擎102时可以通过用户请求处理单元410提供基本用户简档。因而,用户简档可以由用户表征模块402从其中保存了所有现有用户的简档的用户简档档案416获取。
[0058]建模模块404被配置为基于从用户表征模块402馈送的用户和内容特征信息建立从用户映射到感兴趣的话题的模型。在这一示例中,可以基于表示相对于现有用户的用户特征的用户特征矩阵A和表示相对于现有用户的内容特征的内容特征矩阵B建立该模型。相比于由建模模块404用来建立或精化模型的用户和内容特征信息,用户特征和内容特征数据库406、408可以存储与用户属性、话题和关键词相关的更大量的信息。如所讨论的,可以以减少矩阵A或矩阵B的维度的方式选择要馈送到建模模块404的信息,以使得计算上有竞争力。这样的所选择的信息在选择的时候可以是最相关的。鉴于用户的环境的兴趣或上下文可以随时间改变这一事实,仍然存储其他所收集的数据,以使得在需要时可以检索某些信息,且在例如模型需要彻底精化时使用这些信息。例如,随着时间推移,用户的兴趣可以改变。在用户没有选择所推荐的内容时可以观察到这一点。在这种情况中,可以从内容特征矩阵B移除与这样的未被选择的内容相关联的话题或关键词,且可以从档案检索新的兴趣以便代替陈旧的兴趣。应理解,由于大量的关键词数据,通常降低内容特征矩阵B的维度。至于用户特征矩阵A,是否应当执行降维是逐个情况而做出的设计选择。
[0059]如上所述的模型允许混合信息查询和内容推荐。在混合查询中,查询可以基于用户、特征或文档中的任何一种,然而,查询结果也可以是用户、特征或文档中的任何一种。例如,用户可以提供用户名称(查询输入)并查询具有相似兴趣的用户(查询结果)。用户也可以提供诸如短语或多个关键词(查询输入)等的特征并查询贡献了包含这样的特征的内容的用户(查询结果)。查询输入也可以是文档,并请求其他相似的文档(查询结果)。如图可见,这样的混合信息查询方案为信息搜索提供灵活得多和有用得多的方案。应注意,如在此所描述的模型可以用来促进或允许这样的混合查询,这是因为该模型中包含的信息允许广泛的匹配,以便标识由混合查询查找的查询结果。如所讨论的,可以通过在内容特征矩阵B中标识相似的行来取得基于感兴趣话题或关键词的用户到用户的匹配。即是说,对应于这样的行的用户具有共享的兴趣。另一方面,如果一个用户查询关于具有相似的属性的其他用户,则可以通过分析用户特征矩阵A在表示查询用户的行和表示其他用户的行之间的相似性来执行用户到用户的匹配。这也是允许为新用户推荐感兴趣的内容的机制。在新用户注册时,系统可以通过该模型查找一个或多个“相似”用户并考虑向新用户推荐“相似”用户所消费或贡献的内容,这是由于他们可能共享对这样的内容的相同的隐式兴趣。即是说,经由例如通过九向查询-结果匹配(nine-way query-result matching)的导出或通过社交图谱的传播,本教导能够推断和/或导出用户的隐式兴趣和偏好,以便基于例如与其他现有用户相关的信息获取用户相关的信息。
[0060]在另一示例中,如果查询用户提供作为输入的文档并请求相似的文档,那么需要执行文档到文档的匹配。只要存在从内容特征矩阵B中所标识的话题或关键词做出的指向在这样的话题下的实际文档的索引,这也就可以由在此公开的模型促进。在这种情况中,可以首先分析输入文档,且标识特征例如关键词或话题。通过这样的话题且通过按跟随索引来跟踪,可以标识相似的文档。以相同的方式,如果经由查询提供文档,且该请求是标识对相似文档感兴趣的其他用户,则可以标识内容特征矩阵B中包括相似的话题或关键词的行,且对应于这样的行的用户可以被标识为查询响应。
[0061]在接收到对向用户推荐内容的请求时(例如,新用户第一次注册到内容推荐引擎102,现有用户登录到内容推荐引擎102,或内容入口 104向内容推荐引擎102发送请求),用户请求处理单元410负责收集新用户或现有用户的基本属性。在这一示例中,用户请求处理单元410可以执行属性预处理并归一化操作,以便在他们第一次注册或每当他们更新他们的属性时生成每一用户的用户特征向量。例如,对于特定用户属性,用户请求处理单元410可以基于其值与感兴趣的内容的相关性将它转换成适当的分类特征。在一个示例中,对于“城市”属性,可以导出诸如城市级别、城市的因特网渗透率等等的特征。用户简档可以被保存在用户简档档案416中以供将来使用。
[0062]话题估计模块412被配置为基于来自建模模型404的推荐模型和从用户请求处理单元410获取的用户简档(例如,特征向量)提供新用户或现有用户的所估计的感兴趣的话题。所估计的话题可以被提供给内容推荐模块414,以判断用户最有可能感兴趣的内容。另外,可以将所估计的话题持续馈送回到建模模块404,以便用于模型精化。
[0063]图4(b)是根据本教导的一种实施例的内容推荐引擎102的示例性过程流程图。在框430,内容推荐引擎102接收到诸如用户简档、用户相关的内容和活动等的用户信息。在框432,所接收的用户信息由用户表征模块402表征,且该特征是由建模单元404用来建立初始推荐模型的用户信息(例如,被表示为内容特征矩阵B和用户特征矩阵A)。在框434,该模型可以由话题估计模块412联合内容推荐模块414使用,以便为任何在线现有用户(当前登录到内容推荐引擎102)推荐内容。在框436,内容推荐引擎102可以连续地接收动态收集的现有用户的信息,并且,在框438,基于动态更新的现有用户的信息精化初始推荐模型。一旦新用户注册到内容推荐引擎102,在框430就收集并表征新用户的信息,以便在框453向新用户推荐感兴趣的内容。也可以通过将新用户的特征和感兴趣的话题附加到现有用户特征和内容特征矩阵来将新用户的信息集成到推荐模型,以便持续地增强推荐模型。
[0064]图5 (a)是根据本教导的一种实施例的用户表征模块402的示例性用户信息表征单元422的系统图。用户信息表征单元422可以包括用户特征分析单元502、用户特征分类单元504和用户特征量化单元506。用户特征分析单元502负责从所接收的用户简档提取基本用户特征。由用户特征分析单元502提取的特征可以被表示为每一用户的用户特征向量,且所有用户特征向量可以被直接保存在用户特征数据库406中而无需任何降维处理。换句话说,在这一示例中,用户特征数据库406以用户特征向量的原始维度存储用户特征向量。
[0065]用户信息表征单元422生成用户特征信息,用户特征信息可以被表示为mXn矩阵A,且各行对应于用户,且各列对应于减少的维度的用户特征。可选地,为了减少计算复杂性,相比于用户特征向量被存储在用户特征数据库406中的原始维度,矩阵A中的用户特征向量的维度可以由用户特征分类单元504和用户特征量化单元506降低。
[0066]用户特征分类单元504被配置为基于其值与感兴趣的内容的相关性(即预定义的特征分类配置508)导出每一用户的分类特征。在一个示例中,对于“城市”属性,可以由用户特征分类单元504导出各种特征,例如它是否来自诸如北京、上海等的一级城市、该城市的因特网渗透率等等。在另一示例中,对于“大学/系”属性,所导出的特征可以包括该系是技术、艺术还是科学、大学的等级等等。用户特征量化单元506被配置为根据数据分析将每一特征量化成值范围,即预定义的特征量化配置510。在一个示例中,对于“生日”属性,它可以被用户特征量化单元506量化成预定义的年龄组,例如20+、40+、60+等等。而且,可以量化“生日”属性以便导出两个其他特征:星座和中国生肖。基于占星术和数字命理学,基于他的/她的星座和中国生肖,可以推断出诸如用户的个性等的特征,这些特征还可以与其他特征组合,以便推断用户的可能社会角色和感兴趣的话题。在又一个示例中,统计数据驱动的方法可以被应用到特征量化。例如,话题可以被看作是标签,且属性在它们的真值方面可以被认为是特征。然后,根据决策树分类器中的每一属性的截止值,可以从数据获取有效特征量化。
[0067]图5(b)是根据本教导的一种实施例的用户信息表征单元422的示例性过程的流程图。从框512开始,用户信息表征单元422接收到诸如用户简档等的用户信息。然后,在框514由用户特征分析单元502分析用户信息,以便提取原始用户特征。在框516,可以将原始用户特征归档在特征数据库406中,以供将来使用,例如模型精化。进行到框518,可以分类用户特征,以便基于预定义的特征分类配置导出特征。在框520,还可以相对于预定义的特征量化配置量化分类用户特征,以便减少特征向量的维度。最终,在框522,由用户信息表征单元422生成具有降低的维度的用户特征信息。
[0068]图5(c)是根据本教导的一种实施例用户表征模块402的例性用户相关内容表征单元418和用户活动表征单元420的系统图。用户相关内容表征单元418和用户活动表征单元420负责生成指示每一用户的兴趣简档的内容特征信息。内容特征信息可以被表示为mXh内容特征矩阵B,且各行对应于用户,且各列对应于以降低的维度的话题/类别和关键词。
[0069]用户相关内容表征单元418可以包括用户内容分析器532,其负责执行基于语言模型534和词汇表536的对用户相关的动态内容的关键词选择,并将所提取的关键词存储在用户关键词存储538中。关键词最终可以被存储在内容特征数据库408中,以作为每一用户的内容特征向量的一部分。如上所述,用户相关的内容可以是用户所消费或共享的任何内容。用户内容分析器532可以应用任何已知的语言模型以便从内容提取关键词和/或标识感兴趣的话题,例如通过文本分类中的特征选择方法,例如文档频率(一个词在语料库中的多少个文档中发生)、互信息、信息增益、卡方等等。所有那些特征选择方法可以帮助相对于来自用户相关的动态内容的任何预定义的类别(感兴趣的话题)从各种候选关键词选择最具指标性的关键词或关键短语。
[0070]用户活动表征单元420可以包括用户活动分析器540,其负责基于活动上下文信息和话题层次结构542分析用户的动态活动。可选地,所有已收集的用户活动可以被存储在活动存储543中以供将来使用。活动上下文信息指示每一用户活动的上下文,例如活动发生的时间、活动发生的地点等等,在聚集不同的用户活动时,它们可以具有不同的权重。用户活动表征单元420也可以包括被配置为基于用户活动、从用户关键词存储538所提取的关键词和话题层次结构542确定内容特征的话题/关键词确定器544,例如感兴趣的话题或关键词。在一个示例中,可以由任何已知分类器根据话题层次结构542中的相同分类学(taxonomy)将活动和关键词分类在预定义的话题下。例如,可以通过加权线性组合将与相同的用户相关的活动和关键词聚集成单个话题向量。除了显式兴趣之外,如上所述,每一用户的感兴趣的话题也可以通过社交网络设置中的话题传播方法推断为隐式兴趣。所确定的感兴趣的话题可以被表示为每一用户的真值向量(即,相对于关键词和话题的权重的向量),且以它们的原始维度存储在内容特征数据库408中。为了降低内容特征矩阵B中的话题的维度,话题/关键词降维单元546可以与预定义的减少激进配置548联合应用。在一个示例中,可以应用文本分类中的已知特征选择方法以便计算每一〈话题,关键词 > 对的分数。然后,使用分数来分级每一话题的所有关键词。通过设置关于分数或为每一话题所选择的关键词的数量的阈值,可以降低话题向量的维度。例如,诸如“足球”、“篮球”、“迈克尔.乔丹”、“NBA”等的关键词可以被看作是“运动”话题的最具指标性的关键词,且因而被包括在内容特征矩阵B中。
[0071]图5(d)是根据本教导的一种实施例的用户相关内容表征单元418和用户活动表征单元420的示例性过程流程图。在框552,由用户相关内容表征单元418接收动态用户相关内容。在框554,分析所接收的内容以便基于语言模型和词汇表提取关键词。然后,在框556,由例如统计分类器估计与所接收的动态内容相关的感兴趣的话题。在框558,也由用户活动表征单元420接收动态用户活动。在框560,分析所接收的活动,且在框562确定它们的性质,例如一个活动是支持还是反对一个话题。在框564,基于所估计的话题和所确定的活动的性质,可以标识隐式的感兴趣的话题(例如,支持或反对话题)。进行到框566,与每一用户相关联的所有已标识的话题(无论是显式的还是隐式的)以及关键词可以被归档在内容特征数据库408中,作为每一用户的内容特征。在框568,可以执行降维以便减少内容特征矩阵B中的内容特征的维度。最终,在框570,由用户相关内容表征单元418和用户活动表征单元420生成具有降低的维度的内容特征信息。
[0072]图6(a)是根据本教导的一种实施例的内容推荐引擎102的示例性建模模块404的系统图。在这一示例中,建模模块404包括初始建模单元602、模型集成单元604和模型精化单元606。初始建模单元602被配置为基于现有用户的用户特征矩阵A和内容特征矩阵B向话题估计模块412提供初始模型。在这一示例中,建模模块404还包括用户特征矩阵生成器608和内容特征矩阵生成器610。如上所述,用户表征模块402可以分别负责提供用户特征信息和内容特征信息中的用户特征矩阵A和内容特征矩阵B。在这一示例中,在建模模块404中可以采用降维单元612以便降低分别以它们的原始维度存储在用户特征数据库406和内容特征数据库408中的用户特征向量和内容特征向量的维度。然后,用户特征矩阵生成器608和内容特征矩阵生成器610组合所有现有用户的用户特征向量和内容特征向量,以便分别生成用户特征矩阵A和内容特征矩阵B。
[0073]模型集成单元604被配置为通过连续地将每一新用户的信息(例如,新用户属性、所估计的感兴趣的话题)附加到现有模型的用户和内容特征矩阵来生成集成模型。假定在线活动持续发生和改变,模型精化单元606负责基于动态用户相关的内容和活动动态地精化内容推荐模型,且表征用户和内容特征。另外,在所估计的话题和实际的用户所选择的内容之间的差异可以由模型精化单元606用来调整当前推荐模型以便改善预测精度。可以总是将最新模型提供给话题估计模块412,以便实现话题刺激。
[0074]图6 (b)是根据本教导的一种实施例的建模模块404的示例性模型精化单元606的系统图。在这一示例中、模型精化单元606包括差异检测器620、精化模式确定器622、用户子群过滤器624、基于时间的兴趣过滤器626、内容特征矩阵重新映射单元628、矩阵更新单元630和模型精化器632。如上所述,差异检测器620可以检测和分析在所估计的话题和实际的用户所选择的内容之间的差异。取决于差异的程度,精化模式确定器622负责决定实施模型精化的模式。在一个示例中,如果差异低于阈值,则可以选择渐进精化模式。然后,矩阵更新单元630基于动态监视的用户信息更新用户特征矩阵A和内容特征矩阵B。在另一示例中,如果差异高于阈值,这意味着所估计的感兴趣的话题不是用户期望的内容,则可以应用内容特征矩阵重新映射单元628,以便通过交换来自矩阵B的所估计的话题来更新内容特征矩阵B。
[0075]在又一个示例中,可以应用带有子模型的层次模型以便进一步精化内容推荐模型。现在参见图6(c),可以由基于时间的兴趣过滤器626应用基于不同的时间范围的层次模型,以便仅收集每一用户的适合特定的时间范围的用户相关的内容和活动。例如,当在线时,工作日和周末/夜晚时候的用户可以具有不同的感兴趣话题。取决于需要做出推荐的时间,每一用户的子模型可以被分割成这样的时间范围并因此被使用。类似地,在图6(d)中,可以由用户子群过滤器624应用基于用户子群子模型,以便仅收集特定子群中的用户的内容和活动。更多相似的用户可以被分组在一起,以便更精确地建模这一子群的兴趣。返回参见图6 (b),由用户子群过滤器624或基于时间的兴趣过滤器626应用的层次模型可以被馈送到矩阵更新单元630,以便引起模型精化器632调整内容推荐模型。例如,如上所述,初始模型可以被分割成相对于时间或用户的子模型。模型精化器632还可以生成各子模型的矩阵A和B的集合,并且使用新矩阵A和B来建立推荐模型。
[0076]图6(e)是根据本教导的一种实施例的建模模块404的示例性过程的流程图。从框640开始,建模模块404接收到用户特征信息和内容特征信息。在框642,分别基于所接收的用户特征信息和内容特征信息(例如,话题,关键词)生成用户特征矩阵A和内容特征矩阵B。然后,在框644,使用矩阵A和B建立推荐模型。进行到框646,由模型精化单元606连续地监视和接收诸如动态用户相关的内容和用户活动等的动态用户在线行为信息。在框648,确定用于精化推荐模型的模式。如果选择了渐进精化模式,则在框650,由模型精化单元606使用动态地更新的用户信息更新矩阵A和B。如果在框652,由当前的推荐模型提供的所估计的感兴趣的话题被视为是不期望的,则在框654可以使用下一最佳话题更新内容特征矩阵B。以另外方式,可以应用层次模型以便调整当前的推荐模型。在框656,当前的推荐模型可以被分割成相对于时间或用户的子模型。在框658,可以为所分割的子模型生成用户特征矩阵A和内容特征矩阵B的新集合。最终,在框660,可以使用用户特征矩阵A和内容特征矩阵B的新集合来建立经精化的推荐模型。
[0077]图7 (a)是根据本教导的一种实施例的建模模块404的初始建模单元702的一个示例的系统图。初始建模单元702包括潜在属性矩阵生成器704、用户向量生成器706、潜在话题矩阵生成器708、用户同源关系向量估计器710和兴趣向量估计器712。潜在属性矩阵生成器704和潜在话题矩阵生成器708负责分别基于动态用户行为信息生成和更新潜在矩阵V和W。在这一示例中,特征矩阵A中的用户特征和内容特征矩阵B中的内容特征可以共同聚类成并行话题/聚类。例如,矩阵因数分解(例如,奇异值值分解)可以被应用到带有共享用户简档矩阵U的矩阵A和B两者。即是说,A = UV且B = UW,其中U是mXp用户潜在同源关系矩阵(即,每一行对应于特定用户的潜在简档,指示用户与每一话题或群集的兴趣/同源关系),V是P X η潜在属性矩阵(即,每一列对应于用户特征的话题或群集中心),W是pXh潜在话题矩阵(即,每一列对应于内容特征的话题或群集中心),且P预定义的数量(即,话题或群集的数量)。另外,在更多用户信息变得可用(例如,新用户注册)时,可以经常性地、频繁地成批更新矩阵V和W(例如,每周或每1K用户增量)。
[0078]用户同源关系估计器710被配置为基于潜在属性矩阵V以及与当前用户相关的信息提取用户与每一感兴趣的话题的同源关系向量U。在这一示例中,例如在新用户用基本属性注册时,处于在线服务阶段的用户同源关系向量估计器710可以应用折叠式推理。用户向量生成器706可以通过分析用户的简档生成用户特征向量。然后,通过从min| -uV| |2且V固定来求解U,用户同源关系向量估计器710提取用户的同源关系向量U。然后,通过应用b = uff,兴趣向量估计器712负责计算用户兴趣向量b。所计算的用户兴趣向量b可以用来基于在用户和P维度潜在空间中的内容之间的相似性来检索用户的个人相关内容。
[0079]图7(b)是根据本教导的一种实施例的初始建模单元702的示例性过程的流程图。从框720开始,获取现有用户的动态用户信息和目标用户的简档。在框722,基于现有用户的动态用户信息生成潜在属性矩阵V。然后,在框724,基于目标用户的简档例如新用户的基本属性,生成用户特征向量。在框726,基于潜在属性矩阵V和目标用户特征向量a两者,使用诸如折叠式推理等的方法,估计目标用户的用户同源关系向量U。移动到框728,基于现有用户的动态用户信息生成潜在话题矩阵W。在框730,基于潜在话题矩阵W和所估计的目标用户同源关系向量u两者,计算目标用户的用户兴趣向量b。最终,在框732,输出目标用户兴趣向量b,用于为目标用户检索所推荐的内容。
[0080]图8 (a)是根据本教导的一种实施例的建模模块404的初始建模单元802的一个示例的系统图。初始建模单元802包括变换矩阵生成器804和兴趣向量估计器806。变换矩阵生成器804被配置为计算nXh变换矩阵X,其表示从现有用户的用户特征矩阵A到内容特征矩阵B的变换。例如,可以应用诸如决策树、标准回归、分类或分级算法等的标准数值计算方法以便计算X(AX = B)。为了应对偏置,一个列“I”可以被添加到矩阵A,且一个相应的行“I”可以被添加到矩阵X。在在线服务阶段,例如在新用户用用户特征向量注册时,或者在现有用户更新其属性时,兴趣向量估计器806负责通过将b与X相乘来计算用户的兴趣向量b。用户兴趣向量b可以充当对内容推荐模块414的查询,以便得到个性化推荐。
[0081]图8(b)是根据本教导的一种实施例的初始建模单元802的示例性过程的流程图。在框810开始,初始建模单元802接收到用户特征矩阵A和内容特征矩阵B。在框812,通过标准数值计算方法,基于矩阵A和B学习变换矩阵X。变换矩阵X是在用户特征空间和内容特征空间之间的映射。移动到框816,基于在框814获取的目标用户的简档生成目标用户特征向量。在框818,基于变换矩阵X和目标用户特征向量a计算目标用户兴趣向量b。最终,在框820,输出目标用户兴趣向量b,作为对内容推荐模块414的查询,以便得到个性化推荐。
[0082]图9 (a)是根据本教导的一种实施例的建模模块404的初始建模单元902的一个示例的系统图。初始建模单元902包括用户子群分类器904、质心向量生成器906、质心向量数据库908和质心向量检索单元910。对于多个特征的每一可能的值(或值片段)或多个特征的可能的值联合,用户子群分类器904负责基于用户的内容向量将用户分割成子群。然后,质心向量生成器906使用那些内容向量的质心来剖析具有相应的特征的现有用户的兴趣。质心向量生成器906也将〈键,值〉对存储在质心向量数据库908中,且键是特征的值(值片段)或多个特征的联合,且值是相应的质心向量。在在线服务阶段,例如在新用户用基本特征注册时或者在现有用户更新其属性时,质心向量检索单元910在质心向量数据库908查找和检索用户的相应质心向量。所检索的目标用户质心向量可以被用作对内容推荐模块414的查询,以便得到个性化推荐。现在参见图9(b),每一实心点表示现有用户的二维特征向量(用户简档)。然后,基于现有用户的简档的相似性将现有用户分类成子群,且对于每一子群计算质心向量。在新用户注册时,由二维特征向量表示的新用户的简档被用来检索新用户位于其中的子群的相应质心向量。
[0083]图9 (C)是根据本教导的一种实施例的初始建模单元902的示例性过程流程图。在框920开始,由初始建模模块902接收用户特征矩阵A。在框922,基于现有用户的特征的相似性将现有用户分割成子群。然后,在框924,对于每一用户子群计算质心向量,且在框926中将各子群的质心向量存储在质心向量数据库908中。进行到框928,框928中,在新用户注册时或者在现有用户更新其属性时获取用户信息。在框930,基于新用户简档生成目标用户特征向量。在框932,基于目标用户特征向量a,从质心向量数据库908检索相应的目标用户质心向量。最终,在框934,输出目标用户质心向量,以作为对内容推荐模块414的查询以便得到个性化推荐。
[0084]为了实现本教导,计算机硬件平台可以被用作在此描述的元素中的一个或多个的硬件平台。这样的计算机的硬件元件、操作系统和编程语言本质上是常规的,且假设本领域中的技术人员是对其充分熟悉,以便使用那些技术来基本上实现如在此所描述的DCP处理。带有用户界面元件的计算机可以被用来实现个人计算机(PC)或其他类型的工作站或终端设备,但如果经过适当地编程,计算机也可以充当服务器。相信本领域中的技术人员熟悉这样的计算机设备的结构、编程和一般操作,且作为记过,附图应该是不言自明的。
[0085]图10叙述可以在其上实现本教导的通用计算机体系结构,且具有包括用户界面元件的计算机硬件平台的功能框图阐释。计算机可以是通用计算机或专用计算机。这种计算机1000可以被用来实现如在此所描述的个性化内容推荐体系结构的任何组件。系统100,114的不同组件可以全都经由其硬件、软件程序、固件或其组合在诸如计算机1000等的一个或多个计算机上实现。尽管仅示出了一个这样的计算机,为方便起见,可以在多个相似平台上以分布方式实现涉及内容推荐的计算机功能,以便分散处理负载。
[0086]例如,计算机1000包括被连接为去往和来自网络的通信端口 1002,网络连接到其上以便促进数据通信。计算机1000也包括以一个或多个处理器的形式的中央处理单元(CPU) 1004,用于执行程序指令。示例性计算机平台包括内部通信总线1006、不同形式的程序存储和数据存储例如盘1008、只读存储器(ROM) 1010或随机存取存储器(RAM) 1012,用于要由计算机处理或通信的各种数据文件,并且可能要由CPU执行的程序指令。计算机1000也包括I/O组件1014,支持在计算机和其中的其他组件例如用户界面元件1016之间的输入/输出流。计算机1000也可以经由网络通信接收编程和数据。
[0087]因此,可以以编程实现上面叙述的向用户推荐内容的方法的各方面。技术的各程序方面可以被认为是“产品”或“制品”通常以在机器可读介质上执行或在其中携带的可执行代码和/或关联数据。有形非暂态“存储”类型介质包括计算机、处理器等等的存储器或其他存储或其关联模块例如各种半导体存储器、磁带驱动器、盘驱动器等等中的任何或全部,它们可以在任何时候为软件编程提供存储。
[0088]有时可以通过诸如因特网或各种其他电信网络等的网络传输软件的全部或部分。例如,这样的通信可以允许将来自一个计算机或处理器的软件加载到另一计算机或处理器。因而,可以带有软件元件的另一介质包括光、电和电磁波,例如在本地设备之间的跨越物理接口、通过有线和光缆网络以及在各种空中链路上而使用的。携带这样的波的物理元素例如有线或无线链路、光链路等等也可以被看作是承载软件的介质。在此所使用的,除非限于有形“存储”介质,否则诸如计算机或机器“可读介质”等的术语是指参与向处理器提供指令以供执行的任何介质。
[0089]因此,机器可读介质可以采取多种形式,包括但不限于有形存储介质、载波介质或物理传输介质。非易失性存储介质包括例如光盘或磁盘,例如任何计算机中的存储设备中的任何等等,它们可以被用来实现附图中所示出的系统或其组件中的任何。易失性存储介质包括动态存储器,例如这样的计算机平台的主存储器。有形传输介质包括同轴电缆、铜线和光纤,包括在计算机系统内形成总线的线路。载波传输介质可以采取电或电磁信号或者声波或光波(例如在射频(RF)和红外(IR)数据通信期间所生成的那些)的形式。因此,计算机可读介质的一般形式包括例如:软盘、柔性盘、硬盘、磁带、任何其他磁介质、CD-ROM、DVD或DVD-ROM、任何其他光学介质、打卡纸带、具有打孔图案的任何其他物理存储介质、RAM,PROM和EPR0M、闪速EPR0M、任何其他存储器芯片或盒式磁带、传输数据或指令的载波、传输这样的载波的电缆或链路、或计算机可以从中读取编程代码和/或数据的任何其他介质。这些形式的计算机可读介质中的多种可以涉及向处理器携带一个或多个序列的一个或多个指令以供执行。
[0090]本领域中的技术人员将认识到,本教导适合于各种修改和/或改进。例如,尽管可以在硬件设备中实施以上所描述的各种组件的实现,但它也可以是被实现为仅有软件的解决方案。另外,在此公开的系统的组件可以被实现为固件、固件/软件组合、固件/硬件组合或硬件/固件/软件组合。
[0091]虽然前面已经描述了被认为是最佳的模式和/或其他示例,但应理解,其中可以做出各种修改,且在此公开的主题可以以各种形式和示例实现,且本教导可以在众多应用中应用,在此仅描述了这些应用中的一些。其目的是通过所附权利要求来保护落入本教导的真实范围内的任何及所有应用、修改和变更。
【权利要求】
1.一种在至少一种机器上实现的方法,每一机器具有至少一个处理器、存储和连接到网络以向当前用户推荐内容的通信平台,所述方法包括以下步骤: 获取与一个或多个先前用户相关的第一信息; 基于与所述一个或多个先前用户相关的所述第一信息,建立从用户映射到感兴趣的话题的模型; 获取与所述当前用户相关的第二信息; 基于所述模型标识所述当前用户的一个或多个感兴趣的话题; 根据所述当前用户的所述一个或多个感兴趣的话题,向所述当前用户推荐内容;以及通过将与所述当前用户相关联的信息和基于与所述一个或多个先前用户相关的所述第一信息建立的所述模型集成起来,以生成经更新的模型,其中, 与所述当前用户相关联的信息包括与所述当前用户相关的所述第二信息。
2.如权利要求1所述的方法,其特征在于,与所述一个或多个先前用户相关的所述第一信息包括以下中的至少一种: 反映所述一个或多个先前用户的简档的信息; 关于所述一个或多个先前用户的在线活动的信息; 基于反映所述简档的信息或关于所述一个或多个先前用户的所述在线活动的信息导出的信息;以及 从反映所述简档的信息或关于所述一个或多个先前用户的所述在线活动的信息传播的信息。
3.如权利要求1所述的方法,其特征在于,所述第一信息对应于基于所收集的初始信息表征的特征。
4.如权利要求1所述的方法,其特征在于,所述第二信息包括以下中的至少一种: 反映所述当前用户的简档的信息; 基于反映所述当前用户的所述简档的信息导出的信息;以及 从反映所述当前用户的所述简档的信息传播的信息。
5.如权利要求1所述的方法,其特征在于,基于表不相对于所述一个或多个先前用户的用户特征的第一矩阵和表示相对于所述一个或多个先前用户的内容特征的第二矩阵建立所述模型。
6.如权利要求5所述的方法,其特征在于,建立模型的所述步骤包括以下步骤: 确定表示相对于所述一个或多个先前用户与每一感兴趣的话题的同源关系的所述用户特征的第三矩阵和表示相对于所述一个或多个先前用户与每一感兴趣的话题的所述同源关系的所述内容特征的第四矩阵; 基于所述第三矩阵以及与所述当前用户相关的所述第二信息,提取所述当前用户与每一感兴趣的话题的同源关系;以及 基于所述当前用户与每一感兴趣的话题的所述已提取的同源关系和所述第四矩阵,标识所述当前用户的一个或多个感兴趣的话题。
7.如权利要求5所述的方法,其特征在于,建立模型的所述步骤包括以下步骤: 计算表示从所述用户特征到所述一个或多个先前用户的所述内容特征的变换的第五矩阵;以及 基于所述第五矩阵以及与所述当前用户相关的所述第二信息,标识所述当前用户的一个或多个感兴趣的话题。
8.如权利要求5所述的方法,其特征在于,建立模型的所述步骤包括以下步骤: 基于所述一个或多个先前用户的简档的相似性,标识所述一个或多个先前用户的多个子群; 将多个质心向量与所述先前用户的所述多个子群相关联; 基于与所述当前用户相关的所述第二信息,确定所述当前用户的所述多个质心向量中的一个;以及 基于所述已确定的所述当前用户的质心向量,标识所述当前用户的一个或多个感兴趣的话题。
9.如权利要求1所述的方法,其特征在于,建立模型的所述步骤包括以下步骤: 确定多个预先确定的感兴趣的话题; 基于每一先前用户的所述第一信息,提取在每一预先确定的感兴趣的话题下的多个候选关键词;以及 从每一先前用户的所述多个候选关键词确定至少一个指示性的关键词。
10.如权利要求1所述的方法,其特征在于,建立模型的所述步骤包括以下步骤: 将决策树分类器应用于与所述一个或多个先前用户相关的所述第一信息;以及 根据所述决策树分类器中的每一属性的截止值从所述第一信息获取多个特征。
11.一种在至少一种机器上实现的方法,每一机器具有至少一个处理器、存储和连接到网络以便向当前用户推荐内容的通信平台,所述方法包括以下步骤: 建立用于基于与所述用户相关的信息估计所述用户感兴趣的话题的模型,所述模型基于与所述多个用户相关的信息从多个用户映射到多个感兴趣的话题; 收集与所述多个用户相关的动态信息; 基于与所述多个用户相关的所述已收集的动态信息,精化所述已建立的模型;以及向所述用户推荐带有至少一个感兴趣的话题的内容,其中基于所述已精化的模型估计所述至少一个感兴趣的话题。
12.如权利要求11所述的方法,其特征在于,建立模型的所述步骤包括以下步骤: 获取与一个或多个先前用户相关的第一信息; 基于与所述一个或多个先前用户相关的所述第一信息,建立从用户映射到感兴趣的话题的第一模型; 获取与所述用户相关的信息; 基于所述第一模型,标识一个或多个所述用户感兴趣的话题;以及 生成其中合并了与所述用户相关的信息的所述模型。
13.—种在至少一种机器上实现的方法,每一机器具有至少一个处理器、存储和连接到网络以便向当前用户推荐内容的通信平台,所述方法包括以下步骤: 接收向用户推荐内容的请求; 获取与所述用户相关的信息; 检索基于与一个或多个先前用户相关的信息建立的模型; 基于从用户映射到感兴趣的话题的所述模型,标识一个或多个所述用户感兴趣的话题; 检索与所述用户感兴趣的一个或多个话题一致的内容;以及 提供所述一个或多个感兴趣的话题的所述内容,以作为对所述请求的响应。
14.如权利要求13所述的方法,进一步包括: 分级所述已标识的一个或多个感兴趣的话题; 检索与所述一个或多个感兴趣的话题一致的内容;以及 基于所述已标识的一个或多个感兴趣的话题的所述分级,向所述用户呈现所述内容。
15.一种用于向当前用户推荐内容的系统,包括: 用户表征模块,其被配置为获取与一个或多个先前用户相关的第一信息; 建模模块,其被配置为基于与所述一个或多个先前用户相关的所述第一信息建立从用户映射到感兴趣的话题的模型; 用户请求处理单元,其被配置为获取与所述当前用户相关的第二信息; 话题估计模块,其被配置为基于所述模型标识所述当前用户的一个或多个感兴趣的话题;以及 内容推荐模块,其被配置为根据所述当前用户的所述一个或多个感兴趣的话题,向所述当前用户推荐内容,其中, 所述建模模块还被配置为通过将与所述当前用户相关联的信息和基于与所述一个或多个先前用户相关的所述第一信息建立的所述模型集成起来以生成经更新的模型,以及与所述当前用户相关联的信息包括与所述当前用户相关的所述第二信息。
16.如权利要求15所述的系统,其特征在于,与所述一个或多个先前用户相关的所述第一信息包括以下中的至少一种: 反映所述一个或多个先前用户的简档的信息; 关于所述一个或多个先前用户的在线活动的信息; 基于反映所述简档的信息或关于所述一个或多个先前用户的所述在线活动的信息导出的信息;以及 从反映所述简档的信息或关于所述一个或多个先前用户的所述在线活动的信息传播的信息。
17.如权利要求15所述的系统,其特征在于,所述第一信息对应于基于所收集的初始信息表征的特征。
18.如权利要求15所述的系统,其特征在于,所述第二信息包括以下中的至少一种: 反映所述当前用户的简档的信息; 基于反映所述当前用户的所述简档的信息导出的信息;以及 从反映所述当前用户的所述简档的信息传播的信息。
19.如权利要求15所述的系统,其特征在于,基于表不相对于所述一个或多个先前用户的用户特征的第一矩阵和表示相对于所述一个或多个先前用户的内容特征的第二矩阵来建立所述模型。
20.如权利要求19所述的系统,其特征在于,所述建模模块还被配置为: 确定表示相对于所述一个或多个先前用户与每一感兴趣的话题的同源关系的所述用户特征的第三矩阵和表示相对于所述一个或多个先前用户与每一感兴趣的话题的所述同源关系的所述内容特征的第四矩阵; 基于所述第三矩阵以及与所述当前用户相关的所述第二信息提取所述当前用户与每一感兴趣的话题的同源关系;以及 基于所述当前用户与每一感兴趣的话题的所述已提取的同源关系和所述第四矩阵标识所述当前用户的一个或多个感兴趣的话题。
21.如权利要求19所述的系统,其特征在于,所述建模模块还被配置为: 计算表示从所述用户特征到所述一个或多个先前用户的所述内容特征的变换的第五矩阵;以及 基于所述第五矩阵以及与所述当前用户相关的所述第二信息标识所述当前用户的一个或多个感兴趣的话题。
22.如权利要求19所述的系统,其特征在于,所述建模模块还被配置为: 基于所述一个或多个先前用户的简档的相似性来标识所述一个或多个先前用户的多个子群; 将多个质心向量与所述先前用户的所述多个子群关联起来;以及基于与所述当前用户相关的所述第二信息确定所述当前用户的所述多个质心向量中的一个。
23.如权利要求15所述的系统,其特征在于,所述建模模块还被配置为: 确定多个预先确定的感兴趣的话题; 基于每一先前用户的所述第一信息,提取在每一预先确定的感兴趣的话题下的多个候选关键词; 从每一先前用户的所述多个候选关键词确定至少一个指示性的关键词;以及基于所述当前用户的所述已确定的质心向量,标识所述当前用户的一个或多个感兴趣的话题。
24.如权利要求15所述的系统,其特征在于,所述建模模块还被配置为: 将决策树分类器应用到与所述一个或多个先前用户相关的所述第一信息;以及 根据所述决策树分类器中的每一属性的截止值,从所述第一信息获取多个特征。
25.一种用于向用户推荐内容的系统,包括: 用户内容/活动监视器,其被配置为收集与多个用户相关的动态信息;以及 内容推荐引擎,其被配置为: 建立用于基于与所述用户相关的信息估计所述用户感兴趣的话题的模型,所述模型基于与所述多个用户相关的信息从所述多个用户映射到多个感兴趣的话题, 基于与所述多个用户相关的所述已收集的动态信息,精化所述已建立的模型,以及向所述用户推荐带有至少一个感兴趣的话题的内容,其中基于所述已精化的模型估计所述至少一个感兴趣的话题。
26.如权利要求25所述的系统,其特征在于,所述内容推荐引擎还被配置为: 获取与一个或多个先前用户相关的第一信息; 基于与所述一个或多个先前用户相关的所述第一信息,建立从用户映射到感兴趣的话题的第一模型; 获取与所述用户相关的信息; 基于所述第一模型,标识一个或多个所述用户感兴趣的话题;以及 生成其中合并了与所述用户相关的信息的所述模型。
27.一种用于向用户推荐内容的系统,包括: 内容推荐引擎,其被配置为: 获取与所述用户相关的信息, 检索基于与一个或多个先前用户相关的信息建立的模型,以及基于从用户映射到感兴趣的话题的所述模型,标识一个或多个所述用户感兴趣的话题;以及 内容入口,其被配置为: 接收向用户推荐内容的请求, 检索与所述用户感兴趣的一个或多个话题一致的内容;以及 提供所述一个或多个感兴趣的话题的所述内容,作为对所述请求的响应。
28.如权利要求27所述的系统,其特征在于,所述内容入口还被配置为: 分级所述已标识的一个或多个感兴趣的话题; 根据所述一个或多个感兴趣的话题检索内容;以及 基于所述已标识的一个或多个感兴趣的话题的所述分级,向所述用户呈现所述内容。
29.一种机器可读有形和非暂态介质,其上记录有用于向当前用户推荐内容的信息,其特征在于,在由所述机器读取时,所述信息引起所述机器执行以下: 获取与一个或多个先前用户相关的第一信息; 基于与所述一个或多个先前用户相关的所述第一信息,建立从用户映射到感兴趣的话题的模型; 获取与所述当前用户相关的第二信息; 基于所述模型,标识所述当前用户的一个或多个感兴趣的话题; 根据所述当前用户的所述一个或多个感兴趣的话题,向所述当前用户推荐内容;以及通过将与所述当前用户相关联的信息和基于与所述一个或多个先前用户相关的所述第一信息建立的所述模型集成起来,生成经更新的模型,其中, 与所述当前用户相关联的信息包括与所述当前用户相关的所述第二信息。
30.如权利要求29所述的介质,其特征在于,与所述一个或多个先前用户相关的所述第一信息包括以下中的至少一种: 反映所述一个或多个先前用户的简档的信息; 关于所述一个或多个先前用户的在线活动的信息; 基于反映所述简档的信息或关于所述一个或多个先前用户的所述在线活动的信息导出的信息;以及 从反映所述简档的信息或关于所述一个或多个先前用户的所述在线活动的信息传播的信息。
31.如权利要求29所述的介质,其特征在于,所述第一信息对应于基于所收集的初始信息表征的特征。
32.如权利要求29所述的介质,其特征在于,所述第二信息包括以下中的至少一种: 反映所述当前用户的简档的信息; 基于反映所述当前用户的所述简档的信息导出的信息;以及 从反映所述当前用户的所述简档的信息传播的信息。
33.如权利要求29所述的介质,其特征在于,基于表示相对于所述一个或多个先前用户的用户特征的第一矩阵和表示相对于所述一个或多个先前用户的内容特征的第二矩阵建立所述模型。
34.如权利要求29所述的介质,其特征在于,建立模型的所述步骤包括以下步骤: 确定表示相对于所述一个或多个先前用户与每一感兴趣的话题的同源关系的所述用户特征的第三矩阵和表示相对于所述一个或多个先前用户与每一感兴趣的话题的所述同源关系的所述内容特征的第四矩阵; 基于所述第三矩阵以及与所述当前用户相关的所述第二信息,提取所述当前用户与每一感兴趣的话题的同源关系;以及 基于所述当前用户与每一感兴趣的话题的所述已提取的同源关系和所述第四矩阵,标识所述当前用户的一个或多个感兴趣的话题。
35.如权利要求33所述的介质,其特征在于,建立模型的所述步骤包括以下步骤: 计算表示从所述用户特征到所述一个或多个先前用户的所述内容特征的变换的第五矩阵;以及 基于所述第五矩阵以及与所述当前用户相关的所述第二信息,标识所述当前用户的一个或多个感兴趣的话题。
36.如权利要求33所述的介质,其特征在于,建立模型的所述步骤包括以下步骤:基于所述一个或多个先前用户的简档的相似性,标识所述一个或多个先前用户的多个子群; 将多个质心向量与所述先前用户的所述多个子群关联起来; 基于与所述当前用户相关的所述第二信息,确定所述当前用户的所述多个质心向量中的一个;以及 基于所述当前用户的所述已确定的质心向量,标识所述当前用户的一个或多个感兴趣的话题。
37.如权利要求29所述的介质,其特征在于,建立模型的所述步骤包括以下步骤: 确定多个预先确定的感兴趣的话题; 基于每一先前用户的所述第一信息,提取在每一预先确定的感兴趣的话题下的多个候选关键词;以及 从每一先前用户的所述多个候选关键词确定至少一个指示性的关键词。
38.如权利要求29所述的介质,其特征在于,建立模型的所述步骤包括以下步骤: 将决策树分类器应用到与所述一个或多个先前用户相关的所述第一信息;以及 根据所述决策树分类器中的每一属性的截止值,从所述第一信息获取多个特征。
39.一种机器可读有形和非暂态介质,其上记录有用于向用户推荐内容的信息,其特征在于,在由所述机器读取时,所述信息引起所述机器执行以下: 建立用于基于与所述用户相关的信息估计所述用户感兴趣的话题的模型,所述模型基于与所述多个用户相关的信息从多个用户映射到多个感兴趣的话题; 收集与所述多个用户相关的动态信息; 基于与所述多个用户相关的所述已收集的动态信息,精化所述已建立的模型;以及向所述用户推荐带有至少一个感兴趣的话题的内容,其中基于所述已精化的模型估计所述至少一个感兴趣的话题。
40.如权利要求39所述的介质,其特征在于,建立模型的所述步骤包括以下步骤: 获取与一个或多个先前用户相关的第一信息; 基于与所述一个或多个先前用户相关的所述第一信息,建立从用户映射到感兴趣的话题的第一模型; 获取与所述用户相关的信息; 基于所述第一模型,标识一个或多个所述用户感兴趣的话题;以及 生成其中合并了与所述用户相关的信息的所述模型。
41.一种机器可读有形和非暂态介质,其上记录有用于向用户推荐内容的信息,其特征在于,在由所述机器读取时,所述信息引起所述机器执行以下: 接收向用户推荐内容的请求; 获取与所述用户相关的信息; 检索基于与一个或多个先前用户相关的信息建立的模型; 基于从用户映射到感兴趣的话题的所述模型,标识一个或多个所述用户感兴趣的话题; 检索与所述用户感兴趣的一个或多个话题一致的内容;以及 提供所述一个或多个感兴趣的话题的所述内容,以作为对所述请求的响应。
42.如权利要求41所述的介质,进一步包括: 分级所述已标识的一个或多个感兴趣的话题; 检索与所述一个或多个感兴趣的话题一致的内容;以及 基于所述已标识的一个或多个感兴趣的话题的所述分级,向所述用户呈现所述内容。
43.一种在至少一种机器上实现的方法,每一机器具有至少一个处理器、存储和连接到网络以便向当前用户推荐内容的通信平台,所述方法包括以下步骤: 获取与一个或多个先前用户相关的第一信息; 基于所述第一信息,生成表示相对于所述一个或多个先前用户的用户特征的第一矩阵和表示相对于所述一个或多个先前用户的内容特征的第二矩阵; 确定表示相对于所述一个或多个先前用户与每一感兴趣的话题的同源关系的所述用户特征的第三矩阵和表示相对于所述一个或多个先前用户与每一感兴趣的话题的所述同源关系的所述内容特征的第四矩阵; 获取与所述当前用户相关的第二信息; 基于所述第三矩阵以及与所述当前用户相关的所述第二信息,提取所述当前用户与每一感兴趣的话题的同源关系;以及 基于所述当前用户与每一感兴趣的话题的所述已提取的同源关系和所述第四矩阵,标识所述当前用户的一个或多个感兴趣的话题。
44.一种在至少一种机器上实现的方法,每一机器具有至少一个处理器、存储和连接到网络以便向当前用户推荐内容的通信平台,所述方法包括以下步骤: 获取与一个或多个先前用户相关的第一信息; 基于所述第一信息,生成表示相对于所述一个或多个先前用户的用户特征的第一矩阵和表示相对于所述一个或多个先前用户的内容特征的第二矩阵; 计算表示从所述用户特征到所述一个或多个先前用户的所述内容特征的变换的第三矩阵; 获取与所述当前用户相关的第二信息;以及 基于所述第三矩阵以及与所述当前用户相关的所述第二信息,标识所述当前用户的一个或多个感兴趣的话题。
45.一种在至少一种机器上实现的方法,每一机器具有至少一个处理器、存储和连接到网络以便向当前用户推荐内容的通信平台,所述方法包括以下步骤: 获取与一个或多个先前用户相关的第一信息; 基于所述第一信息中的所述一个或多个先前用户的简档的相似性,标识所述一个或多个先前用户的多个子群; 将多个质心向量与所述先前用户的所述多个子群关联起来; 获取与所述当前用户相关的第二信息; 基于与所述当前用户相关的所述第二信息,确定所述当前用户的所述多个质心向量中的一个;以及 基于所述当前用户的所述已确定的质心向量,标识所述当前用户的一个或多个感兴趣的话题。
【文档编号】G06F17/30GK104254851SQ201280071532
【公开日】2014年12月31日 申请日期:2012年3月17日 优先权日:2012年3月17日
【发明者】郑朝晖, 李欣, 陆荣清, 杨双红 申请人:海智网聚网络技术(北京)有限公司