Reminders在电商推荐中的价值
原论文在UMAP'16。文章并没有太高深的模型,比较接地气;但其观点与结论很独到,并且在工业界具有很强的实际操作价值。
针对推荐系统的研究大多关注在挖掘用户并不知道但是却与其兴趣相关的物品。不过每个推荐系统所在的领域都有其各自的特点,本文所讨论的是电商领域的推荐系统,在电商领域中,给用户适当地推荐其过去曾经浏览过(或者消费过)的物品(reminders)同样具有一定的价值。
实验证明,在推荐结果中同时包含有reminders以及协同过滤(CF)等推荐方式的结果时,具有最好的效果。但是在推荐reminders时候也有很多需要改进的点:(1)如何避免太过明显的重复浏览的商品,避免已经无效商品(下架等);(2)如何推荐与用户当前购物需求相关的reminders。
首先,文章分析了用户对于电商网站的推荐内容中的reminders的接受度。以Zalando网站(一家欧洲的在线购物网站)为例,抽样了3000个重度用户,他们对18w+的商品有过310w量级左右的商品浏览记录,以及10w+的购买记录。对于这些用户,从日志中分析出有一下几个重要点:
1. 一个用户的购物session中平均有9次商品的浏览行为;平均每3次购物session会转化为一次购买行为。
2. 在推荐的商品中,有约1/10的商品是reminders,即用户之前已经浏览过这些商品;有约1/4的推荐列表中包含有至少一个reminders。
3. 在成功推荐的商品(在同一次session中,用户对该商品的点击浏览行为最终转化为购买行为)中,有约40%的商品为reminders。
4. 在用户最终转化成购买行为的reminders中,用户对这些商品在此前有过若干次的浏览行为。如下图所示:有成功推荐商品数与用户距离对该商品首次浏览时候的天数间隔的关系;以及成功推荐商品数与用户对该商品的浏览次数的关系。


5. 在一次购物session中,用户平均浏览的商品类目约为2.7个,说明用户在一次session中的意图还是比较有目的性的。
reminders的推荐策略
一个通用的流程是:
1. 获取用户在过去时间内有过浏览行为的商品集合,并从中筛选出哪些商品可以用作reminders。
2. 对这些reminders进行一定规则的过滤,并进行排序得到最终的reminders推荐结果。
排序的策略有:
1. Interaction Recency(IRec)
对某商品的浏览行为发生的时刻越接近,排序分越高。

2. Interaction Intensity(IInt)
对某商品的浏览行为发生的次数越多,排序分越高。

3. Item Similarity(ISim)
有过浏览行为的商品,与当前用户的购物意图(以当前实时浏览的商品来表示)越接近,排序分越高。

4. Session Similarity(SSim)
有过浏览行为的session,与当前用户的购物意图(以当前实时浏览的session来表示)越接近,排序分越高。然后再对排序较高的session中的商品进行IInt策略的重排序。

