标签个性化数据在推荐排序中的应用

标签: | 发表时间:2017-11-11 08:15 | 作者:
出处:http://www.infoq.com

导读

 “ 个性化是这个时代最耀眼的特征,谁能更好更快的抓住用户的个性化需求,谁就将赢得商业的未来”——《个性化,商业的未来》

本文share的这个项目,是我们在个性化推荐上的一个小小的尝试。通过捕捉用户实时的标签快速捕捉用户兴趣变化,用机器学习算法挖掘用户兴趣与实际消费行为的联系,及时调整推荐排序,提高推荐效果。

一、背景

2013年推荐还能实现效果100%的增长吗?

推荐从无到有,除了大盘增长带来的推荐成交自然增长外,基于协同过滤的推荐效果相比热销效果翻了一番。随着协同过滤技术的普及,推荐增长速度已经明显放缓,急需寻找新的突破点提升效果。

个性化的声音此起彼伏,我们团队也开始考虑使用个性化的方案,一方面通过捕捉用户的个性化的信息,更及时的了解用户兴趣点;另一方面,尝试各种个性化推荐匹配思路,希望给用户带来更好的推荐体验。这个case在这两个方面都做了尝试,从效果数据上看有明显提升。

二、个性化解决方案

个性化的核心问题是:用户的个性化信息挖掘和个性化信息的应用。

在这个项目启动之前,我们个性化上的尝试还是基于用户的历史信息,难以反应用户快速的兴趣变化;在个性化信息的应用上,缺少统一应用方式,往往是一个情景一种思路,通过人工定规则,难以保证效果且耗费资源。

捕捉用户实时个性化信息,快速捕捉用户兴趣变化;并基于用户反馈的方式应用个性化信息于推荐,是本期项目的两个关键点。现在,用户个性化信息实时捕捉->基于反馈的个性化信息应用->推荐效果提升,已经成为我们优化推荐资源位的一套科学方法论。

1 、用户实时信息捕捉:

用户的实时信息虽然有多种多样,但基本上都是来自于用户实时的行为和行为作用的商品/品牌实体上。抛砖引玉,这里我们以商品为例,通过用户访问的商品及商品的标签信息来表达用户的实时信息。

每个商品都有一些特定的标签:比如下面两个例子。商品标签的重要性通过权重标出。

商品

标签

商品

标签

正品匡威帆布鞋 converse all star 白色 / 黑色 / 酒红拉链高帮

匡威,0.9999

开口笑,0.4291

低帮,0.3121

女鞋,0.2453

高帮,0.2186

匡威开口笑,0.1842

匡威经典款,0.1425

铆钉,0.1286

白布,0.1151

情侣,0.0997

品质保证伟乐 WL--908MV 头戴式舒适耳麦网吧耳机

伟乐,0.9878

头戴式,0.6898

网吧,0.5427

舒适,0.3143

pc电脑,0.0829

直插,0.0647

3.5mm,0.0572

有线,0.0494

用户在浏览时,就被打上了他刚刚看过的这些标签信息。用户对某一类商品看的越多,与那一类相关的标签就会越多。

在生成用户标签数据时,我们考虑了以下几个因素:

  1. 商品的标签权重。不重要不具有区分性的标签的权重相对较小
  2. 用户对某商品行为距离当前的时间。时间越近的影响越大,从而用户上的标签可以反应用户最近的兴趣点。
  3. 行为的类型,包括浏览、收藏、加入购物车、购买。对不同的行为类型设置不同的权重。

用户标签示例:

用户 id

标签

用户 id

标签

6276041xx

(一个偏好日常生活用品的用户)

毛毡:2.14

竹纤维:1.57

面巾:1.26

咖啡棒:1

沐浴瓶:1

漱口杯:1

针织:0.99

保暖:0.88

室内:0.8

生活:0.75

绑带:0.68

1058139xx

(一个偏好时尚小青年服装的用户)

林弯弯:2.59

机械表:2.03

外壳贴膜:2

个性:1.45

外壳膜:1.4

迷彩:1.4

连帽:1.28

镂空:1.16

背包:1.05

逸枫:1

iphone5:1

2 、个性化排序

基于用户标签和商品标签,计算用户对商品的感兴趣程度,拍脑袋可以想出很多种方案。但是在数据化运营的时代,我们相信数据本身胜过相信拍脑袋的决策。所以我们想到了利用点击反馈数据来决定如果使用用户个性化数据。

  1. 首先,我们利用用户标签、商品标签,计算了多种相似度,作为<用户,商品>相关性的一种表达。
  2. 然后,将用户的每一次点击/无点击视为对<用户,商品>的一次反馈,形成反馈数据

  3. 最后,利用反馈数据进行机器学习训练,寻出最优的相似度组合方式
  4. 最终得到的个性化排序公式的形式是:

