首页> 中国专利> 用于计算排序分及建立模型的方法、装置及商品推荐系统

用于计算排序分及建立模型的方法、装置及商品推荐系统

摘要

本申请公开了一种用于计算待评价客体排序分的方法和装置、一种用于建立排序分计算模型的方法和装置、以及一种商品推荐系统。其中所述用于计算待评价客体排序分的方法包括:获取待评价客体的原始评分数据、新增排序因子的值、以及从实际交互行为系统的历史行为数据中提取的实际行为数据;以根据实际行为数据得到的实际排序分布、和根据预先设定的排序分计算模型得到的预测排序分布之间的差异最小化为优化目标,求解排序分计算模型中的新增排序因子的权重系数;采用所述排序分计算模型计算所述待评价客体的排序分。采用本申请提供的方法,不仅可以快速、方便地引入新增排序因子,而且计算出的排序分能够相对客观、准确地预测待评价客体的排序状况。

著录项

  • 公开/公告号CN105574025A

    专利类型发明专利

  • 公开/公告日2016-05-11

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN201410544767.0

  • 发明设计人 刘睿;吕韬;孙超;杨志雄;

    申请日2014-10-15

  • 分类号G06F17/30(20060101);G06Q30/02(20120101);

  • 代理机构11441 北京市清华源律师事务所;

  • 代理人沈泳;李赞坚

  • 地址 英属开曼群岛大开曼资本大厦一座四层847号邮箱

  • 入库时间 2023-12-18 15:12:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-16

    授权

    授权

  • 2016-06-08

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20141015

    实质审查的生效

  • 2016-05-11

    公开

    公开

说明书

技术领域

本申请涉及排序技术,具体涉及一种用于计算待评价客体排序分的方法。 本申请同时提供一种用于计算待评价客体排序分的装置,一种用于建立排序分 计算模型的方法和装置,以及一种商品推荐系统。

背景技术

随着互联网的普及和网站技术的发展,越来越多的用户选择在网上浏览、 挑选、或者购买自己需要的商品。在这种情况下,很多网站都不同程度地采用 各种形式的推荐技术向用户进行商品推荐,比较通用的做法是选取特定的排序 因子,并按照预先设定的排序算法计算待推荐商品的排序分,然后按照排序分 值的高低选择并推荐商品。

在计算排序分的过程中所采用的排序因子是指,影响最终商品排序的因素, 通常可以选择与商品相关的属性作为排序因子,例如:价格、销量、交易次数、 买家数、热搜词次数等;依据上述排序因子计算排序分的算法也是多种多样的, 通常根据应用场景是否需要引入新的排序因子,可以分为以下两种实现方案:

1)在日常排序场景(比如搜索,聚划算等场景)下,影响最终排序结果的 排序因子较为稳定,通常不会有新增排序因子融入进来,因此通常采用建立模 型的方式,而且模型一般会设计的相对复杂,将每个特征(即:排序因子)与 最终目标的各种可能关系都考虑进来,并利用机器学习的方式来确定模型中的 各个排序因子的权重系数。如果要在这种场景下新增排序因子,通常需要修改 已建立的模型,并重新求解模型中的所有排序因子的权重系数。

2)在新增业务排序因子较多的场景(例如,大促活动专场的排行榜场景) 下,影响最终排序结果的排序因子较多,并且需要根据业务场景的特点在原有 的常规排序因子的基础上引入新的排序因子,例如,卖家的交易等级、卖家的 VIP会员的月交易额等。因此通常采用比较简单的方法计算排序分,即:根据专 家经验给定原有排序因子与新增排序因子之间的权重系数(该权重系数反映了 排序因子对最终排序结果的影响力),再用各个排序因子的值与其权重系数相乘 求和,得出最终的排序分,计算公式如下所示,其中Y为最终的排序分,wi为 专家经验给出的排序因子fi的权重系数。

Y=w1f1+...+wnfn

通过上面的描述可以看出,采用现有技术的第1)种方式引入新的排序因子, 因为模型的变化,需要重新采集大量的训练数据并采用机器学习算法进行训练, 重新计算新模型的各个排序因子的权重系数值,然后才能依据该模型计算商品 的排序分,整个过程比较复杂;采用第2)种方式引入新的排序因子时,人工干 预的因素比较大,排序因子的权重系数完全依靠专家的主观经验进行设定,因 此计算出来的排序分很可能不够准确,无法相对客观地反映商品实际的排序状 况。

发明内容

本申请提供一种用于计算待评价客体排序分的方法和装置,以解决现有技 术无法方便地引入新的排序因子、以及单纯依赖专家经验设置权重系数导致排 序分计算结果不准确的问题。本申请另外提供一种用于建立排序分计算模型的 方法和装置,以及一种商品推荐系统。

本申请提供一种用于计算待评价客体排序分的方法,包括:

获取待评价客体的原始评分数据、新增排序因子的值、以及以实际交互行 为系统中对应每个待评价客体的历史行为数据为根据,从中提取的对应特定排 序目标的实际行为数据;

以根据所述实际行为数据得到的实际排序分布、和根据预先设定的排序分 计算模型得到的预测排序分布之间的差异最小化为优化目标,求解所述排序分 计算模型中的新增排序因子的权重系数;

以所述待评价客体的原始评分数据、所述新增排序因子的值以及计算得到 的所述新增排序因子权重系数的值为输入,采用所述排序分计算模型计算所述 待评价客体的排序分。

可选的,在所述排序分计算模型中,针对每个新增排序因子采用幂次项求 和的表示方式;

相应的,所述新增排序因子的权重系数是指权重系数序列,所述序列中的 每个权重系数都与所述新增排序因子的一个幂次项相对应。

可选的,所述针对每个新增排序因子采用幂次项求和的表示方式具体是指, 采用四幂次项求和的表示方式。

可选的,当所述交互行为系统为在线交易系统时,所述特定排序目标为: 点击数、交易量或者交易金额。

可选的,所述实际排序分布和预测排序分布之间的差异具体是指,所述两 个分布之间的KL距离。

可选的,所述以根据所述实际行为数据得到的实际排序分布、和根据预先 设定的排序分计算模型得到的预测排序分布之间的差异最小化为优化目标,求 解所述排序分计算模型中的新增排序因子的权重系数,包括:

通过计算待评价客体的所述实际行为数据与全部待评价客体的所述实际行 为数据总和的比值,获取所述待评价客体的实际排序分布;

以所述待评价客体的原始评分数据、所述新增排序因子的值和所述新增排 序因子权重系数的当前值为输入,采用所述排序分计算模型计算所述待评价客 体的预测排序分;所述新增排序因子权重系数的当前值是指,采用本方法上一 次计算得到的所述权重系数的值;

以所述新增排序因子的权重系数为未知数,将所述待评价客体的原始评分 数据、所述新增排序因子的值代入所述排序分计算模型,并根据得到的表达式 与待评价客体的所述预测排序分的总和,获取以所述新增排序因子的权重系数 表示的预测排序分布;

