用于推荐结果的灵活多样化的方法和装置.pdf

上传人:t**** 文档编号:6186893 上传时间:2019-05-18 格式:PDF 页数:35 大小:5.14MB
返回 下载 相关 举报
摘要
申请专利号:

CN201180071698.0

申请日:

2011.04.19

公开号:

CN103620592A

公开日:

2014.03.05

当前法律状态:

实审

有效性:

审中

法律详情:

专利申请权的转移IPC(主分类):G06F 17/30登记生效日:20160218变更事项:申请人变更前权利人:诺基亚公司变更后权利人:诺基亚技术有限公司变更事项:地址变更前权利人:芬兰埃斯波变更后权利人:芬兰埃斯波|||实质审查的生效IPC(主分类):G06F 17/30申请日:20110419|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

诺基亚公司

发明人:

田继雷; 姜邵巍; 杨新星; 刘东; 仰颢

地址:

芬兰埃斯波

优先权:

专利代理机构:

北京市金杜律师事务所 11256

代理人:

酆迅

PDF下载: PDF下载
内容摘要

本发明提供了一种用于使推荐结果多样化的方法。多样化管理器确定与一个或多个项目相关联的一个或多个推荐分数。所述一个或多个推荐分数用于确定一个或多个项目的排序次序。多样化管理器然后确定与所述一个或多个项目相关联的相似性信息,并且处理所述相似性信息和/或有助于所述相似性信息的处理,以至少部分地引起对所述一个或多个推荐分数、所述排序次序、或其组合的调整。

权利要求书

权利要求书
1.  一种方法,其包括有助于(1)数据和/或(2)信息和/或(3)至少一个信号的处理和/或处理(1)数据和/或(2)信息和/或(3)至少一个信号,所述(1)数据和/或(2)信息和/或(3)至少一个信号至少部分地基于以下内容:
与一个或多个项目相关联的一个或多个推荐分数,其中所述一个或多个推荐分数用于确定所述一个或多个项目的排序次序;
与所述一个或多个项目相关联的相似性信息;以及
用于至少部分地导致对所述一个或多个推荐分数、所述排序次序、或其组合的调整的对所述相似性信息的处理。

2.  根据权利要求1所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下内容:
用于确定所述相似性信息的对所述一个或多个项目的一个或多个特征的处理。

3.  根据权利要求2所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下内容:
对具有至少大致相似的所述一个或多个特征的所述一个或多个项目的相应的所述一个或多个推荐分数的惩罚的应用。

4.  根据权利要求3所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下内容:
具有至少大致相似的所述一个或多个特征的所述一个或多个项目的邻近信息,其中所述邻近信息关于所述排序次序中的位置;以及
用于调整所述惩罚的对所述邻近信息的处理。

5.  根据权利要求2至4中任一项所述的方法,其中所述一个或多个特征至少部分地包括一个或多个种类、一个或多个标签、一个或多个位置、一个或多个信息源、一个或多个推荐类型、或其组合,以确定所述相似性信息。

6.  根据权利要求1至5中任一项所述的方法,其中关于所述一个或多个项目中的至少一个项目与所述一个或多个项目中的至少另一个项目的比较来确定所述相似性信息。

7.  根据权利要求6所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下内容:
与所述一个或多个项目相关联的年龄信息;以及
用于针对所述比较选择所述一个或多个项目中的所述至少一个或多个项目的对所述年龄信息的处理。

8.  根据权利要求1至7中任一项所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下内容:
至少部分地基于至少一个多样化参数对所述调整的至少一个确定。

9.  根据权利要求1至8中任一项所述的方法,其中对所述一个或多个推荐分数的所述调整独立于所述一个或多个推荐分数的生成。

10.  根据权利要求1至9中任一项所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下内容:
对所述一个或多个项目的子集的所述调整的应用。

11.  一种方法,包括:
确定与一个或多个项目相关联的一个或多个推荐分数,其中所述一个或多个推荐分数用于确定所述一个或多个项目的排序次序;
确定与所述一个或多个项目相关联的相似性信息;以及
处理所述相似性信息和/或有助于所述相似性信息的处理,以至少部分地导致对所述一个或多个推荐分数、所述排序次序、或其组合的调整。

12.  根据权利要求11所述的方法,还包括:
处理所述一个或多个项目中的一个或多个特征和/或有助于所述 一个或多个项目中的一个或多个特征的处理,以确定所述相似性信息。

13.  根据权利要求12所述的方法,还包括:
至少部分地导致对具有至少大致相似的所述一个或多个特征的所述一个或多个项目的相应的所述一个或多个推荐分数的惩罚的应用。

14.  根据权利要求13所述的方法,还包括:
确定具有至少大致相似的所述一个或多个特征的所述一个或多个项目的邻近信息,其中所述邻近信息关于所述排序次序中的位置;以及
处理所述邻近信息和/或有助于所述邻近信息的处理,以调整所述惩罚。

15.  根据权利要求12至14中任一项所述的方法,其中所述一个或多个特征至少部分地包括一个或多个种类、一个或多个标签、一个或多个位置、一个或多个信息源、一个或多个推荐类型或其组合,以确定所述相似性信息。

16.  根据权利要求11至15中任一项所述的方法,其中关于所述一个或多个项目中的至少一个项目与所述一个或多个项目中的至少另一个项目的比较来确定所述相似性信息。

17.  根据权利要求16所述的方法,还包括;
确定与所述一个或多个项目相关联的年龄信息;以及
处理所述年龄信息和/或有助于所述年龄信息的处理,以针对所述比较选择所述一个或多个项目中的所述至少一个或多个项目。

18.  根据权利要求11至17中任一项所述的方法,还包括:
至少部分地基于至少一个多样化参数确定所述调整。

19.  根据权利要求11至18中任一项所述的方法,其中所述一个或多个推荐分数的所述调整独立于所述一个或多个推荐分数的生成。

20.  根据权利要求11至19中任一项所述的方法,还包括:
至少部分地导致对所述一个或多个项目的子集的所述调整的应用。

21.  一种装置,包括:
至少一个处理器;以及
至少一个存储器,其包含用于一个或多个程序的计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述装置至少执行以下步骤:
确定与一个或多个项目相关联的一个或多个推荐分数,其中所述一个或多个推荐分数用于确定所述一个或多个项目的排序次序;
确定与所述一个或多个项目相关联的相似性信息;以及
处理所述相似性信息和/或有助于所述相似性信息的处理,以至少部分地导致对所述一个或多个推荐分数、所述排序次序或其组合的调整。

22.  根据权利要求21所述的装置,其中还使所述装置用以:
处理所述一个或多个项目中的一个或多个特征和/或有助于所述一个或多个项目中的一个或多个特征的处理,以确定所述相似性信息。

23.  根据权利要求22所述的装置,其中还使所述装置用以:
至少部分地导致对具有至少大致相似的所述一个或多个特征的所述一个或多个项目的各自的所述一个或多个推荐分数的惩罚的应用。

24.  根据权利要求23所述的装置,其中还使所述装置用以:
确定具有至少大致相似的所述一个或多个特征的所述一个或多个项目的邻近信息,其中所述邻近信息关于所述排序次序中的位置;以及
至少部分地基于所述邻近信息处理所述邻近信息和/或有助于所述邻近信息的处理,以调整所述惩罚。

25.  根据权利要求22至24中任一项所述的装置,其中所述一个或多个特征至少部分地包括一个或多个种类、一个或多个标签、 一个或多个位置、一个或多个信息源、一个或多个推荐类型或其组合,以确定所述相似性信息。

26.  根据权利要求21至25中任一项所述的装置,其中关于所述一个或多个项目中的至少一个项目与所述一个或多个项目中的至少另一个项目的比较来确定所述相似性信息。

27.  根据权利要求26所述的装置,其中还使所述装置用以:
确定与所述一个或多个项目相关联的年龄信息;以及
处理所述年龄信息和/或有助于所述年龄信息的处理,以针对所述比较选择所述一个或多个项目中的所述至少一个或多个项目。

28.  根据权利要求21至27中任一项所述的装置,其中还使所述装置用以:
至少部分地基于至少一个多样化参数确定所述调整。

29.  根据权利要求21至28中任一项所述的装置,其中所述一个或多个推荐分数的所述调整独立于所述一个或多个推荐分数的生成。

30.  根据权利要求21至29中任一项所述的装置,其中还使所述装置用以:
至少部分地导致对所述一个或多个项目的子集的调整的应用。

31.  根据权利要求21至30中任一项所述的装置,其中所述装置是移动电话,所述移动电话还包括:
用户接口电路和用户接口软件,其被配置为通过显示器的使用来有助于所述移动电话的至少一些功能的用户控制,并被配置为响应于用户输入;以及
显示器和显示电路,其被配置为显示所述移动电话的用户接口的至少一部分,所述显示器和显示电路还被配置为有助于所述移动电话的至少一些功能的用户控制。

32.  一种计算机可读存储介质,其携载一个或多个指令的一个或多个序列,当所述一个或多个指令由一个或多个处理器执行时,使得一种装置至少执行根据权利要求11至20中任一项所述的方法。

33.  一种装置,包括用于执行根据权利要求11至20中任一项所述的方法的装置。

34.  根据权利要求33所述的装置,其中所述装置是移动电话,所述移动电话还包括:
用户接口电路和用户接口软件,其被配置为通过显示器的使用来有助于所述移动电话的至少一些功能的用户控制,并被配置为响应于用户输入;以及
显示器和显示电路,其被配置为显示所述移动电话的用户接口的至少一部分,所述显示器和显示电路还被配置为有助于所述移动电话的至少一些功能的用户控制。

35.  一种计算机程序产品,包括一个或多个指令的一个或多个序列,当所述一个或多个指令被一个或多个处理器执行时,使得一种装置至少执行根据权利要求11至20中任一项所述的方法中的步骤。

36.  一种方法,包括有助于访问至少一个接口,所述至少一个接口被配置为允许访问至少一种服务,所述至少一种服务被配置为执行根据权利要求11至20中任一项所述的方法。

37.  一种方法,包括有助于(1)数据和/或(2)信息和/或(3)至少一个信号的处理和/或处理(1)数据和/或(2)信息和/或(3)至少一个信号,所述(1)数据和/或(2)信息和/或(3)至少一个信号至少部分地基于根据权利要求11至20中的任一项所述的方法。

38.  一种方法,包括有助于创建和/或有助于修改(1)至少一个设备用户接口元件和/或(2)至少一个设备用户接口功能,所述(1)至少一个设备用户接口元件和/或(2)至少一个设备用户接口功能至少部分地基于根据权利要求11至20中的任一项所述的方法。

39.  一种方法,包括:
提供一个或多个排列的项目,所述排列的项目包括一个或多个特征;
如果所述一个或多个项目具有相同的或相似的特征,则确定在 所述一个或多个所述排列的项目上的至少一个惩罚;以及
基于所述至少一个惩罚提供一个或多个所述排列的项目,所述排列的项目包括一个或多个特征。

40.  一种包括用于执行根据权利要求11至20和39中的任一项所述的方法的装置的设备。

41.  一种计算机程序产品,包括一个或多个指令的一个或多个序列,当所述一个或多个指令被一个或多个处理器执行时,使得一种装置用以至少执行根据权利要求11至20和39中的任一项所述的方法中的步骤。

42.  一种计算机可读存储介质,其携载一个或多个指令的一个或多个序列,当所述一个或多个指令被一个或多个处理器执行时,使得一种装置用以至少执行根据权利要求11至20和39中的任一项所述的方法。

说明书