Feature-based Category Filtering
在电商领域,用户一般很少对相同类目下的商品进行重复购买,所以至少在一定时间间隔内,不应该给用户推荐与其之前已经购买过的商品属于相同类目的商品。
维护一个blacklist,对用户已经购买过的商品,将其类目加入到这个blacklist中,直至其又重新开始浏览该类目的商品再将其移出blacklist。
为了防止推荐商品太过于obvious,增加一个obvious gap的时间间隔,对于与当前时刻过近的时间段内用户浏览过的商品 ,我们不应当将其看作reminders。
版权声明:
本文由笨兔勿应所有,发布于http://www.cnblogs.com/bentuwuying。如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任。
Reminders在电商推荐中的价值的更多相关文章
- solr在电商平台中的使用示例简析
来源:http://blog.csdn.net/yangbutao/article/details/9450463 在电商平台中搜索是非常重要的功能,主要包括有搜索词类目导航.自动提示和搜索排序功能 ...
- 电商系统中的商品模型的分析与设计—续
前言 在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介 ...
- 转)SSO单点登录在互联网电商应用中的解决方案(基于CAS的改造)
电商平台中无论是前端还是后端会存在大量的业务应用,在整个交易的过程中请求是在各个业务应用中流转的,对于用户来讲只需要登录一次就可以访问所有的业务,这就是单点登录SSO. 单点登录开源有很多的解决方案, ...
- 电商系统中SPU、SKU的区别
SPU = Standard Product Unit(标准产品单位) SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.SPU多见于后台商品的管理. ...
- 电商项目中使用Redis实现秒杀功能
参与过抢购活动就知道,很明显的一点是商即便商品实际没有了也是可以下单成功的,但是在支付的时候会提示你商品没有了. 实现原理:list双向链表 使用redis队列,因为pop操作是原子的,即使有很多用户 ...
- 电商网站中价格的精确计算(使用BigDecimal进行精确运算(实现加减乘除运算))
使用BigDecimal的String的构造器.商业计算中,使用bigdecimal的String构造器,一定要用. 重要的事情说三遍: 商业计算中,使用bigdecimal的String构造器! 商 ...
- 电商技术中企业数据总线ESB和注册服务管理的区别
一.概述 1.什么是ESB 就是企业数据总线的意思,他的核心功能就是兼容各种协议接口,可以将数据在各种协议之间进行流转,并且可以针对数据格式进行编排转换. 异构系统,功能繁多,复杂 代表性的项目有:J ...
- Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理
Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理 说明:Java生鲜电商平台中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务 ...
- Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案
Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案 说明:Java生鲜电商平台中由于采用了微服务架构进行业务的处理,买家,卖家,配送,销售,供应商等进行服务化,但是不可避免存在 ...
随机推荐
- 走近 Python (类比 JS)
Python 是一门运用很广泛的语言,自动化脚本.爬虫,甚至在深度学习领域也都有 Python 的身影.作为一名前端开发者,也了解 ES6 中的很多特性借鉴自 Python (比如默认参数.解构赋值. ...
- C++11 static_assert
C++11 static_assert C++0x中引入了static_assert这个关键字,用来做编译期间的断言,因此叫做静态断言. 其语法:static_assert(常量表达式,提示字符串). ...
- 最长上升子序列(NlogN)总结
最长上升子序列总结 最开始的知道最长上升子序列的时候,简单DP的时候,但是后来遇到很多最长上升子序列的问题就没法用DP来解决,时间复杂度和空间复杂度都不允许.
- awk详解 数组
第1章 awk命令基础 1.1 awk命令执行过程 1.如果BEGIN 区块存在,awk执行它指定的动作. 2.awk从输入文件中读取一行,称为一条输入记录.如果输入文件省略,将从标准输入读取 3.a ...
- C#语言支持的特性,.NET却不支持,那么C#不被.NET支持的部分又是如何在.NET上运行的呢?
阅读<C#高级编程>系列丛书中,介绍C#与.NET的关系,提到C#是语言,.NET是平台(C#不是.NET的一部分),说".NET支持的一些特性,C#并不支持",这个可 ...
- Spring Security Ajax 被拦截
背景是项目中使用Spring Security 进行安全控制 再使用Ajax的时候会报 403(ajax get 方式是没问题的 post 的时候会报) Spring Security 原本是 防止 ...
- 字符函数 php
strrchr( '123456789.xls' , '.' ); //程序从后面开始查找 '.' 的位置,并返回从 '.' 开始到字符串结尾的所有字符
- C#操作Excel知识点
近期在使用C#操作excel,主要是读取excel模板,复制其中的模板sheet页,生成多个sheet页填充相应数据后另存到excel文件,所用到的知识点如下. 一.添加引用和命名空间 添加Micro ...
- Tornado异步
http://www.tuicool.com/articles/36ZzA3 http://www.dongwm.com/archives/shi-yong-tornadorang-ni-de-qin ...
- 【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)
原文地址:http://hi.baidu.com/tbjmnvbagkfgike/item/6743ab10af43bb24f6625cc5 最近写程序需要用到xml操作,看了看python.org上 ...