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

在过去我们介绍的推荐方法中,特别是电商领域的推荐,其考虑的只是用户的**宏观交互行为(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层加权后的向量,采用的损失函数是交叉熵损失:

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容