业内人士都清楚特征工程在推荐系统中的重要性。要想开发出高质量的特征,必须要弄清楚其来源,用处,对用户的刻画等等方面。这篇文章对于微观行为特征的数据分析很详细,值得借鉴。
论文题目:<<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
摘要
现阶段大部分传统的推荐系统都侧重于研究users与items之间的宏观交互(Micro Interactions),如消费者的历史点击、购买等等。然而在这些宏观行为下其实还存在着一些微观行为(micro behaviors)。微观行为主要分为三类:用户如何定位到当前商品;用户对商品实施的具体行为(如用阅读评论,加入购物车等等)以及用户在商品上停留了多长时间。这些微小行为往往反映了用户更深层次和更细粒度的兴趣,对于提高推荐效果有重大的意义。然而现有的研究对于这类微观行为的利用较为少见,本论文就针对以上提到的三种微观行为进行了研究,提出了一个对微观行为进行建模的推荐系统框架(RIB, Recommendation framework from the mIcro Behavior perspective).
1. 简介
该论文中举了如下的例子来说明用户的微观行为,如图1所示。
该图展示了一个用户在特定时间内的足迹:
- 首先该用户通过搜索进入了iPhone7的商品页面,阅读了产品的详细信息和评论并加入了购物车;
- 然后又通过搜索进入了iPhone6的商品页面并阅读了评论;
- 接着又通过促销页面进入了iPhone7商品页并下了单;
- 最后该用户又从电商网站首页进入了Samsung Galaxy的商品页。
图1的上下两部分分别展示了该用户的宏观行为和微观行为,可以看出每个宏观行为都是由一系列的微观行为组成的。这些微观行为体现了用户的兴趣强弱不同,例如用户通过搜索页面查看某商品,其兴趣比通过主页点击查看商品更强。
2. 问题描述
假设分别是商品集合、用户行为集合和停留时长集合。这里商品池总数,是用户可以采取的不同行为个数,是对停留时长进行离散化之后的份数。这样一条样本就可以由一个tuple来表示,代表了该用户在商品上进行了动作,并维持了的时间。
在定义了样本的数据结构后,推荐系统的任务就是利用用户过往的行为来为其推荐下一个商品。
3. 微观行为分析
3.1 微观行为特征定义
论文采用了传统的电商数据,将特征分为了以下几个类型,如表1所示
-
Click Source(点击源)
用户通过什么场景进入到当前的商品页面,包括首页(Home),购物清单(ShopList) ,促销(Sale),购物车(Cart),搜索列表(SearchList)等等。不同的点击源代表了用户兴趣的强弱,如通过首页点击的商品,用户往往只是想随便看看;而通过搜索点击的商品,用户的购买意图通常偏大。 -
Browsing Module(浏览模块)
指用户浏览了商品的哪一模块,包括简介(Brief Information),评论(Detail_comments),商品参数(Detail_specifictaion),商品底部(Detail_bottom)等。如果用户只看了简介,其购买意图偏低;相反如果用户阅读了大量评论,商品参数并滑到了商品底部,则其购买意图更加强烈。 -
Cart and Order(加入购物车和下单)
这两者都是和购买强相关的特征。这里要注意商品性质,如果是消耗型商品如卫生纸,食品等,用户下单之后复购的概率更大;但如果是电子产品等则复购率较小。 -
Dwell time(停留时长)
一般来说停留时间越长,用户对该商品的兴趣越大,越有可能发生购买行为。
3.2 微观行为效用分析
本小节对于不同微观行为见的关系进行了数据分析,结果如图2-6所示。
-
Ordering
为了研究下单与其他行为的关系,此处统计了转化率和具体微观行为见的关系,如图2所示。这里转化率由式(1)计算,即在该行为下的样本中有多少是用户最终购买的。
统计结果如图2和图4所示。由图2可以看到,“加入购物车(Cart)”这一行为对于转化率的影响最大;除此之外,阅读评论(Detail_comments)、阅读参数(Detail_specification)、滑到商品底部(Detail_bottom)、通过购物车点击商品(Cart2Product)以及通过促销点击商品(Sale2Product)这几种行为对应的转化率也较高,这也是符合我们直观认知的结果。
图4中,可以看到在一定范围内随着停留时间的增加,转化率也相应增加;当停留时长增加到一定范围之外,转化率会下降,这表明如果用户在商品页面停留过就其注意力和兴趣可能会转移到别处。 -
Dwell Time
图5中展示了停留时长与点击来源(Click Source)的关系。可以看出没停留时长与用户的点击来源也是相关的。例如用户通过搜索发生的点击,其停留时长往往会更久。图6说明了停留时长与浏览模型(Browsing Module)之间的关系。停留时间越长,用户越进行阅读评论等行为的可能性越大 -
Click Source
图3中给出了点击来源和浏览模型间的关系。与停留时长的结果类似,通过搜索发生的点击行为,用户产生阅读评论、参数等行为的概率越高。
最后做个总结:首先,不同的微观行为之间是相互关联的;然后不同的微观行为是对于其他行为的影响是不同的。
4. RIB模型
模型结构没有特别创新的地方,主要由Embedding Layer, RNN Layer, Attention Layer组成,如图7所示。
-
Input Layer
首先输入数据由用户和个微观行为组成,这里每个可以表示为
其中都是one hot向量,作为embedding layer的输入。 -
Embedidng Layer
将输入的用户特征分别通过embedding操作转化为低维向量,再将转化后的embedidng vector拼接起来作为后续的输入。 -
RNN Layer
论文中采用了GRU来刻画用户微观行为序列的时序信息,具体过程就不展开了,有兴趣的朋友可以参考论文4.2节。 -
Attention Layer
这里使用了一个self attention结构来刻画不同微观行为的作用,同样也不展开叙述。 -
Output Layer
Loss函数选取了cross-entropy函数。
5. 总结
用户的微观行为往往可以更细致地刻画用户的兴趣。本论文总结了四种不同的微观行为(点击来源,浏览模块,购物车&下单,停留时长),分析了它们的内在联系,并利用这些微观行为构建了基于embedding+RNN的推荐系统模型。其中对于微观序列的利用值得我们进一步思考。