获取所述实际排序分布和所述预测排序分布之间的KL距离的表达式;

以所述KL距离表达式的值最小化为优化目标,求解所述新增排序因子的权 重系数的值。

可选的,所述以所述KL距离表达式的值最小化为优化目标,求解所述新增 排序因子的权重系数的值是指,采用随机梯度下降算法或者逻辑回归优化算法 求解。

可选的,在所述获取所述待评价客体的实际排序分布和所述计算所述待评 价客体的预测排序分的步骤后,执行下述操作:

通过计算所述待评价客体的预测排序分与全部待评价客体的预测排序分总 和的比值,获取所述待评价客体的预测排序分布;

计算所述实际排序分布和所述预测排序分布之间的KL距离值;

判断所述KL距离值与上次采用本方法计算得到的KL距离值相比较,其数 值减小的比例是否小于预先设定的阈值;

若是,则在后续使用本方法计算待评价客体排序分的过程中,不再执行所 述求解所述排序分计算模型中的新增排序因子的权重系数的步骤;相应的,所 述以所述待评价客体的原始评分数据、所述新增排序因子的值以及计算得到的 所述新增排序因子权重系数的值为输入,采用所述排序分计算模型计算所述待 评价客体的排序分是指,以最近一次计算得到的所述新增排序因子权重系数的 值为输入进行求解。

可选的,在第一次执行所述采用所述排序分计算模型计算所述待评价客体 的预测排序分的步骤时,将所述新增排序因子权重系数的当前值设置为预先设 定的初始值。

可选的,在执行所述求解所述排序分计算模型中的新增排序因子的权重系 数的步骤之前,执行下述操作:

判断所述待评价客体的数目是否大于求解新增排序因子权重系数所需待评 价客体的预定数量;

若是,按照所述待评价客体的原始评分数据从大到小的顺序,从中选择所 述预定数量的待评价客体,作为后续使用本方法求解所述新增排序因子的权重 系数所采用的待评价客体。

相应的,本申请还提供一种用于计算待评价客体排序分的装置,包括:

数据获取单元,用于获取待评价客体的原始评分数据、新增排序因子的值、 以及以实际交互行为系统中对应每个待评价客体的历史行为数据为根据,从中 提取的对应特定排序目标的实际行为数据;

权重系数计算单元,用于以根据所述实际行为数据得到的实际排序分布、 和根据预先设定的排序分计算模型得到的预测排序分布之间的差异最小化为优 化目标,求解所述排序分计算模型中的新增排序因子的权重系数;

排序分计算单元,用于以所述待评价客体的原始评分数据、所述新增排序 因子的值以及计算得到的所述新增排序因子权重系数的值为输入,采用所述排 序分计算模型计算所述待评价客体的排序分。

可选的,所述权重系数计算单元和所述排序分计算单元采用的排序分计算 模型中,针对每个新增排序因子采用幂次项求和的表示方式。

可选的,所述权重系数计算单元具体用于,以根据所述实际行为数据得到 的实际排序分布、和根据预先设定的排序分计算模型得到的预测排序分布之间 的KL距离最小化为优化目标,求解所述排序分计算模型中的新增排序因子的权 重系数。

可选的,所述权重系数计算单元包括:

实际排序分布获取子单元,用于通过计算待评价客体的所述实际行为数据 与全部待评价客体的所述实际行为数据总和的比值,获取所述待评价客体的实 际排序分布;

预测排序分计算子单元,用于以所述待评价客体的原始评分数据、所述新 增排序因子的值和所述新增排序因子权重系数的当前值为输入,采用所述排序 分计算模型计算所述待评价客体的预测排序分;所述新增排序因子权重系数的 当前值是指,采用本方法上一次计算得到的所述权重系数的值;

预测排序分布表达式获取子单元,用于以所述新增排序因子的权重系数为 未知数,将所述待评价客体的原始评分数据、所述新增排序因子的值代入所述 排序分计算模型,并根据得到的表达式与待评价客体的所述预测排序分的总和, 获取以所述新增排序因子的权重系数表示的预测排序分布;

KL距离表达式获取子单元,用于获取所述实际排序分布和所述预测排序分 布之间的KL距离的表达式;

权重系数求解子单元,用于以所述KL距离表达式的值最小化为优化目标, 求解所述新增排序因子的权重系数的值。

可选的,所述权重系数求解子单元具体用于,采用随机梯度下降算法或者 逻辑回归优化算法求解所述新增排序因子的权重系数。

可选的,所述权重系数计算单元还包括:

预测排序分布获取子单元,用于在获取所述待评价客体的实际排序分布和 计算所述待评价客体的预测排序分之后,通过计算所述待评价客体的预测排序 分与全部待评价客体的预测排序分总和的比值,获取所述待评价客体的预测排 序分布;

KL距离值计算子单元,用于计算所述实际排序分布和所述预测排序分布获 取子单元输出的预测排序分布之间的KL距离值;

KL距离值判断子单元,用于判断所述KL距离值与上次采用本方法计算得 到的KL距离值相比较,其数值减小的比例是否小于预先设定的阈值;若是,则 在后续使用本装置计算待评价客体排序分的过程中,不再触发所述权重系数计 算单元及其子单元工作,相应的,所述排序分计算单元具体用于以所述待评价 客体的原始评分数据、所述新增排序因子的值以及最近一次计算得到的所述新 增排序因子权重系数的值为输入进行求解。

可选的,第一次触发所述预测排序分计算子单元工作时,将所述新增排序 因子权重系数的当前值设置为预先设定的初始值。

可选的,所述装置还包括:

客体数目判断子单元,用于在触发所述权重系数计算单元工作之前,判断 所述待评价客体的数目是否大于求解新增排序因子权重系数所需待评价客体的 预定数量;

客体选择子单元,用于当所述客体数目判断子单元的输出为“是”时,按 照所述待评价客体的原始评分数据从大到小的顺序,从中选择所述预定数量的 待评价客体,作为后续使用本方法求解所述新增排序因子的权重系数所采用的 待评价客体。

此外,本申请还提供一种用于建立排序分计算模型的方法,包括:

获取待评价客体的原始评分数据、新增排序因子的值、以及以实际交互行 为系统中对应每个待评价客体的历史行为数据为根据,从中提取的对应特定排 序目标的实际行为数据;

计算根据所述实际行为数据得到的实际排序分布、和采用预先设定的排序 分计算模型得到的预测排序分布之间的差异值;所述预测排序分布是以所述原 始评分数据、所述新增排序因子的值以及所述新增排序因子权重系数的当前值 为输入得到的,所述新增排序因子权重系数的当前值是指,上一次计算得到的 权重系数值;

判断所述差异值是否满足预先设定的收敛要求;

若是,结束本方法的执行,所述排序分计算模型建立完毕;

若否,以预测排序分布和所述实际排序分布之间的差异最小化为优化目标, 求解所述排序分计算模型中的新增排序因子的权重系数;

