商品人气分模型

最近在走商品排序模型,在网上看到的资料,觉得不错,分享给大家,让更多的人看到

在电商平台中,量化每个商品的静态质量及受欢迎的程度有着重要的意义。我们把这个量化值称之为商品人气分。商品人气分在搜索排序、个性化推荐排序及推荐候选集截断、竞价广告系统中都有着重要的应用。

商品人气分受哪些因素的影响,以及这些因素最终如何共同决定商品人气分值?本文总结了一个实际系统中人气分模型的构建过程,从特征和模型两个角度来回答上述两个问题。

特征

多维度交叉统计特征是一类重要的特征来源,主要有以下4个维度:实体、时间段、行为类型、统计量。

实体维度:商品、品牌、商家(店铺)、叶子类目、一级类目等。
时间维度:1天、3天、7天、14天、30天、时间衰减加权等。
行为维度:曝光、浏览、收藏、加购、购买、评级、商详页停留时间、是否退货等。
统计维度:数量、人数、频率、排名(百分比)、点击率、转化率、金额等。
具体地,每个特征从以上4个维度中各取一到两个进行组合,再从历史数据中统计该组合特征最终的特征值。比如,商品(实体)最近1天(时间)的曝光(行为)量(统计指标);商品所在店铺(实体)最近30天(时间)的销量(行为类型+统计维度);商品(实体)最近7天(时间)的平均成交(行为)单价(统计)在同一叶子类目下的排名百分比(统计);等等。由以上方法产生的特征数量级相当于4个维度的笛卡尔积。可以看出这些特征覆盖了大家常说的销售额、销售量、转化率、评论数、好评率、差评率、退货率、加购数、收藏关注度、详情页访问深度等方方面面。

另外还有一些不便归类到上述4个维度的特征,比如商品“年龄”(从上架到目前为止的时间间隔),DQC,店铺DSR,ID类特征(如一级类目)等。

样本

最近1天的成交日志留着生成训练目标(该商品当天有成交则为正样本,当天没有成交则为负样本),1天前的一个月的各类日志用来统计特征值,这样便可以生成1天的训练数据。

为了有足够数量的训练样本,我们取7天的训练数据的并集作为最终的训练集,同时留一到两天的数据作为验证集合测试集。流程如下图所示。

这里写图片描述

模型

选用了GBDT作为待拟合的模型,损失函数为binaryLogLoss函数,最终模型的结果解释为商品未来1天有成交的概率。之所以选择GBDT模型,是因为一方面我们需要足够的非线性拟合能力;另外一方面是因为GBDT算法足够简单,在大多数任务中都表现良好,并且开源的工具也比较成熟。

模型调参基本遵循业界的经验值,同时各个参数在小范围内用GridSearch的方法交叉验证取得。特别值得一提的是设置样本权重对最终效果的提升有很大帮助,具体地,所有负样本的权重设置为1,正样本的权重设置为该商品在当天的成交件数。

效果

在我们公司多个推荐场景的实测结果,与没有人气分的基准桶相比,UV点击率和UV价值都取得了5%~10%左右的提升。

Other

1: 为什么选择购买作为正负样本的区分?
相较于交易,其他行为更容易作弊,使得样本集中的噪音较多,购买本身代表了一种更强的反馈。

2:本文把人气值定义为商品受欢迎的程度,具体量化为商品每日成交的概率。模型即用来预测商品明天成交的概率

3:如果训练集里的所有商品当天都有成交,也就是说,没有负样本,这个质量分模型还能训出来吗?
可以的。虽然所有样本都是正样本,但是每件商品成交的量是不同的,因此样本的权重是不同的。虽然我们以二分类来建模要学习的问题,但是我们真正关心的是成交概率。通常情况下,二分类问题,我们会选择一个阈值,比如是0.5,只要模型的预测值大于这个阈值,就判断模型预测为正,以此来度量模型的精确度和召回率。但是在商品人气分这个问题中,我们真正关心的不是模型预测为正,还是预测为负,我们关心的是商品成交的概率,而这个概率是不需要经过一个阈值来度量的。

再来看模型的损失函数,即对数损失函数

此处输入图片的描述

其中,P(Y|X)=sigmoid(wx+b),sigmoid函数有一个特点,就是其函数值只能无限接近于1,但终究是不可能等于0,所以上述损失函数,不同于0-1损失函数,对数损失函数的值也不可能等于0,即便是在模型已经能够在训练集上预测对所有的样本目标值,因此随着迭代训练的进行,模型总是能够学到一点的知识。

最后,再延展一下,其实机器学习里有一类学习问题,叫做One-class classification ,其要解决的问题就是在只有一类样本的情况下,如何学习到有用知识的。


【技术服务】,详情点击查看: https://mp.weixin.qq.com/s/PtX9ukKRBmazAWARprGIAg

扫一扫 关注微信公众号!号主 专注于搜索和推荐系统,尝试使用算法去更好的服务于用户,包括但不局限于机器学习,深度学习,强化学习,自然语言理解,知识图谱,还不定时分享技术,资料,思考等文章!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值