首页> 中国专利> 一种受众选择的方法及装置

一种受众选择的方法及装置

摘要

一种受众选择的方法及装置,用以提高预测准确度。该方法为:基于多个用户访问行为产生的历史数据,生成用户访问对象观察矩阵和用户标签观察矩阵,所述用户访问对象观察矩阵和所述用户标签观察矩阵均服从泊松分布,计算用户潜在因子矩阵、访问对象潜在因子矩阵,针对每一个目标访问对象,计算各个用户和该目标访问对象的相似性,并对所述用户访问对象观察矩阵中未对该目标访问对象产生过访问次数的用户进行排序,根据排序结果,为该目标访问对象选择推荐的用户。解决了数据稀疏性问题,提高了预测准确度,可以应用到大规模数据集中。

著录项

  • 公开/公告号CN106919946A

    专利类型发明专利

  • 公开/公告日2017-07-04

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201510991757.6

  • 发明设计人 林学练;王莹;马帅;

    申请日2015-12-25

  • 分类号G06K9/62;

  • 代理机构北京同达信恒知识产权代理有限公司;

  • 代理人冯艳莲

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 02:45:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-01

    授权

    授权

  • 2017-07-28

    实质审查的生效 IPC(主分类):G06K9/62 申请日:20151225

    实质审查的生效

  • 2017-07-04

    公开

    公开

说明书

技术领域

本申请涉及数据分析技术领域,特别涉及一种受众选择的方法及装置。

背景技术

随着经济的快速增长,越来越多的新产品产生。新产品最初的用户量往往比较少,这就需要借助一定的数据分析工具根据已有的历史数据分析可能对其感兴趣的用户作为目标受众,这也就是所谓的受众选择。

在大数据的环境下,有很多场景需要用到受众选择。比如,在互联网领域中,当产品用户量较少时,广告主会利用广告平台识别准确的投放群体,扩大产品的用户量。

近来,越来越多的推荐系统更加关注用户的具体需求。在推荐系统中,基于协同过滤的方法被广泛用来解决相关问题。

一种是基于最近邻的协同过滤的方法,即通过计算用户属性和产品的相似性来进行推荐。该方法简单有效,但无法处理规模较大的数据。

另一种是基于潜在因子模型(Latent Factor Model,LFM)的协同过滤方法,这类方法虽然具有较高的预测性能及扩展性,但LFM处理的数据往往基于评分数据,评分数据的范围较小;并且LFM的输入一般来说是单数据源,容易忽略其他信息的重要性。

另一方面,经济的快速发展促进了物品种类的繁多,但每个用户只会浏览其中的一小部分,从而带来较严重的用户的数据稀疏问题,LFM计算用户和产品相似性的前提是用户至少有公共的产品数据,因此用户的数据稀疏性会降低算法的预测准确度。

发明内容

本申请提供一种受众选择的方法及装置,用以解决现有的方法中存在的无法处理大规模数据的问题,以及因用户的数据稀疏性而导致的预测准确度降低的问题。

本申请提供的具体技术方案如下:

第一方面,提供一种受众选择的方法,包括:

基于多个用户访问行为产生的历史数据,生成用户访问对象观察矩阵和用户标签观察矩阵;其中,所述用户访问对象观察矩阵包括两个维度,其中一个维度为用户维度,另一维度为访问对象维度,所述用户访问对象观察矩阵中的任一元素用于表征该元素在用户维度上对应的用户针对该元素在访问对象维度上对应的访问对象产生的访问次数;所述用户标签观察矩阵包括两个维度,其中一个维度为用户维度,另一维度为标签维度,所述用户标签观察矩阵中的任一元素用于表征该元素在用户维度上对应的用户针对该元素在标签维度上对应的标签产生的访问次数;所述用户访问对象观察矩阵和所述用户标签观察矩阵均服从泊松Poisson分布;

根据所述用户访问对象观察矩阵和所述用户标签观察矩阵,计算用户潜在因子矩阵、访问对象潜在因子矩阵;其中,所述用户潜在因子矩阵包括用户维度和潜在因子维度,所述用户潜在因子矩阵中的任一元素用于表征该元素在用户维度上对应的用户与该元素在潜在因子维度上对应的潜在因子之间的关联程度;所述访问对象潜在因子矩阵包括访问对象维度和潜在因子维度,所述访问对象潜在因子矩阵中的任一元素用于表征该元素在访问对象上对应的访问对象与该元素在潜在因子维度上对应的潜在因子之间的关联程度;所述用户潜在因子矩阵与所述访问对象潜在因子矩阵在潜在因子维度上包含的元素的数目相同;