按照预先设定的时间间隔,转到获取所述原始评分数据、所述新增排序因 子的值以及所述实际行为数据的步骤继续执行。

可选的,所述实际排序分布和预测排序分布之间的差异具体是指,上述两 个分布之间的KL距离;相应的,上述两个分布之间的差异值具体是指,所述 KL距离的值。

可选的,所述预先设定的收敛要求是指,本次计算的KL距离值与上次计算 得到的KL距离值相比较,其数值减小的比例小于预先设定的阈值。

可选的,所述计算根据所述实际行为数据得到的实际排序分布、和采用预 先设定的排序分计算模型得到的预测排序分布之间的差异值,包括:

通过计算待评价客体的所述实际行为数据与全部待评价客体的所述实际行 为数据总和的比值,获取所述待评价客体的实际排序分布;

以所述待评价客体的原始评分数据、所述新增排序因子的值和所述新增排 序因子权重系数的当前值为输入,采用所述排序分计算模型计算所述待评价客 体的预测排序分;第一次执行本步骤时,将所述新增排序因子权重系数的当前 值设置为预先设定的初始值;

通过计算所述待评价客体的预测排序分与全部待评价客体的预测排序分总 和的比值,获取所述待评价客体的预测排序分布;

计算所述实际排序分布和所述预测排序分布之间的KL距离值。

可选的,所述以预测排序分布和所述实际排序分布之间的差异最小化为优 化目标,求解所述排序分计算模型中的新增排序因子的权重系数,包括:

以所述新增排序因子的权重系数为未知数,将所述待评价客体的原始评分 数据、所述新增排序因子的值代入所述排序分计算模型,并根据得到的表达式 与所述待评价客体的所述预测排序分总和,获取所述预测排序分布表达式;

获取所述实际排序分布和所述预测排序分布之间的KL距离的表达式;

以所述KL距离表达式的值最小化为优化目标,求解所述新增排序因子权重 系数的值。

可选的,所述以所述KL距离表达式的值最小化为优化目标,求解所述新增 排序因子权重系数的值是指,采用随机梯度下降算法或者逻辑回归优化算法求 解。

相应的,本申请还提供一种用于建立排序分计算模型的装置,包括:

数据获取单元,用于获取待评价客体的原始评分数据、新增排序因子的值、 以及以实际交互行为系统中对应每个待评价客体的历史行为数据为根据,从中 提取的对应特定排序目标的实际行为数据;

分布差异值计算单元,用于计算根据所述实际行为数据得到的实际排序分 布、和采用预先设定的排序分计算模型得到的预测排序分布之间的差异值;所 述预测排序分布是以所述原始评分数据、所述新增排序因子的值以及所述新增 排序因子权重系数的当前值为输入得到的,所述新增排序因子权重系数的当前 值是指,上一次计算得到的权重系数值;

收敛判断单元,用于判断所述差异值是否满足预先设定的收敛要求;

结束执行单元,用于当所述收敛判断单元的输出为“是”,结束本装置各个 单元的工作,所述排序分计算模型建立完毕;

权重系数优化单元,用于当所述收敛判断单元的输出为“否”时,以预测 排序分布和所述实际排序分布之间的差异最小化为优化目标,求解所述排序分 计算模型中的新增排序因子的权重系数;

循环控制单元,用于按照预先设定的时间间隔,触发上述各个单元工作。

可选的,所述权重系数优化单元进行求解所依据的所述预测排序分布和所 述实际排序分布之间的差异是指,上述两个分布之间的KL距离;所述分布差异 值计算单元计算的差异值是指,上述两个分布之间的KL距离值。

可选的,所述收敛判断单元进行判断所采用的所述预先设定的收敛要求是 指,本次计算的KL距离值与上次计算得到的KL距离值相比较,其数值减小的 比例小于预先设定的阈值。

可选的,所述分布差异值计算单元包括:

实际排序分布获取子单元,用于通过计算待评价客体的所述实际行为数据 与全部待评价客体的所述实际行为数据总和的比值,获取所述待评价客体的实 际排序分布;

预测排序分计算子单元,用于以所述待评价客体的原始评分数据、所述新 增排序因子的值和所述新增排序因子权重系数的当前值为输入,采用所述排序 分计算模型计算所述待评价客体的预测排序分;第一次触发本子单元工作时, 将所述新增排序因子权重系数的当前值设置为预先设定的初始值;

预测排序分布获取子单元,用于通过计算所述待评价客体的预测排序分与 全部待评价客体的预测排序分总和的比值,获取所述待评价客体的预测排序分 布;

KL距离值计算子单元,用于计算所述实际排序分布和所述预测排序分布之 间的KL距离值。

可选的,所述权重系数优化单元包括:

预测排序分布表达式获取子单元,用于以所述新增排序因子的权重系数为 未知数,将所述待评价客体的原始评分数据、所述新增排序因子的值代入所述 排序分计算模型,并根据得到的表达式与所述待评价客体的所述预测排序分总 和,获取所述预测排序分布表达式;

KL距离表达式获取子单元,用于获取所述实际排序分布和所述预测排序分 布之间的KL距离的表达式;

权重系数求解子单元,用于以所述KL距离表达式的值最小化为优化目标, 求解所述新增排序因子权重系数的值。

可选的,所述权重系数求解子单元具体用于,采用随机梯度下降算法或者 逻辑回归优化算法求解所述新增排序因子权重系数的值。

此外,本申请还提供一种商品推荐系统,包括:

商品推荐服务器,用于接收客户端的商品查询请求,并向所述客户端推送 多个与所述查询请求中的关键词相匹配的商品,所述推送的多个商品是按照权 利要求1所述用于计算待评价客体排序分的方法,以预先计算的排序分对可推 荐的候选商品进行排序后,推荐的序位处于高位的商品。

与现有技术相比,本申请具有以下优点:

本申请提供的用于计算待评价客体排序分的方法,通过获取待评价客体的 原始评分数据、新增排序因子的值、以及用户在实际交互行为系统中对所述待 评价客体的实际行为数据,以实际排序分布和预测排序分布之间的差异最小化 为优化目标,求解排序分计算模型中的新增排序因子的权重系数,并根据求解 结果采用所述排序分计算模型计算所述待评价客体的排序分,从而在快速、方 便地引入新增排序因子的同时,通过对所述排序分计算模型中新增排序因子权 重系数的优化计算,使得计算得到的排序分能够相对客观、准确地预测待评价 客体的排序状况,更加接近实际的排序结果。

本申请提供的用于建立排序分计算模型的方法,以实际排序分布和预测排 序分布之间的差异最小化为优化目标,求解所述排序分计算模型中的新增排序 因子的权重系数,并重复上述步骤进行迭代优化,当所述差异值满足预先设定 的收敛要求时,所述排序分计算模型建立完毕。采用上述方法,不仅能够方便 地引入新的排序因子,而且可以比较准确地计算出新增排序因子的权重系数, 并建立起所述排序分计算模型,为在新增排序因子的场景下计算待评价客体的 排序分提供依据。

