矩阵因式分解中的特征嵌入的制作方法
【专利说明】矩阵因式分解中的特征嵌入
【背景技术】
[0001] 推荐系统帮助预测用户对产品或服务的兴趣。推荐系统已在包括媒体递送服务的 多种媒体服务中变得极其常见。推荐系统可以使用几种不同的方法来向用户提供推荐。
【发明内容】
[0002] 提供本摘要来以简要形式介绍下面在【具体实施方式】中进一步描述的概念的选集。 本摘要不旨在标识所要求权利的主题的关键特征或必要特征,其也不旨在被单独用作在确 定所要求权利的主题的范围时的辅助。
[0003] 提供本发明的实施例以便通过使用特征向量来增强媒体内容推荐。可以通过两个 单独的独立矩阵一用户和/或项的特征矩阵一来增强用户-项矩阵,从而矩阵因式分解生 成用于告知用户与项之间的关系的潜在空间模型。用户-项矩阵包括这样的条目,所述条 目是信号,所述信号表示来自用户的关于特定项的反馈。在所述特征矩阵中,每个用户或项 关联于多个特征,所述多个特征表示针对该特定用户或项的元数据。所述用户-项矩阵中 的每个用户和项具有先验概率分布(下文中称"先验")。针对用户或项的先验是基于在各自 特征矩阵中该用户的特征的总和或该项的特征的总和。在实施例中,特征的总和可以是加 权和。所述先验表示所述用户或项在所述用户-项矩阵中的概率值。所述基于特征总和的 先验称为主干(stem)。在这点上,每个用户或项可以关联于用户-主干向量或项-主干向 量,其中,所述用户-主干向量或项-主干向量基于关联于该用户或项的特征向量的每个的 总和计算出。进一步地,每个用户或项可以还基于关联于该用户或项的信息而从所述主干 偏离。所述用户或项向量与所述主干的差异或偏离称为偏移。所述用户或项主干和偏移可 以用于形成具有针对用户和项的潜在特质向量的潜在空间模型,其中,该针对用户和项的 潜在特质向量在标识和然后提供推荐的-媒体内容时使用。
【附图说明】
[0004] 下面参考附图详细描述了本发明,其中: 图1是适于在实现本发明的实施例时使用的一个示例性计算环境的框图; 图2是本发明的实施例可以在其中被使用的一个示例性系统体系结构的框图; 图3A-3C描绘了示出方法的一个示例性增强-矩阵和潜在空间模型,其中,所述方法用 于利用本发明的实施例通过使用特征向量来增强媒体内容推荐; 图4A-4C是这样的图,其示出了利用本发明的实施例通过使用特征向量来增强媒体内 容推荐的方法; 图5是利用本发明的实施例通过使用特征向量来增强媒体内容推荐的方法的流程图; 图6是流程图,其示出了利用本发明的实施例通过使用特征向量来增强媒体内容推荐 的方法;以及 图7是流程图,其示出了利用本发明的实施例通过使用特征向量来增强媒体内容推荐 的方法。
【具体实施方式】
[0005] 在本文中使用特异性描述了本发明的实施例的主题以满足法定要求。然而,本说 明书其自身不旨在限制本专利的范围。相反,发明人已设想,所要求权利的主题还可以通过 其它方式被实现,包括结合其它现有和未来技术的、与在本文档中描述的那些相似的不同 步骤或步骤的组合。此外,尽管术语"步骤"和/或"框"在本文中可以用于暗示所使用方 法的不同单元,但所述术语不应当被解释为暗示在本文中公开的各个步骤之中或之间的任 何特定顺序,除非当明确描述了各个步骤的顺序。
[0006] 提供本发明的实施例以便通过使用特征向量来增强媒体内容推荐。推荐系统对用 户兴趣进行评估,并且使用用户-兴趣数据执行计算以识别推荐的-媒体内容。例如,当用 户观看电影时,他们可以提供他们对每个电影的满意水平的反馈。可以收集针对电影的用 户满意度信息,并且该数据用于向其他用户做出推荐。在操作中,矩阵因式分解提供一种推 荐系统用于推荐媒体内容的方式。特别地,矩阵因式分解中的协同过滤创建用于推荐不同 类型媒体(例如电影、音乐、视频游戏、电视节目)的用户-项矩阵。所述用户-项矩阵用于 分析用户与项之间的关联,以便产生其他用户与项之间的新关联。例如,一个n维用户-项 矩阵可以包括表示用户的行和表示项的列。该矩阵可以包括这样的信号,所述信号是对项 的评级或偏好。所述评级或偏好可以与特定用户或设备相关联。"喜欢"和"不喜欢"的评 级系统可以作为矩阵单元(cell)中的条目而存在。在实施例中,问号可以表示这样的情况, 其中,用户还未对项进行评级。每个用户可能已在系统中对一个或多个项进行评级,并且对 该用户还未使用的一个或多个项做出推荐或预测。然而,具有协同过滤的矩阵因式分解受 冷用户或冷项的影响,所述冷用户或冷项即没有足够使用信息的用户或项。不能对没有足 够信息的用户和项进行正确建模以便产生用于提供推荐的新关联。特别的,对于数学上生 成用户与项之间的另外了解的关系的潜在空间模型,难以解释该潜在空间中的向量的方向 的直观意义。同样,本发明中的实施例提供用于基于矩阵因式分解来识别推荐的-媒体内 容的方法和系统,其中,所述矩阵因式分解使用用户和项的特征向量对潜在空间进行建模。
[0007] 提供本发明的实施例以便通过使用特征向量来增强媒体内容推荐。可以通过用户 和/或项的至少一个独立特征矩阵来增强用户_项矩阵,从而矩阵因式分解生成用于告知 用户与项之间的关系的潜在空间模型。用户-项矩阵包括这样的条目,所述条目是信号,所 述信号表示来自用户的关于特定项的反馈。在所述特征矩阵中,每个用户或项与多个特征 相关联,其中,所述多个特征表示针对该特定用户或项的元数据。用户-项矩阵中的每个用 户和项具有先验概率分布(在下文中称"先验")。针对用户或项向量的该先验是基于在各自 特征矩阵中该用户的特征的总和或该项的特征的总和。在本发明的范围内已设想,所述特 征的总和可以是加权和,从而不同的各个特征可以或多或少地有影响。所述先验表示该用 户或项在用户-项矩阵内的概率值。基于特征总和的该先验称为主干。在这点上,每个用户 或项可以与用户-主干向量或项-主干向量相关联,所述用户-主干向量或项-主干向量 基于关联于该用户或项的特征向量的每个的和(例如纯和、加权和或归一化和)计算出。进 一步地,每个用户或项可以还基于关联于该用户或项的信息而与主干偏离。用户或项向量 与主干的差异或偏离称为偏移。用户或项主干和偏移可以用于形成潜在空间模型,其中,针 对用户和项的潜在特质向量在识别推荐的-媒体内容以及然后提供以便显示该推荐的-媒 体内容时使用。
[0008] 在实施例中,特征还用于达到对在用户-项矩阵中没有足够信息的冷用户或冷项 的潜在表示。所述用户或项可以由从特征矩阵导出的用户-主干向量或项-主干向量在 潜在空间中表示。同样,即使用户或项不具有足够用于形成用户-项矩阵中的偏移向量的 信息,该用户或项将仍然在潜在空间中被表示。另外,用户替换或项替换可以用于在潜在空 间中更准确地表示用户或项向量。在潜在空间中未被正确表示的用户和项可以被替换。如 将在下面详细讨论的,"冷"指定这样的用户或项,所述用户或项没有足够用于从其得出关 于相似用户或项的推论的信息(例如评级),其中,根据所述推论做出推荐。相反,"暖"指定 具有足够信息的用户或项。在实施例中,"暖"用户或项可以提供信息,其中,从所述信息得 出关于相似用户或项的推论以便识别推荐的-媒体内容。暖用户或项具有足够的信息,并 且在潜在空间内被正确地表示。在操作中,识别出分别与冷用户或冷项相似的暖用户或暖 项的子集,并且基于从所述子集导出的向量值替换或重放置关联于所述子集的冷用户或冷 项。
[0009] 在本发明的第一方面中,具有计算机可执行指令的计算机存储介质,其中,所述计 算机可执行指令当被一个或多个计算设备使用时导致该一个或多个计算设备执行用于通 过使用特征向量来增强媒体内容推荐的方法。所述方法包括接收具有第一部分和第二部分 的增强-矩阵。所述第一部分包括用户-项矩阵,以及,所述第二部分包括特征-项矩阵。 特征-项矩阵中的每个条目是项元数据。所述方法还包括,基于关联于所述项的特征向量 的每个的总和,确定项-主干向量。所述方法进一步包括,基于所述项-主干向量和项-偏 移向量,生成项 -潜在-特质向量。所述项-偏移向量是用户-项矩阵中针对所述项的项 向量。所述方法还包括提供基于所述项_潜在-特质向量识别的一个或多个推荐的-媒体 内容。
[0010] 在本发明的第二
方面中,具有计算机可执行指令的计算机存储介质,其中,所述计 算机可执行指令当被一个或多个计算设备使用时导致该一个或多个计算设备执行用于通 过使用特征向量来增强媒体内容推荐的方法。所述方法包括访问潜在空间模型。所述潜在 空间模型与增强-矩阵相关联。所述方法还包括,在潜在空间模型中识别在增强-矩阵中 具有门限数量的信息的冷项向量。所述方法进一步包括,选择具有门限数量的信息的暖项 的子集。在所述项的子集中的每个暖项基于关联于冷项的特征与该冷项相似。所述方法还 包括,基于从暖项的子集导出的向量值在潜在空间模型内对冷项进行重放置。所述方法进 一步包括,基于具有冷项的潜在空间模型识别一个或多个推荐的-媒体内容。
[0011] 在本发明的第三方面中,提供一种用于通过使用特征向量来增强媒体内容推荐的 方法。所述方法包括接收多个信号。所述多个信号表示对于媒体内容的反馈。所述方法进 一步包括接收多个用户和项。每个用户与具有用户-元数据的多个特征相关联,以及,每个 项与具有项-元数据的多个特征相关联。所述方法还包括,生成具有第一部分和第二部分 的增强-矩阵。所述第一部分包括用户-项矩阵,以及,所述第二部分包括特征-项矩阵。 所述方法进一步包括,基于关联于项的每个特征向量的总和,确定项-主干向量。所述方法 还包括,基于所述项 _主干向量和项_偏移向量,生成项-潜在-特质向量。所述项 -偏移 向量是用户-项矩阵中针对所述项的项向量。所述方法进一步包括,提供基于项-潜在-特 质向量识别的一个或多个推荐的-媒体内容。
[0012] 已简要描述了本发明的实施例的概况,下面描述本发明的实施例可以在其中被实 现的一个示例性操作环境,以便提供用于本发明的各个方面的一般上下文。首先特别参考 图1,用于实现本发明的实施例的示例性操作环境被示出并被一般地指定为计算设备100。 计算设备100是合适计算环境的仅一个示例,并且不旨在对本发明的使用或功能的范围建 议任何限制。也不应当将计算设备100解释为关于所示部件的任一个或组合具有任何依赖 或要求。
[0013] 可以在被计算机或者诸如个人数据助理或其它手持设备的其它机器执行的计算 机代码或机器可用指令的一般上下文中描述本发明,其中,所述机器可用指令包括诸如程 序模块的计算机可执行指令。一般来说,包括例程、程序、对象、组件、数据结构等的程序模 块指执行特定任务或实现特定抽象数据类型的代码。本发明可以在多种系统配置中来实 现,包括手持设备、消费电子、通用计算机、更专业的计算设备等。本发明还可以在分布式计 算环境中来实现,其中,任务由通过通信网络链接的远程处理设备来执行。
[0014] 参考图1,计算设备100包括直接或间接耦接以下设备的总线110 :存储器112、一 个或多个处理器114、一个或多个呈现组件116、输入/输出端口 118、输入/输出组件120 以及示例性电源122。总线110表示可以是一个或多个总线的东西(例如地址总线、数据总 线或其组合)。尽管为了清楚起见用线条示出了图1的各种框,但实际上,勾画各种组件并 不如此清楚,并且在比喻意义上,所述线条将更准确地是灰色和模糊的。例如,可以认为诸 如显示设备的呈现组件是I/O组件。同样,处理器具有存储器。我们认识到,这是本领域的 本质,并且重申,图1的图示仅示例说明了可以结合本发明的一个或多个实施例来使用的 示例性计算设备。在诸如"工作站"、"服务器"、"膝上型"、"手持设备"等的类别之间不做区 分,因为全部在图1的范围内被设想,并且参考"计算设备"。
[0015] 计算设备100通常包括各种计算机可读介质。计算机可读介质可以是任何可以被 计算设备100访问的可用介质,并且包括易失性和非易失性介质、可移除和非可移除介质 这两者。作为示例并且不作为限制,计算机可读介质可以包括计算机存储介质和通信介质。 计算机存储介质包括用任何用于存储信息的方法或技术实现的易失性和非易失性、可移除 和非可移除介质,其中,所述信息例如是计算机可读指令、数据结构、程序模块或其它数据。 计算机存储介质包括但不限于:RAM、ROM、EEPR0M、闪存器或其它存储器技术,CD-ROM、数字 光盘(DVD)或其它光盘存储,盒式磁带、磁带、磁盘存储或其它磁存储设备,或者任何其它可 以用于存储所需信息并可以被计算设备100访问的介质。计算机存储介质排除信号本身。 通信介质通常将计算机可读指令、数据结构、程序模块或其它数据包含在诸如载波或其它 传输机制的已调制数据信号中,并且包括任何信息递送介质。术语"已调制数据信号"指这 样的信号,该信号使其特征的一个或多个以将信息编码到该信号中的方式被设置或改变。 作为示例并且不作为限制,通信介质包括:诸如有线网络或直接连线连接的有线介质,以及 诸如声学、RF、红外或其它无线介质的无线介质。以上的任意的组合应当也被包括在计算机 可读介质的范围内。
[0016] 存储器112包括采用易失性和/或非易失性存储器形式的计算机存储介质。该存 储器可以是可移除的、非可移除的或其组合。示例性硬件设备包括固态存储器、硬盘驱动 器、光盘驱动器等。计算设备100包括一个或多个从诸如存储器112或I/O组件120的各 种实体读数据的处理器。(多个)呈现组件116向用户或其它设备呈现数据指示。示例性呈 现组件包括显示设备、扬声器、打印组件、振动组件等。
[0017] I/O端口 118允许计算设备100逻辑上耦接到包括I/O组件120的其它设备,其 中,所述其它设备的某些可以是内置的。示例性组件包括麦克风、游戏手柄、游戏板、卫星天 线、扫描仪、打印机、无线设备等。
[0018] 另外参考图2,描绘了适于在所描述的本发明的实施例中使用的示例性网络环境 200的框图。应当理解,仅作为示例阐述在本文中描述的这个和其它装置。其它装置和单元 (例如机器、接口、功能、顺序以及功能的分组等)可以在示出的那些之外或代替示出的那些 而被使用,并且某些单元可以被完全省略。进一步地,在本文中描述的单元中的许多是这样 的功能实体,所述功能实体可以被实现为离散的或分布式组件,或者与其它组件结合,并且 采用任意合适的组合和位置。在本文中被描述为由一个或多个实体执行的各种功能可以由 硬件、固件和/或软件来实现。例如,各种功能可以由执行存储在存储器中的指令的处理器 来实现。
[0019] 现在转向图2,提供根据本发明的一个实施例的、适于识别推荐的-媒体内容的示 例性计算系统体系结构200。图2中所示的计算系统体系结构200是一个合适的计算系统 体系结构200的示例。计算系统体系结构200包括多个与参考图1描述的计算设备100相 似的计算设备。不应当将计算系统体系结构200解释为关于在其中所示的任意单一模块/ 组件或模块/组件的组合具有任何依赖或要求。每个可以包括单一设备或在分布式环境中 协作的多个设备。例如,组件可以包括被安排在分布式环境中的多个设备,其中,所述多个 设备共同提供在本文中描述的功能。另外,其它未示出的组件可以也被包括在网络环境内。
[0020] 计算系统体系结构200包括用户设备202、离线组件210和运行时组件220。离线 组件210包括原始信号模块212、用户/项元数据模块214、信号导出模块216和离线建模 模块218。运行时组件220包括实时建模模块222、实时指标模块224、潜在空间模型226和 运行时建模模块228。在高层,离线组件210和运行时组件220帮助基于特征向量提供推荐 的-媒体内容。离线模块210执行在形成潜在空间模型226时使用的对用户信号的离线建 模。离线组件210在原始信号模块212处接收原始信号。该信号可以与用户或设备相关联。 在信号导出模块216处,将原始信号用于导出已重组信号。离线建模模块218从用户-项 元数据模块接收用户和项元数据以便对用户-项空间进行建模。在实施例中,用户和项元 数据可以由元数据信息的外部源来接收或补充。离线建模模块218在矩阵因式分解之后处 理并转发离线模型到运行时组件220中的潜在空间模型226中,从而结果可以在运行时组 件220处在运行时期间生成。已设想,离线组件210可以还基于潜在空间模型226、独立于 运行时组件220地识别并传送推荐的-媒体内容。
[0021] 运行时组件220基于潜在空间模型226和实时指
标识别推荐的-媒体内容。运行 时组件220从实时建模模块222接收实时信号。在实时指标模块224处对所述实时信号进 行处理以识别实时指标。实时指标模块224可以基于从实时信号导出的实时指标对潜在空 间模型226进行调整。运行时建模模块228在运行时基于实时指标计算出新的关系以便识 别推荐的-媒体内容。运行时建模将推荐的-媒体转发给用户设备202。推荐的-媒体内 容可以包括瞄准的媒体。例如,使用社交网络的人存储关联于不同社交网络的各种信息,所 述信息包括但不限于年龄、性别、兴趣和位置。所存储的信息可以用于识别在该特定的用户 组或社交网络处瞄准的推荐的-媒体内容。可以还包括特定用户或设备的广告媒体,从而 呈现实际使用户感兴趣的大部分广告。进一步地,推荐的-媒体可以还包括配对媒体。可 以基于配对技术识别出媒体,其中,将相似用户或相似设备匹配到一起。例如,可以将一个 游戏者与另一个游戏者匹配,这样是为了识别来自两个用户的媒体内容并基于彼此生成推 荐。
[0022] 继续参考图2,原始信号模块212对每个信号进行处理,其中,从所述信号可以导 出对用户-项、项-项或用户-用户关系的某种估计。该原始信号模块驱动信号收集,从而 可以收集到对用户或项的尽可能多的指示以便进行使用、购买、评级、搜索查询、点击量等。 作为示例,信号可以是度量兴趣水平的反馈信号。信号可以关联于特定用户或设备。信号 可以是从关联于一种类型的媒体的用户接收的任意类型的信息。在一个实施例中,用户可 以对产品的购买或使用提交喜欢或不喜欢的反馈。在另一实施例中,信号可以是多评级系 统(例如1-5星评级)。信号可以描述用户对特定媒体内容感觉如何。在所述实施例中,信号 可以描述用户对媒体内容感到多么高兴或不满意。媒体内容例如可以包括电影、音乐、视频 游戏、电视节目、广告以及可以经由用户设备202来访问的其它类型的多媒体内容或内容。 原始信号从用户设备202接收,其被处理和转发到信号导出模块216进行另外的处理。在 实施例中,输入信号可以关联于辅助描述符(例如元数据),所述辅助描述符提供针对该输 入信号的额外信息。例如,输入信号可以包括一天中的时间或该输入信号被接收自的设备 的地理位置。
[0023] 用户/项元数据模块214管理用户和项与多个元数据的关联。通过元数据来充实 用户和项。例如,元数据可以包括用于搜索、识别和定位不同类型用户和项的描述性信息。 用户元数据可以包括人口统计信息(例如年龄、性属/性别、种族、收入、教育水平),以及项 元数据可以包括项信息(例如类型、演员、导演、发行日期和评级)。可以在离线组件210内识 别或生成用户或项元数据。在实施例中,经由外部馈入来接收或补充用户或项元数据。例 如,电影目录数据库可以提供电影项和关联于所述电影的元数据。在进行建模以便帮助刻 画用户和项的特征期间使用用户和项元数据。"冷"指定这样的用户或项,所述用户或项没 有足够用于从其得出关于相似用户或项的推论的信息(例如评级),其中,根据所述推论来 做出推荐。通常,推荐系统基于关联于用户或项的信息构造潜在空间模型226 ;然而,当不 存在足够的信息时,这产生冷启动问题,其中,系统不能提供智能的推荐。相反,"暖"指定具 有足够信息的用户或项。在实施例中,"暖"用户或项可以提供信息,从所述信息可以得出关 于相似用户或项的推论以便识别推荐的-媒体内容。在这点上,元数据将对暖用户和暖项 有较少影响,以及对冷用户和冷项有较多影响。
[0024] 如将在下面详细讨论的,用户和项的元数据关联可以用于基于暖用户和暖项提供 针对冷用户和冷项的信息,即使当所述信息对冷用户或冷项不可用时也可以。冷和暖之间 的区分可以不是二元区分。某些用户或项不顾一切地冷,例如,根本没有任何信息的用户或 项,而某些用户或项不顾一切地暖,例如,最活跃的用户和最流行的游戏。有可能有这样的 范围,在其中,用户或项既不暖也不冷。在这点上,某些用户或项如果其交互大部分是与信 息量较小的用户或项则可能仍然难以进行建模。例如,如果用户观看了一部非常流行的电 影,则其可能信息量较小,因为关联于该电影项的数据暗示每个人都喜欢该电影。反过来, 被具有非常独特品味的用户观看的项比其它项更易于进行建模,并且需要较少反馈示例。
[0025] 特定特征的值可以还在其可能信息量大或信息量不大方面不同。进一步地,像暖/ 冷标签一样,特征之间的区分不必是二元的。信息量大的特征可以是关联于特定元数据的 特征,其中,所述元数据基于该特征告知项的偏好或排名。例如,电影是动画电影或恐怖电 影,并且因此,这些类型电影的特定观众因为该特征而存在。相反,信息量小的特征关联于 特定元数据,所述元数据不基于该特征提供关于该项的偏好或排名的信息。例如,在美国拍 摄的电影因为其可能太宽泛并且存在太多在美国拍摄的电影,所以该特征不像那样信息量 大。因此,可以根据关联于特征的信息量值对特征进行加权。
[0026] 信号导出模块216将原始信号信息转换为已重组信号。已重组信号提供特定的对 信号数据进行存储和组织使其可以被高效使用的方式。在基础水平上,信号导出模块216 接收用户反馈信息作为原始信号信息,并且将原始信号信息转换为可以在矩阵因式分解中 使用的已重组信号。已设想,不同类型的已重组信号可以用于本发明。在一个实施例中,全 部信号数据可以被转换为"喜欢"和"不喜欢"事务。已重组信号数据可以是文本或数值数 据。信号导出模块216然后将已重组信号转发给离线建模模块218。
[0027] 离线建模模块218生成矩阵并对矩阵执行因式分解,从而生成潜在空间模型226。 在一个实施例中,离线建模模块218矩阵是稀疏矩阵。离线建模模块218在对矩阵进行因 式分解时可以使用收敛逻辑或相同逻辑。收敛逻辑可以在如图3A中所示那样离线建模模 块218对两个或更多单独的独立矩阵进行因式分解时使用。然而,相同逻辑因式分解可以 在如图3B中所示那样对单一级联矩阵进行因式分解时使用。因式分解允许在潜在空间中 对用户和项进行建模。用户和项建模的过程合并的数据分析和机器学习过程,在其期间,可 以对多种信号(用户_项事务、搜索查询、用户的活动和用户/项元数据)进行分析以便识别 用户和项之间的关系。建模过程的输出是使能够理解所导出的关系的、在称为"潜在空间" 的多维空间内对用户和项的规范表示。在操作中,离线模块从信号导出模块216接收导出 的信号。离线建模模块218还接收用户和项元数据。已设想,几个不同的实施例可以在生 成矩阵和进行因式分解时使用,由此,在本文中呈现的示例性实施例是仅示例性的。在一个 所述实施例中,离线建模模块218可以生成具有用户和项的经典矩阵。离线模块可以还生 成增强-矩阵。该增强-矩阵是这样的数据结构,所述数据结构包括所述经典矩阵,以及还 有各个矩阵中针对每个用户或项的特征的集合。在实施例中,将用户-项矩阵指定为第一 部分,将特征-项矩阵指定为第二部分,以及将用户-特征矩阵指定为第三部分。
[0028] 如在图3A中所见,增强-矩阵包括项特征部分和用户特征部分。已设想,用户-项 矩阵可以单个地包括每个部分或同时包括这两者以进行处理。图3A中的矩阵的因式分解 可以通过收敛逻辑实现。用户和项每个都用多个特征进行注释,如由图3中的复选标记指 定的那样。在实施例中,从特征的闭集中取特征。作为示例,针对电影的特征集合可以包括 〈不严肃,半严肃,严肃,男孩之夜,约会之夜、家庭外出、女孩之夜…〉。用户与特征或项与特 征之间的关系是这样的,其使得相似用户或项具有相似的特征集合。例如,电影m可以具有 由F m表示的特征集合,其中,该特征集合可以包括:〈半严肃,男孩之夜,运动电影,拳击… >。相似地,用户n可以关联于特征集合F n,其中,该特征集合包括〈女性,青少年、NYC…〉。
[0029] 在图3B中,增强-矩阵是包括项特征和用户特征的单一级联矩阵。图3B中的矩阵 将用户和项元数据表示为另外的协作信息。例如,每个项元数据被表示为一个用户,其中, 对于任何具有所述特征的项使条目1在其中。相似地,用户元数据被表示为项,其中,针对 暴露该元数据的全部用户的项条目在矩阵中。在操作中,对于每个项元数据,创建新用户。 对于该用户增加新的协作数据,所述新的协作数据可以对暴露该元数据的全部项指定信号 (例如喜欢)。例如,对于一
个电影类型(例如喜剧),可以创建新用户"用户-喜剧",以及针对 每个是喜剧的项的条目"1"。进一步地,对于每个用户元数据,创建新项。对于该项增加对 于该项的新协作数据,所述新协作数据可以对暴露该元数据的全部用户指定信号(例如喜 欢)。例如,对于年龄组(例如10-20),可以创建新项"项-10-20",以及针对每个在该年龄组 10-20中的用户的条目" 1"。可以使用标准矩阵因式分解,因为增强-矩阵看起来像经典协 作矩阵;然而,带有生成另外结果的另外特征数据信息。另外,某些元数据的影响强度可以 通过用多于一个用户来表示该元数据而增加。每元数据的用户越多,则模型受该元数据的 影响越大。另外,该模型还提供元数据选择;其中,被识别为不相关的元数据或者导致噪声 和使模型失真的元数据可以被删除,以使它们的影响被减弱。对多个元数据进行预处理可 以识别这样的元数据,所述元数据可以被加权,以便在矩阵中提供更大影响。已设想,图3B 中的矩阵提供一种根据本发明的实施例的用于增强矩阵的可替换方法。
[0030] 现在参考图3A,根据本发明的矩阵模型中的矩阵因式分解考虑用户特征和/或 项特征。作为示例,在一个具有带用户_项矩阵和特征_项矩阵的增强-矩阵的实施 例中,每个特征i由向量fi表示。该特征i向量可以是相似于针对该项的潜在特质向 量的潜在特质向量。每个用户或项由"偏移"向量表示,该"偏移"向量具有基于其特征 的总和("主干")的先验。例如,对于一个项,向量(偏移可以是以下的函数:p(v m)=
,其中,p(vm)是由正态分布定义的在项-偏移v ml的先验 分布,所述先验分布具有由特征向量的归一化和确定的均值
和协方差矩 阵%^^。在该示例中,"主干"是先验的均值,即
,如之前讨论的,特征的 总和也可以是加权和。该加权和可以基于特征的信息值。由此,特征向量的加权和可以由
定义,其中,每个特征向量具有权重倍数Wim,该权重倍数将特征的信息 值计入。权重可以协作地确定,或者权重也可以在潜在空间模型内确定。该权重可以被学 习或是基于预定值。在这点上,特定特征可以被加权,从而它们实质上被从最终结果中移 除,而其它特征可以被重重地加权以便向结果提供更大影响。通过任一个公式,基于特征总 和的先验可以用于识别"暖"用户或项,因为协作信息在具有相似特征的用户或项之间被共 享。例如,信息被任何具有特征〈拳击〉的电影所共享,即使不存在任何已观看了这两部电 影的共同用户。
[0031]另外,根据实施例的矩阵模型中的矩阵因式分解提供用户或项替换。在潜在空间 中未被正确表示的用户和项可以在潜在空间中被替换或重新放置。潜在空间内的用户或项 替换或重新放置设想在潜在空间中用更好地放置的向量的一个或多个条目更新所识别向 量的一个或多个条目。可以基于一些不同的指标(例如向量的长度或使用点)来识别用户和 项。作为不例,长度短的向量可以预不在潜在空间中未被正确表不的向量,以及,长度长的 向量可以预示在潜在空间中被正确表示的向量。在实施例中,关联于长向量的用户或项都 可以称为暖用户或暖项,以及,关联于短向量的用户或项可以称为冷用户或冷项。
[0032] 在操作中,可以基于分别与冷用户或冷项相似的度量来识别暖用户或暖项的子 集。所述相似性度量基于多个特征来定义,并且计算出确定两个用户或项彼此多么相 似的数。例如,i与j之间的相似性函数s(i,j)可以如下使用Jaccard相似性来定义:
已设想,用于确定s(i,j)之间的相似性的几种不同的相似性函数(例如余 弦距离、汉明或欧氏距离)可以在识别与冷用户或冷项相似的暖用户或暖项的子集时使 用。相似性函数可以还进行加权,从而不同特征可以不同地对结果产生影响。例如,已加权 Jaccard相似性函数可以基于特征向量的范数。当识别暖项的子集时,门限相似性度量可以 用于导出针对冷项的向量值。例如,通过使用相似性函数,前k个向量可以被识别为与在潜 在空间中将被替换或重新放置的用户或项最相似。在一个实施例中,基于所述前k个向量 的平均位置对用户或项进行重新放置。在其它实施例中,可以计算所述前k个向量的中位 数以便对用户和项进行重新放置。
[0033] 继续参考图3A-3C以及4A-4C,矩阵因式分解生成潜在空间模型226。例如图3C潜 在空间特征,其中,动作向量在潜在空间中一般指向与动作电影致命武器和虎胆龙威相同 的方向,以及,奇幻向量在潜在空间中一般指向与奇幻电影指环王、哈利波特2和哈利波特 3相同的方向。作为示例以便进一步说明,下面将呈现一个示例以描述潜在空间模型226。 在图4A中,在二维空间中图示出了几个特征向量〈严肃、半严肃、不严肃、约会之夜和男孩 之夜…〉。可以对每个带有以上标签的子集的电影相应地加标签--例如,〈不严肃,男孩 之夜…〉。每个标签可以被嵌入n维空间中。特征〈不严肃,男孩之夜…〉的总和计算出针 对任何关联于所述特征〈不严肃,男孩之夜…〉的项向量的主干或先验。如图4B中所示, 一个向量表示带有〈不严肃,男孩之夜…〉标签的电影。如图4C中所示,例如电影洛奇以 及任何其它具有〈不严肃,男孩之夜…〉标签的电影可以具有关联于所述标签的先验或主 干。另外,因为足够的信息与洛奇相关联,所以其形成偏移。换句话说,偏移表示洛奇与全 部其它共享相同〈不严肃,男孩之夜…〉标签的电影的差异或偏离。将偏移和主干进行合 并生成针对洛奇的潜在-特质向量。
[0034] 如图2中所示,用户和项元数据用于生成潜在空间模型226,其中,该潜在空间模 型是在多维空间内对用户和项的规范表示。潜在空间模型226可以用于告知用户和项之间 的关系。特别地,将特征向量嵌入潜在空间中帮助识别单元之间的多个不同类型的关系,例 如用户-到-项、项-到-项、特征-到-项、用户-到-用户、项-到-用户、特征-到-用 户、用户-到-特征、项-到-特征以及特征-到-特征。对本发明的范围预想了潜在空间 内其任意变型和组合。例如,潜在空间模型226可以确定用户或项之间的关系,并且识别哪 些项与特定用户更相关,哪些项与另一个项最相关,哪些用户具有与特定用户相似的品味/ 使用习惯(配对),以及,哪些用户对特定项最感兴趣(瞄准)。潜在空间模型226维护潜在空 间,该潜在空间可以在离线过程期间用于做出推荐,然而也可以在运行时用于为特定用户 体验提供推荐的-媒体内容。
[0035] 在操作中,实时建模模块222对当前信号提供快速响应以便做出推荐。例如,实时 建模提供关于当前会话和当前用户意图的指示。实时建模模块222使用实时指标(例如社 交范围、短期意图和内容)进行操作,以便进一步精炼潜在空间模型226以实现当前和相关 建模。例如,搜索查询和点击量数据可以指示当前用户兴趣和上下文。社交范围(例如好友 和用户组)的改变可以帮助导出对当前建模产生影响的社交范围数据。可以对推荐的-媒体 内容进行扩展,所述扩展是通过包括社交上下文以生成基于社交的体验,通过考虑基于时 间和理解基于时间的行为,以及通过看最近用户的活动以调整该用户的当前(短期)意图。
[0036] 现在转向图5,提供了示出用于识别推荐的-媒体内容的方法500的流程图。在框 510处,接收到具有第一部分和第二部分的增强-矩阵。该第一部分包括用户-项矩阵,以 及,该第二部分包括特征-项矩阵。特征-项矩阵中的每个条目是项元数据。增强-矩阵的 第一部分包括这样的条目,所述条目是表示来自用户的反馈的信号。所述信号可以与用户 或用户设备相关联。在实施例中,增强-矩阵进一步包括具有用户-特征矩阵的第三部分。 该用户-特征矩阵中的每个条目是用户元数据。在框520处,基于关联于项的特征向量的 每个的总和确定项-主干向量。项-主干向量是表示在矩阵内该项的概率值的针对该项的 先验概率分布。如在框530处所不,生成基于项-主干向量和项-偏移向量的项-潜在向 量。项-偏移量向量是用户-矩阵中针对该项的项-向量。在框540处,提供基于项-潜 在-特质向量识别的一个或多个推荐的-媒体内容。
[0037] 现在转向图6,提供了流程图,该流程图示出用于识别推荐的-媒体内容的方法 600。最初,如在框610处所示,访问潜在空间模型。该潜在空间模型是使能够理解用户和 项之间的所导出关系的、在多维空间内对用户和项的规范表示。潜在空间模型与增强
-矩 阵相关联。潜在空间模型可以包括多个基于用户-主干向量或项-主干向量以及用户-偏 移向量或项-偏移向量的潜在-特质向量。如在框620处所示,在潜在空间模型中识别出 在增强_矩阵中具有门限数量信息的冷项向量。"冷"指定不具有足够用于从其得出关于相 似用户或项的推论的信息(例如评级)的用户或项,其中,根据所述推论做出推荐。通常,推 荐系统基于关联于用户或项的信息构造潜在空间模型;然而,当不存在足够的信息时,这产 生冷启动问题,其中,系统不能提供智能的推荐。"暖"指定具有足够信息的用户或项,由此 用户或项可以提供用于从其得出关于相似用户或项的推论以便识别推荐的-媒体内容的 信息。在框630处,选择具有门限数量信息的暖项的子集。该项子集中的每个暖项基于关 联于冷项的特征与该冷项相似。如在框640处所示,基于从暖项的子集导出的向量值在潜 在空间内对冷项进行替换。在实施例中,针对暖项的门限相似性度量可以用于导出针对冷 项的向量值。例如,通过使用相似性函数,前k个向量可以被识别为与将在潜在空间中被替 换或重新放置的用户或项最相似。在其它实施例中,基于所述前k个向量的平均位置对用 户或项进行重新放置。另外,可以计算出所述前k个向量的中位数以便对用户或项进行重 新放置。在框650处,基于具有冷项的潜在空间模型识别出一个或多个推荐的-媒体内容。
[0038] 现在转向图7,提供了流程图,该流程图示出用于通过使用特征向量来增强媒体内 容推荐的方法700。最初,如在框710处所示,接收到多个信号。所述多个信号表示针对媒 体内容的反馈。在实施例中,所述多个信号可以是从表示来自用户的反馈的原始信号导出 的已重组信号。在接收到所述多个信号之后,如在框720处所示,接收到多个用户和项。每 个用户与多个具有用户-元数据的特征相关联,以及,每个项与多个具有项-元数据的特征 相关联。在框730处,生成具有第一部分和第二部分的增强-矩阵。该增强矩阵的第一部 分包括用户-项矩阵,以及,该第二部分包括特征-项矩阵。在框740处,确定基于关联于 项的每个特征向量的总和的项-主干向量。该项-主干是先验概率分布(即在用户-项矩 阵内项的概率值)。
[0039] 在框750处,生成基于项-主干向量和项-偏移向量的项-潜在-特质向量。项-偏 移向量是在用户-项矩阵中针对项的项向量。项-偏移向量表示项与共享相同主干的全部 电影项的差异或偏离。例如对于电影,主干可以是关联于所述电影的关联的相似特征的集 合。在框760处,在运行时计算出用于为用户设备提供推荐的-媒体内容的关系。在框770 处,提供基于项_潜在-特质向量识别的一个或多个推荐的-媒体内容。
[0040] 已关于特定实施例描述了本发明的实施例,其中,所述特定实施例旨在在所有方 面是示例性而非限制性的。在不脱离本发明的范围的情况下,可替换实施例对于本发明所 属领域的技术人员将显而易见。
[0041] 从前述应当看到,本发明非常适于达到在上文中阐述的结果和目标以及该结构显 而易见和固有的其它优点。
[0042] 应当理解,特定特征和子组合是有效用的,并且可以在不引用其它特征或子组合 的情况下进行使用。这已被权利要求所设想并且在权利要求的范围内。
【主权项】
1. 一个或多个存储计算机可用指令的计算机存储介质,所述计算机可用指令当被一个 或多个计算设备使用时导致所述一个或多个计算设备执行用于通过使用特征向量来增强 媒体内容推荐的方法,所述方法包括: 接收具有第一部分和第二部分的增强-矩阵,其中,所述第一部分包括用户-项矩阵, 并且所述第二部分包括特征-项矩阵,以及其中,所述特征-项矩阵中的每个条目是项元数 据; 基于关联于所述项的特征向量的每个的和确定项-主干向量; 基于所述项-主干向量和项_偏移向量生成项-潜在-特质向量,其中,所述项 -偏移 向量是所述用户-项向量中针对该项的项向量;以及 提供基于所述项-潜在-特质向量识别的一个或多个推荐的-媒体内容。2. 根据权利要求1所述的介质,其中,基于加权和函数计算关联于所述 项的特征向量的每个的所述和,其中,4是特征潜在特质向量,wim是加权倍数,以及,?_"表 示所述项的特征的集合。3. 根据权利要求1所述的介质,其进一步包括: 识别所述增强-矩阵中具有门限数量信息的冷项;以及 基于冷项-主干矩阵重新安排所述冷项的位置。4. 根据权利要求1所述的介质,其中,所述增强-矩阵进一步包括第三部分,其中,所 述第三部分包括用户-特征矩阵,以及其中,所述用户-特征矩阵中的每个条目是用户元数 据。5. 根据权利要求4所述的介质,其进一步包括: 基于关联于所述用户的特征向量的每个的和确定用户-主干向量;以及 基于所述用户-主干向量和用户-偏移向量生成用户-潜在-特质向量,其中,所述用 户-偏移向量是所述用户项矩阵中该用户的用户向量。6. -个或多个存储计算机可使用指令的计算机存储介质,其中,所述计算机可使用指 令当被一个或多个计算设备使用时,导致所述一个或多个计算设备执行用于通过使用特征 向量来增强媒体内容推荐的方法,所述方法包括: 访问潜在空间模型,其中,所述潜在空间模型与增强-矩阵相关联; 在所述潜在空间模型中识别在所述增强-矩阵中具有门限数量的信息的冷项; 选择具有门限数量的信息的暖项的子集,其中,所述暖项子集中的每个暖项与基于关 联于所述冷项的特征的冷项相似; 基于从所述暖项子集导出的向量值重新安排所述冷项在所述潜在空间模型内的位置; 以及 基于具有所述冷项的潜在空间模型,识别一个或多个推荐的-媒体内容。7. 根据权利要求6所述的介质,其中,在所述潜在空间模型中识别在所述增强-矩阵 中具有所述门限数量信息的冷项是基于关联于所述冷项的特征的和的绝对值。8. 根据权利要求6所述的介质,其进一步包括: 在所述潜在空间模型中识别在所述增强-矩阵中具有门限数量的信息的冷用户; 选择具有门限数量的信息的暖用户的子集,其中,所述暖用户子集中的每个暖用户与 基于关联于所述冷用户的特征的冷用户相似;以及 基于从所述暖用户子集导出的向量值重新安排所述冷用户在所述潜在空间模型内的 位置。9. 一种用于通过使用特征向量来增强媒体内容推荐的方法,所述方法包括: 接收多个信号,其中,所述多个信号表示媒体内容的反馈; 接收多个用户和项,其中,每个用户与多个具有用户元数据的特征相关联,以及,每个 项与多个具有项元数据的特征相关联; 生成具有第一部分和第二部分的增强-矩阵,其中,所述第一部分包括用户项矩阵,以 及,所述第二部分包括特征项矩阵; 基于关联于所述项的每个特征向量的和确定项-主干向量;以及 基于所述项-主干向量和项_偏移向量生成项-潜在-特质向量,其中,所述项 -偏移 向量是针对所述用户项矩阵中的所述项的项向量;以及 提供基于所述项-潜在-特质向量识别的一个或多个推荐的-媒体内容。10. 根据权利要求9所述的方法,识别推荐的-媒体内容进一步包括: 接收一个或多个实时信号; 基于一个或多个实时信号调整所述项-潜在-特质向量;以及 在运行时计算一个或多个关系以便提供所述推荐的-媒体内容。
【专利摘要】在各种实施例中,提供用于通过使用特征向量来增强媒体内容推荐的系统和方法。接收具有第一部分和第二部分的增强-矩阵。所述增强-矩阵的所述第一部分包括用户项矩阵,以及,所述增强-矩阵的所述第二部分包括特征项矩阵。所述特征项矩阵中的每个条目是项元数据。基于关联于所述项的特征向量的每个的加权和确定项-主干向量。基于项-主干向量和项-偏移量向量生成项-潜在-特质向量。所述项-偏移量向量是针对所述用户项矩阵中的项的项向量。提供基于所述项-潜在-特质向量导出的一个或多个推荐的-媒体内容。
【IPC分类】G06F17/16
【公开号】CN104903885
【申请号】CN201380066930
【发明人】N.奈斯, N.克尼希施泰因, U.帕凯, S.Z.克伦, A.贾弗里
【申请人】微软技术许可有限责任公司
【公开日】2015年9月9日
【申请日】2013年12月19日
【公告号】EP2936339A2, US20140181121, WO2014100321A2, WO2014100321A3