说明书用于推荐结果的灵活多样化的方法和装置
背景技术
服务提供商和设备制造商(例如,无线的、蜂窝的等)不断地受到挑战,以便通过例如提供强制的网络服务而向消费者传送价值和方便。一个发展区域是使用推荐系统来向用户提供关于内容、项目等的建议或推荐,其在服务和/或相关应用内可用(例如,关于人、地方、或感兴趣的事情的推荐,感兴趣的事情诸如同伴、餐厅、商店、假期、电影、视频点播、图书、歌曲、软件、文章、新闻、图像等)。例如,典型的推荐系统可以基于用户会对项目感兴趣的预测而向该用户建议该项目——即使用户以前从未考虑该项目——通过基于例如协同过滤来将用户偏好与一个或多个参考特征进行比较。然而,传统的推荐系统经常生成同质的结果(例如,推荐项目倾向于是非常相似的),因而限制了信息采集,其导致了可能更糟糕的用户体验。因此,服务提供商和设备制造商面临着使推荐能横跨各种用户偏好的重要技术挑战。
发明内容
因此,需要使推荐结果多样化。
根据一个实施例,一种方法包括下面的步骤:确定与一个或多个项目相关联的一个或多个推荐分数,其中,所述一个或多个推荐分数用于确定所述一个或多个项目的排序次序。该方法还包括确定与所述一个或多个项目相关联的相似性信息。该方法还包括处理所述相似性信息和/或有助于所述相似性信息的处理,以至少部分地引起对所述一个或多个推荐分数、所述排序次序、或其组合的调整。
根据另一实施例,一种装置包括:至少一个处理器;以及至少一个存储器,其包含用于一个或多个程序的计算机程序代码,所述 至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述装置至少部分地用以确定与一个或多个项目相关联的一个或多个推荐分数,其中,所述一个或多个推荐分数用于确定所述一个或多个项目的排序次序。该装置还使得确定与所述一个或多个项目相关联的相似性信息。该装置还使得处理所述相似性信息和/或有助于所述相似性信息的处理,以至少部分地引起对所述一个或多个推荐分数、所述排序次序、或其组合的调整。
根据另一实施例,一种计算机可读存储介质携载一个或多个指令的一个或多个序列,当一个或多个指令被一个或多个处理器执行时,其使得一种装置至少部分地确定与一个或多个项目相关联的一个或多个推荐分数,其中,所述一个或多个推荐分数用于确定所述一个或多个项目的排序次序。该装置还使得确定与所述一个或多个项目相关联的相似性信息。该装置还使得处理所述相似性信息和/或有助于所述相似性信息的处理,以至少部分地引起对所述一个或多个推荐分数、所述排序次序、或其组合的调整。
根据另一实施例,一种装置包括用于确定与一个或多个项目相关联的一个或多个推荐分数的装置,其中,所述一个或多个推荐分数用于确定所述一个或多个项目的排序次序。该装置还包括用于确定与所述一个或多个项目相关联的相似性信息的装置。该装置还包括处理所述相似性信息和/或有助于所述相似性信息的处理,以至少部分地引起对所述一个或多个推荐分数、所述排序次序、或其组合的调整的装置。
此外,对于本发明的各种示例实施例,下面的是适用的:一种方法,其包括有助于(1)数据和/或(2)信息和/或(3)至少一个信号的处理和/或处理(1)数据和/或(2)信息和/或(3)至少一个信号,所述(1)数据和/或(2)信息和/或(3)至少一个信号至少部分地基于(包括至少部分地从其中得到)在本申请中被公开的、与本发明的任何实施例相关的方法(或过程)的任何一个或任何组合。
对于本发明的各种示例实施例,以下也是适用的:一种方法,其包括有助于访问至少一个接口,该接口被配置为允许访问至少一种服务,所述至少一种服务被配置为执行在本申请中被公开的网络或服务提供商方法(或过程)的任何一个或任何组合。
对于本发明的各种示例实施例,以下也是适用的:一种方法,其包括有助于创建和/或有助于修改(1)至少一个装置用户接口元件和/或(2)至少一个装置用户接口功能,所述(1)至少一个装置用户接口元件和/或(2)至少一个装置用户接口功能至少部分地基于数据和/或信息,所述数据和/或信息由在本申请中公开的、与本发明的任何实施例相关的方法或过程的一种或任何组合中得到。
对于本发明的各种示例实施例,以下也是适用的:一种方法,其包括创建和/或修改(1)至少一个装置用户接口元件和/或(2)至少一个装置用户接口功能,所述(1)至少一个装置用户接口元件和/或(2)至少一个装置用户接口功能至少部分地基于数据和/或信息和/或至少一种信号,所述数据和/或信息由在本申请中公开的、与本发明的任何实施例相关的方法(或过程)的一种或任何组合中得到;所述至少一种信号由在本申请中公开的、与本发明的任何实施例相关的方法(或过程)的一种或任何组合中得到。
在各种示例性实施例中,方法(或过程)或者可在服务提供商侧上完成,或者可在移动装置侧上完成,或者可在服务提供商和移动装置之间以任何共享方式在双侧执行的动作完成。
对于各种示例实施例,以下是适用的:一种装置,包括用于执行在原始提交的权利要求1-20和36-38中的任一项的方法的装置。
另外,简单地通过说明包括可以设想的用于执行本发明最佳实施例的一些特定实施例和实施方案,从下面的详细说明很容易地是阐明本发明的其它方面、特征和优点。本发明还能有其它的和不同的实施例,并且,在各种明显方面能够修改本发明的若干细节而完全无需脱离本发明的精神和范围。因此,附图和说明书被认为本质上是说明性的,并不是限制性的。
附图说明
通过举例方式,而不是通过限制方式,来图示本发明的实施例,在附图的图中:
图1是根据一个实施例的能够使推荐结果多样化的系统的图,
图2是根据一个实施例的推荐引擎的组件的图;
图3是根据一个实施例的推荐框架的示例架构;
图4是根据一个实施例的用于使推荐结果多样化的过程的流程图;
图5是根据一个实施例的用于调整推荐分数的过程的流程图;
图6是根据一个实施例的使推荐列表多样化的示例使用情况的图;
图7是根据一个实施例的多样化过程的示例实施方案的图;
图8是根据各种实施例的用于图1-5的过程的用户接口的图;
图9是能够用于实现本发明实施例的硬件的图;
图10是能够用于实现本发明实施例的芯片组的图;以及
图11是能够可以用于实现本发明的实施例的移动终端(例如,手持设备)的图。
具体实施方式
公开了用于使推荐结果多样化的方法、装置和计算机程序的示例。在下面的描述中,为了说明的目的,阐明了众多具体细节,以便提供对本发明实施例的全面理解。然而,对所属技术领域的技术人员来说,明显的是,可实践本发明的实施例不使用这些具体细节,或者使用等同的布置。在其它示例中,以框图形式示出了众所周知的结构和设备,以便避免不必要地使本发明的实施例模糊。
图1是根据一个实施例的能够提供用于生成推荐模型的框架的系统的示意图。现代推荐系统向用户提供了相对于传统方法的很多优势,该优势在于:推荐系统不仅规避了搜索感兴趣的项目的时 间和精力,而且也可以帮助用户发现用户自己可能还没发觉的项目。然而,不管使用什么算法(例如,协同过滤(CF)或基于内容的算法),推荐系统都倾向于变得过于专门化或者倾向于生成彼此非常相似的结果。举例来说,协同过滤(CF)是大多数推荐系统的核心技术。概括地,CF是用于使用涉及在多主体(多agent)、视点、数据源等之中进行协同的技术的信息或模式的过程。例如,CF分析用户之间的关系和在项目(例如,产品、服务、特惠、交易等)中的互相依赖,以识别和/或预测在新用户和项目之间的关联(例如,偏好信息)。
因为用户通常有更广泛的兴趣,用户有没被满足的其它兴趣,那些同质的结果可能使得用户开始浏览额外的内容,为用户带来不便。此外,这样的推荐系统可能减少了选择,以至于用户不得不浏览替代的相关项目。因此,推荐系统应当提供在用户的范围广泛的需求和相关性之间的平衡。例如,关于购物服务,用户正常地具有范围广泛的购物兴趣,例如衣服、消费电子设备、食物等。在实践中,经常有来自于不同商家的许多相似的交易,其可在任何时间被推荐。传统的推荐系统通常使用在排序列表中的紧挨着彼此的非常相似的内容来对推荐结果进行排列或排序。从而,排序列表能够具有相同或相似的项目彼此紧挨着的长列表。这,反过来,可能给想要浏览更多种类的项目的消费者带来了不便或厌倦。
此外,使推荐结果多样化的传统方式通常取决于:修改推荐算法,然后基于修改后算法对基础的数据进行重新处理。此过程经常是(例如,在计算资源、存储、带宽等方面)资源密集的,并且可能花费大量时间来完成。当推荐具有短或快的存在时间、可能需要至少接近实时处理的项目时,时间和资源负荷可能是特别是有问题的。举例来说,交易(例如,优惠券、折扣、特惠、团购特惠等)是一类存在时间可能短的项目。大多数交易在相对短期时间(例如,通常一天到几天)有效。
为了解决这一问题,通过基于基础项目相似性而调整推荐或等 级分数,图1的系统100引入了使推荐结果多样化的能力。在一个实施例中,系统100对所推荐的项目进行分类,至少部分地基于一个或多个特征,诸如种类、关键词、标签、项目类型、信息源、项目位置之类。然后,系统100可处理这些特征,以确定与一个或多个项目相关联的相似性信息。在一个实施例中,相似性信息基于一个或多个项目是否具有相同的或相似的特征。将一个或多个项目的相似性信息与推荐分数一起使用,系统100能够调整(例如,增大或减小)分数,以针对邻近的同质的或相似的项目放大排名或排序次序差异。更具体地,在某些实施例中,系统100不必执行用以确定相似性的计算。替代性地,系统100可比较出一个或多个项目是否具有共同的特征,然后相应地对分数、排名、排序次序等应用调整。这样,对于所推荐的项目,系统100能够为其提供更多的多样性,或可破坏其“粘性”(例如,推荐相似项目的群组的倾向)。因为比较和调整方法的效率,在对原始的排序次序或排名列表进行的一通道扫描过程中,系统100通常能够对项目执行重新排序或多样化。在一些实施例中,系统100能够对于在排名列表中的项目的一个或多个子集执行多样化,以进一步增强系统性能和效率。
在一个实施例中,对推荐分数的调整能够作为在生成推荐分数步骤之后的后处理步骤而执行。这样,因为多样化与推荐过程的算法部分分离,所以多样化或调整过程不取决于任何特别的推荐策略或技术。因此,在此所描述的方法的各种实施例与任何推荐技术相兼容,任何推荐技术包括基于协同过滤(基于CF)的推荐和基于内容的推荐。此外,从资源负荷的立场来看,调整过程是相对无足轻重的(例如,需要相对少量的计算资源),并且能够快速地或基本实时地执行调整过程。
在一个实施例中,系统100能够指定一个或多个多样化参数控制,以控制所推荐的项目的同质性将会把它们各自的推荐和/或排序次序在排名列表上调整到什么程度。换句话说,可根据一个或多个参数来设置多样化的粒度。
在一个实施例中,系统100能够提供推荐引擎,其用于为多样化过程生成推荐分数。在一些实施例中,推荐引擎用适用多个应用或服务,例如,通过使用一个模式(或多个模式)(例如,概要、模板、规则、定义等),所述模式用于在应用中采集和共享信息,以支持推荐模型(例如,基于CF的模型)的生成。在一个实施例中,为了指定用于内容等级信息的格式的目的,系统100能够使用所述模式。如在此所用的,等级信息涉及指示了用户怎样在特定应用(例如,表示用户交互信息)内评定项目的数据。在一个实施例中,等级信息可以是明文规定的(例如,通过指定音轨是几星、指定电影是几个赞等),或者是隐含确定的(例如,使用或访问应用项目的时间基线长度、使用的频率等)。然后,基于前面讨论的模式,可以对从各种应用所采集的等级信息进行汇集、关联等。这样,系统100可以基于用于在针对参与的应用中的任何应用生成推荐模型的模式从一个或多个应用采集内容等级信息,因而当与仅仅从一个应用采集信息以支持独立的推荐模型相比,使可用数据(例如,等级信息)的池最大化。基于在此所描述的方法的各种实施例,可用数据的池可被处理或映射到特征空间,以支持基于特征的CF。
在某些实施例中,系统100使得应用开发者能扩展所述模式,以包括新型的等级信息。例如,如果该模式被定义为使用结构化语言(例如,可扩展标记语言(XML)),那么应用开发者可能通过增加新的命名空间来扩展所述模式,以表示新型等级信息。因此,如果一个应用不能解析或不理解新的命名空间,可能忽视命名空间。另外或者替代性地,如果没有模式可用于联系从多个应用采集到的等级信息,那么系统100能够应用例如语义分析来推断对在一组等级信息到另一组等级信息之间的关系。例如,用于音乐应用的等级信息可包括可以语义地连接到用于电子书应用的等级或项。这样,如果系统100从这两种类型的应用采集等级信息,一组共同的等级信息仍然可以被语义地链接用以支持针对各自应用或新应用的推荐模型的生成,该应用诸如在系统100共同框架下根据所采集 的数据推荐电子书之类。
如同先前讨论一样,通过推荐引擎和/或参加的应用中的任何应用,可以将所采集的等级信息存储(例如)在一个或多个配置文件(例如,与用户和/或应用项目相关联的配置文件)中供以后用。(诸如协同的推荐系统之类的)推荐系统需要推荐模型以便提供推荐。例如,系统100可以接收从特定应用生成推荐模型的请求,然后可以使用来自于一个或多个配置文件的等级信息来生成所请求的推荐模型。在另一个实施例中,基于数据与请求的应用的相关性,系统100可以从采集自多个应用的等级信息中提取该数据。然后,所提取的数据用于为请求的应用生成内容推荐模型。因此,应用可以请求来自系统100的共同框架或推荐引擎的推荐模型,而不是为每个单独的应用开发单独的推荐框架或引擎。这样,系统100有利地使得推荐引擎的能够共享以减少计算、内存、带宽、存储器、和与开发专用推荐模型相关联的其它资源负荷。此外,系统100可以为请求的应用提供补充数据,如果该应用是独立地采集该数据,那么针对该应用提供补充数据将是不可能的。
除了通过使用用于为多个应用生成推荐模型的共同框架来改进效率之外,系统100的共同框架使得能够从一个或多个应用采集信息以生成用于另一应用的推荐模型。例如,在内容等级信息中的数据的一些子集可以与特定应用有关,且与其它应用无关;而同时其它子集与其它应用有关,但与特定应用无关。因而,内容等级信息可以支持针对多个应用的多个内容推荐模型的生成。此外,在模型可适用于多个应用的环境中,可以重复使用相同的内容推荐模型。可以将用于一个应用的先前所生成的内容推荐模型提供给其它应用的情况是,例如,在该应用与将指示相似的项目和用户的其它应用之间(例如,在爵士乐博客和爵士乐存储程序之间)存在着一些关系。
更具体地,系统100可以在推荐引擎处接收用于针对一个应用生成内容推荐模型的请求,其中,所述推荐引擎可适用于多个应用。 该请求可以从将针对其生成内容推荐模型的应用接收,或者该请求可以通过将针对其生成内容推荐模型的应用发送。此外,该请求可以由该应用的一个或多个用户(例如,管理员、开发者、常规用户等)做出,例如用以改进由该应用生成的推荐。然后,系统100可以从与该应用、一个或多个其它应用、或其组合相关联的一个或多个配置文件检索内容等级信息。基于内容等级信息,系统100可以进一步生成内容推荐模型。
如图1所示,系统100包括用户设备(UE)101或多个UE101a-101n(或多个UE101),用户设备具有经由通信网络105到多样化管理器102和推荐引擎103的连通性。UE101可能包括或具有到一个应用107(或多个应用107)的接入,应用107可包括可以使用为用户提供推荐的系统的客户端程序、服务等。在一个实施例中,使用由推荐引擎103生成的推荐,多样化管理器102能够执行在此描述的推荐调整过程的各种实施例。
像用户在其各自UE101上使用应用107一样,推荐引擎103可以从应用107采集内容等级信息(例如,指示用户怎样为项目评定等级的数据)。举例来说,内容等级信息采集可能包括请用户对项目在从一到十的范围内评定等级,请用户创建用户喜欢项目的列表,观察用户所查看的项目,获得该用户所购买项目的列表,分析用户对特定项目的查看时间等。同样地,推荐引擎103也可以向应用107提供基于内容等级信息的内容推荐模型,应用107可以使用该内容等级信息以便对其用户生成智能推荐。因此,为了访问或存储内容等级信息,推荐引擎103可包括配置文件数据库(profile database)109,或连接到该配置文件数据库109。在配置文件数据库109内,内容等级信息可以被存储,或者与例如一个或多个各自的用户配置文件相关联。然而,值得注意的是,配置文件数据库109也可包括诸如应用配置文件、项目配置文件等的其它配置文件形式。
如所示,UE101、多样化管理器102、以及推荐引擎103也具 有到服务平台111的连通性,所述服务平台111是一个或多个相应的服务/应用113a-113m(也统称为服务/应用113)和内容提供商115a-115k(也统称为内容提供商115)的主机。在一个实施例中,服务/应用113a-113m包括与在UE101内操作的应用107a-107n相对应的服务器侧组件。在一个实施例中,服务平台111、服务/应用113a-113m、应用107a-107n、或其组合可以访问、提供、传送等与内容提供商115a-115k相关联的一个或多个项目。换句话说,通过服务平台111和/或服务/应用113a-113n,从内容提供商115a-l15k向应用107a-107n或UE101传送内容和/或项目。在一个实施例中,服务/应用113a-113m可以涉及推荐短存在时间的项目(例如,交易、优惠券、折扣、特惠等)。
在一些情况下,服务/应用113a-113m和/或应用107a-107n的开发者可以要求推荐引擎103关于从内容提供商115a-l15k获得的内容或项目而生成一个或多个推荐模型。为了生成推荐模型和/或填充带有足够数据的推荐模型以便应用提供用户推荐,开发者可以将代表应用107和/或服务/应用113的请求例如发送给推荐引擎103。然后,在接收到关于推荐模型的请求后,推荐引擎103可以从与应用107、服务/应用113、一个或多个其它应用、或其组合相关联的一个或多个配置文件检索内容等级信息。
基于内容等级信息,推荐引擎103可以进一步生成内容推荐模型。因为内容等级信息可以起源于与应用107、服务/应用113和/或一个或多个其它应用相关联的一个或多个配置文件,所以内容推荐模型的生成不仅限于与针对其作出该生成请求的应用107相关联的配置文件。因而,即使应用107具有极少用户或没有用户,在该生成请求之前,推荐引擎103也可能仍然能够生成具有关于对用户建议感兴趣的项目生成准确预测的足够数据的内容推荐模型。然后,为了进一步增强用户体验,多样化管理器102可处理推荐结果,以确保用户被呈现包括不同的类型或种类的各种项目的推荐列表。此外,因为多样化管理器102对已经由推荐引擎103生成的推荐结 果起作用,所以多样化过程可用较少资源被实施和/或实现更好的性能适应用于终端用户的推荐。
举例来说,系统100的通信网络105包括诸如数据网(未示出)、无线网(未示出)、电话网(未示出),或其任何组合中的一个或多个网络。可以设想的是,数据网可以是任何局域网(LAN)、城域网(MAN)、广域网(WAN)、公用数据网(例如,互联网)、短距离无线网、或任何其它合适的分组交换网,诸如商业上拥有的专有分组交换网,例如专有线缆或光纤网络等,或其任何组合。此外,无线网可以是例如蜂窝网,并且可以采用各种技术,该各种技术包括基于增强型数据速率全球演进(EDGE)、通用分组无线服务(GPRS)、全球移动通信系统(GSM)、互联网协议多媒体子系统(IMS)、通用移动通信系统(UMTS)等,也可以采用任何其它合适的无线介质,例如,全球微波互连接入(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真(WiFi)、无线LAN(WLAN)、蓝牙、互联网协议(IP)数据广播、卫星、移动ad-hoc网络(MANET)等,或其任何组合。
UE101是任何类型的移动终端、固定终端或便携终端,其包括移动手持终端、站、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信机、台式计算机、膝上电脑、笔记本电脑、上网本电脑、平板电脑、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄录机、定位设备、电视接收机、无线电广播接收机、电子书设备、游戏设备、或其任何组合,其包括这些设备的附件和外设,或其任何组合。还可以设想的是,UE101能够对用户支持任何类型的接口(诸如“可穿戴”电路等)。
在推荐引擎103采用基于CF的和/或基于内容的推荐技术的一个实施例中,可以基于与到特定应用的相关性来提取内容等级信息的子集。在另一个实施例中,内容推荐模型的生成也可以基于从内容等级信息提取的该子集。举例来说,内容等级信息能够从基于项 目的内容等级映射到基于特征的内容等级。此外,或者替代性地,可以直接为项目的特征或种类提供内容等级。在一个样本用例中,电影流应用可以为内容推荐模型作出请求,以便向其用户提供推荐。可从内容等级信息提取的相关子集可包括与来自于位于例如配置文件数据库109中的一个或多个配置文件的电影或影片相关联的所有数据。因此,应用不仅可获得与先前被应用确定的影片相关联的用户配置文件信息(例如,用户偏好),而且可获得与在应用请求之前不为应用所知的影片相关联的用户配置文件信息。如果例如对于该应用所生成的内容推荐模型指示该应用的许多用户会对从前未知的特定影片标题感兴趣,那么该应用可以自动检索和获得这些从前未知的电影。因此,基于从内容等级信息的相关子集所构造的内容推荐模型,该应用可能将这些和其它可用的电影推荐给其用户。
在另一个实施例中,确定模式用以跨多个应用(例如,应用107、服务/应用113)指定内容等级信息。关于项目和/或特征两者,该模式可用于确定例如内容等级信息的格式或结构。在一个实施例中,模式可以指定用于确定特征的一个或多个分类。这样,能够跨一个或多个类的项目对特征进行标准化。举例来说,模式可以限定可能在内容等级信息中出现的元件和属性、元件类型的次序和数目、用于元件和属性的数据类型、用于元件和属性的默认值或固定值等。由模式限定的元件可包括应用分类、项目种类、等级类型、用户、关系等。在一个样本用例中,可以预定义用于指定内容等级信息的基本模式或骨架模式。然而,例如通过提供新的命名空间,应用开发者能够扩展所述基本模式或骨架模式。在又一个实施例中,基于该模式从该应用、一个或多个其它应用、或其组合采集内容等级信息。在另一个实施例中,还基于该模式存储所采集的内容等级信息。这样,推荐引擎103的操作通常更有效率。例如,因为已经提供了该模式,推荐引擎103可以在配置文件数据库109中访问数据(例如,内容等级信息),以针对任何应用生成新的内容推 荐模型,而无需首先必须弄清楚怎样解释数据。
在另一个实施例中,所采集的内容等级信息在一个或多个配置文件中的相应的配置文件中汇总。如所提供的,一个或多个配置文件可包括一个或多个用户配置文件。然而,值得注意的是,配置文件数据库109也可包括诸如应用配置文件、项目配置文件等的其它配置文件类型。举例来说,在配置文件数据库109中的用户配置文件可包括名称、位置、年龄、性别、人种/种族、国籍、所查看的项目、项目查看时间、所搜索的项目、所下载/上传的项目、所购买的项目、加入到愿望清单、购物车或收藏夹列表的项目、被评定等级的项目、以及他们怎样被评定项目等级等。因此,可以访问更多的配置文件中的一个配置文件,以提供内容等级信息,从而针对一个或多个应用生成内容推荐模型。
在另一个实施例中,确定了内容等级信息的第一部分和内容等级信息的第二部分之间的一个或多个关系,所述内容等级信息的第一部分与该应用相关联,所述内容等级信息的第二部分与一个或多个其它应用中的至少一个应用相关联。在又一个实施例中,内容推荐模型的生成进一步基于所述一个或多个关系。在一个样本用例中,内容等级信息可包括与电影流服务相关联的数据,并且还可包括与电子阅读器程序相关联的数据。推荐引擎103,例如可确定在与电影流服务的浪漫风格相关联的数据和与电子阅读器程序的浪漫风格相关联的数据之间存在关系。因此,基于浪漫风格关系生成的内容推荐模型可指示例如喜欢电子书和浪漫电影的用户具有与喜欢电影和浪漫电子书的用户一样的相似的兴趣。在另一个实施例中,一个或多个关系的确定基于该模式、该内容等级信息的语义分析、或其组合。举例来说,如果在模式中限定了关系,那么关系的确定可以基于该模式,如果在模式中没有限定关系,那么关系的确定可以基于语义分析,或者,如果限定了一些关系并且没限定其它关系,那么就基于模式和语义分析两者。
在另一个实施例中,先前所生成的内容推荐模型可以被确定为 至少部分地满足该请求。在一个样本用例中,先前已经针对诸如爵士乐博客之类定向用于特定音乐风格的音乐网站生成了内容推荐模型。此后,在推荐引擎103处,接收了用于针对爵士乐程序生成内容推荐模型的请求,该爵士乐程序使得用户能够尝试并购买爵士乐。虽然爵士乐博客可能并未直接将尝试和购买音乐的能力提供给它的用户,但是针对该博客先前所生成的内容推荐模型仍然可通过爵士乐程序来满足该请求。如果音乐等级评定数据是不可用的、或者如果音乐评定等级数据的数量和质量不可以满足音乐模型的生成,这是特别是有用的。例如,基于来自于允许用户尝试并购买爵士乐的其它应用的内容等级信息,可以构造先前所生成的内容推荐模型。因此,先前所生成的内容推荐模型不仅使博客有可能针对爵士乐(例如,尝试、下载、或购买爵士乐)和/或相关博客智能地建立链路,而且它也可能允许该程序准确地预测感兴趣的爵士乐并且将其提供给它的用户。因而,在另一个实施例中,可以在对请求的响应中提供先前所生成的内容推荐模型。这样,可以针对用于为其它应用或用于其它操作生成内容推荐模型而保留系统资源,其它操作诸如从一个或多个其它应用采集、存储、或访问内容等级信息。
在另一个实施例中,基于预定频率、预定进度表、对内容等级信息的一个或多个更新的检测、或其组合来更新内容推荐模型。值得注意的是,可能在许多情况下内容推荐模型更新是期望的,而且对在其它情况下继续提供有用的建议也可能是必要的。例如,当趋势改变时,可能想要内容推荐模型更新。因此,用户的过去行为可能不再有助于做准确预测。因而,在又一个实施例中,在内容等级信息中的等级指示可包括时间戳。这样,例如用户趋势针对特定应用的情况下当针对那些特定应用生成内容推荐模型时,可以将旧的数据从内容等级信息中过滤出来。
在另一个实施例中,内容推荐模型限定矩阵,该矩阵用于针对与一个或多个配置文件相关联的应用的一个或多个项目预测所预期的等级。举例来说,内容推荐模型可限定用户对项目矩阵,其中 该矩阵指示每个用户可能怎样为特定项目评定等级。此外,内容推荐模型可限定用户对特征矩阵,其中矩阵指示每个用户可能对项目的特定特征或种类怎样评定等级或优选。在一个实施例中,在每个用户配置文件变量基于该应用和/或其它标准被分配了确定的加权以后已经计算每个用户配置文件变量(例如,所查看的项目、项目查看时间、所搜索的项目、所下载/上传的项目、所购买的项目、加入到愿望清单、购物车或收藏夹列表的项目、被评定等级的项目、以及他们怎样被评定等级等)之后,可例如通过数值表示对评定等级的指示。在一个实施例中,数值能够被归一化为特定比例或范围(例如,在0和1之间的值)。通过为应用提供这些变量,矩阵也可简单提供指示。这样,应用可以分配加权给每个变量,并且计算每个用户基于所分配的变量加权可能怎样为项目评定等级。
在一些实施例中、至少部分地基于由请求服务、推荐引擎103、和/或系统100的另一组件指定的一个或多个附加参数,可以生成推荐模型和/或矩阵。例如,在一个实施例中,(例如,在用以生成推荐的协同过滤器的矩阵分解方法的情况下,)推荐引擎103能够创建分解的推荐模型。用以创建分解的推荐模型的参数是例如潜在主题的数量以包括对每个矩阵(例如,用户矩阵、项目矩阵、特征矩阵)进行建模要用到的主题。此参数(即,潜在主题的数量)或者可以由推荐引擎103确定(例如,如果该信息可用于推荐引擎103),或者可以由它的请求用以生成推荐引擎作为输入参数的请求的应用或服务提供,或者可以由其组合确定。值得注意的是,此参数经常取决于与服务相关联的应用、服务、项目等的性质,并经常是为特定推荐模型所特有的。
在另一个实施例中,内容等级信息支持多个内容推荐模型的生成。如同所提供的,存在许多内容等级信息可以支持多个内容推荐模型的生成的示例。在一个样本用例中,电影流服务可以对内容推荐模型发出请求,以向该电影流服务的用户提供推荐。基于诸如与电影相关联的数据之类的与该电影流服务的相关性,推荐引擎103 可以提取从配置文件数据库109中的一个或多个配置文件中所检索到的内容等级信息的子集。然而,所检索到的内容等级信息也可包括与电影流服务无关的子集,该子集与电影流服务无关,但是可能用于诸如电子阅读器程序、约会服务、或假期博客之类的其它无关应用。因此,内容等级信息的不同子集可以支持多于一个内容推荐模型的生成。
举例来说,使用已知的、新的或还在开发中的协议,UE101、多样化管理器102、推荐引擎103、和应用107彼此之间通信,并与通信网络105的其它组件通信。在本文中,协议包括限定了在通信网络105内的网络节点基于在通信链路上发送的信息彼此之间怎样交互的一组规则。在每一节点内,协议在不同操作层处是有效的,从生成和接收各种类型的物理信号,到选择用于传递那些信号的链路,到用那些信号指示的信息的格式,到识别发送或接收信息计算机系统上执行的哪个软件应用。在开放式系统互联(OSI)参考模型中描述了用于在网络上交换信息的协议的概念不同的层。
在网络节点之间的通信通常是受到交换离散数据包的影响。每个包通常包括(1)与特定协议相关联的头部信息,以及(2)有效负荷信息,所述有效负荷信息跟随头部信息并包括可以独立于该特定协议进行处理的信息。在一些协议中,该包包括(3)尾部信息,所述尾部信息跟随有效负荷并指示有效负荷信息的末尾。头部包括诸如包的源地址、包的目的地址、有效负荷的长度、以及由协议使用的其它特性的信息。经常地,在用于特定协议的有效负荷中的数据包括头部和有效负荷,用于与OSI参考模型的不同较高层相关联的不同协议。用于特定协议的头部通常指示在它的有效负荷里包含的下一个协议的类型。较高层协议据说被封装在较低层协议中。包括在穿越诸如互联网之类的多个异构网络的包中的头部,通常包括物理(层1)头部、数据链路(层2)头部、互联网(层3)头部和传输(层4)头部、以及如OSI参考模型所定义的各种应用头部(层5、层6和层7)。
在一个实施例中,应用107和相应的服务平台111、服务113a-113m、内容提供商115a-l15k、或其组合根据客户端-服务器模型进行交互。值得注意的是,计算机过程交互的客户端-服务器模型被广泛了解和使用。根据客户端-服务器模型,客户端过程发送包括发给服务器过程的请求的消息,并且服务器过程通过提供服务进行响应。服务器过程也可以返回带有对客户过程的响应的消息。客户过程和服务器过程经常在称为主机的不同的计算机设备上执行,并使用用于网络通信的一个或多个协议经由网络进行通信。通常术语“服务器”用于涉及提供服务的过程,或该过程在其上进行操作的主机计算机。类似地,通常术语“客户端”用于涉及作出请求的过程,或该过程在其上操作的主机计算机。如这里所用的,术语“客户端”和“服务器”涉及上述过程,而不涉及上述主机计算机,除非另外从上下文清楚说明。此外,由服务器所执行的过程可被分解为在用于在除了其他包括可靠性、可缩放性和冗余性的原因的多个主机(有时称为层)上运行的多个过程进行运行。
图2是根据一个实施例的推荐引擎的组件的示意图。举例来说,推荐引擎103包括用于提供用于生成由多样化管理器102使用的推荐模型的框架的一个或多个组件。可以设想的是,这些组件的功能可以在一个或多个组件中合并,或者可以由具有等同功能的其它组件执行。在此实施例中,推荐引擎103包括推荐API201、网络(web)门户模块203、控制逻辑205、存储器209、通信接口211、以及模型管理器模块213。
在控制推荐引擎103的模块和接口的执行中,能够利用控制逻辑205。当程序模块执行时,程序模块可在存储器209中存储。通信接口211能够被用于与UE101(例如,经由通信网络105)进行交互。进一步,控制逻辑205可以利用推荐API201(例如,与通信接口211连接)与多样化管理器102进行交互以及与应用107、服务平台111、服务/应用113、其它应用、平台和/或类似物进行交互。
通信接口211可包括多个通信装置。例如,通信接口211也许能在SMS、互联网协议、即时消息、语音会话(例如,经由电话网)、或其它类型通信上通信。通信接口211能够被控制逻辑205使用,以便与UE101a-101n和其它设备通信。在一些示例中,使用与推荐的API201相关联的协议和方法,通信接口211用于发送和接收信息。
举例来说,例如网络门户模块203可例如被开发者利用以有助于访问推荐引擎103的模块或组件。因此,网络门户模块203可生成网页和/或网络访问API,以使得开发者能够将其应用与推荐引擎103一起测试或寄存。开发者可以进一步使用网页和/或网络访问API,以便将请求发送给推荐引擎103,用于针对开发者们应用的内容推荐模型的生成。
此外,配置文件管理器模块207可以管理、存储、或存取在配置文件数据库109中的数据。因此,配置文件管理器模块207可以确定来自于内容等级信息的数据应当怎样被存储或访问(例如,基于模式)。此外,模型管理器模块213可以处理内容推荐模型的生成。因而,为了生成内容推荐模型,模型管理器模块213可以与配置文件管理器模块207经由控制逻辑205进行交互,以便获得内容等级信息。因此,模型管理器模块213可以进一步充当在从内容等级信息生成内容推荐模型中的过滤器,以便在生成内容推荐模型中,不使用不符合某些标准(例如与特定应用的相关性)的数据。
图3是根据一个实施例的用于支持多样化管理器102的推荐框架的示例架构。如所示,图3呈现多样化管理器102、推荐引擎103、配置文件数据库109、配置文件管理器模块207、模型管理器模块213、模型301a-301d、分析器303a-303d、以及配置文件305a-305n。在这个图中,推荐引擎103同时在生成用于至少四个不同应用的模型301a-301d的过程中(例如,包括基于项目的CF模型以及基于特征的CF模型两者的内容推荐模型)。因此,推荐引擎103用于多个应用。
举例来说,当在推荐引擎103处接收用于针对应用生成内容推荐模型的请求时,推荐引擎103可以从在配置文件数据库109中的配置文件305a-305n经由配置文件管理器207检索内容等级信息。如上所述,配置文件305a-305n可以与该应用、一个或多个其它应用、或其组合相关联。此后,经由模型管理器模块213,推荐引擎103基于内容等级信息生成内容推荐模型。在此步骤期间,使用分析器303a-303d,模型管理器模块213可以过滤出对内容推荐模型的生成来说可能是不必要的数据。因此,例如基于与为了生成内容推荐模型的目的的应用的相关性,可以仅仅提取内容等级信息的子集。此外,分析器303a-303d可以确定在内容等级信息的第一部分与内容等级信息的第二部分之间的一个或多个关系,所述内容等级信息的第一部分与该应用相关联,所述内容等级信息的第二部分与为了生成内容推荐模型目的的其它应用相关联。为了确定该关系,分析器303a-303b可以依靠该模式和/或特征分类,其被用来指定内容等级信息和/或内容等级信息的语义分析。例如,如果在模式中限定该关系和/或从项目到特征的映射,那么可以基于模式进行关系确定和/或映射。如果在模式中没有确定该关系,那么可以基于语义分析进行关系确定和/或映射。如果在模式中限定了一些关系而没限定其它关系,那么可以基于模式和语义分析对关系进行确定。
同时,基于被用来指定内容等级信息的模式,推荐引擎103可以从该应用和/或一个或多个其它应用采集另外的内容等级信息。在一个实施例中,另外的内容等级信息可能与基于特征的内容等级相关联,借此等级作为项目自身的附加或者替代品被提供给项目特征。然后,经由配置文件管理器模块207,推荐引擎103可能在配置文件数据库109中的相应的配置文件305a-305n中聚合所采集的内容等级信息。在生成推荐(例如,包括用于一些项目的推荐分数)时,推荐引擎103与多样化管理器102进行交互,以对推荐结果进行进一步后处理。在一个实施例中,在多样化管理器102的操作中,交互涉及发送推荐结果给多样化管理器102而无需进一步涉及推荐 引擎103,因而维持了多样化管理器102相对于推荐引擎103的独立性和分立性。
图4是根据一个实施例的用于提供基于特征的协同过滤的过程的流程图。在一个实施例中,多样化管理器102执行过程400,并且在例如在如图10所示的包括处理器和存储器的芯片组中被实现。另外或者作为替代,在一些实施例中可以设想的是,推荐引擎103可以执行过程400的全部或一部分。在步骤401中,多样化管理器102确定与一个或多个项目相关联的一个或多个推荐分数,其中,所述一个或多个推荐分数用于确定一个或多个项目的排序次序。举例来说,推荐分数的确定包括从推荐引擎103请求和/或接收推荐分数。通常,根据推荐分数来对一个或多个项目进行排列、排序、和/或呈现。
下一步,多样化管理器102确定与一个或多个项目相关联的相似性信息(步骤403)。在一个实施例中,多样化管理器102处理一个或多个项目的一个或多个特征和/或有助于一个或多个项目的一个或多个特征的处理,以确定相似性信息。例如,多样化管理器102确定关于在一个或多个项目中的至少一个项目和在一个或多个项目中的至少另一个项目的比较的相似性信息。这个比较提供了更高的效率(例如,减少资源负荷),以便在一些实施例中多样化管理器102的功能能够例如(如果有来自系统100的后端组件的任何帮助)以系统100中的最少的组件在客户端处(例如,UE101)本地执行。举例来说,一个或多个特征至少部分地包括一个或多个种类、一个或多个标签、一个或多个位置、一个或多个信息源、一个或多个推荐类型、或其组合,以便确定相似性信息。
在步骤405中,多样化管理器102处理相似性信息和/或有助于相似性信息的处理以至少部分地引起对一个或多个推荐分数、排序次序、或其组合的调整。在一个实施例中,该调整包括至少部分地引起对具有至少大致相似的一个或多个特征的一个或多个项目的相应的一个或多个推荐分数的惩罚的应用。在一些实施例中,多 样化管理器102进一步确定具有至少大致相似的一个或多个特征的一个或多个项目的邻近信息,其中邻近信息关于排序次序中的位置(例如,在排序次序中的邻近项目)。然后,多样化管理器102处理邻近信息和/或有助于邻近信息的处理,以调整应用于受到影响的推荐分数的惩罚。在一个实施例中,调整不必全局应用,而是替代性地可应用于所推荐的项目的子集或节段。在又一个实施例中,可通过一个或多个多样化因子的应用控制调整的量。在下面参考图5-8更详细地讨论了调整过程。
图5是根据一个实施例的用于调整推荐分数的方法的流程图。在一个实施例中,多样化管理器102执行过程400,并且被实现在例如如图10所示的包括处理器和存储器的芯片组中。此外,或者替代性地,在一些实施例中,可以设想的是,推荐引擎103可以执行过程400的全部或一部分。在步骤501中,至少部分地基于项目的推荐分数或排序次序,多样化管理器102选择在推荐列表上的一个项目(或下一个项目)。在一个实施例中,选择初始化在此处描述的各种实施例中讨论的多样化或调整过程。
下一步,多样化管理器102确定是否存在类似于所选择的项目的其它项目(步骤503)。在一个实施例中,通过在推荐列表中所选择的项目和其它项目之间比较特征来确定相似性。如果其它项目是相似的,那么多样化管理器102增加相似项目之间的推荐分数和/或在排序次序内的相对位置的差异(步骤505)。这样,多样化管理器102破坏典型的传统推荐结果的“粘性”,以通过将种类更多的推荐项目公开给用户来增强用户体验。如果没有类似于所选择的项目的其它项目,那么多样化管理器确定在推荐列表中是否留下了任何未被选择、不相似的项目(步骤507)。如果留下了项目,多样化管理器102返回到步骤501,以选择下一个项目。否则过程500结束。
图6是根据一个实施例的使推荐列表多样化的示例用例的图。更具体地,参考上述图5,图6描述过程的可视表达。如所示,UI601 显示具有排序次序的和/或保持未调整的推荐分数的推荐项目的列表。多样化管理器102以在UI601的列表中选择第一个项目(例如,“项目1种类:C1”)开始。这个选择使得多样化管理器102搜索其它相似的项目(例如,在种类C1中的项目)。在此示例中,项目3和项目4都在种类C1中。因此,基于它们的与所选择的项目的相似性,多样化管理器102应用对它们的排序次序的调整或惩罚。在一个实施例中,根据下面等式执行上述调整:调整或惩罚=-W/(L+1),其中,W=用以控制调整的粒度的多样化参数或加权,L=所选择的项目排序次序或排名(例如,对于项目1,L=1)。
此外,或者替代性地,多样化管理器102能够使用其它的替代来调整推荐分数和/或排序次序。例如,在另一个实施例中,多样化管理器102能够对多样化能力(例如,具有相似的项目在排序次序中放得更远的非常广泛范围的大加权或多样化参数W)和在多样化前后移动的排名位置(例如,具有在排序次序中邻近的非常相似的本地项目的小加权W)进行平衡从而达到优化的值。此方法的各种实施例的一个优点是使用项目特征的部分来使项目多样化、然后处理在原始项目列表的任何段中排列的项目的能力。换句话说,至少部分地基于项目是否共享相同特征,可仅仅在项目的子集上执行多样化。通过比较和/或匹配项目特征,多样化管理器102不必执行更复杂的相似性计算。替代性地,在其有相同的或相似的特征的项目上作出惩罚或调整。
将等式应用于在UI601中的列表,多样化管理器102在UI603中生成经过调整的或重新排序的列表。在这种情况下,因为C1已经表示为项目1和3,所以在种类C1中的项目4已被从第四个位置重新排序至第六个位置。然后,通过搜索其它C2项目并应用用以在UI605中生成重新排序的列表的等式,多样化管理器102选择用于处理的下一个项目(例如,“项目2种类:C2”)。在这种情况下,对于项目2,用于排序次序的参数L现在是2。在一个实施例中,该过程可继续任意多的迭代次数。
图7是根据一个实施例的多样化过程的示例实施方案的图。在过程701中,通过初始化或设置重新排序分数,多样化管理器102初始化多样化或调整过程,所述重新排序分数等于例如由推荐引擎103为所有项目提供的原始分数。在过程703处,多样化管理器102得到最近被重新排序的项目(即,新的重新排序分数项目)的种类C和新的排序次序或排名位置N。
然后,在过程705,将种类C与种类C'相比较,所述种类C'与还没有被重新排序的项目相对应。如果C'匹配C,那么多样化管理器102使用等式:R'=R-W/(L+1)来生成重新排序位置R',其中,R是原始排序,W是多样化参数,并且L是所选择的项目的排序次序(例如,最新的重新排序分数项目)。然后,多样化管理器102选择具有最高的重新排序分数的尚未被重新排序的项目用于重新排序(步骤707)。然后,为了在列表中或在列表的指定的节段中的剩余项目而重复该过程。
图8是根据各种实施例的用于图1-5的过程的用户接口的图。如图8所示,使用直接由推荐引擎103确定的推荐分数,UI801描述排序的推荐项目的列表。在这种情况下,因为该用户具有对于餐厅X的强烈偏好,所以推荐(例如,在同时总共10个项目时,所显示的项目1-6)是非常同质的。然而,这种同质性也可能是单调的,并且使得用户厌烦,因而令用户沮丧不愿使用推荐功能。值得注意的是,因为在显示器上同时通常所有的项目不都是可见的,所以如在此示例实施例中所示,仅仅具有一种相似的推荐项目(其具有同种项目的六个变形)的UI可能令用户厌烦。因此有对项目的更好用户体验和多样化列表的需求。
因而,相比之下,发明的此实施例的UI803在经由多样化管理器102的处理以后描述相同列表,以提供更多品种和更大多样性的推荐项目。如UI801中所示,用户具有强烈偏好的餐厅X仍然以列表的形式很好地呈现了两列列表(例如,项目1和项目2),但是来自于不同种类的其余推荐项目也是可见的,以刺激用户兴 趣。
此外,UI801和803为每一个推荐项目提供具有多个特征(例如,名称、位置、折扣、和日期)的列表。可以设想的是,多样化管理器102能够根据描述在本发明的一个实施例中的项目的一个或多个特征至少部分地基于多样化对项目的推荐分数进行重新排序或调整。例如,在一个实施例中,多样化可以完全基于名称,以便在项目中的相似性仅仅由名称确定。替代性地,多样化管理器102可至少部分地基于诸如位置、折扣、日期、或其任何组合的其它参数中的任何一个或多个来确定相似性。例如,替代地基于位置或日期,重新排序可用于使项目多样化。在另一个实施例中,在服务器中处理使用来自于推荐引擎的推荐分数进行排序的推荐项目的列表,并且多样化管理器在设备中局部地起作用。在另一个实施例中,设备给出用以选择使用推荐引擎103或选择使用多样化管理器102的选项。
在此所述的用于使推荐结果多样化的过程,可以经由软件、硬件、固件或者软件和/或固件和/或硬件的组合有利地实现。例如,在此所描述的过程可以经由处理器、数字信号处理(DSP)芯片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等有利地实现。在下面详述了这样的用于执行所描述功能的示例性硬件。
图9图示了计算机系统900,在其上可以实现本发明的实施例。虽然关于特定设备或装置描述了计算机系统900,但是,可以设想的是,在图9中的其它设备或装置(例如,网络元件、服务器等)可以部署系统900的所示硬件和组件。对计算机系统900编程(例如,经由计算机程序代码或指令)以使如在此所述的推荐结果多样化,并且,计算机系统900包括诸如总线910之类的通信机构用于在计算机系统900的其它内部和外部组件之间传递信息。信息(也称为数据)被表示为可测量现象的物理表达,其中所述可测量现象,通常是电压,但是在其它实施例中包括诸如磁的、电磁的、压力的、化学的,生物的、分子的、原子的、亚原子的和量子交互之类的现 象。例如,南北磁场、或者为零的和非零的电压,代表二进制数字(位,bit)的两种状态(0、1)。其它现象可代表更高基础的数字。在测量之前的对同时的多个量子态的叠加代表量子比特(qubit)。一个或多个数字的序列构成数字式数据,其用于代表特征的数量或代码。在一些实施例中,称为模拟数据的信息在特定范围内由可测定数值的近连续体代表。计算机系统900或其一部分构成用于执行使推荐结果多样化的一个或多个步骤的装置。
总线910包括信息的一个或多个平行导体,以便在耦合到总线910的设备中快速地传递信息。用于处理信息的一个或多个处理器902与总线910耦合。
一个处理器(或多个处理器)902执行在由与使推荐结果多样化相关联的计算机程序代码指定的信息上的一组操作。计算机程序代码是一组指令或声明,其为处理器和/或计算机系统的操作提供指令,以执行指定功能。代码例如可以以被编译进入处理器的原生指令集中的计算机程序语言形式编写。使用原生指令集(例如,机器语言),也可以直接写代码。该组操作包括从总线910带进信息,还包括把信息放在总线910上。该操作组也通常包括比较两个或多个信息单元,移动信息单元的位置,以及诸如通过加法或乘法或逻辑操作如同或(OR)、异或(XOR)和与(AND)之类来合并两个或多个信息单元。将可由处理器执行的操作组的每个操作通过诸如一个或多个数字的操作代码之类的、称为指令的信息呈现给处理器。诸如操作代码的序列的、由处理器902执行的操作序列构成处理器指令,所述处理器指令也称为计算机系统指令,或简称为计算机指令。处理器可以在其它组件中、独自地、或以组合的形式被实施为机械的、电的、磁的、光的、化学的或量子组件。
计算机系统900也包括耦合到总线910的存储器904。诸如随机存取存储器(RAM)或任何其它动态存储器之类的存储器904,存储包括用于使推荐结果多样化的处理器指令的信息。动态存储器允许在此存储的信息被计算机系统900改变。RAM允许存储在被 称作存储地址的位置处的信息单元被独立于在邻近地址的信息存储并检索。存储器904也被处理器902使用,以存储在处理器指令的执行期间的瞬时值。计算机系统900也包括只读存储器(ROM)906或任何其它静态存储器设备,其耦合到总线91用于存储包括未被计算机系统900改变的指令的静态信息。一些存储器包括易失性存储器,其当停电时失去在其上存储的信息。也耦合到总线910的是非易失性的(持久性)存储设备908,诸如磁盘、光盘或闪存卡用于存储包括指令的信息,即使当计算机系统900被关闭或断电时还持续。
将包括用于使推荐结果多样化的指令的信息,从诸如包括由人类用户或传感器操作的包含字母数字键的键盘之类的外部输入设备912,提供给由处理器使用的总线910。传感器检测在其附近的状况,并将这些检测转化为与可测量现象相兼容的物理表达,所述可测量现象用来在计算机系统900中代表信息。耦合到总线910的主要用于与人类进行交互的其它外部设备,包括诸如阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)显示器、有机LED(OLED)显示器、等离子体屏幕或打印机之类的用于呈现文本或图像的显示设备914,以及诸如鼠标、轨迹球、光标方向键、或运动传感器之类的定点装置916,其用于控制呈现在显示器914上的小光标图像的位置、并发出与呈现在显示器914上的图形元素相关联的命令。在一些实施例中,例如在计算机系统900自动执行所有功能无需人类输入的实施例中,省略了外部输入设备912、显示设备914和定点设备916中的一个或多个。
在所示的实施例中,诸如专用集成电路(ASIC)920之类的专用硬件被耦合到总线910。专用硬件被配置成执行由处理器902为了特定目的执行得不够快的操作。ASIC的示例包括用于为显示器914生成图像的图形加速器卡、用于加密和解密在网络上发送的消息的密码板、语音识别和到特殊外部设备的接口,所述特殊外部设备诸如机器人臂和医疗扫描装置之类,其重复执行在硬件中实现得 更高效的一些复杂操作序列。
计算机系统900也包括耦合到总线910的通信接口970的一个或多个示例。通信接口970提供耦合到各种外部设备的单向或双向通信,所述外部设备以它们自己的处理器来操作,诸如打印机、扫描仪和外部磁盘。一般来说,这种耦合是用连接到局域网980的网络链路978来进行,具有它们自己的处理器的各种外部设备连接到该局域网上。例如,通信接口970可以是在个人计算机上的并行端口或串行端口或通用串行总线(USB)端口。在一些实施例中,通信接口970是综合服务数字网(ISDN)卡或数字用户线路(DSL)卡或电话调制解调器,其向相应类型的电话线提供信息通信连接。在一些实施例中,通信接口970是电缆调制解调器,其将总线910上的信号或者转换为用于在同轴电缆上的通信连接的信号,或者转换为用于在光纤电缆上的通信连接的光信号。作为另一个示例,通信接口970可以是局域网(LAN)卡用以为诸如以太网之类的兼容LAN提供数据通信连接。无线链路也可能被实现。对于无线链路,通讯接口970发送或接收或既发送又接收电信号、声信号或电磁信号,所述电磁信号包括红外和光信号,这些电信号、声信号或电磁信号携载诸如数字数据之类的信息流。例如,在诸如像蜂窝电话的移动电话之类的无线手持设备中,通信接口970包括被称为无线收发器的无线带宽电磁发射机和接收机。在某些实施例中,通信接口970使得能够连接到使推荐结果多样化的通信网络105。
如在此所使用的术语“计算机可读介质”涉及参与向处理器902提供包括用于执行的指令的信息的任何介质。这样的介质可采用许多形式,包括但不局限于计算机可读存储介质(例如,非易失性介质、易失性介质)和传输介质。诸如非易失性介质之类的非瞬时性介质例如包括诸如存储器设备908之类的光盘或磁盘。易失性介质例如包括动态存储器904。传输介质例如包括双绞线电缆、同轴电缆、铜线、光纤电缆和无需电线或电缆能穿过空间行进的载波,所述载波诸如声波和包括无线电波、光波和红外波的电磁波之类。 信号包括穿过传输介质传输的振幅、频率、相位、极化或其他物理特性的人造瞬时变化。计算机可读介质的共同形式例如包括软盘、软磁盘、硬盘、磁带、任何其他磁介质、CD-ROM、CDRW、DVD、任何其他光介质、打孔卡、纸带、光标示表单(optical mark sheet)、具有孔或其他可光学可识别标记的图案的任何其它物理介质、RAM、PROM、EPROM、FLASH-EPROM、EEPR0M、闪速存储器、任何其他存储芯片或磁带盒、载波、或计算机可从中读取的任何介质。术语计算机可读存储介质在此用于涉及除传输介质之外的任何计算机可读介质。
在一个或多个有形介质中编码的逻辑包括计算机可读存储介质和诸如ASIC920之类的专用硬件上的处理器指令中的一个或两者。
网络链路978通常使用传输介质通过一个或多个网络向使用或处理信息的其它设备提供信息通信。例如,网络链路978可通过局域网980或者向主机计算机982提供链接,或者向由互联网服务提供商(ISP)操作的设备984提供连接。ISP设备984转而通过现在通常称为互联网990的网络的公共的全球分组交换通信网络提供数据通信服务。
连接到互联网上的被称为服务器主机992的计算机是如下过程的主机,该过程响应于在互联网上接收到的信息而提供服务。例如,服务器主机992是如下过程的主机,该过程提供表示用于在显示器914处呈现的视频数据的信息。可以设想的是,可以以各种配置将系统900的组件部署在例如主机982和服务器992的其他计算机系统内。
本发明的至少一些实施例涉及使用计算机系统900来实现在此所描述的一些或全部技术。根据本发明一个实施例,这些技术可由计算机系统900响应于处理器902实现,所述处理器902执行在存储器904中所包含的一个或多个处理器指令的一个或多个序列。可以把也被称计算机指令、软件和程序代码的这种指令从诸如存储 器设备908或网络链路978的另一种计算机可读介质读入到存储器904中。包含在存储器904中的指令序列的执行使得处理器902执行在此所述的一个或多个方法步骤。在替代性实施例中,诸如ASIC920的硬件可以被用于替代或结合软件来实现本发明。因此,除非在此另外明显地指出,本发明的实施例不局限于硬件和软件的任何特定组合。
通过通信接口970在网络链路978和其他网络上发送的信号携载去往和来自计算机系统900的信息。计算机系统900能够通过网络980、990等经由网络链路978和通信接口970来发送和接收包括程序代码的信息。在使用互联网990的一个示例中,通过互联网990、ISP设备984、局域网980和通信接口970,服务器主机992发送被从计算机900发送的消息所请求的、用于特定应用的程序代码。当代码被接收到时,所接收的代码可以由处理器902执行,或者可以存储于存储器904或存储设备908中或任何其它非易失性存储器中以便以后执行,或者可以执行这两者。以这一方式,计算机系统900可以获得应用程序代码,其形式为在载波上的信号。
在将指令或数据或这两者的一个或多个序列携载到处理器902来执行时,可以涉及各种形式的计算机可读介质。例如,指令和数据最初可被携载在诸如主机982的远程计算机的磁盘上。远程计算机将该指令和数据加载到它的动态存储器中,并使用调制解调器在电话线上发送指令和数据。计算机系统900本地的调制解调器接收在电话线上的指令和数据,并使用红外发射机将指令和数据转换为在用作网络链路978的红外载波上的信号。用作通信接口970的红外检测器接收在红外信号中携载的指令和数据,并将代表指令和数据的信息放置到总线910上。总线910将信息携载到存储器904,处理器902从该存储器904检索指令,并通过使用随着指令发送的一些数据来执行指令。在由处理器902执行之前或之后,在存储器904中接收到的指令和数据可以可选地被存储在存储器设备908中。
图10图示了芯片组或芯片1000,在其上可以实现本发明的实 施例。芯片组1000被编程序以使得推荐结果如本文所述的被多样化,并包括例如参照图9所描述的处理器和存储器组件,它们集成在一个或多个物理封装(例如,芯片)中。举例来说,物理封装包括结构组装(例如,基板)上一个或多个材料、组件、和/或线路的布置,以提供诸如物理强度、尺寸保持、和/或电交互限制的一个或多个特征。可以设想的是,在特定实施例中,芯片组1000可以实现为单个芯片。还可以设想的是,在特定实施例中,芯片组1000可以实现为单个“片上系统”。还可以设想的是,在特定实施例中,例如将不使用单独的ASIC,并且在此公开的所有相关功能将由一个或多个处理器执行。芯片组或芯片1000或其一部分构成用于执行提供与功能可用性相关联的用户接口导航信息的一个或多个步骤的装置。芯片组或芯片1000或其一部分构成用于执行使推荐结果多样化的一个或多个步骤的装置。
在一个实施例中,芯片组或芯片1000包括诸如总线1001的通信机构用于在芯片组1000的组件之间传送信息。处理器1003具有到总线1001的连通性,从而执行指令并处理例如存储在存储器1005中的信息。处理器1003可包括一个或多个处理核,每个核被配置为独立地执行。多核处理器使得能够在单个物理封装中进行多重处理。多核处理器的示例包括双核、四核、八核或更大数量的处理核。可替代地或附加地,处理器1003可包括一个或多个微处理器,其被配置为经由总线串联起来,以使得能够进行指令的独立执行、流水线和多线程。处理器1003还可以附随有一个或多个专用组件以执行特定处理功能和任务,该特定处理功能和任务诸如一个或多个数字信号处理器(DSP)1007、或一个或多个专用集成电路(ASIC)1009。DSP1007通常被配置为独立于处理器1003实时地处理现实世界的信号(例如,声音)。类似地,ASIC1009可被配置为执行由更通用的通用处理器不容易执行的特别功能。有助于执行在此描述的本发明功能的其他专用组件可包括一个或多个现场可编程门阵列(FPGA)(未示出)、一个或多个控制器(未示出)、或一 个或多个其他专用计算机芯片。
在一个实施例中,芯片组或芯片1000仅包括一个或多个处理器以及支持和/或涉及和/或用于所述一个或多个处理器的一些软件和/或固件。
经由总线1001,处理器1003和附随组件具有到存储器1005的连通性。存储器1005包括动态存储器(例如,RAM、磁盘、可写光盘等)和静态存储器(例如,ROM、CD-ROM等)两者用于存储可执行指令,当执行所述指令时,执行在此所述的本发明的步骤以使推荐结果多样化。存储器1005还存储与本发明的步骤的执行相关联的数据,或者由本发明步骤的执行生成的数据。
图11是根据一个实施例的用于通信的移动终端(例如手持设备)的示例组件的图,该移动终端能够在图1的系统中操作。在一些实施例中,移动终端1101或其一部分构成用于执行使推荐结果多样化的一个或多个步骤的装置。一般来说,经常根据前端或后端的特性来限定无线电接收机。接收机的前端包括所有射频(RF)电路,而后端包括所有基带处理电路。如本申请所使用的,术语“电路”涉及两者:(1)仅有硬件的实施方案(诸如仅有模拟和/或数字电路的实施方案之类);以及(2)电路和软件(和/或固件)的组合(如果适用于特定上下文,诸如处理器、软件和存储器的组合,它们一起工作来使得诸如移动电话或服务器之类的装置执行各种功能,所述处理器包括数字信号处理器)。“电路”的这种定义适用于在本申请中包括在权利要求书中该术语的所有使用。作为另一个示例,如本申请所使用的,如果适用于特定上下文,那么术语“电路”还可以覆盖仅有处理器(或多个处理器)和它(或它们)的附随软件/或固件的实施方案。例如,如果适用于特定上下文,那么术语“电路”还可覆盖在移动电话中的基带集成电路或应用处理器集成电路,或者在蜂窝网络设备或其他网络设备中的相似的集成电路。
电话的相关内部组件包括主控制单元(MCU)1103、数字信号处理器(DSP)1105、以及包含麦克风增益控制单元和扬声器增 益控制单元的接收机/发射机单元。主显示单元1107为用户提供显示,以支持各种应用和移动终端功能,其执行或支持使推荐结果多样化的步骤。显示器1107包括显示电路,其被配置为显示移动终端(例如,移动电话)的用户接口的至少一部分。另外,显示器1107和显示电路被配置为有助于移动终端的至少一些功能的用户控制。音频功能电路1109包括麦克风1111和麦克风放大器,该麦克风放大器放大从麦克风1111输出的语音信号。从麦克风1111输出的被放大的语音信号被馈送给编码/解码器(CODEC)1113。
无线电节段1115放大功率并转换频率,以便经由天线1117来与基站通信,所述基站包含在移动通信系统中。如本领域所知地,功率放大器(PA)1119和发射机/调制电路可操作地对MCU1103作出响应,所述PA1119的输出耦合到双工器1121或循环器或天线开关。PA1119还耦合到电池接口和功率控制单元1120。
在使用中,移动终端1101的用户对着麦克风1111讲话,他或她的语音连同任何被检测到的背景噪声被转换成模拟电压。然后,模拟电压通过模数转换器(ADC)1123被转换成数字信号。控制单元1103将该数字信号路由到DSP1105,以便在此进行处理,所述处理诸如语音编码、信道编码、加密和交织。在一个实施例中,通过使用蜂窝传输协议由未单独示出的单元对经过处理的语言信号进行编码,所述蜂窝传输协议诸如增强型数据速率全球演进(EDGE)、通用分组无线业务(GPRS)、全球移动通信系统(GSM)、互联网协议多媒体子系统(IMS)、通用移动通信系统(UMTS)等,以及任何其他适当的无线介质,例如,微波接入(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线高保真(WiFi)、卫星等、或者其任何组合。
然后,经过编码的信号被路由到均衡器1125用以补偿穿过通过空气传输期间发生的任何依赖于频率的损害,诸如相位和振幅失真之类。在对比特流进行均衡后,调制器1127将该信号与RF接口1129中生成的RF信号合并。经由频率或相位调制,调制器1127 生成正弦波。为了准备用于传输的信号,上变频器1131将从调制器1127输出的正弦波与由合成器1133生成的另一个正弦波合并,以实现传输所需要的频率。然后,将该信号通过PA1119发送,以将该信号增大到合适的功率水平。在实际系统中,PA1119充当可变增益放大器,其增益由DSP1105根据从网络基站接收到的信号控制。然后,该信号在双工器1121内被过滤,并可选地发送到天线耦合器1135,以匹配阻抗,从而提供最大功率传输。最后,经由天线1117将该信号发送到本地基站。可以提供自动增益控制(AGC),以控制接收机最后几级的增益。信号可以从那里被转发给远程电话,其可以是另一个蜂窝电话、任何其它移动电话或者陆上线路,所述路上线路连接到公共交换电话网(PSTN)或其他电话网。
发送到移动终端1101的语音信号经由天线1117被接收并立即由低噪声放大器(LNA)1137放大。下变频器1139降低载波频率,而解调器1141去除仅残留数字比特流的RF。然后,信号通过均衡器1125并被DSP1105处理。数模转换器(DAC)1143转换信号,作为结果的输出通过扬声器1145被发送给用户,所有这些都受到主控制单元(MCU)1103的控制,该主控制单元1103可被实现为中央处理单元(CPU)(未示出)。
MCU1103接收包括来自于键盘1147的输入信号的各种信号。与其它用户输入组件(例如,麦克风1111)组合的键盘1147和/或MCU1103包括用于管理用户输入的用户接口电路。MCU1103运行用户接口软件来有助于移动终端1101的至少一些功能的用户控制,以使推荐结果多样化。MCU1103还分别将显示指令和开关指令传送给显示器1107和语音输出开关控制器。此外,MCU1103与DSP1105交换信息,并可访问可选地包含的SIM卡1149和存储器1151。另外,MCU1103执行终端所需要的各种控制功能。根据实施方案,DSP1105可在语音信号上执行各种传统数字处理功能中的任何一种。另外,DSP1105从由麦克风1111检测到的信号来确定 本地环境的背景噪音水平,并将麦克风1111的增益设置到一个所选择的水平用以以便补偿移动终端1101的用户的自然趋势。
CODEC l113包括ADC l123和DAC l143。存储器1151存储各种数据,其包括呼入电话的语音数据,并能够存储包括例如经由全球互联网接收到的音乐数据的其它数据。软件模块可位于RAM存储器、闪速存储器、寄存器、或本领域所知的任何其它形式的可写存储介质中。存储器设备1151可以是、但不局限于是单个存储器、CD、DVD、ROM、RAM、EEPROM、光存储器、磁盘存储器、闪速存储器、或能够存储数字数据的任何其它非易失性存储介质。
可选地包含的SIM卡1149例如携载有重要信息,其诸如蜂窝电话号码、提供服务的运营商、预订详细信息和安全信息之类。SIM卡1149主要用于在无线电网络上识别移动终端1101。卡1149还包含存储器,其用于存储个人电话号码登记、文本消息、和用户专用移动终端设置。
虽然已经结合若干实施例和实施方案描述了本发明,但是本发明并不局限于此,而是覆盖各种明显修订和等同布置,它们都落入所附权利要求的保护范围内。虽然在权利要求书中以特定组合的方式表述本发明的特征,但是,可以设想的是,以任何组合和顺序的方式布置这些特征。

用于推荐结果的灵活多样化的方法和装置.pdf_第1页
第1页 / 共35页
用于推荐结果的灵活多样化的方法和装置.pdf_第2页
第2页 / 共35页
用于推荐结果的灵活多样化的方法和装置.pdf_第3页
第3页 / 共35页
点击查看更多>>
资源描述

《用于推荐结果的灵活多样化的方法和装置.pdf》由会员分享,可在线阅读,更多相关《用于推荐结果的灵活多样化的方法和装置.pdf(35页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103620592 A (43)申请公布日 2014.03.05 CN 103620592 A (21)申请号 201180071698.0 (22)申请日 2011.04.19 G06F 17/30(2006.01) (71)申请人 诺基亚公司 地址 芬兰埃斯波 (72)发明人 田继雷 姜邵巍 杨新星 刘东 仰颢 (74)专利代理机构 北京市金杜律师事务所 11256 代理人 酆迅 (54) 发明名称 用于推荐结果的灵活多样化的方法和装置 (57) 摘要 本发明提供了一种用于使推荐结果多样化的 方法。多样化管理器确定与一个或多个项目相关 联的一个或多个推荐分数。所述。

2、一个或多个推荐 分数用于确定一个或多个项目的排序次序。多样 化管理器然后确定与所述一个或多个项目相关联 的相似性信息, 并且处理所述相似性信息和 / 或 有助于所述相似性信息的处理, 以至少部分地引 起对所述一个或多个推荐分数、 所述排序次序、 或 其组合的调整。 (85)PCT国际申请进入国家阶段日 2013.12.17 (86)PCT国际申请的申请数据 PCT/CN2011/073031 2011.04.19 (87)PCT国际申请的公布数据 WO2012/142751 EN 2012.10.26 (51)Int.Cl. 权利要求书 4 页 说明书 19 页 附图 11 页 (19)中华人。

3、民共和国国家知识产权局 (12)发明专利申请 权利要求书4页 说明书19页 附图11页 (10)申请公布号 CN 103620592 A CN 103620592 A 1/4 页 2 1. 一种方法, 其包括有助于 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一个信号的处理 和 / 或处理 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一个信号, 所述 (1) 数据和 / 或 (2) 信 息和 / 或 (3) 至少一个信号至少部分地基于以下内容 : 与一个或多个项目相关联的一个或多个推荐分数, 其中所述一个或多个推荐分数用于 确定所述一个或多个项目的排序次序 ; 。

4、与所述一个或多个项目相关联的相似性信息 ; 以及 用于至少部分地导致对所述一个或多个推荐分数、 所述排序次序、 或其组合的调整的 对所述相似性信息的处理。 2. 根据权利要求 1 所述的方法, 其中所述 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一 个信号还至少部分地基于以下内容 : 用于确定所述相似性信息的对所述一个或多个项目的一个或多个特征的处理。 3. 根据权利要求 2 所述的方法, 其中所述 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一 个信号还至少部分地基于以下内容 : 对具有至少大致相似的所述一个或多个特征的所述一个或多个项目的相应的所述一 个或。

5、多个推荐分数的惩罚的应用。 4. 根据权利要求 3 所述的方法, 其中所述 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一 个信号还至少部分地基于以下内容 : 具有至少大致相似的所述一个或多个特征的所述一个或多个项目的邻近信息, 其中所 述邻近信息关于所述排序次序中的位置 ; 以及 用于调整所述惩罚的对所述邻近信息的处理。 5. 根据权利要求 2 至 4 中任一项所述的方法, 其中所述一个或多个特征至少部分地包 括一个或多个种类、 一个或多个标签、 一个或多个位置、 一个或多个信息源、 一个或多个推 荐类型、 或其组合, 以确定所述相似性信息。 6. 根据权利要求 1 至 5 。

6、中任一项所述的方法, 其中关于所述一个或多个项目中的至少 一个项目与所述一个或多个项目中的至少另一个项目的比较来确定所述相似性信息。 7. 根据权利要求 6 所述的方法, 其中所述 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一 个信号还至少部分地基于以下内容 : 与所述一个或多个项目相关联的年龄信息 ; 以及 用于针对所述比较选择所述一个或多个项目中的所述至少一个或多个项目的对所述 年龄信息的处理。 8. 根据权利要求 1 至 7 中任一项所述的方法, 其中所述 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一个信号还至少部分地基于以下内容 : 至少部分地基于至。

7、少一个多样化参数对所述调整的至少一个确定。 9. 根据权利要求 1 至 8 中任一项所述的方法, 其中对所述一个或多个推荐分数的所述 调整独立于所述一个或多个推荐分数的生成。 10. 根据权利要求 1 至 9 中任一项所述的方法, 其中所述 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一个信号还至少部分地基于以下内容 : 对所述一个或多个项目的子集的所述调整的应用。 11. 一种方法, 包括 : 权 利 要 求 书 CN 103620592 A 2 2/4 页 3 确定与一个或多个项目相关联的一个或多个推荐分数, 其中所述一个或多个推荐分数 用于确定所述一个或多个项目的排序次序。

8、 ; 确定与所述一个或多个项目相关联的相似性信息 ; 以及 处理所述相似性信息和 / 或有助于所述相似性信息的处理, 以至少部分地导致对所述 一个或多个推荐分数、 所述排序次序、 或其组合的调整。 12. 根据权利要求 11 所述的方法, 还包括 : 处理所述一个或多个项目中的一个或多个特征和 / 或有助于所述一个或多个项目中 的一个或多个特征的处理, 以确定所述相似性信息。 13. 根据权利要求 12 所述的方法, 还包括 : 至少部分地导致对具有至少大致相似的所述一个或多个特征的所述一个或多个项目 的相应的所述一个或多个推荐分数的惩罚的应用。 14. 根据权利要求 13 所述的方法, 还包。

9、括 : 确定具有至少大致相似的所述一个或多个特征的所述一个或多个项目的邻近信息, 其 中所述邻近信息关于所述排序次序中的位置 ; 以及 处理所述邻近信息和 / 或有助于所述邻近信息的处理, 以调整所述惩罚。 15.根据权利要求12至14中任一项所述的方法, 其中所述一个或多个特征至少部分地 包括一个或多个种类、 一个或多个标签、 一个或多个位置、 一个或多个信息源、 一个或多个 推荐类型或其组合, 以确定所述相似性信息。 16.根据权利要求11至15中任一项所述的方法, 其中关于所述一个或多个项目中的至 少一个项目与所述一个或多个项目中的至少另一个项目的比较来确定所述相似性信息。 17. 根据。

10、权利要求 16 所述的方法, 还包括 ; 确定与所述一个或多个项目相关联的年龄信息 ; 以及 处理所述年龄信息和 / 或有助于所述年龄信息的处理, 以针对所述比较选择所述一个 或多个项目中的所述至少一个或多个项目。 18. 根据权利要求 11 至 17 中任一项所述的方法, 还包括 : 至少部分地基于至少一个多样化参数确定所述调整。 19.根据权利要求11至18中任一项所述的方法, 其中所述一个或多个推荐分数的所述 调整独立于所述一个或多个推荐分数的生成。 20. 根据权利要求 11 至 19 中任一项所述的方法, 还包括 : 至少部分地导致对所述一个或多个项目的子集的所述调整的应用。 21.。

11、 一种装置, 包括 : 至少一个处理器 ; 以及 至少一个存储器, 其包含用于一个或多个程序的计算机程序代码, 所述至少一个存储 器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述装置至少执行以 下步骤 : 确定与一个或多个项目相关联的一个或多个推荐分数, 其中所述一个或多个推荐分数 用于确定所述一个或多个项目的排序次序 ; 确定与所述一个或多个项目相关联的相似性信息 ; 以及 处理所述相似性信息和 / 或有助于所述相似性信息的处理, 以至少部分地导致对所述 权 利 要 求 书 CN 103620592 A 3 3/4 页 4 一个或多个推荐分数、 所述排序次序或其组合的调整。 2。

12、2. 根据权利要求 21 所述的装置, 其中还使所述装置用以 : 处理所述一个或多个项目中的一个或多个特征和 / 或有助于所述一个或多个项目中 的一个或多个特征的处理, 以确定所述相似性信息。 23. 根据权利要求 22 所述的装置, 其中还使所述装置用以 : 至少部分地导致对具有至少大致相似的所述一个或多个特征的所述一个或多个项目 的各自的所述一个或多个推荐分数的惩罚的应用。 24. 根据权利要求 23 所述的装置, 其中还使所述装置用以 : 确定具有至少大致相似的所述一个或多个特征的所述一个或多个项目的邻近信息, 其 中所述邻近信息关于所述排序次序中的位置 ; 以及 至少部分地基于所述邻近。

13、信息处理所述邻近信息和 / 或有助于所述邻近信息的处理, 以调整所述惩罚。 25.根据权利要求22至24中任一项所述的装置, 其中所述一个或多个特征至少部分地 包括一个或多个种类、 一个或多个标签、 一个或多个位置、 一个或多个信息源、 一个或多个 推荐类型或其组合, 以确定所述相似性信息。 26.根据权利要求21至25中任一项所述的装置, 其中关于所述一个或多个项目中的至 少一个项目与所述一个或多个项目中的至少另一个项目的比较来确定所述相似性信息。 27. 根据权利要求 26 所述的装置, 其中还使所述装置用以 : 确定与所述一个或多个项目相关联的年龄信息 ; 以及 处理所述年龄信息和 / 。

14、或有助于所述年龄信息的处理, 以针对所述比较选择所述一个 或多个项目中的所述至少一个或多个项目。 28. 根据权利要求 21 至 27 中任一项所述的装置, 其中还使所述装置用以 : 至少部分地基于至少一个多样化参数确定所述调整。 29.根据权利要求21至28中任一项所述的装置, 其中所述一个或多个推荐分数的所述 调整独立于所述一个或多个推荐分数的生成。 30. 根据权利要求 21 至 29 中任一项所述的装置, 其中还使所述装置用以 : 至少部分地导致对所述一个或多个项目的子集的调整的应用。 31. 根据权利要求 21 至 30 中任一项所述的装置, 其中所述装置是移动电话, 所述移动 电话。

15、还包括 : 用户接口电路和用户接口软件, 其被配置为通过显示器的使用来有助于所述移动电话 的至少一些功能的用户控制, 并被配置为响应于用户输入 ; 以及 显示器和显示电路, 其被配置为显示所述移动电话的用户接口的至少一部分, 所述显 示器和显示电路还被配置为有助于所述移动电话的至少一些功能的用户控制。 32. 一种计算机可读存储介质, 其携载一个或多个指令的一个或多个序列, 当所述一个 或多个指令由一个或多个处理器执行时, 使得一种装置至少执行根据权利要求 11 至 20 中 任一项所述的方法。 33. 一种装置, 包括用于执行根据权利要求 11 至 20 中任一项所述的方法的装置。 34. 。

16、根据权利要求 33 所述的装置, 其中所述装置是移动电话, 所述移动电话还包括 : 用户接口电路和用户接口软件, 其被配置为通过显示器的使用来有助于所述移动电话 权 利 要 求 书 CN 103620592 A 4 4/4 页 5 的至少一些功能的用户控制, 并被配置为响应于用户输入 ; 以及 显示器和显示电路, 其被配置为显示所述移动电话的用户接口的至少一部分, 所述显 示器和显示电路还被配置为有助于所述移动电话的至少一些功能的用户控制。 35. 一种计算机程序产品, 包括一个或多个指令的一个或多个序列, 当所述一个或多个 指令被一个或多个处理器执行时, 使得一种装置至少执行根据权利要求 1。

17、1 至 20 中任一项 所述的方法中的步骤。 36. 一种方法, 包括有助于访问至少一个接口, 所述至少一个接口被配置为允许访问至 少一种服务, 所述至少一种服务被配置为执行根据权利要求11至20中任一项所述的方法。 37. 一种方法, 包括有助于 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一个信号的处理和 / 或处理 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一个信号, 所述 (1) 数据和 / 或 (2) 信息 和 / 或 (3) 至少一个信号至少部分地基于根据权利要求 11 至 20 中的任一项所述的方法。 38. 一种方法, 包括有助于创建和 / 或。

18、有助于修改 (1) 至少一个设备用户接口元件和 / 或 (2) 至少一个设备用户接口功能, 所述 (1) 至少一个设备用户接口元件和 / 或 (2) 至少一 个设备用户接口功能至少部分地基于根据权利要求 11 至 20 中的任一项所述的方法。 39. 一种方法, 包括 : 提供一个或多个排列的项目, 所述排列的项目包括一个或多个特征 ; 如果所述一个或多个项目具有相同的或相似的特征, 则确定在所述一个或多个所述排 列的项目上的至少一个惩罚 ; 以及 基于所述至少一个惩罚提供一个或多个所述排列的项目, 所述排列的项目包括一个或 多个特征。 40.一种包括用于执行根据权利要求11至20和39中的任。

19、一项所述的方法的装置的设 备。 41. 一种计算机程序产品, 包括一个或多个指令的一个或多个序列, 当所述一个或多个 指令被一个或多个处理器执行时, 使得一种装置用以至少执行根据权利要求 11 至 20 和 39 中的任一项所述的方法中的步骤。 42. 一种计算机可读存储介质, 其携载一个或多个指令的一个或多个序列, 当所述一个 或多个指令被一个或多个处理器执行时, 使得一种装置用以至少执行根据权利要求 11 至 20 和 39 中的任一项所述的方法。 权 利 要 求 书 CN 103620592 A 5 1/19 页 6 用于推荐结果的灵活多样化的方法和装置 背景技术 0001 服务提供商和。

20、设备制造商 (例如, 无线的、 蜂窝的等) 不断地受到挑战, 以便通过例 如提供强制的网络服务而向消费者传送价值和方便。 一个发展区域是使用推荐系统来向用 户提供关于内容、 项目等的建议或推荐, 其在服务和 / 或相关应用内可用 (例如, 关于人、 地 方、 或感兴趣的事情的推荐, 感兴趣的事情诸如同伴、 餐厅、 商店、 假期、 电影、 视频点播、 图 书、 歌曲、 软件、 文章、 新闻、 图像等) 。例如, 典型的推荐系统可以基于用户会对项目感兴趣 的预测而向该用户建议该项目即使用户以前从未考虑该项目通过基于例如协同 过滤来将用户偏好与一个或多个参考特征进行比较。然而, 传统的推荐系统经常生。

21、成同质 的结果 (例如, 推荐项目倾向于是非常相似的) , 因而限制了信息采集, 其导致了可能更糟糕 的用户体验。因此, 服务提供商和设备制造商面临着使推荐能横跨各种用户偏好的重要技 术挑战。 发明内容 0002 因此, 需要使推荐结果多样化。 0003 根据一个实施例, 一种方法包括下面的步骤 : 确定与一个或多个项目相关联的一 个或多个推荐分数, 其中, 所述一个或多个推荐分数用于确定所述一个或多个项目的排序 次序。该方法还包括确定与所述一个或多个项目相关联的相似性信息。该方法还包括处理 所述相似性信息和 / 或有助于所述相似性信息的处理, 以至少部分地引起对所述一个或多 个推荐分数、 所。

22、述排序次序、 或其组合的调整。 0004 根据另一实施例, 一种装置包括 : 至少一个处理器 ; 以及至少一个存储器, 其包含 用于一个或多个程序的计算机程序代码, 所述至少一个存储器和所述计算机程序代码被配 置为与所述至少一个处理器一起使得所述装置至少部分地用以确定与一个或多个项目相 关联的一个或多个推荐分数, 其中, 所述一个或多个推荐分数用于确定所述一个或多个项 目的排序次序。该装置还使得确定与所述一个或多个项目相关联的相似性信息。该装置还 使得处理所述相似性信息和 / 或有助于所述相似性信息的处理, 以至少部分地引起对所述 一个或多个推荐分数、 所述排序次序、 或其组合的调整。 000。

23、5 根据另一实施例, 一种计算机可读存储介质携载一个或多个指令的一个或多个序 列, 当一个或多个指令被一个或多个处理器执行时, 其使得一种装置至少部分地确定与一 个或多个项目相关联的一个或多个推荐分数, 其中, 所述一个或多个推荐分数用于确定所 述一个或多个项目的排序次序。 该装置还使得确定与所述一个或多个项目相关联的相似性 信息。该装置还使得处理所述相似性信息和 / 或有助于所述相似性信息的处理, 以至少部 分地引起对所述一个或多个推荐分数、 所述排序次序、 或其组合的调整。 0006 根据另一实施例, 一种装置包括用于确定与一个或多个项目相关联的一个或多个 推荐分数的装置, 其中, 所述一。

24、个或多个推荐分数用于确定所述一个或多个项目的排序次 序。该装置还包括用于确定与所述一个或多个项目相关联的相似性信息的装置。该装置还 包括处理所述相似性信息和 / 或有助于所述相似性信息的处理, 以至少部分地引起对所述 说 明 书 CN 103620592 A 6 2/19 页 7 一个或多个推荐分数、 所述排序次序、 或其组合的调整的装置。 0007 此外, 对于本发明的各种示例实施例, 下面的是适用的 : 一种方法, 其包括有助于 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一个信号的处理和 / 或处理 (1) 数据和 / 或 (2) 信 息和 / 或 (3) 至少一个信号,。

25、 所述 (1) 数据和 / 或 (2) 信息和 / 或 (3) 至少一个信号至少部 分地基于 (包括至少部分地从其中得到) 在本申请中被公开的、 与本发明的任何实施例相关 的方法 (或过程) 的任何一个或任何组合。 0008 对于本发明的各种示例实施例, 以下也是适用的 : 一种方法, 其包括有助于访问至 少一个接口, 该接口被配置为允许访问至少一种服务, 所述至少一种服务被配置为执行在 本申请中被公开的网络或服务提供商方法 (或过程) 的任何一个或任何组合。 0009 对于本发明的各种示例实施例, 以下也是适用的 : 一种方法, 其包括有助于创建和 / 或有助于修改 (1) 至少一个装置用户。

26、接口元件和 / 或 (2) 至少一个装置用户接口功能, 所 述 (1) 至少一个装置用户接口元件和 / 或 (2) 至少一个装置用户接口功能至少部分地基于 数据和/或信息, 所述数据和/或信息由在本申请中公开的、 与本发明的任何实施例相关的 方法或过程的一种或任何组合中得到。 0010 对于本发明的各种示例实施例, 以下也是适用的 : 一种方法, 其包括创建和 / 或修 改 (1) 至少一个装置用户接口元件和 / 或 (2) 至少一个装置用户接口功能, 所述 (1) 至少一 个装置用户接口元件和 / 或 (2) 至少一个装置用户接口功能至少部分地基于数据和 / 或信 息和/或至少一种信号, 所。

27、述数据和/或信息由在本申请中公开的、 与本发明的任何实施例 相关的方法 (或过程) 的一种或任何组合中得到 ; 所述至少一种信号由在本申请中公开的、 与本发明的任何实施例相关的方法 (或过程) 的一种或任何组合中得到。 0011 在各种示例性实施例中, 方法 (或过程) 或者可在服务提供商侧上完成, 或者可在 移动装置侧上完成, 或者可在服务提供商和移动装置之间以任何共享方式在双侧执行的动 作完成。 0012 对于各种示例实施例, 以下是适用的 : 一种装置, 包括用于执行在原始提交的权利 要求 1-20 和 36-38 中的任一项的方法的装置。 0013 另外, 简单地通过说明包括可以设想的。

28、用于执行本发明最佳实施例的一些特定实 施例和实施方案, 从下面的详细说明很容易地是阐明本发明的其它方面、 特征和优点。 本发 明还能有其它的和不同的实施例, 并且, 在各种明显方面能够修改本发明的若干细节而完 全无需脱离本发明的精神和范围。 因此, 附图和说明书被认为本质上是说明性的, 并不是限 制性的。 附图说明 0014 通过举例方式, 而不是通过限制方式, 来图示本发明的实施例, 在附图的图中 : 0015 图 1 是根据一个实施例的能够使推荐结果多样化的系统的图, 0016 图 2 是根据一个实施例的推荐引擎的组件的图 ; 0017 图 3 是根据一个实施例的推荐框架的示例架构 ; 0。

29、018 图 4 是根据一个实施例的用于使推荐结果多样化的过程的流程图 ; 0019 图 5 是根据一个实施例的用于调整推荐分数的过程的流程图 ; 0020 图 6 是根据一个实施例的使推荐列表多样化的示例使用情况的图 ; 说 明 书 CN 103620592 A 7 3/19 页 8 0021 图 7 是根据一个实施例的多样化过程的示例实施方案的图 ; 0022 图 8 是根据各种实施例的用于图 1-5 的过程的用户接口的图 ; 0023 图 9 是能够用于实现本发明实施例的硬件的图 ; 0024 图 10 是能够用于实现本发明实施例的芯片组的图 ; 以及 0025 图 11 是能够可以用于实。

30、现本发明的实施例的移动终端 (例如, 手持设备) 的图。 具体实施方式 0026 公开了用于使推荐结果多样化的方法、 装置和计算机程序的示例。在下面的描述 中, 为了说明的目的, 阐明了众多具体细节, 以便提供对本发明实施例的全面理解。 然而, 对 所属技术领域的技术人员来说, 明显的是, 可实践本发明的实施例不使用这些具体细节, 或 者使用等同的布置。 在其它示例中, 以框图形式示出了众所周知的结构和设备, 以便避免不 必要地使本发明的实施例模糊。 0027 图 1 是根据一个实施例的能够提供用于生成推荐模型的框架的系统的示意图。现 代推荐系统向用户提供了相对于传统方法的很多优势, 该优势在。

31、于 : 推荐系统不仅规避了 搜索感兴趣的项目的时间和精力, 而且也可以帮助用户发现用户自己可能还没发觉的项 目。然而, 不管使用什么算法 (例如, 协同过滤 (CF) 或基于内容的算法) , 推荐系统都倾向于 变得过于专门化或者倾向于生成彼此非常相似的结果。举例来说, 协同过滤 (CF) 是大多数 推荐系统的核心技术。概括地, CF 是用于使用涉及在多主体 (多 agent) 、 视点、 数据源等之 中进行协同的技术的信息或模式的过程。例如, CF 分析用户之间的关系和在项目 (例如, 产 品、 服务、 特惠、 交易等) 中的互相依赖, 以识别和 / 或预测在新用户和项目之间的关联 (例 如,。

32、 偏好信息) 。 0028 因为用户通常有更广泛的兴趣, 用户有没被满足的其它兴趣, 那些同质的结果可 能使得用户开始浏览额外的内容, 为用户带来不便。此外, 这样的推荐系统可能减少了选 择, 以至于用户不得不浏览替代的相关项目。 因此, 推荐系统应当提供在用户的范围广泛的 需求和相关性之间的平衡。例如, 关于购物服务, 用户正常地具有范围广泛的购物兴趣, 例 如衣服、 消费电子设备、 食物等。 在实践中, 经常有来自于不同商家的许多相似的交易, 其可 在任何时间被推荐。 传统的推荐系统通常使用在排序列表中的紧挨着彼此的非常相似的内 容来对推荐结果进行排列或排序。从而, 排序列表能够具有相同或。

33、相似的项目彼此紧挨着 的长列表。这, 反过来, 可能给想要浏览更多种类的项目的消费者带来了不便或厌倦。 0029 此外, 使推荐结果多样化的传统方式通常取决于 : 修改推荐算法, 然后基于修改后 算法对基础的数据进行重新处理。此过程经常是 (例如, 在计算资源、 存储、 带宽等方面) 资 源密集的, 并且可能花费大量时间来完成。 当推荐具有短或快的存在时间、 可能需要至少接 近实时处理的项目时, 时间和资源负荷可能是特别是有问题的。 举例来说, 交易 (例如, 优惠 券、 折扣、 特惠、 团购特惠等) 是一类存在时间可能短的项目。大多数交易在相对短期时间 (例如, 通常一天到几天) 有效。 0。

34、030 为了解决这一问题, 通过基于基础项目相似性而调整推荐或等级分数, 图 1 的系 统 100 引入了使推荐结果多样化的能力。在一个实施例中, 系统 100 对所推荐的项目进行 分类, 至少部分地基于一个或多个特征, 诸如种类、 关键词、 标签、 项目类型、 信息源、 项目位 置之类。然后, 系统 100 可处理这些特征, 以确定与一个或多个项目相关联的相似性信息。 说 明 书 CN 103620592 A 8 4/19 页 9 在一个实施例中, 相似性信息基于一个或多个项目是否具有相同的或相似的特征。将一个 或多个项目的相似性信息与推荐分数一起使用, 系统 100 能够调整 (例如, 增。

35、大或减小) 分 数, 以针对邻近的同质的或相似的项目放大排名或排序次序差异。 更具体地, 在某些实施例 中, 系统 100 不必执行用以确定相似性的计算。替代性地, 系统 100 可比较出一个或多个项 目是否具有共同的特征, 然后相应地对分数、 排名、 排序次序等应用调整。 这样, 对于所推荐 的项目, 系统 100 能够为其提供更多的多样性, 或可破坏其 “粘性” (例如, 推荐相似项目的 群组的倾向) 。因为比较和调整方法的效率, 在对原始的排序次序或排名列表进行的一通道 扫描过程中, 系统 100 通常能够对项目执行重新排序或多样化。在一些实施例中, 系统 100 能够对于在排名列表中的。

36、项目的一个或多个子集执行多样化, 以进一步增强系统性能和效 率。 0031 在一个实施例中, 对推荐分数的调整能够作为在生成推荐分数步骤之后的后处理 步骤而执行。 这样, 因为多样化与推荐过程的算法部分分离, 所以多样化或调整过程不取决 于任何特别的推荐策略或技术。因此, 在此所描述的方法的各种实施例与任何推荐技术相 兼容, 任何推荐技术包括基于协同过滤 (基于 CF) 的推荐和基于内容的推荐。此外, 从资源 负荷的立场来看, 调整过程是相对无足轻重的 (例如, 需要相对少量的计算资源) , 并且能够 快速地或基本实时地执行调整过程。 0032 在一个实施例中, 系统 100 能够指定一个或多。

37、个多样化参数控制, 以控制所推荐 的项目的同质性将会把它们各自的推荐和 / 或排序次序在排名列表上调整到什么程度。换 句话说, 可根据一个或多个参数来设置多样化的粒度。 0033 在一个实施例中, 系统 100 能够提供推荐引擎, 其用于为多样化过程生成推荐分 数。 在一些实施例中, 推荐引擎用适用多个应用或服务, 例如, 通过使用一个模式 (或多个模 式) (例如, 概要、 模板、 规则、 定义等) , 所述模式用于在应用中采集和共享信息, 以支持推荐 模型 (例如, 基于 CF 的模型) 的生成。在一个实施例中, 为了指定用于内容等级信息的格式 的目的, 系统 100 能够使用所述模式。如。

38、在此所用的, 等级信息涉及指示了用户怎样在特定 应用 (例如, 表示用户交互信息) 内评定项目的数据。在一个实施例中, 等级信息可以是明文 规定的 (例如, 通过指定音轨是几星、 指定电影是几个赞等) , 或者是隐含确定的 (例如, 使用 或访问应用项目的时间基线长度、 使用的频率等) 。然后, 基于前面讨论的模式, 可以对从各 种应用所采集的等级信息进行汇集、 关联等。这样, 系统 100 可以基于用于在针对参与的应 用中的任何应用生成推荐模型的模式从一个或多个应用采集内容等级信息, 因而当与仅仅 从一个应用采集信息以支持独立的推荐模型相比, 使可用数据 (例如, 等级信息) 的池最大 化。。

39、 基于在此所描述的方法的各种实施例, 可用数据的池可被处理或映射到特征空间, 以支 持基于特征的 CF。 0034 在某些实施例中, 系统 100 使得应用开发者能扩展所述模式, 以包括新型的等级 信息。 例如, 如果该模式被定义为使用结构化语言 (例如, 可扩展标记语言 (XML) ) , 那么应用 开发者可能通过增加新的命名空间来扩展所述模式, 以表示新型等级信息。 因此, 如果一个 应用不能解析或不理解新的命名空间, 可能忽视命名空间。 另外或者替代性地, 如果没有模 式可用于联系从多个应用采集到的等级信息, 那么系统 100 能够应用例如语义分析来推断 对在一组等级信息到另一组等级信息。

40、之间的关系。例如, 用于音乐应用的等级信息可包括 可以语义地连接到用于电子书应用的等级或项。这样, 如果系统 100 从这两种类型的应用 说 明 书 CN 103620592 A 9 5/19 页 10 采集等级信息, 一组共同的等级信息仍然可以被语义地链接用以支持针对各自应用或新应 用的推荐模型的生成, 该应用诸如在系统 100 共同框架下根据所采集的数据推荐电子书之 类。 0035 如同先前讨论一样, 通过推荐引擎和 / 或参加的应用中的任何应用, 可以将所采 集的等级信息存储 (例如) 在一个或多个配置文件 (例如, 与用户和/或应用项目相关联的配 置文件) 中供以后用。 (诸如协同的推。

41、荐系统之类的) 推荐系统需要推荐模型以便提供推荐。 例如, 系统 100 可以接收从特定应用生成推荐模型的请求, 然后可以使用来自于一个或多 个配置文件的等级信息来生成所请求的推荐模型。在另一个实施例中, 基于数据与请求的 应用的相关性, 系统 100 可以从采集自多个应用的等级信息中提取该数据。然后, 所提取的 数据用于为请求的应用生成内容推荐模型。因此, 应用可以请求来自系统 100 的共同框架 或推荐引擎的推荐模型, 而不是为每个单独的应用开发单独的推荐框架或引擎。 这样, 系统 100 有利地使得推荐引擎的能够共享以减少计算、 内存、 带宽、 存储器、 和与开发专用推荐模 型相关联的其。

42、它资源负荷。此外, 系统 100 可以为请求的应用提供补充数据, 如果该应用是 独立地采集该数据, 那么针对该应用提供补充数据将是不可能的。 0036 除了通过使用用于为多个应用生成推荐模型的共同框架来改进效率之外, 系统 100 的共同框架使得能够从一个或多个应用采集信息以生成用于另一应用的推荐模型。例 如, 在内容等级信息中的数据的一些子集可以与特定应用有关, 且与其它应用无关 ; 而同时 其它子集与其它应用有关, 但与特定应用无关。 因而, 内容等级信息可以支持针对多个应用 的多个内容推荐模型的生成。 此外, 在模型可适用于多个应用的环境中, 可以重复使用相同 的内容推荐模型。 可以将用。

43、于一个应用的先前所生成的内容推荐模型提供给其它应用的情 况是, 例如, 在该应用与将指示相似的项目和用户的其它应用之间 (例如, 在爵士乐博客和 爵士乐存储程序之间) 存在着一些关系。 0037 更具体地, 系统 100 可以在推荐引擎处接收用于针对一个应用生成内容推荐模型 的请求, 其中, 所述推荐引擎可适用于多个应用。 该请求可以从将针对其生成内容推荐模型 的应用接收, 或者该请求可以通过将针对其生成内容推荐模型的应用发送。 此外, 该请求可 以由该应用的一个或多个用户 (例如, 管理员、 开发者、 常规用户等) 做出, 例如用以改进由 该应用生成的推荐。然后, 系统 100 可以从与该应。

44、用、 一个或多个其它应用、 或其组合相关 联的一个或多个配置文件检索内容等级信息。基于内容等级信息, 系统 100 可以进一步生 成内容推荐模型。 0038 如图1所示, 系统100包括用户设备 (UE) 101或多个UE101a-101n (或多个UE101) , 用户设备具有经由通信网络 105 到多样化管理器 102 和推荐引擎 103 的连通性。UE101 可 能包括或具有到一个应用 107(或多个应用 107) 的接入, 应用 107 可包括可以使用为用户 提供推荐的系统的客户端程序、 服务等。在一个实施例中, 使用由推荐引擎 103 生成的推 荐, 多样化管理器 102 能够执行在。

45、此描述的推荐调整过程的各种实施例。 0039 像用户在其各自UE101上使用应用107一样, 推荐引擎103可以从应用107采集内 容等级信息 (例如, 指示用户怎样为项目评定等级的数据) 。举例来说, 内容等级信息采集可 能包括请用户对项目在从一到十的范围内评定等级, 请用户创建用户喜欢项目的列表, 观 察用户所查看的项目, 获得该用户所购买项目的列表, 分析用户对特定项目的查看时间等。 同样地, 推荐引擎 103 也可以向应用 107 提供基于内容等级信息的内容推荐模型, 应用 107 说 明 书 CN 103620592 A 10 6/19 页 11 可以使用该内容等级信息以便对其用户生。

46、成智能推荐。因此, 为了访问或存储内容等级信 息, 推荐引擎 103 可包括配置文件数据库 (profile database) 109, 或连接到该配置文件数 据库 109。在配置文件数据库 109 内, 内容等级信息可以被存储, 或者与例如一个或多个各 自的用户配置文件相关联。然而, 值得注意的是, 配置文件数据库 109 也可包括诸如应用配 置文件、 项目配置文件等的其它配置文件形式。 0040 如所示, UE101、 多样化管理器 102、 以及推荐引擎 103 也具有到服务平台 111 的连 通性, 所述服务平台 111 是一个或多个相应的服务 / 应用 113a-113m(也统称为。

47、服务 / 应 用 113) 和内容提供商 115a-115k(也统称为内容提供商 115) 的主机。在一个实施例中, 服 务 / 应用 113a-113m 包括与在 UE101 内操作的应用 107a-107n 相对应的服务器侧组件。在 一个实施例中, 服务平台 111、 服务 / 应用 113a-113m、 应用 107a-107n、 或其组合可以访问、 提供、 传送等与内容提供商 115a-115k 相关联的一个或多个项目。换句话说, 通过服务平台 111 和 / 或服务 / 应用 113a-113n, 从内容提供商 115a-l15k 向应用 107a-107n 或 UE101 传 送内。

48、容和 / 或项目。在一个实施例中, 服务 / 应用 113a-113m 可以涉及推荐短存在时间的 项目 (例如, 交易、 优惠券、 折扣、 特惠等) 。 0041 在一些情况下, 服务/应用113a-113m和/或应用107a-107n的开发者可以要求推 荐引擎 103 关于从内容提供商 115a-l15k 获得的内容或项目而生成一个或多个推荐模型。 为了生成推荐模型和 / 或填充带有足够数据的推荐模型以便应用提供用户推荐, 开发者可 以将代表应用 107 和 / 或服务 / 应用 113 的请求例如发送给推荐引擎 103。然后, 在接收到 关于推荐模型的请求后, 推荐引擎 103 可以从与应。

49、用 107、 服务 / 应用 113、 一个或多个其它 应用、 或其组合相关联的一个或多个配置文件检索内容等级信息。 0042 基于内容等级信息, 推荐引擎 103 可以进一步生成内容推荐模型。因为内容等级 信息可以起源于与应用 107、 服务 / 应用 113 和 / 或一个或多个其它应用相关联的一个或 多个配置文件, 所以内容推荐模型的生成不仅限于与针对其作出该生成请求的应用 107 相 关联的配置文件。因而, 即使应用 107 具有极少用户或没有用户, 在该生成请求之前, 推荐 引擎 103 也可能仍然能够生成具有关于对用户建议感兴趣的项目生成准确预测的足够数 据的内容推荐模型。然后, 为了进一步增强用户体验, 多样化管理器 102 可处理推荐结果, 以确保用户被呈现包括不同的类型或种类的各种项目的推荐列表。此外, 因为多样化管理 器 102 对已经由推荐引擎 103 生成的推荐结果起作用, 所以多样化过程可用较少资源被实 施和 / 或实现更好的性能适应用于终端用户的推荐。 0043 举例来说, 系统 100 的通信网络 105 包括诸如数据网 (未示出) 、 无线网 (未示出) 、 电话网 (未示。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1