附图说明

图1是本申请的一种用于计算待评价客体排序分的方法实施例的流程图;

图2是本申请提供的以实际排序分布和预测排序分布之间的KL距离最小化 为优化目标,求解新增排序因子的权重系数的处理流程图;

图3是本申请的一种用于计算待评价客体排序分的装置实施例的示意图;

图4是本申请的一种用于建立排序分计算模型的方法实施例的流程图;

图5是本申请的一种用于建立排序分计算模型的装置实施例的示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请 能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背 本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

在本申请中,分别提供了一种用于计算待评价客体排序分的方法和装置、 以及一种用于建立排序分计算模型的方法和装置。在下面的实施例中逐一进行 详细说明。

请参考图1,其为本申请的一种用于计算待评价客体排序分的方法实施例的 流程图。所述方法包括如下步骤:

步骤101:获取待评价客体的原始评分数据、新增排序因子的值、以及以实 际交互行为系统中对应每个待评价客体的历史行为数据为根据,从中提取的对 应特定排序目标的实际行为数据。

本申请提供的用于计算待评价客体排序分的方法,在原始评分数据的基础 上,引入新增排序因子,采用预先设定的排序分计算模型,以预测排序分布与 实际排序分布之间的差异最小化(即:上述两个分布的相似度最高)为优化目 标进行求解,获取新增排序因子权重系数的值,并进一步根据所述模型计算出 待评价客体的排序分。采用上述方法,不仅方便、自然地引入了新增排序因子, 而且计算得到的排序分相对准确,依据该分数能够比较客观、准确地预测出待 评价客体的排序状况。

所述原始评分数据是指,在未引入新增排序因子的情况下,为待评价客体 评定的原始排序分,例如,将本申请提供的方法应用于在线交易系统,所述待 评价客体是待排序商品,那么所述原始排序分通常是根据所述待排序商品的下 列常规属性计算得到的:价格、销量、交易次数、买家数、热搜词次数等。所 述原始排序分的具体计算方式可以是简单地加权求和,也可以是相对复杂的算 法模型,不管采用哪种计算方式得到的原始评分数据,在不同的应用场景(包 括需要引入新的排序因子的通用场景)下,都可以将该数据作为基础数据,并 在其基础上引入新的排序因子,并且只需要求解新增排序因子的权重系数,而 不需要对原有的算法或者模型进行任何改动,就可以重新计算出待评价客体在 不同应用场景下的排序分。由此可见,采用本申请提供的方法可以方便地将新 增排序因子与原有的排序算法或者模型融合在一起。

所述新增排序因子,根据应用场景的不同,也可以是不同的元素,例如: 在线交易系统组织某些促销活动时,可能会将卖家交易等级、VIP买家交易比数 等作为新增排序因子。不同新增排序因子对排序结果的影响力通常是不同的, 为了反映该差异,通常可以为每个新增排序因子指定一个权重系数,并将两者 的乘积项作为计算待评价客体排序分的一个组成部分。

考虑到在实际应用中,新增排序因子与排序结果之间并非都是简单的线性 相关的情况,因此采用上述简单乘积项的形式无法反映出新增排序因子与排序 结果之间的非线性关系,这样计算出来的排序分自然也是不准确的。为了解决 这一问题,本申请的技术方案提供了一种优选实施方式,即:针对每个新增排 序因子采用幂次项求和的表示方式,每个新增排序因子与一个权重系数序列相 对应,所述序列中的每个权重系数都与所述新增排序因子的一个幂次项相对应。

之所以采用上述幂次项求和的表示方式,其依据是泰勒定理:在已知函数 在某一点的各阶导数值的情况之下,泰勒公式可以用这些导数值做系数构建一 个多项式来近似函数在这一点的邻域中的值。泰勒公式的展开公式如下:

f(x)=f(a)+f(a)1!(x-a)+f(2)(q)2!(x-a)2+···+f(n)(a)n!(x-a)n+o[(x-a)n]

泰勒公式的最大优点是能够拟合各种非线性关系的函数,将上述理论应用 到本申请的技术方案中,可以把最终的排序分数S看作是新增排序因子X的一 个函数f(X),通过选择合适的权重系数,使得任意关系的X和S都能够得到很 好的拟合。

泰勒公式理论上可以展开到任意高的幂次项,幂次越高,拟合越精确,但 同时也会使得数据计算量急剧增加。均衡考虑拟合的精准性和数据计算量的大 小这两个因素,在具体实现中可以取a=0,并且将新增排序因子采用4幂次项进 行拟合,不仅可以模拟较为复杂的非线性关系,而且计算量也在可以接受的范 围之内。

在本实施例的一个具体例子中,预先设定了如下所示的排序分计算模型:

S=S0+Σi=04αiXi+Σi=04βiYi+......---------公式1

其中,S0是原始排序分(即:原始评分数据),S是引入新的排序因子之后 的排序分,X、Y代表新增排序因子,αi、βi表示每个新增排序因子的子项的 系数,新增排序因子的权重系数是由一个系数序列决定的,每个子项的系数对 应于该排序因子相应的幂次项,例如,排序因子X的系数由α0、α1、α2、α3、α4决定,α0、α1、α2、α3、α4分别对应X0、X1、X2、X3、X4各个子项。

在本步骤中,要获取求解上述模型中的权重系数以及计算排序分所需的相 关数据,包括:原始评分数据、新增排序因子的值、以及以实际交互行为系统 中对应每个待评价客体的历史行为数据为根据,从中提取的对应特定排序目标 的实际行为数据。

前面已经说明,所述原始评分数据是指,在未引入新增排序因子的情况下, 为待评价客体评定的原始排序分。在具体实现时,可以按照未引入新增排序因 子时采用的原有算法或者计算模型计算该数值,也可以向其他负责计算该数据 的模块或者系统获取,具体采用何种获取方式,不是本申请的核心,本申请不 对此作明确的限定。

所述新增排序因子,反映了在不同应用场景下对待评价客体进行排序所需 考虑的特定元素,其值也需要预先获取。在本实施例的上述具体例子中,本方 法应用于在线交易系统,要根据商品排序结果进行商品推荐,这种情况下可以 向负责进行商品推荐的运营部门获取该数据,这些数据反映了运营部门在本次 活动中进行商品推荐的基本思路。获取的新增排序因子及其取值采用如下格式 组织:

(itemId,factor1:value1,factor2:value2,……)

其中itemId为待排序商品的标识,factor1和factor2是新增排序因子,value1 和value2是新增排序因子的值,如果有其他新增排序因子,只需要按照 factor:value的格式追加在记录末尾,用特定的分隔符(例如:半角逗号)进行 连接即可。上面给出的数据组织格式是示意性的,在其他实施方式中,可以采 用其他的数据组织形式,本申请不对此进行限定。