针对每一个目标访问对象,执行:根据所述用户潜在因子矩阵和所述访问对象潜在因子矩阵,计算各个用户和该目标访问对象的相似性;

根据获得的各个用户和该目标访问对象的相似性,对所述用户访问对象观察矩阵中未对该目标访问对象产生过访问次数的用户进行排序;

根据排序结果,为该目标访问对象选择推荐的用户。

结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述用户访问对象观察矩阵和所述用户标签观察矩阵,计算用户潜在因子矩阵、访问对象潜在因子矩阵,包括:

根据所述用户访问对象观察矩阵和所述用户标签观察矩阵,分别生成与所述用户访问对象观察矩阵具有相同维度的用户访问对象期望矩阵,和与所述用户标签观察矩阵具有相同维度的用户标签期望矩阵;

其中,所述用户访问对象观察矩阵中的元素服从所述用户访问对象期望矩阵中的元素期望的泊松Poisson分布,所述用户标签观察矩阵中的元素服从所述用户标签期望矩阵中元素期望的Poisson分布;所述用户访问对象期望矩阵为用户潜在因子矩阵和访问对象潜在因子矩阵的乘积;所述用户标签期望矩阵为所述用户潜在因子矩阵和标签潜在因子矩阵的乘积;所述用户潜在因子矩阵服从伽马Gamma分布;

基于所述用户访问对象观察矩阵和所述用户标签观察矩阵均服从Poisson分布生成第一分布函数,以及基于所述用户潜在因子矩阵服从伽马Gamma分布生成第二分布函数,基于所述第一分布函数以及所述第二分布函数生成用户产生访问行为的概率函数,所述概率函数表示用户产生访问行为的概率;

根据生成的用户产生访问行为的概率函数,计算用户潜在因子矩阵、访问对象潜在因子矩阵。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述基于所述第一分布函数以及所述第二分布函数,生成用户产生访问行为的概率函数,包括:

基于所述第一分布函数以及所述第二分布函数,采用最大似然估计的方法,获得似然函数,将获得的所述似然函数作为用户产生访问行为的概率函数。

结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据生成的用户产生访问行为的概率函数,计算用户潜在因子矩阵、访问对象潜在因子矩阵,包括:

生成所述似然函数的对数函数,并对所述对数函数进行偏导计算,产生三个偏导函数;

对产生的三个偏导函数的N个维度分别进行多次乘法迭代,直至收敛,得到用户潜在因子矩阵、访问对象潜在因子矩阵、以及标签潜在因子矩阵;所述N为潜在因子维度包含的元素数目。

结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述在乘法迭代的计算过程中,为用户潜在因子矩阵、访问对象潜在因子矩阵、以及标签潜在因子矩阵中的初始值赋大于0的随机值。

第二方面,提供一种受众选择的装置,包括:

生成单元,用于基于多个用户访问行为产生的历史数据,生成用户访问对象观察矩阵和用户标签观察矩阵;其中,所述用户访问对象观察矩阵包括两个维度,其中一个维度为用户维度,另一维度为访问对象维度,所述用户访问对象观察矩阵中的任一元素用于表征该元素在用户维度上对应的用户针对该元素在访问对象维度上对应的访问对象产生的访问次数;所述用户标签观察矩阵包括两个维度,其中一个维度为用户维度,另一维度为标签维度,所述用户标签观察矩阵中的任一元素用于表征该元素在用户维度上对应的用户针对该元素在标签维度上对应的标签产生的访问次数;所述用户访问对象观察矩阵和所述用户标签观察矩阵均服从泊松Poisson分布;

第一计算单元,用于根据所述生成单元生成的所述用户访问对象观察矩阵和所述用户标签观察矩阵,计算用户潜在因子矩阵、访问对象潜在因子矩阵;其中,所述用户潜在因子矩阵包括用户维度和潜在因子维度,所述用户潜在因子矩阵中的任一元素用于表征该元素在用户维度上对应的用户与该元素在潜在因子维度上对应的潜在因子之间的关联程度;所述访问对象潜在因子矩阵包括访问对象维度和潜在因子维度,所述访问对象潜在因子矩阵中的任一元素用于表征该元素在访问对象上对应的访问对象与该元素在潜在因子维度上对应的潜在因子之间的关联程度;所述用户潜在因子矩阵与所述访问对象潜在因子矩阵在潜在因子维度上包含的元素的数目相同;

第二计算单元,用于针对每一个目标访问对象,执行:根据所述用户潜在因子矩阵和所述访问对象潜在因子矩阵,计算各个用户和该目标访问对象的相似性;

