前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐系统遇上深度学习(四十三)-考虑用户微观行为的电商推荐

推荐系统遇上深度学习(四十三)-考虑用户微观行为的电商推荐

作者头像
石晓文
发布2019-05-17 12:26:50
1.2K0
发布2019-05-17 12:26:50
举报
文章被收录于专栏:小小挖掘机

在过去我们介绍的推荐方法中,特别是电商领域的推荐,其考虑的只是用户的**宏观交互行为(macro interaction),如用户购买了xx物品,点击了xx物品。今天看到一篇不错的文章,将用户的微观行为如浏览商品的时间、对商品详情和评论的阅读等、渠道等等微观行为(micro behaviors)考虑进来,并取得了不错的实验效果。咱们来一探究竟。

论文名称:《Micro Behaviors: A New Perspective in E-commerce Recommender Systems》 论文地址:http://184pc128.csie.ntnu.edu.tw/presentation/18-03-13/Micro%20Behaviors%20A%20New%20Perspective%20in%20Ecommerce%20Recommender%20Systems.pdf

1、问题定义

我们首先来看一下,什么是宏观交互行为和微观行为:

上面的图中,宏观交互行为就是我们的一个点击序列,如iphone7->iphone 6->iphone 7 case -> samsungGalaxy。但是微观行为多种多样,比如我们搜索了iphone,看到了iphone7,点击进入商品详情页后又看了商品的描述和用户的评价,并将其加入购物车等等。同时,每种行为都有一定的停留时间。

因此,我们有如下的符号定义:

P={p1,p2,..,pN}代表N个不同的商品。 A={a1,a2,...,aM}代表M种不同的行为。 D={d1,d2,...,dK}表示将停留时间分为K档。

因此,用户的每一次行为可以表示为(pi,aj,dk),即用户在在商品pi上有过aj行为,并花费了dk档的时间。

我们的推荐问题就变为了,基于用户的行为序列(pi,aj,dk),来预测用户下一个可能感兴趣的物品。

2、数据分析

论文收集的信息包含以下四个方面:

Click Source:用户进入商品页的渠道,如主页、搜索页、购物车页、促销页等等。不同的渠道表明了用户不同的偏好,如用户从主页进入到商品页,用户也许只是想随便看看,但如果用户从搜索页进入到商品页,那么在一定程度上说明用户是有明确需求的。

渠道包含下面的五种,从上倒下分别是主页、类别页、促销页、购物车、搜索结果列表:

Browsing Modules:这里是说在商品页,用户浏览的主要模块,比如商品详情介绍、商品评论、规格。

模块这里分了三种,如下图,分别为商品评论、商品规格属性、一直浏览到最底部(即所有的都浏览了):

Cart and Order:加购和下单行为。这里特别提到的一点是,产品属性不同,代表的复购可能性不同,如用户刚买了一些小吃,那么他极有可能在短时间内再买一次,但是如果刚买了一个电视机,那么他基本不会在短时间内再买一次。

停留时间:停留时间这里划分了5档,如下图:

好了,在介绍了基础的数据之后,作者进行了一定的基础分析,并用excel图表进行了展示。

这里的转化率计算如下:

可以看到,从Click Source来看,通过促销页和购物车页进入商品页,随后完成下单转化的比例最高。从Browsing Modules来看,如果用户阅读了评论、规格活着滑倒了底部的话,其转化率也会高于只浏览商品详情(这里可以简单通过对比Click Source和Browsing Modules的转化率,Click Source的平均转化率相当于所有Browsing Modules + 只浏览商品详情的平均转化率),而从购物车页面直接下单,转化率最高。

再来看停留时间的分析:

上图表明,在一定的范围内,转化率随着停留时间增加而增加,当停留时间超过了一定的范围,再提升停留时间,转化率反而开始下降。

上图表明,用户通过搜索结果页进入到商品详情页后,停留时间更长,如果通过类别页进入商品页,停留时间较短。

上图表明,停留时间越长,用户阅读商品评论和规格的概率越大,但最终滑倒底部的概率还是相对偏低的。

上图展示了商品页入口和浏览模块之间的关系,如果用户从搜索列表页进入到商品页的话,他有更高的概率阅读商品的评论和规格。

通过上面的分析,我们发现了两个主要的结论: 1)微观行为是相互关联的 2)不同的微观行为,对于转化的影响是不同的。

接下来,我们就通过模型来建模具体的微观行为。

3、推荐模型

我们的模型如下图所示:

共分为5层,输入层,embedding层,RNN层,attention层,输出层。

输入层

输入层输入的是用户的行为序列,Su={x1,x2,...,xn},序列中每一项式商品ID、行为ID、停留时长ID的三元组,如xt=(pv,am,dk)。

Embedding 层

商品ID、行为ID、停留时长ID在Embedding层分别转换为对应的embedding,然后进行横向拼接。

RNN层

随后的RNN层,我们可以选择LSTM或者GRU,实际中LSTM和GRU效果差不多,但GRU相对于LSTM更加简单,因此选择了GRU。

attention层

attention对行为序列中的每一个时刻的RNN层的输出进行加权,计算公式如下:

输出层

模型的输出是attention层加权后的向量,采用的损失函数是交叉熵损失:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小小挖掘机 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、问题定义
  • 2、数据分析
  • 3、推荐模型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档