由于在步骤102中对新增排序因子权重系数的求解过程,需要使用待评价 客体的实际排序分布,因此本步骤还需要获取以实际交互行为系统中对应每个 待评价客体的历史行为数据,并从中提取对应特定排序目标的实际行为数据。 所述实际交互行为系统是指用户与待评价客体进行交互的系统,当所述交互行 为系统为在线交易系统时(例如:淘宝交易平台),所述特定排序目标包括:点 击数、交易量或者交易金额等。

在本实施例的上述具体例子中,以交易金额最大作为排序目标,在本步骤 中从在线交易系统用于存储用户历史行为数据的日志文件中,提取待排序商品 在设定时间段内(例如:过去7天之内)的交易金额,即为所述对应特定排序 目标的实际行为数据。

在具体实现时,上述获取原始评分数据、新增排序因子的值、以及对应特 定排序目标的实际数据的功能,可以由一个数据采集模块或者数据采集系统来 完成,从而为后续步骤102和步骤103的计算做好数据上的准备。

步骤102:以根据所述实际行为数据得到的实际排序分布、和根据预先设定 的排序分计算模型得到的预测排序分布之间的KL距离最小化为优化目标,求解 所述排序分计算模型中的新增排序因子的权重系数。

本申请提供的用于计算待评价客体排序分的方法,依据其计算结果可以对 待评价客体的排序状况进行预测,因此本方法也可以看作是一个排行榜算法, 其最终目标,自然是希望通过计算排序分得到的预测排序结果,能够尽可能地 符合实际的排序结果,例如,在本实施例的上述例子中,交易金额多的商品应 该排在交易金额少的商品前面。为了达到上述目标,通常希望预测排序分布与 实际排序分布越接近越好。

本申请的技术方案就是依据上述原理,以实际排序分布和预测排序分布之 间的差异最小化为优化目标,求解预先设定的排序分计算模型中的各新增排序 因子的权重系数,并利用求解得到的权重系数计算出待评价客体的排序分。在 本实施例中,采用KL距离来衡量上述两个分布的接近程度,或者说是相似度, 在其他实施方式中,也可以采用能够衡量分布相似度的其他指标。

具体说,求解新增排序因子权重系数的过程包括步骤102-1至步骤102-8, 下面结合附图2作进一步说明。

步骤102-1:获取待评价客体的实际排序分布。

在步骤101中已经从历史行为数据中提取了对应特定排序目标的实际行为 数据,在本步骤中,通过计算待评价客体的所述实际行为数据与全部待评价客 体的所述实际行为数据总和的比值,获取所述待评价客体的实际排序分布。

在本实施例的上述具体例子中,已经以交易金额最大作为排序目标,获取 了待排序商品在设定时间段内的交易金额,在本步骤中,首先计算出待排序商 品的交易金额总和,然后求解每个待排序商品的交易金额与交易金额总和的比 值,则得到了所述待排序商品的实际排序分布。

步骤102-2:计算待评价客体的预测排序分。

在实际应用中,本申请提供的用于计算待评价客体排序分的方法,可以按 照一定的时间间隔重复执行,每一次执行都会计算出新增排序因子的权重系数 值。通过上述循环计算过程,求解出的新增排序因子的权重系数会越来越准确, 通过计算排序分得到的预测排序分布会越来越接近实际的排序结果,是一个逐 步优化的过程。

在本步骤中,以所述待评价客体的原始评分数据、所述新增排序因子的值 和所述新增排序因子权重系数的当前值为输入,采用所述排序分计算模型计算 所述待评价客体的预测排序分;其中,所述新增排序因子权重系数的当前值是 指,采用本方法上一次计算得到的所述权重系数的值。

在第一次采用本方法计算所述待评价客体的排序分时,由于尚未求解新增 排序因子的权重系数,因此在本步骤中可以将所述权重系数的当前值设置为预 先设定的初始值。在本实施例的上述具体例子中,设置每个权重系数的初始值 为-1。

步骤102-3:获取待评价客体的预测排序分布。

在步骤102-2中已经获取了每个待评价客体的预测排序分,在本步骤中首先 计算全部待评价客体的预测排序分总和,然后通过计算每个待评价客体的预测 排序分与预测排序分总和的比值,从而获取所述待评价客体的预测排序分布。

步骤102-4:计算所述实际排序分布和所述预测排序分布之间的KL距离值。

所述KL距离,是Kullback-Leibler距离(Kullback-LeiblerDivergence—莱 布勒距离)的简称,也叫做相对熵。它衡量的是相同事件空间里的两个概率分 布的距离(也称差异情况或者相似度),通常定义为P和Q两个概率分布在对数 差异上的期望,其计算公式为:

D(P||Q)=ΣP(x)logP(x)Q(x)--------公式2

其中,P(x)表示数据的真实分布(即:实际分布),Q(x)表示数据的近似分 布(即:预测分布),D(P||Q)即为本申请所述的KL距离,其值反映了两个概率 分布的差异程度,KL距离值越小,表示预测排序分布与实际排序分布越为接近, 也就是说预测越准确,KL距离值为0,则说明两个概率分布完全相同,即: P(x)=Q(x)。

具体到本技术方案,因为通过步骤102-1至步骤102-3的计算,已经获取了 待评价客体的实际排序分布和预测排序分布,因此在本步骤中直接根据上述公 式2,即可计算得到上述两个分布之间的KL距离值。

步骤102-5:判断所述KL距离值减小的比例是否小于预先设定的阈值;若 是,转到步骤103执行,否则,执行步骤102-6。

判断所述KL距离值与上次采用本方法计算得到的KL距离值相比较,其数 值减小的比例是否小于预先设定的阈值。

若是,说明预测排序分布与实际排序分布之间的KL距离值已经满足了预先 设定的收敛要求,预测排序分布与实际排序分布之间的差异已经基本趋于稳定, 在这种情况下,可以不再进行新增排序因子的权重系数的优化求解,也就是说 在后续采用本方法计算待评价客体的排序分时,可以使用各个新增排序因子的 权重系数的当前值直接进行计算即可,对于本次计算也是同样,因此直接转到 步骤103执行。

若否,说明预测排序分布与实际排序分布之间的KL距离值尚未满足预先设 定的收敛要求,还有必要继续缩小预测排序分布与实际排序分布之间的差异, 也就是说,还需要对新增排序因子的权重系数继续进行优化计算,因此继续执 行后续的步骤102-6。

步骤102-6:获取以所述新增排序因子的权重系数表示的预测排序分布。

具体说,针对每一种待评价客体,以所述新增排序因子的权重系数为未知 数,将所述待评价客体的原始评分数据、所述新增排序因子的值代入所述排序 分计算模型(公式1),从而可以得到每一种待评价客体的排序分表达式,然后 依次用该表达式除以待评价客体的预测排序分总和,就获取了以所述新增排序 因子的权重系数表示的预测排序分布。

步骤102-7:获取所述实际排序分布和所述预测排序分布之间的KL距离的 表达式。