排序单元,用于根据所述第二计算单元计算获得的各个用户和该目标访问对象的相似性,对所述用户访问对象观察矩阵中未对该目标访问对象产生过访问次数的用户进行排序;

选择单元,用于根据所述排序单元的排序结果,为该目标访问对象选择推荐的用户。

结合第二方面,在第二方面的第一种可能的实现方式中,所述第一计算单元用于:

根据所述用户访问对象观察矩阵和所述用户标签观察矩阵,分别生成与所述用户访问对象观察矩阵具有相同维度的用户访问对象期望矩阵,和与所述用户标签观察矩阵具有相同维度的用户标签期望矩阵;

其中,所述用户访问对象观察矩阵中的元素服从所述用户访问对象期望矩阵中的元素期望的泊松Poisson分布,所述用户标签观察矩阵中的元素服从所述用户标签期望矩阵中元素期望的Poisson分布;所述用户访问对象期望矩阵为用户潜在因子矩阵和访问对象潜在因子矩阵的乘积;所述用户标签期望矩阵为所述用户潜在因子矩阵和标签潜在因子矩阵的乘积;所述用户潜在因子矩阵服从伽马Gamma分布;

基于所述用户访问对象观察矩阵和所述用户标签观察矩阵均服从Poisson分布生成第一分布函数,以及基于所述用户潜在因子矩阵服从伽马Gamma分布生成第二分布函数,基于所述第一分布函数以及所述第二分布函数生成用户产生访问行为的概率函数,所述概率函数表示用户产生访问行为的概率;

根据生成的用户产生访问行为的概率函数,计算用户潜在因子矩阵、访问对象潜在因子矩阵。

结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一计算单元还用于:

基于所述第一分布函数以及所述第二分布函数,采用最大似然估计的方法,获得似然函数,将获得的所述似然函数作为用户产生访问行为的概率函数。

结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一计算单元还用于:

生成所述似然函数的对数函数,并对所述对数函数进行偏导计算,产生三个偏导函数;

对产生的三个偏导函数的N个维度分别进行多次乘法迭代,直至收敛,得到用户潜在因子矩阵、访问对象潜在因子矩阵、以及标签潜在因子矩阵;所述N为潜在因子维度包含的元素数目。

结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一计算单元在乘法迭代的计算过程中,为用户潜在因子矩阵、访问对象潜在因子矩阵、以及标签潜在因子矩阵中的初始值赋大于0的随机值。

第三方面,提供一种受众选择的装置,包括收发器、处理器、存储器和总线,收发器、处理器、存储器均与总线连接,其中,所述存储器中存储一组程序,所述处理器用于调用所述存储器中存储的程序,使得所述装置执行如上述第一方面和第一方面的第一种至第四种可能的实现方式中的任一种所述的方法。

本申请将泊松分布的概率潜在因子模型进行改进,运用到推荐系统中,为用户的访问行为建模,且通过分析用户访问对象观察矩阵和用户标签观察矩阵的关系,有机的融入标签信息,提高预测准确度,缓解数据稀疏性,另外,线性的时间复杂度表明本申请的方法可以处理大规模数据。

附图说明

图1为本申请中受众选择的方法流程图;

图2为本申请中TGaP模型示意图;

图3为本申请中各个方法准确率对比图;

图4和图5为本申请中受众选择的装置结构图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

鉴于现有技术一些受众选择的方法无法处理大规模数据,以及因用户的数据稀疏性而导致的预测准确度降低的问题,本申请中提出了一种受众选择的方法,主要在数据分析过程中,在数据源中融入了标签数据,弥补了当访问对象的访问用户数目较少,也就是数据稀疏时,数据源单薄的问题,也就是说,标签数据为构建用户兴趣时起到一个补充的作用,这样,提高了预测准确度。并且线性的时间复杂度分析也表明了本申请的方法可以应用到大规模数据集中。

本申请提出的方法中涉及的浏览行为以及标签等数据是广泛存在于各个领域的,因此具有普遍适用性。本申请中可以以用户浏览网站举例说明,但本申请提出的方法适用领域不局限于此。

本申请提供的受众选择的方法的基本思想是:采用基于泊松分布的概率潜在因子模型,对用户的访问行为建模,并有机地融入标签信息。

用户对网站等访问对象的访问频率可以表明用户对网站的喜爱程度,因此用户访问网站的数据自然的服从泊松分布。标签是用户在访问网站时由广告系统自动生成,能够表示用户感兴趣的内容。比如,当一个用户在观看网站上的视频时,广告平台能够识别出用户在收看公开课频道,则为用户标注“在线教育”的标签。鉴于标签信息与用户访问的网站信息共享着同一个用户空间,即用户在产生访问行为时,会产生网站浏览和标签浏览两个方向的信息,因此,将标签信息和用户访问的网站信息有机的结合在一起。

