首页 / 自适应推荐系统

自适应推荐系统无效专利 发明

技术领域

[0001] 本发明涉及内容推荐优化。

相关背景技术

[0002] 内容推荐提供了用于向潜在顾客介绍新内容的有效机制。通常,基于顾客的购买历史来选择推荐内容。呈现推荐内容的格式和方式往往对所有顾客都是类似的。

具体实施方式

[0010] 目前的推荐系统通常基于用户先前已选择的内容的特征(例如,性别、作者、导演、演员等)和/或类似的用户先前作出的选择,尝试使用各种过滤器来预测用户的品位,诸如基于协作过滤的推荐的情形。然而,通常不能将用户与推荐项的列表交互时的行为与推荐项的实际内容分开考虑。如下面所描述的,与推荐项的实际内容相分离的、用户先前与推荐项的特定呈现进行交互的方式可能构成如何向用户呈现之后的用户专用内容推荐的基础。换言之,可以基于用户在过去与推荐项的各种呈现进行交互的方式,来定制向用户呈现候选推荐项的集合。
[0011] 转向图1,示出了示例推荐系统100。推荐系统100可构建用户专用推荐列表以向用户呈现。推荐系统包括推荐器102,该推荐器102可使用各种输入和过滤器来确定要向用户推荐的候选内容项。另外,推荐系统100包括一个或多个视图适配器104(例如,视图适配器1、视图适配器2、…视图适配器N)以确定向用户呈现内容的方式。参考图3-5和图6A-6C更详细地示出和描述了简化的示例推荐列表。
[0012] 可从内容目录106中选择推荐项。内容目录106可以是供用户购买或查看的非用户专用的内容项数据库。可用包括内容类型、内容类别、用户对各项的评级等各种特征来对内容目录106内包含的各项进行标记。虽然图1中示出的实施例描绘了单个内容目录106,但可以使用多个内容目录。例如,在一些实施例中,不同的内容目录可包含不同类型的内容。
[0013] 内容目录106可跟踪所有用户对内容项的购买和评级。内容目录106可使用所跟踪的信息来根据流行度对内容项排序。因此,内容目录106提供由包括流行度等各种特征来标记的内容项列表。如下面将更为详细地描述的,推荐器102在汇编用户专用的推荐列表时可使用内容列表以及特征标记。
[0014] 推荐器102还可从社交图数据库108接收用户专用输入。社交图数据库108可包括用户朋友的购买和评级历史。这些历史可由推荐器102在汇编用户专用的推荐列表时使用。另外,推荐器102可接收辅助信息110(诸如将在其上查看推荐列表的设备类型),并在编译推荐列表时使用该信息。
[0015] 用户历史112也可向推荐器102提供用户专用输入。用户历史112可以跟踪并编译关于用户对内容项的参与的各种细节。例如,用户历史112可跟踪用户活动114。用户活动114可包括用户对内容的购买、用户对内容的评级、用户对内容的查看等。另外,用户历史112可包括用户偏好116。用户偏好116可详述用户所偏好的内容专用因素,诸如所偏好的类别。用户偏好116也可详述用户所偏好的内容无关因素。这些内容无关因素可包括如何向用户呈现推荐列表的各种属性,诸如列表的长度、列表内各项的字体、与各项一同显示的文本的量等。
[0016] 可通过用户对向其提供的多个推荐列表的参与来自动地确定用户偏好116。每次推荐器102和视图适配器104构建推荐列表时,向用户呈现该推荐列表,并且跟踪用户与该列表的交互。基于该跟踪,可在用户不显式地声明任何特定偏好的情况下自动地确定用户列表偏好。换言之,从用户的动作中推断用户偏好。下面将参考图2来描述关于确定用户偏好的附加细节。
[0017] 推荐器102可从内容目录106、社交图数据库108、辅助信息110、和用户历史112中取得输入,以确定候选推荐项的列表。
[0018] 候选推荐项基于来自用户历史112的输入可包括“为你推荐的”子组。为了从用户历史112中确定候选推荐项,推荐器102可使用特征过滤器,其中推荐用与用户先前已消费的项的特征相类似的特征标记的候选项。在另一个实施例中,推荐可由协作过滤器来确定,其中推荐由与用户相类似(例如,具有类似的购买和/或评级历史)的其他用户所消费的候选项。可以使用任何合适的过滤器或算法来确定推荐项。
[0019] 另外,推荐项可包括基于来自社交图数据库108的输入的“社交”子组,或基于内容目录106中的流行度跟踪的“流行”子组。例如,社交子组中可包括用户的所有朋友最高评级或消费的项。在其他实施例中,由用户所偏好的特定朋友最高评级或消费的项可以是社交子组的一部分。
[0020] 推荐器102构建候选推荐项118列表。该候选推荐项118列表可包括来自上面描述或其他子组中的一个或多个的项。
[0021] 推荐器102向一个或多个视图适配器104提供候选推荐项118。如下面参考图2更详细地描述的,视图适配器104被配置成基于来自用户历史112的反馈,对候选推荐项118或其子集的内容和布局进行格式化。诸如视图适配器1、视图适配器2和视图适配器N等不同的视图适配器可与不同的用户一同使用,因为它们各自可应用不同的用户专用逻辑,以便确定不同推荐列表的格式。不同的视图适配器也可用于在不同的设备上查看推荐列表的同一用户,使得可在特定设备上以所期望的方式向特定用户呈现推荐项。一旦视图适配器104已将推荐项分布到所期望的经格式化的列表中,则向用户呈现推荐列表。
[0022] 推荐系统100还包括向推荐器102提供实时的反馈以基于用户活动114、用户偏好116、用户历史116以及任何附加的辅助信息110来更新推荐列表的实时事件处理器120。
[0023] 图2示出用于优化推荐列表的方法200。方法200可由推荐系统100来执行。方法200包括,在202构建推荐列表。推荐列表可包括为用户推荐的候选项。可基于任何合适的机制来选择推荐列表上的候选项。作为非限制性的示例,例如,如上面参考图1所解释的,可通过来自内容目录106、社交图数据库108、和/或用户历史112的输入来确定推荐项。
[0024] 在204,每个候选项可被分配推荐置信度。推荐置信度可以是对用户查看或购买一项的可能性的指示。这些推荐置信度可以基于用户历史112、社交图数据库108、内容目录106、和/或任何其他合适的因素。计算系统可使用任何合适的过滤器或算法来确定推荐置信度。
[0025] 在206,基于推荐置信度和/或用户列表偏好在推荐列表内分布候选项。当首次构建推荐列表时,可单独基于推荐置信度来呈现候选项。在一些实施例中,存在推荐列表的默认布局,并且可根据推荐置信度将各项置于该布局中。例如,默认布局可包括具有一列的十项列表,并候选项按降序次序分布,使得十个最高推荐置信度的项被呈现,并且较高推荐置信度的项位于列表顶部。在其他实施例中,当首次构建推荐列表时,候选项可随机地在列表内分布。
[0026] 然而,如果先前已经向用户呈现过一个或多个推荐列表,则候选项可基于由用户与先前列表的交互所确定的用户列表偏好来在列表内分布。下面将更详细地讨论基于用户列表偏好来分发候选项。
[0027] 方法200前进至208以向用户呈现推荐列表。随后,在210,方法200包括确定用户列表偏好。一旦已向用户呈现了列表,则推荐系统被配置成跟踪用户对推荐列表的全部参与。
[0028] 在212,跟踪推荐列表的用户列表交互历史。该用户列表交互历史详述用户与列表的全部交互。用户与列表的交互可包括用户所作出的对列表中各项的购买。此外,用户交互可包括用户采取的除购买以外的动作。例如,可在计算系统的显示设备上呈现列表,并且该计算系统可包括用户输入设备,诸如鼠标。用户交互历史可详述用户用鼠标点击列表上的项的全部实例,或用户使用鼠标悬停在该项上方并在其周围导航的全部实例。可在列表历史中详述用户采取的指示与项的相关交互的任何动作。
[0029] 在214,可基于用户与推荐列表的交互来详述推荐列表的列表属性。重要的是,详述了用户交互的各个方面,除了用户正与之交互的实际项。即,跟踪用户与之交互的项的内容无关属性。例如,列表属性可包括定义推荐列表上推荐项的布局、格式等的内容无关属性。示例列表属性包括用户界面上项的大小、字体和颜色,其中呈现项的列表上的列和子标题的数量,项是否包括图片和/或动画,在用户界面项上与项一同显示的文本信息的量,其中呈现项的列表的长度,其中呈现项的列表内该项的相对位置,项是来自“为你推荐”子组、来自“社交”子组、还是来自“流行”子组等。
[0030] 在216,基于列表交互历史来确定属性的用户偏好。例如,如果用户选择位于列表底部的项,则可以指示选择位于列表底部的项的用户偏好。同样,要注意的是,用户与列表交互的方式可被认为是与列表内容无关的。以此方式,可以确定如何为特定设备上的特定用户具体地定制推荐项的呈现。
[0031] 基于历史来确定属性的用户偏好可通过应用任何合适的算法或过滤器(此处被称为“偏好判定逻辑”)来执行。在一个实施例中,偏好判定逻辑可包括用户与被赋予不同权重的列表的每种类型的交互,使得对被购买过的项的属性赋予比例如被悬停在上方的项的属性更高的偏好。在另一个实施例中,可对每种类型的用户交互赋予相同的权重。在其他实施例中,可对不同的列表属性赋予不同的权重。另外,可将用户在其上查看列表的设备类型计入偏好判定逻辑。例如,如果用户正在移动设备上查看推荐列表,则可以对可能难以在该设备上查看的属性(诸如,图片和动画)赋予较低的权重。
[0032] 在一些实施例中,偏好判定逻辑可以是用户专用的,其中推荐系统对不同的用户应用不同的逻辑,并且可基于接下来的列表交互历史得知对于每个用户来说,哪个逻辑是最有效的。偏好判定逻辑可用于基于特定用户的列表交互历史,自动地将一个或多个列表偏好与该特定用户相关。
[0033] 方法200是迭代的,并且可在202构建接下来的推荐列表时考虑在210确定的用户偏好。如上面所解释的,接下来的列表可包括在204已被赋予推荐置信度的候选推荐项。这些候选推荐项可基于推荐置信度、且还可基于206处的用户列表偏好来在列表内分布。
换言之,根据与特定用户相关的一个或多个列表偏好,具有较高推荐置信度的每个候选项优先于具有较低推荐置信度的每个候选项。具有比另一个候选项相对更高推荐置信度的候选项可被赋予交互历史指示用户先前已经表现针对其的相对较高交互的列表属性。例如,如果在216确定用户具有选择列表底部的项的偏好,则具有最高推荐置信度的推荐项可被置于推荐列表的底部。以此方式,在208,可向用户呈现不仅为用户专用的内容定制、而且为推荐列表本身的用户专用属性定制的推荐列表。
[0034] 基于向用户呈现的新的推荐列表,可在210确定并使用新的或更新后的用户列表偏好,以构建接下来的推荐列表。可以迭代地重复对列表的构建、向用户的呈现以及确定列表偏好,以持续地优化向用户呈现的推荐列表。
[0035] 图3-5示出了根据本发明的各个实施例的高度简化的示例推荐列表。图3示出包含被安排到两列(列302和列304)中的六项(A-F)的推荐列表300。每项具有与其相关联的在右下角作为百分比来指示的推荐置信度,其中100%指示最高置信度,且0%指示最低置信度。推荐置信度仅出于示例的目的被显示,并且可对用户不可见。此外,置信度可被表示为任何合适的方式,诸如从0到10、从0到1、或以任何其他合适的方式。可基于推荐置信度来编译推荐列表300,使得在列表顶部显示最高置信度的项。图3示出位于列304底部的项F周围的椭圆306,指示用户正与项F交互(例如,点击、悬停等)。
[0036] 图4示出向用户呈现的另一个推荐列表400。推荐列表400包含被安排到两列402和404中的六项G-L。与图3相类似,可根据其推荐置信度来放置推荐项。椭圆406指示用户正与也位于列404底部的项L交互。
[0037] 图5示出基于推荐置信度以及根据用户选择图3、4所示的推荐列表300和400得知的用户偏好,构建的另一个推荐列表500。推荐列表500包含被安排到两列502和504中的六项。基于列表300和400,已经指示出对右侧栏底部位置的用户偏好。该偏好与项F和L的内容无关,并且相反,基于用户界面内的那些项的位置。因此,最高值信度的项(项A)已被置于用户先前已表现出交互倾向的位置。另外,其他高置信度的项(诸如项B和H)已被置于附近。因此,已经基于用户与列表300和400的交互来安排推荐列表500。
[0038] 图6A-6C示出包括三个不同推荐区域602、604和606的简化的用户界面600。每个区域包括不同的推荐子组。区域602包括“为你推荐”子组,区域604包括社交子组“朋友喜欢的”,并且区域606包括“最流行”子组。由图6A-6C可见,每个区域中包括的项的数量可随时间基于用户与列表的交互而改变。例如,在图6A中,“为你推荐”子组包括三项,而在图6B和6C中,基于用户与该子组的已增加的交互,该子组已被扩展为包括四项。同样,在图6A和6B中,“最流行”子组包括三项,但在图6C中扩展为四项。由于“朋友喜欢的”子组具有比其他子组更少的用户交互,因此在图6C中,它缩减为仅包括两项。
[0039] 虽然这些示例示出组中项的数量可随时间基于用户交互而改变,但应当理解可以附加地或替换地作出其他改变。作为另一个示例,如果用户持续地选择由特定朋友推荐的项,则由该朋友推荐的项可被提升到组中更显著的位置。作为另一个示例,如果用户持续地选择位于显示器底部附近的项,则可将高置信度的项定位于显示器底部。
[0040] 应当理解,上面的数量是简化的,并且可向列表和布局应用更复杂的适应。实际上,每次向用户呈现列表时,执行一实验以确定什么促进已增加的交互,并且可基于这种交互对接下来的列表作出改变。依赖于用户所表现的偏好和倾向,可以改变列表和布局的各个方面。可以从一个列表到下一个列表逐渐地作出这种改变,以避免使用户面对可能使人迷惑的突变。
[0041] 在一些实施例中,可将以上所描述的方法和过程捆绑到包括一个或多个计算机的计算系统。具体而言,此处所述的方法和过程可被实现为计算机应用、计算机服务、计算机API、计算机库、和/或其他计算机程序产品。
[0042] 图7示意性示出了可以执行上述方法和过程之中的一个或更多个、或其部分的非限制性计算系统700。例如,图1的推荐器102、视图适配器104、事件处理器120、和/或用户历史112可采取计算系统700的形式。以简化形式示出了计算系统700。应当理解,可使用基本上任何计算机架构而不背离本公开的范围。在不同的实施例中,计算系统700可以采取大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、移动计算设备、移动通信设备、游戏设备等等的形式。
[0043] 计算系统700包括逻辑子系统702和数据保持子系统704。计算系统700可以任选地包括显示子系统706、通信子系统710和/或在图7中未示出的其他组件。计算系统700还可以任选地包括包含诸如下列设备的用户输入子系统708:例如键盘、鼠标、游戏控制器、相机、话筒和/或触摸屏等等。如上所述,输入子系统708可向用户提供与推荐项交互的各种方式。
[0044] 逻辑子系统702可包括被配置为执行一个或多个指令的一个或多个物理设备。例如,逻辑子系统可被配置为执行一个或多个指令,该一个或多个指令是一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其它逻辑构造的部分。可实现这样的指令以执行任务、实现数据类型、变换一个或多个设备的状态、或以其他方式得到所希望的结果。
[0045] 逻辑子系统可包括被配置为执行软件指令的一个或多个处理器。附加地或替代地,逻辑子系统可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机。逻辑子系统的处理器可以是单核或多核,且在其上执行的程序可被配置为并行或分布式处理。逻辑子系统可以任选地包括遍布两个或更多设备的独立组件,所述设备可远程放置和/或被配置为进行协同处理。该逻辑子系统的一个或多个方面可被虚拟化并由以云计算配置进行配置的可远程访问的联网计算设备执行。
[0046] 数据保持子系统704可包括一个或多个物理的、非瞬时的设备,这些设备被配置成保持数据和/或可由该逻辑子系统执行的指令,以实现此处描述的方法和过程。在实现这样的方法和过程时,可以变换数据保持子系统704的状态(例如,以保持不同的数据)。
[0047] 数据保持子系统704可包括可移动介质和/或内置设备。数据保持子系统704尤其可以包括光学存储器设备(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器设备(例如,RAM、EPROM、EEPROM等)和/或磁存储器设备(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)。数据保持子系统704可包括具有以下特性中的一个或多个特性的设备:易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址、以及内容可寻址。在某些实施例中,可以将逻辑子系统702和数据保持子系统704集成到一个或更多个常见设备中,如专用集成电路或片上系统。
[0048] 图7还示出以可移动计算机可读存储介质712形式的数据保持子系统的一方面,可移动计算机可读存储介质可用于存储和/或传输可执行以实现本文描述的方法和过程的数据和/或指令。可移动计算机可读存储介质712尤其是可以采取CD、DVD、HD-DVD、蓝光盘、EEPROM和/或软盘形式。
[0049] 可以明白,数据保持子系统704包括一个或多个物理的、非瞬时的设备。相反,在一些实施例中,本文描述的指令的各方面可以按暂态方式通过不由物理设备在至少有限持续时间期间保持的纯信号(例如电磁信号、光信号等)传播。此外,与本发明有关的数据和/或其他形式的信息可以通过纯信号传播。
[0050] 术语“模块”、“程序”和“引擎”可用于描述被实现为执行一个或多个具体功能的计算系统700的一方面。在某些情况下,可以通过执行由数据保持子系统704所保持的指令的逻辑子系统702来实例化这样的模块、程序或引擎。应当理解,可以从同一应用、服务、代码块、对象、库、例程、API、函数等来实例化不同的模块、程序和/或引擎。同样,可以由不同的应用程序、服务、代码块、对象、例程、API、函数等来实例化同一模块、程序和/或引擎。术语“模块”、“程序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库纪录等。
[0051] 应当理解,如此处所使用的“服务”可以是跨越多个用户会话可执行的、且对一个或更多系统组件、程序、和/或其他服务可用的应用程序。在一些实现中,服务可以响应于来自客户机的请求而在服务器上运行。
[0052] 当被包括时,显示子系统706可用于呈现由数据保持子系统704所保持的数据的可视表示。在此处所描述的方法和过程改变由数据保持子系统保持的数据,并由此变换数据保持子系统的状态时,同样可以变换显示子系统706的状态以在视觉上表示底层数据的改变。显示子系统706可以包括使用实际上任何类型的技术的一个或多个显示设备。可将此类显示设备与逻辑子系统702和/或数据保存子系统704一起组合在共享封装中,或此类显示设备可以是外围显示设备。
[0053] 当包括通信子系统710时,通信子系统710可以被配置成将计算系统700与一个或多个其他计算设备可通信地耦合。通信子系统710可包括与一个或多个不同的通信协议相兼容的有线和/或无线通信设备。作为非限制性示例,该通信子系统可以被配置成经由无线电话网、无线局域网、有线局域网、无线广域网、有线广域网等进行通信。在一些实施例中,该通信子系统可允许计算系统700经由网络(比如因特网)向其他设备发送消息和/或从其他设备接收消息。
[0054] 应该理解,此处所述的配置和/或方法在本质上是示例性的,并且这些具体实施例或示例不应被认为是局限性的,因为多个变体是可能的。此处所述的具体例程或方法可表示任何数量的处理策略中的一个或多个。由此,所示出的各个动作可以按所示顺序执行、按其他顺序执行、并行地执行、或者在某些情况下被省略。同样,可以改变上述过程的次序。
[0055] 本公开的主题包括各种过程、系统和配置、此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效物的所有新颖和非显而易见的组合和子组合。

当前第1页 第1页 第2页 第3页
相关技术
适应推荐相关技术
N·奈斯发明人的其他相关专利技术