将步骤102-6得到的以所述新增排序因子的权重系数表示的预测排序分布, 以及步骤102-1得到的所述待评价客体的实际排序分布代入上述公式2中,就可 以得到所述实际排序分布和所述预测排序分布之间的KL距离的表达式。在该表 达式中,各个新增排序因子的权重系数是目前待求解的变量。

步骤102-8:以所述KL距离表达式的值最小化为优化目标,求解所述新增 排序因子的权重系数的值。

在本步骤中,以所述KL距离表达式的值最小化为优化目标,可以采用随机 梯度下降算法SGD或者逻辑回归优化算法L-BFGS求解所述新增排序因子的权 重系数的值。

其中,梯度下降算法通常采用迭代的策略,从初始点w1开始,每次沿着目 标函数f(w)在当前点的负梯度方向前进一定的步长,只要步长设置合理,这样 就可以得到一个单调递减的序列{f(w1),…,f(wt),…},直至最终不再下降,此时 就可以得到最优解w*。而随机梯度下降算法(StochasticGradientDescent—SGD) 是梯度下降算法的简化过程,其收敛速度相对快一些而且可以避免出现陷入局 部最优的情况。L(imitedmemory)-BFGS(BFGS是四个人的名称首字母的缩写 组合)则是传统逻辑回归算法的优化算法,可以提高算法的收敛速度。

至于上述SGD算法和L-BFGS算法,属于本领域中比较成熟的算法,因此 不在此对具体的求解过程进行详细说明。

由于本步骤求解新增排序因子权重系数的过程,也就是通常所说的对模型 (即:排序分计算模型)的训练过程,计算量通常比较大,在具体实施过程中, 可以选择分布式计算平台,以提高计算效率。例如,在本实施例的上述具体例 子中,采用了Spark计算平台(基于内存的大数据分布式计算平台),从而能够 相对快速地完成L-BFGS等迭代模型的计算,有效提高本方法的执行效率。

至此,通过执行上述步骤102-1至步骤102-8,计算出了新增排序因子权重 系数的值。其中,步骤102-3至步骤102-5主要是为了判断预测排序分布与实际 排序分布之间的KL距离值是否已经基本满足了预先设定的收敛要求,在具体实 现过程中,也可以不作上述判断,而是每次实施本方法时都执行权重系数的优 化计算,同样可以实现本申请的技术方案。

此外,在执行本步骤102求解新增排序因子权重系数之前,还可以先判断 待评价客体的数目是否大于进行上述求解过程所需商品的预定数量,如果是, 可以按照所述待评价客体的原始评分数据从大到小的顺序,从中选择所述预定 数量的待评价客体,作为后续使用本方法求解权重系数所采用的待评价客体。

在本实施例的上述具体例子中,总共有10000件待排序商品,而在步骤102 的求解过程中通常需要使用4000件商品的相关数据就可以得到相对满意的计算 结果,权衡考虑计算精度和效率,在本步骤执行之前,按照10000件待排序商 品的原始评分数据从大到小的顺序,从中选择4000件商品参与计算。采用这4000 件商品计算得到的新增排序因子权重系数的值通常是具有代表性的,因此也可 以用于计算其他待排序商品的排序分。

步骤103:以所述待评价客体的原始评分数据、所述新增排序因子的值以及 计算得到的所述新增排序因子权重系数的值为输入,采用所述排序分计算模型 计算所述待评价客体的排序分。

由于已经计算得到了新增排序因子权重系数的值,因此本步骤可以采用预 先设定的排序分计算模型计算各个待评价客体的排序分。在本实施例的上述具 体例子中,还可以将计算得到的商品排序分提供给其他负责选品或者进行商品 推荐的模块或者系统,后者可以以所述商品排序分为主要依据,也可以同时兼 顾考虑其他一些因素,最终完成商品的选取或者推荐操作。

需要说明的是,在具体实施过程中,可以反复循环执行本申请提供的方法, 每一次不仅可以计算出待评价客体的排序分供其他模块或者系统参考,还可以 以实际排序分布与预测排序分布之间的KL距离最小化为优化目标,不断调整优 化新增排序因子权重系数,使得由所述待评价客体排序分反映出的预测排序分 布越来越接近实际排序分布。

在本实施例的上述具体例子中,每天执行一次本申请提供的上述方法,优 化计算新增排序因子权重系数的值,并将计算得到的预测排序结果投放到在线 交易系统的相应业务场景中,在相应业务场景中,用户浏览、点击、购买商品 等具体行为数据被存储在用户行为日志中,从该日志中提取的对应特定排序目 标的实际行为数据,又可以反馈到第二天的计算过程中作为实际排序分布参与 新一轮的计算......。每天重复执行上述过程,形成了一个闭环反馈的过程,在该 过程中新增排序因子的权重系数会逐步优化,预测排序分也会与实际排序结果 越来越接近。

当预测排序分布与实际排序分布之间的KL距离值已经达到了预先设定的 收敛要求时,在后续使用本方法时,则可以不执行步骤102进行权重系数的优 化求解,每次直接根据所述待评价客体的原始评分数据、所述新增排序因子的 值以及最后一次优化计算得到的新增排序因子权重系数的值,计算所述待评价 客体的排序分就可以了。

本申请提供的用于计算待评价客体排序分的方法,在获取待评价客体的原 始评分数据的基础上,以实际排序分布和预测排序分布之间的差异最小化为优 化目标,求解新增排序因子的权重系数,并根据求解结果采用排序分计算模型 计算所述待排序商品的排序分,从而在快速、方便地引入新增排序因子的同时, 通过对所述排序分计算模型中排序因子权重系数的优化计算,使得计算得到的 排序分能够相对客观、准确地预测待评价客体的排序状况,更加接近实际的排 序结果。

在上述的实施例中,提供了一种用于计算待评价客体排序分的方法,与之 相对应的,本申请还提供一种用于计算待评价客体排序分的装置。请参看图3, 其为本申请的一种用于计算待评价客体排序分的装置实施例的示意图。由于装 置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实 施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种用于计算待评价客体排序分的装置,包括:数据获取单元 301,用于获取待评价客体的原始评分数据、新增排序因子的值、以及以实际交 互行为系统中对应每个待评价客体的历史行为数据为根据,从中提取的对应特 定排序目标的实际行为数据;权重系数计算单元302,用于以根据所述实际行为 数据得到的实际排序分布、和根据预先设定的排序分计算模型得到的预测排序 分布之间的KL距离最小化为优化目标,求解所述排序分计算模型中的新增排序 因子的权重系数;排序分计算单元303,用于以所述待评价客体的原始评分数据、 所述新增排序因子的值以及计算得到的所述新增排序因子权重系数的值为输 入,采用所述排序分计算模型计算所述待评价客体的排序分。

可选的,所述权重系数计算单元和所述排序分计算单元采用的排序分计算 模型中,针对每个新增排序因子采用幂次项求和的表示方式。