以下将结合附图对本申请提供的受众选择的方法进行详细说明。

参阅图1所示,本申请提供的受众选择的方法的流程具体如下。用户访问的访问对象可以包括但不限于网站,以下描述中,访问对象以网站为例,“访问对象”在概念上等同于“网站”。本申请对用户已经产生的历史浏览数据进行分析,采用本申请的方法,针对目标网站,预测潜在用户,并为目标网站推荐潜在用户。

步骤101:基于多个用户访问行为产生的历史数据,生成用户访问对象观察矩阵和用户标签观察矩阵;其中,所述用户访问对象观察矩阵包括两个维度,其中一个维度为用户维度,另一维度为访问对象维度,所述用户访问对象观察矩阵中的任一元素用于表征该元素在用户维度上对应的用户针对该元素在访问对象维度上对应的访问对象产生的访问次数;所述用户标签观察矩阵包括两个维度,其中一个维度为用户维度,另一维度为标签维度,所述用户标签观察矩阵中的任一元素用于表征该元素在用户维度上对应的用户针对该元素在标签维度上对应的标签产生的访问次数;所述用户访问对象观察矩阵和所述用户标签观察矩阵均服从泊松Poisson分布。

基于用户在网络上的匿名浏览日志,可以获得用户访问行为产生的历史数据,根据获得的历史数据,生成用户访问对象观察矩阵和用户标签观察矩阵。参阅图2所示,为本申请提供的受众选择的方法中应用到的模型的示意图,该模型可以称为标签加强的伽马泊松模型(Tag enhanced Gamma Poisson model,TGaP)。假设用户访问对象观察矩阵用FB表示,用户标签观察矩阵用FP表示。如图2所示,TGaP模型的两个输入矩阵为FB和FP

FB包括用户维度和访问对象维度,FB是m×n矩阵,包括m维用户、n维访问对象。FB中的任一元素用于表示用户u针对访问对象w产生的访问次数,也可以说用户u访问访问对象w产生的观察值。

当然,在所述历史数据中,并不是每一个访问对象都会有多个用户浏览,有些访问对象的用户浏览量很低,只有少量的用户浏览,这些访问对象可以称为目标访问对象,本申请的目的就是为所述目标访问对象推荐潜在的可以对其感兴趣的用户,也就是受众选择。

也就是说,生成的用户访问对象矩阵中,某些元素对应的用户维度的用户针对访问对象维度的访问对象未产生过访问次数,这些元素的值缺失,或者说,这些元素的值为零,通过本申请的方法可以对这些缺失的值进行预测,也就是预测缺失值对应的用户对对应的访问对象的喜爱程度,或者说关联程度,如果值越大,代表用户越喜爱这个访问对象,为这个访问对象推荐该用户的价值就越大。

FP包括用户维度和标签维度,FP是m×l矩阵,包括m维用户、l维标签。FP中的任一元素用于表示用户u针对标签t产生的访问次数,也可以说用户u访问网站时产生的标签t的观察值。

在上述预测用户访问对象矩阵中缺失的值的过程中,利用FB和FP这两个数据源,利用FP中标签数据,对构建用户兴趣起到补充的作用。

步骤102:根据所述用户访问对象观察矩阵和所述用户标签观察矩阵,计算、访问对象潜在因子矩阵;其中,所述用户潜在因子矩阵包括用户维度和潜在因子维度,所述用户潜在因子矩阵中的任一元素用于表征该元素在用户维度上对应的用户与该元素在潜在因子维度上对应的潜在因子之间的关联程度;所述访问对象潜在因子矩阵包括访问对象维度和潜在因子维度,所述访问对象潜在因子矩阵中的任一元素用于表征该元素在访问对象上对应的访问对象与该元素在潜在因子维度上对应的潜在因子之间的关联程度;所述用户潜在因子矩阵与所述访问对象潜在因子矩阵在潜在因子维度上包含的元素的数目相同。

如图2所示,TGaP模型的两个输入矩阵为FB和FP,对两个输入矩阵进行矩阵分解以及降维处理,可近似分解为三个输出矩阵:用户潜在因子矩阵、访问对象潜在因子矩阵和标签潜在因子矩阵。用户潜在因子矩阵用Um×d表示,是m×d矩阵,包括m维用户、d维潜在因子;访问对象潜在因子矩阵用Wd×n表示,是d×n矩阵,包括d维潜在因子、n维访问对象;标签潜在因子矩阵用Td×1表示,是d×l矩阵,包括d维潜在因子、l维标签。所述三个输出矩阵在潜在因子维度包含的元素数据均相同。