从用户的反馈数据中通过算法训练得出的组合规则,有以下几个优点

  1. 科学训练,保证效果,不定规则拍脑袋,节省了不断上线测试效果调整参数的工作量
  2. 自动化进行,在需要引入新的相似数据时,可以自动完成新一轮的组合规则学习

三、效果

效果对比以A/B test的方式进行,在天猫购物车-猜你喜欢,迎客松等推荐位上进行一周测试,对比测试桶和基准桶,各项指标均有显著提升。

相关 [标签 个性 数据] 推荐:

标签个性化数据在推荐排序中的应用

- -
个性化是这个时代最耀眼的特征,谁能更好更快的抓住用户的个性化需求,谁就将赢得商业的未来”——《个性化,商业的未来》. 本文share的这个项目,是我们在个性化推荐上的一个小小的尝试. 通过捕捉用户实时的标签快速捕捉用户兴趣变化,用机器学习算法挖掘用户兴趣与实际消费行为的联系,及时调整推荐排序,提高推荐效果.

如何运用CRM系统数据进行标签化精准营销?

- - 互联网分析沙龙 - 干货
相信大家都了解过大数据,也学过一些大数据分析方法. 但是我们如何利用大数据分析,创造价值呢. 今天智云通CRM系统小编要跟大家分享如何运用CRM系统数据进行标签化精准营销. 这个问题从本质上看是两类问题:. 这是个聚类问题,将同一类用户通过算法聚合成一类.   针对每一类数据实体,进一步分解可落地的数据维度,形成字段集.

使用EL表达式获取数据和使用JSTL标签库迭代容器

- - CSDN博客推荐文章
为了避免在JSP页面中出现Java代码和显示Servlet处理完成带过来的数据并且显示,使用EL表达式会非常容易而且简介,但是对于存放在容器中的数据,EL表达式不能单独完成迭代输出,所以必须使用JSTL标签库配合使用,这个是JavaEE附带的一个非常强大的标签库,估计在以后还会用到. 首先是EL表达式的几个不同情况的用法.

数据驱动销售&mdash;&mdash;个性化推荐引擎

- - 互联网旁观者
在当前这个信息量飞速增长的时代,一个企业,尤其是电子商务企业的成功已经越来越多地与其海量数据处理能力相关联. 高效、迅速地从海量数据中挖掘出潜在价值并转化为决策依据的能力,将成为企业的核心竞争力. 数据的重要性毋庸置疑,但随着数据的产生速度越来越快,数据量越来越大,数据处理技术的挑战自然也越来越大.

【妙史】亚马逊的大数据萌芽——个性化推荐

- - 钛媒体TMTpost—把脉科技资本论
【陈倩璐/钛媒编辑】在《大数据时代》一书中,记录了这样一段历史,颇为有趣. 现在,当我们上网购物时,经常会有一个栏目向我们推荐其他的商品,如今看起来很简单、普遍,但这个创意,你知道是怎么来的吗. 这种根据以往的购物习惯和爱好向用户推荐的方式来源于亚马逊的创举. 1994年杰夫·贝索斯(Jeff Bezos)创办了这家后来更名为“亚马逊(Amazon.com)的电子商务公司.

jstl标签经典

- - CSDN博客推荐文章
库 :Core(核心库). 描述 : 标签是一个最常用的标签,用于在   JSP   中显示数据.  它的作用是用来替代通过 JSP 内   置对象 out 或者 <%=%> 标签来输出对象的值. 用于指定在使用  标记输出诸如“ < ”、“ > ”、“ ’ ”、“” ”和“ & ”之类的字符(在  HTML  和  XML  中具有特殊意义)时是否应该进行转义.

struts2的标签tag

- - CSDN博客编程语言推荐文章
二、 常用的Struts 2.0的标志(Tag)介绍. 在上一篇文章《 为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节. 如果,您看完《 为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我.

Struts标签详解

- - CSDN博客推荐文章
数据标签主要用于提供各种数据访问相关的功能,比如显示一个Action里的属性,以及生成的国际化输出等. Struts2数据标签主要分为以下几种:. property:用于生成输出某个值 值包:valueStack、StackContext和ActionContext中的值. bean:该标签用于创建一个JavaBean实例,如果指定了id属性,则可以将创建的Javabean实例存放入Stack Context中.

HTML head 头标签

- - IT技术博客大学习
HTML head 头部分的标签、元素有很多,涉及到浏览器对网页的渲染,SEO 等等,而各个浏览器内核以及各个国内浏览器厂商都有些自己的标签元素,这就造成了很多差异性. 移动互联网时代,head 头部结构,移动端的 meta 元素,显得更为重要. 了解每个标签的意义,写出满足自己需求的 head 头标签,是本文的目的.

Struts2常用标签总结

- - CSDN博客推荐文章
1.Struts2的作用 . Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性. Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求. Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用.