可选的,所述权重系数计算单元包括:

实际排序分布获取子单元,用于通过计算待评价客体的所述实际行为数据 与全部待评价客体的所述实际行为数据总和的比值,获取所述待评价客体的实 际排序分布;

预测排序分计算子单元,用于以所述待评价客体的原始评分数据、所述新 增排序因子的值和所述新增排序因子权重系数的当前值为输入,采用所述排序 分计算模型计算所述待评价客体的预测排序分;所述新增排序因子权重系数的 当前值是指,采用本方法上一次计算得到的所述权重系数的值;

预测排序分布表达式获取子单元,用于以所述新增排序因子的权重系数为 未知数,将所述待评价客体的原始评分数据、所述新增排序因子的值代入所述 排序分计算模型,并根据得到的表达式与待评价客体的所述预测排序分的总和, 获取以所述新增排序因子的权重系数表示的预测排序分布;

KL距离表达式获取子单元,用于获取所述实际排序分布和所述预测排序分 布之间的KL距离的表达式;

权重系数求解子单元,用于以所述KL距离表达式的值最小化为优化目标, 求解所述新增排序因子的权重系数的值。

可选的,所述权重系数求解子单元具体用于,采用随机梯度下降算法SGD 或者逻辑回归优化算法L-BFGS求解所述新增排序因子的权重系数。

可选的,所述权重系数计算单元还包括:

预测排序分布获取子单元,用于在获取所述待评价客体的实际排序分布和 计算所述待评价客体的预测排序分之后,通过计算所述待评价客体的预测排序 分与全部待评价客体的预测排序分总和的比值,获取所述待评价客体的预测排 序分布;

KL距离值计算子单元,用于计算所述实际排序分布和所述预测排序分布获 取子单元输出的预测排序分布之间的KL距离值;

KL距离值判断子单元,用于判断所述KL距离值与上次采用本方法计算得 到的KL距离值相比较,其数值减小的比例是否小于预先设定的阈值;若是,则 在后续使用本装置计算待评价客体排序分的过程中,不再触发所述权重系数计 算单元及其子单元工作,相应的,所述排序分计算单元具体用于以所述待评价 客体的原始评分数据、所述新增排序因子的值以及最近一次计算得到的所述新 增排序因子权重系数的值为输入进行求解。

可选的,第一次触发所述预测排序分计算子单元工作时,将所述新增排序 因子权重系数的当前值设置为预先设定的初始值。

可选的,所述装置还包括:

客体数目判断子单元,用于在触发所述权重系数计算单元工作之前,判断 所述待评价客体的数目是否大于求解新增排序因子权重系数所需待评价客体的 预定数量;

客体选择子单元,用于当所述客体数目判断子单元的输出为“是”时,按 照所述待评价客体的原始评分数据从大到小的顺序,从中选择所述预定数量的 待评价客体,作为后续使用本方法求解所述新增排序因子的权重系数所采用的 待评价客体。

与上述的一种用于计算待评价客体排序分的方法相对应的,本申请还提供 一种用于建立排序分计算模型的方法。请参考图4,其为本申请提供的一种用于 建立排序分计算模型的方法实施例的流程图,本实施例与第一实施例步骤相同 的部分不再赘述,下面重点描述不同之处。

本申请提供的一种用于建立排序分计算模型的方法,包括:

步骤401:获取待评价客体的原始评分数据、新增排序因子的值、以及以实 际交互行为系统中对应每个待评价客体的历史行为数据为根据,从中提取的对 应特定排序目标的实际行为数据。

为了方便地引入新增排序因子,本申请采用的排序分计算模型在原始评分 数据的基础上,加入新增排序因子项,每个新增排序因子都有与之对应的权重 系数(对于采用幂次项表示方式的排序因子为权重系数序列)。模型的建立过程, 核心就在于求解新增排序因子的权重系数,所述权重系数确定了,那么模型也 就建立起来了。本实施例提供的用于建立排序分计算模型的方法,就是以预测 排序分布和实际排序分布之间的差异值最小化为优化目标,求解所述新增排序 因子权重系数的值,并采用循环迭代的方式,使得所述权重系数的值不断优化, 并将算法满足收敛条件时的权重系数的值,作为该模型最终的权重系数值,从 而完成模型的建立过程。

本步骤获取进行所述计算所需的数据,包括:待评价客体的原始评分数据、 新增排序因子的值、以及以实际交互行为系统中对应每个待评价客体的历史行 为数据为根据,从中提取的对应特定排序目标的实际行为数据。

步骤402:计算根据所述实际行为数据得到的实际排序分布、和采用预先设 定的排序分计算模型得到的预测排序分布之间的KL距离值。

在本实施例中,用所述实际排序分布和所述预测排序分布之间的KL距离值 作为衡量所述两个分布之间差异的具体数值。

具体说,计算所述实际排序分布和所述预测排序分布之间的KL距离值,包 括以下几个过程:

首先,通过计算待评价客体的所述实际行为数据与全部待评价客体的所述 实际行为数据总和的比值,获取所述待评价客体的实际排序分布。

其次,以所述待排序商品的原始评分数据、所述新增排序因子的值和所述 新增排序因子权重系数的当前值为输入,采用所述排序分计算模型计算所述待 评价客体的预测排序分。所述新增排序因子权重系数的当前值是指,上一次计 算得到的权重系数值,在第一次计算预测排序分时,将所述新增排序因子权重 系数的当前值设置为预先设定的初始值。

然后,通过计算所述待评价客体的预测排序分与全部待评价客体的预测排 序分总和的比值,获取所述待评价客体的预测排序分布。

最后,计算所述实际排序分布和所述预测排序分布之间的KL距离值。

步骤403:判断所述KL距离值是否满足预先设定的收敛要求,若是,执行 步骤404,否则,执行步骤405。

所述预先设定的收敛要求是指,本次计算的KL距离值与上次计算得到的 KL距离值相比较,其数值减小的比例小于预先设定的阈值。若是,说明预测排 序分布与实际排序分布之间的KL距离值已经满足了预先设定的收敛要求,可以 不再进行新增排序因子的权重系数的优化求解,因此继续执行步骤404;若否, 说明还有必要继续缩小预测排序分布与实际排序分布之间的差异,也就是说, 还需要对新增排序因子的权重系数继续进行优化计算,因此转到步骤405执行。

在具体实施时,还可以采用其他的判断方法。例如,可以预先设置一个具 体的阈值用于判定算法是否收敛,当步骤402计算出的KL距离值大于所述阈值 时,说明没有满足预先设定的收敛要求,否则认为已收敛;或者不计算具体的 KL距离值,而是统计迭代计算的次数,当迭代计算的次数大于或者等于预先根 据经验设定的计算次数时,可以认为算法已经收敛。上述各种判断方式,都是 具体实施方式的变更,并不偏离本申请的核心,因此都在本申请的保护范围内。

步骤404:结束本方法的执行,所述商品排序分计算模型建立完毕。