所述用户潜在因子矩阵Um×d中的任一元素Uuk即用户u的第k维潜在因子的值,表征该元素对应的用户维度的用户u与对应的潜在因子维度的潜在因子k之间的关联程度;同理,所述访问对象潜在因子矩阵Wd×n中的任一元素Wwk即访问对象w的第k维潜在因子的值,表征该元素对应的访问对象维度的访问对象w与对应的潜在因子维度的潜在因子k之间的关联程度;所述标签潜在因子矩阵Td×1中的任一元素Ttk即标签t的第k维潜在因子的值,表征该元素对应的标签维度的标签t与对应的潜在因子维度的潜在因子k之间的关联程度。

下面具体介绍获得所述三个输出矩阵的方法。

根据所述用户访问对象观察矩阵和所述用户标签观察矩阵,分别生成与所述用户访问对象观察矩阵具有相同维度的用户访问对象期望矩阵,和与所述用户标签观察矩阵具有相同维度的用户标签期望矩阵;所述用户访问对象期望矩阵用B表示,所述用户标签期望矩阵用P表示;B与FB具有相同维度,也是m×n矩阵,包括m维用户、n维访问对象,B中的任一元素BUW用于表示用户u针对访问对象w可能产生的访问次数的期望值;P与FP具有相同维度,也是m×l矩阵,包括m维用户、l维标签,P中的任一元素Put用于表示用户u针对标签t可能产生的访问次数的期望值。

对所述用户访问对象期望矩阵B和所述用户标签期望矩阵P进行因式分解,每一个期望矩阵均可被分解为两个低维矩阵。

B可被分解为用户潜在因子矩阵Um×d和访问对象潜在因子矩阵WW×n;P可被分解为所述用户潜在因子矩阵Um×d和标签潜在因子矩阵Td×1;其中B和P分解的用户潜在因子矩阵Um×d相同,即Um×d可被B和P共用。

因此,用户访问对象期望矩阵B可由用户潜在因子矩阵Um×d和访问对象潜在因子矩阵Wd×n计算而来,即B=Um×d×Wd×n

用户标签期望矩阵P可由用户潜在因子矩阵Um×d和标签潜在因子矩阵Td×1计算而来,即P=Um×d×Td×1

这样,就可以将两个输入矩阵FB和FP分别近似分解为两个低维矩阵:FB≈Um×d×Wd×n;FP≈Um×d×Td×1

以下利用观察矩阵中观察值的生成过程,求解所述三个输出矩阵。具体地:

1、所述用户潜在因子矩阵服从伽马Gamma分布;表示为Uuk~Gamma(αk,βk),Uuk表示Um×d矩阵中的任一元素。

则用户u的概率密度函数为:

公式(1)

其中,α表示Gamma分布中的形状参数;β表示Gamma分布中的尺度参数;Γ(x)表示Gamma函数。

2、FB中的元素(即观察值)在对应的B中的元素(即期望值)附近波动。所述用户访问对象观察矩阵FB中的元素自然服从所述用户访问对象期望矩阵B中的元素BUW期望的泊松Poisson分布,所述用户标签观察矩阵FP中的元素服从所述用户标签期望矩阵P中元素Put期望的Poisson分布;可以表示为~Poisson(BUW),~Poisson(Put)。

则FB的泊松分布可以定义为:

公式(2)

FP的泊松分布可以定义为:

公式(3)

3、基于所述用户访问对象观察矩阵和所述用户标签观察矩阵均服从Poisson分布生成第一分布函数,以及基于所述用户潜在因子矩阵服从伽马Gamma分布生成第二分布函数,基于所述第一分布函数以及所述第二分布函数生成用户产生访问行为的概率函数,所述概率函数表示用户产生访问行为的概率。具体地,采用最大似然估计的方法,获得似然函数,将获得的所述似然函数作为用户产生访问行为的概率函数。

也就是根据以上公式(1)、公式(2)、公式(3),可以生成用户产生访问行为的概率函数;

用户产生访问行为的概率函数为:

公式(4)

4、根据生成的用户产生访问行为的概率函数,计算用户潜在因子矩阵、访问对象潜在因子矩阵。

具体地,生成所述似然函数的对数函数;

访问对象期望矩阵B也可用Buw表示,用户标签期望矩阵P也可用Put表示。

基于Buw=Um×d×Wd×n,以及Put=Um×d×Td×1,计算公式(4)的对数函数:

公式(5)

并对所述对数函数进行偏导计算,产生三个偏导函数;

对产生的三个偏导函数的N个维度分别进行多次乘法迭代,直至收敛,得到用户潜在因子矩阵、访问对象潜在因子矩阵、以及标签潜在因子矩阵,所述N为潜在因子维度包含的元素数目。

本申请中可以采用Lee和Seung提出的多乘法迭代方法对所述三个偏导函数的N个维度分别进行多次乘法迭代,直到收敛,分别进行N次乘法迭代,分别得到用户潜在因子矩阵、访问对象潜在因子矩阵、以及标签潜在因子矩阵中元素(即潜在变量)的求解公式;分别如下:

公式(6)

公式(7)

公式(8)

需要注意的是,上述计算用户潜在因子矩阵中元素的过程中,融入了标签元素。所述在乘法迭代的计算过程中,为用户潜在因子矩阵、访问对象潜在因子矩阵、以及标签潜在因子矩阵中的初始值赋大于0的随机值。

由于迭代过程中,需要用到未知的W、U、T,为了最后对缺失值预测的值大于0,因此赋于三个矩阵大于0的随机值。

根据公式(6)、公式(7)、公式(8)便可获得用户潜在因子矩阵、访问对象潜在因子矩阵、以及标签潜在因子矩阵。

其中,在求解Wwk的过程中,只有当对应的观察值F非零时,内循环比率才需要计算。而计算需要计算d(d表示潜在因子维度)次乘法。因此,计算Wwk的时间复杂度是O(N1d),与之相似,计算Ttk的时间复杂度为0(N2d)。N1和N2分布表示访问对象和标签特征的非零观察值个数。因此,本申请中上述算法对于用户的非零时间观察值是线性的。与之相似,求解Uuk的时间复杂度为O(N1d+N2d),假设我们进行r次迭代,模型的时间复杂度为:O(N1dr+N2dr)。那么,当维度d=10时,所需求解时间大概为8分钟左右。

步骤103:针对每一个目标访问对象,执行:根据所述用户潜在因子矩阵和所述访问对象潜在因子矩阵,计算各个用户和该目标访问对象的相似性。

具体地,所述用户潜在因子矩阵和所述访问对象潜在因子矩阵相乘,可以计算目标访问对象w和各个用户u的相似性得分。其中,每一个潜在因子维度代表用户或者访问对象的一个潜在属性,在用户潜在因子矩阵中用户u在k1潜在因子维度的值代表用户u与潜在因子k1之间的关联程度,换句话说,也可以认为用户u对潜在因子k1的喜爱程度;在访问对象潜在因子矩阵中,目标访问对象w在k1潜在因子维度的值代表目标访问对象w与潜在因子k1之间的关联程度;那么,用户潜在因子矩阵中用户u在k1潜在因子维度的值与访问对象潜在因子矩阵中目标访问对象w在k1潜在因子维度的值相乘,获得在k1潜在因子维度用户u与目标访问对象w之间的关联程度,或者称为用户u与目标访问对象w的相似性。用户u在所有潜在因子维度上形成的向量与目标访问对象w在所有潜在因子维度上形成的向量相乘,获得用户u与目标访问对象w的相似性得分。

步骤104:根据获得的各个用户和该目标访问对象的相似性,对所述用户访问对象观察矩阵中未对该目标访问对象产生过访问次数的用户进行排序。

根据步骤103中获得的目标访问对象w和各个用户u的相似性得分,将对所述用户访问对象观察矩阵中未对该目标访问对象产生过访问次数的用户的相似性得分进行排序。

步骤105:根据排序结果,为该目标访问对象选择推荐的用户。

例如,根据得分,所述用户访问对象观察矩阵中未对该目标访问对象产生过访问次数的用户中选择前10个用户,为该目标访问对象进行推荐。

综上,本申请将泊松分布的概率潜在因子模型进行改进,运用到推荐系统中,为用户的访问行为建模,且通过分析用户访问对象观察矩阵和用户标签观察矩阵的关系,有机的融入标签信息,提高预测准确度,缓解数据稀疏性,另外,线性的时间复杂度表明本申请的方法可以处理大规模数据。

下面结合具体的应用场景对本申请提供的利用TGaP模型的受众选择的方法作进一步详细说明。例如,基于智能电视的应用场景,即上述访问对象为电视节目。

在智能电视的应用中,新产生了一个综艺节目c。由于该综艺节目c为新产品,因此用户量较少,广告主希望能够为该综艺节目c推荐真正对其感兴趣的用户。因此,需要从已有的用户中找到可能对该综艺节目c感兴趣的用户。

基于用户u观看电视节目产生的浏览日志,可以获得该用户u观看过的电视节目集合Wu={wu1,wu2,…,wum},以及产生的标签集合Tu={tu1,tu2,…,tum},其中Tu可以表示已观看电视节目所属的种类。