执行到本步骤,说明预测排序分布与实际排序分布之间的KL距离值已经满 足了预先设定的收敛要求,不用再对新增排序因子的权重系数进行优化计算。 因此,直接用所述新增排序因子权重系数的当前值作为最终确定的所述排序分 计算模型的相应权重系数的值,所述模型建立完毕,结束本方法的执行。

步骤405:以预测排序分布和所述实际排序分布之间的差异最小化为优化目 标,求解所述排序分计算模型中的新增排序因子的权重系数。

具体实现时,本步骤包括以下几个过程:首先,以所述新增排序因子的权 重系数为未知数,将所述待评价客体的原始评分数据、所述新增排序因子的值 代入所述排序分计算模型,并根据得到的表达式与所述待评价客体的所述预测 排序分总和,获取所述预测排序分布表达式;然后,获取所述实际排序分布和 所述预测排序分布之间的KL距离的表达式;最后,以所述KL距离表达式的值 最小化为优化目标,采用随机梯度下降算法SGD或者逻辑回归优化算法L-BFGS 求解所述新增排序因子权重系数的值。

步骤406:按照预先设定的时间间隔,转到获取所述原始评分数据、所述新 增排序因子的值以及所述实际行为数据的步骤401继续执行。

在本实施例的一个具体例子中,每天重复执行一遍上述步骤401-405,在循 环过程中,所述新增排序因子的权重系数值不断优化,最终建立起所述排序分 计算模型。

综上所述,本申请提供的用于建立排序分计算模型的方法,以实际排序分 布和预测排序分布之间的差异最小化为优化目标,求解所述排序分计算模型中 的新增排序因子的权重系数,重复上述步骤进行迭代优化,当所述差异值满足 预先设定的收敛要求时,所述排序分计算模型建立完毕。采用上述方法,不仅 能够方便地引入新的排序因子,而且可以比较准确地计算出新增排序因子的权 重系数,并建立起所述排序分计算模型,为在新增排序因子的场景下计算待评 价客体的排序分提供依据。

在上述的实施例中,提供了一种用于建立排序分计算模型的方法,与之相 对应的,本申请还提供一种用于建立排序分计算模型的装置。请参看图5,其为 本申请的一种用于建立排序分计算模型的装置实施例的示意图。由于装置实施 例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的 部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种用于建立排序分计算模型的装置,包括:数据获取单元501, 用于获取待评价客体的原始评分数据、新增排序因子的值、以及以实际交互行 为系统中对应每个待评价客体的历史行为数据为根据,从中提取的对应特定排 序目标的实际行为数据;分布差异值计算单元502,用于计算根据所述实际行为 数据得到的实际排序分布、和采用预先设定的排序分计算模型得到的预测排序 分布之间的KL距离值;所述预测排序分布是以所述原始评分数据、所述新增排 序因子的值以及所述新增排序因子权重系数的当前值为输入得到的,所述新增 排序因子权重系数的当前值是指,上一次计算得到的权重系数值;收敛判断单 元503,用于判断所述KL距离值是否满足预先设定的收敛要求;结束执行单元 504,用于当所述收敛判断单元的输出为“是”,结束本装置各个单元的工作, 所述排序分计算模型建立完毕;权重系数优化单元505,用于当所述收敛判断单 元的输出为“否”时,以预测排序分布和所述实际排序分布之间的KL距离值最 小化为优化目标,求解所述排序分计算模型中的新增排序因子的权重系数;循 环控制单元506,用于按照预先设定的时间间隔,触发上述各个单元工作。

可选的,所述收敛判断单元进行判断所采用的所述预先设定的收敛要求是 指,本次计算的KL距离值与上次计算得到的KL距离值相比较,其数值减小的 比例小于预先设定的阈值。

可选的,所述分布差异值计算单元包括:

实际排序分布获取子单元,用于通过计算待评价客体的所述实际行为数据 与全部待评价客体的所述实际行为数据总和的比值,获取所述待评价客体的实 际排序分布;

预测排序分计算子单元,用于以所述待评价客体的原始评分数据、所述新 增排序因子的值和所述新增排序因子权重系数的当前值为输入,采用所述排序 分计算模型计算所述待评价客体的预测排序分;第一次触发本子单元工作时, 将所述新增排序因子权重系数的当前值设置为预先设定的初始值;

预测排序分布获取子单元,用于通过计算所述待评价客体的预测排序分与 全部待评价客体的预测排序分总和的比值,获取所述待评价客体的预测排序分 布;

KL距离值计算子单元,用于计算所述实际排序分布和所述预测排序分布之 间的KL距离值。

可选的,所述权重系数优化单元包括:

预测排序分布表达式获取子单元,用于以所述新增排序因子的权重系数为 未知数,将所述待评价客体的原始评分数据、所述新增排序因子的值代入所述 排序分计算模型,并根据得到的表达式与所述待评价客体的所述预测排序分总 和,获取所述预测排序分布表达式;

KL距离表达式获取子单元,用于获取所述实际排序分布和所述预测排序分 布之间的KL距离的表达式;

权重系数求解子单元,用于以所述KL距离表达式的值最小化为优化目标, 求解所述新增排序因子权重系数的值。

可选的,所述权重系数求解子单元具体用于,采用随机梯度下降算法SGD 或者逻辑回归优化算法L-BFGS求解所述新增排序因子权重系数的值。

此外,本申请实施例还提供了一种商品推荐系统,该系统包括一种商品推 荐服务器,所述服务器与若干个客户端进行通信,接收所述客户端发送的商品 查询请求,获取与所述查询请求中的关键词相匹配的一组可供推荐的候选商品, 并按照采用本申请提供的用于计算待评价客体排序分的方法预先计算得到的商 品排序分,对该组可供推荐的候选商品排序,并将排序后的商品按照序位从高 到低的顺序推送给发起所述查询请求的客户端。

如果所述可供推荐的候选商品的数量大于预先设定的推荐数量,也可以按 照排序后的序位将处于高位的预订数量的商品推送给所述客户端。

所述商品推荐系统可以应用于在线交易平台,为访问该平台的客户端进行 商品推荐,由于所述系统采用本申请提供的用于计算待评价客体排序分的方法 预先计算商品的排序分,并基于所述排序分进行商品推荐,因此在不同的应用 场景下(例如:大促活动),为客户端推荐的排序商品可以比较准确地反映商品 在所述应用场景下的实际排序状况,便于客户端用户进行浏览与选择,能够改 善客户端用户的体验,同时也能够提高在线交易平台的销量。

当然,本申请提供的商品推荐系统并不仅限于在上述在线交易平台中实施, 也可以在其他的平台或者应用中实施,只要是需要根据排序分进行商品推荐的 应用场合,就都可以采用本申请提供的商品推荐系统进行商品推荐。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本 领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改, 因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出 接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。 内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由 任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程 序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其 他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存 储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁 盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设 备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒 体(transitorymedia),如调制的数据信号和载波。

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号