首先,对用户观看电视节目产生的数据基于时间排序,并将前一个月的数据作为训练集,紧邻该月的一周数据作为测试集。

其次,分别对训练集和测试集中的数据进行聚合。训练集中,统计用户一月内观看每个电视节目的次数以及产生每个标签的次数;与之相似,测试集中则统计用户一周内观看每个电视节目的次数以及产生每个标签的次数。根据训练集,采用本申请的方法进行预测,将预测结果与测试集中的数据进行比对,如果两者的公共用户越多,则说明预测的越准确。

根据训练集,可以得到用户-节目的观看次数矩阵作为FB、用户-标签的产生次数矩阵FP,将这两个矩阵作为TGaP模型的两个输入矩阵进行建模。

如表1所示为输入矩阵FB,表2所示为输入矩阵FP

表1

395641202270

表2

2032284061527806098

可见参与计算的历史数据中共包含3个用户(分别用u1、u2、u3表示)、4个电视节目(分别用w1、w2、w3、w4表示)以及6个标签(分别用t1、t2、t3、t4、t5、t6表示)。如表1中矩阵FB所示,u1针对w1产生的访问次数为39次;又如表2中矩阵FP所示,u1针对t1产生的访问次数为20次。

通过有效的利用这两个数据源FB和FP进行建模,对矩阵FB中的缺失值进行预测。

建模过程中,为了得到结果矩阵W、U、T,我们需要按照公式(6)、(7)、(8)处理训练集。由于迭代过程中,需要用到未知的W、U、T,因此我们需要为这三个矩阵赋随机值。为了最后得到预测的次数大于0,我们需要赋大于0的随机值。此后,根据乘法迭代公式不断迭代直到收敛,即可得到所求的潜在因子矩阵W、U和T。

如果我们取维度是3来进行矩阵分解,并迭代15次,得到的用户潜在因子矩阵U、电视节目潜在因子矩阵W以及标签潜在矩阵T分别如表3、表4和表5所示。

表3

4.604.624.636.346.366.373.963.973.984.164.184.18

表4

3.802.776.023.782.766.003.782.765.99

表5

潜在因子分别用c1、c2、c3表示,如表3的用户潜在因子矩阵所示,用户w1与潜在因子c1的关联程度为4.60,如表4的电视节目潜在因子矩阵所示,用户w1与潜在因子c1的关联程度为3.80,如表5的标签潜在矩阵所示,用户w1与潜在因子c1的关联程度为4.25。

得到用户潜在因子矩阵、电视节目潜在因子矩阵以及标签潜在矩阵后,通过将电视节目潜在因子矩阵W和用户潜在因子矩阵U进行相乘,得到FB中每一个缺失值的预测值,预测后的矩阵如表6所示。其中,预测值越大表明该预测值对应的用户对对应的电视节目越感兴趣。

表6

395650.004552.5502479.73881202257.87297049.766252.2998

需要说明的是,即使在FB中用户u3只有一个观察值,也就是只产生过一次观看电视节目的记录,通过本申请的方法,可以根据该用户u3的标签信息以及其他用户的相关信息对该用户u3预测合理的预测值。

最后,根据表6所示的预测后的矩阵,可以为每一个目标电视节目w推荐可能对其感兴趣的潜在用户。具体地址,对于每一目标电视节目w,对未观看过该电视节目的所有用户u的预测值进行排序,取前k个用户作为我们选择的受众推荐给w,k值可以根据随意设定,比如k取值20或者30。

比如根据表6得到的预测值可知,对于电视节目w3,显然u1的预测值要比u3高,说明u1比u3对电视节目w3感兴趣的可能性更大。因此,如果为目标电视节目w3推荐用户,显然要推荐u1

而且从另一个角度也可以看出这个推荐是合理的。因为从表1可以看出u2对电视节目w3是最感兴趣的,因此与u2越相似的用户对电视节目w3感兴趣的概率越大。从表2可以看出,跟u3相比,显然u1与u2更加相似。

如图3所示,是本申请的方法在某广告公司的数据(用户917047,网站1404,标签135)上进行推荐的实例,从图3可以看出,当d=20时,本申请的方法比原有的方法准确率提升了14.44%。

基于本申请提供的上述受众选择的方法,如图4所示,本申请还提供了一种受众选择的装置40,包括生成单元41、第一计算单元42、第二计算单元43、排序单元44、选择单元45。其中:

生成单元41,用于基于多个用户访问行为产生的历史数据,生成用户访问对象观察矩阵和用户标签观察矩阵;其中,所述用户访问对象观察矩阵包括两个维度,其中一个维度为用户维度,另一维度为访问对象维度,所述用户访问对象观察矩阵中的任一元素用于表征该元素在用户维度上对应的用户针对该元素在访问对象维度上对应的访问对象产生的访问次数;所述用户标签观察矩阵包括两个维度,其中一个维度为用户维度,另一维度为标签维度,所述用户标签观察矩阵中的任一元素用于表征该元素在用户维度上对应的用户针对该元素在标签维度上对应的标签产生的访问次数;所述用户访问对象观察矩阵和所述用户标签观察矩阵均服从泊松Poisson分布;

第一计算单元42,用于根据所述生成单元41生成的所述用户访问对象观察矩阵和所述用户标签观察矩阵,计算用户潜在因子矩阵、访问对象潜在因子矩阵;其中,所述用户潜在因子矩阵包括用户维度和潜在因子维度,所述用户潜在因子矩阵中的任一元素用于表征该元素在用户维度上对应的用户与该元素在潜在因子维度上对应的潜在因子之间的关联程度;所述访问对象潜在因子矩阵包括访问对象维度和潜在因子维度,所述访问对象潜在因子矩阵中的任一元素用于表征该元素在访问对象上对应的访问对象与该元素在潜在因子维度上对应的潜在因子之间的关联程度;所述用户潜在因子矩阵与所述访问对象潜在因子矩阵在潜在因子维度上包含的元素的数目相同;

第二计算单元43,用于针对每一个目标访问对象,执行:根据所述用户潜在因子矩阵和所述访问对象潜在因子矩阵,计算各个用户和该目标访问对象的相似性;

排序单元44,用于根据所述第二计算单元43计算获得的各个用户和该目标访问对象的相似性,对所述用户访问对象观察矩阵中未对该目标访问对象产生过访问次数的用户进行排序;

选择单元45,用于根据所述排序单元44的排序结果,为该目标访问对象选择推荐的用户。

可选的,所述第一计算单元42用于:

根据所述用户访问对象观察矩阵和所述用户标签观察矩阵,分别生成与所述用户访问对象观察矩阵具有相同维度的用户访问对象期望矩阵,和与所述用户标签观察矩阵具有相同维度的用户标签期望矩阵;

其中,所述用户访问对象观察矩阵中的元素服从所述用户访问对象期望矩阵中的元素期望的泊松Poisson分布,所述用户标签观察矩阵中的元素服从所述用户标签期望矩阵中元素期望的Poisson分布;所述用户访问对象期望矩阵为用户潜在因子矩阵和访问对象潜在因子矩阵的乘积;所述用户标签期望矩阵为所述用户潜在因子矩阵和标签潜在因子矩阵的乘积;所述用户潜在因子矩阵服从伽马Gamma分布;

基于所述用户访问对象观察矩阵和所述用户标签观察矩阵均服从Poisson分布生成第一分布函数,以及基于所述用户潜在因子矩阵服从伽马Gamma分布生成第二分布函数,基于所述第一分布函数以及所述第二分布函数生成用户产生访问行为的概率函数,所述概率函数表示用户产生访问行为的概率;

根据生成的用户产生访问行为的概率函数,计算用户潜在因子矩阵、访问对象潜在因子矩阵。

可选的,所述第一计算单元42还用于:

基于所述第一分布函数以及所述第二分布函数,采用最大似然估计的方法,获得似然函数,将获得的所述似然函数作为用户产生访问行为的概率函数。

可选的,所述第一计算单元42还用于:

生成所述似然函数的对数函数,并对所述对数函数进行偏导计算,产生三个偏导函数;

对产生的三个偏导函数的N个维度分别进行多次乘法迭代,直至收敛,得到用户潜在因子矩阵、访问对象潜在因子矩阵、以及标签潜在因子矩阵;所述N为潜在因子维度包含的元素数目。

可选的,所述第一计算单元42在乘法迭代的计算过程中,为用户潜在因子矩阵、访问对象潜在因子矩阵、以及标签潜在因子矩阵中的初始值赋大于0的随机值。

基于同一发明构思,参阅图5所示,本申请提供了另一种受众选择的装置50,包括收发器51、处理器52、存储器53和总线54,收发器51、处理器52、存储器53均与总线54连接,其中,所述存储器53中存储一组程序,所述处理器52用于调用所述存储器53中存储的程序,使得所述装置50执行本申请图1提供的受众选择的方法。

其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器52代表的一个或多个处理器和存储器53代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线提供接口。收发器51可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器52负责管理总线架构和通常的处理,存储器53可以存储处理器52在执行操作时所使用的数据。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号