立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

京东 618:揭秘大促销背后的个性化推荐

  • 2015-06-17
  • 本文字数:2594 字

    阅读完需:约 9 分钟

写在前面:京东作为国内最大的自营 B2C 平台,目前个性化推荐成交的订单数已占到总量的 13%。这其中,数据驱动的个性化推荐系统发挥着越来越重要的作用。在 7 月 17~18 日即将举行的 ArchSummit 深圳 2015 “电商和零售业的转型”专题论坛上,京东推荐搜索部技术总监刘尚堃也将分享《京东数据驱动下的个性化推荐》。在一年一度的“6·18”大促销活动到来之际,InfoQ 走进京东,带你领略背后的技术之谜。

受访嘉宾介绍:刘尚堃,京东推荐搜索部技术总监。2011 年加入京东组建了京东搜索团队,2013 年在继续负责搜索引擎相关工作的同时,开始组建广告算法团队,通过一年的算法优化,京东快车广告系统为公司过亿的收入。2013 年年底负责京东推荐系统和搜索系统包括架构、算法、产品在内的全部工作。2014 年带领团队全方位向千人千面推荐和搜索产品目标迈进。

InfoQ:首先请介绍下自己及您的团队所负责的事情。

刘尚堃:我 2011 年初加入京东,开始组建搜索团队,并带领团队用 C++ 研发了一套分布式搜索引擎,在此之前京东的搜索是基于开源系统构建的。2012 年底系统上线之后,京东的转换率有 2%的提升,性能提升了 100%。在这个过程中团队也得到了磨练。2012 年开始组建了广告团队,并开发了”京东快车”,2013 年年中该广告系统已经给京东创造了上亿元的营收。在后来的对比中发现,京东 45% 的品类点击超过淘宝。2014 年广告团队剥离出去独立运作,我开始负责搜索和推荐团队,现在部门有大概 80 人的规模。

InfoQ:您能介绍一下京东的分布式搜索引擎系统的开发过程及其系统架构吗?

刘尚堃:简单说一下吧。如上图所示,从上到下。首先是搜索引擎的前台部分,有一个意图分析的模块对用户的类型以及请求 query 进行分析。然后进入搜索过程,搜索分两部分,一部分是业务逻辑层,一部分是分布式的 search 引擎阵列。最下面的是数据更新,全量更新与实时增量更新。经过多年的打磨,现在基于 Hadoop 的数据全量更新每天进行一次,实时增量更新则是滚动进行。我们刚刚采用流水线推送技术进行全量更新,性能比过去提升了 20%。

此外,搜索引擎也会连接到用户画像,对其进行更精准的匹配。接下来就是数据分析的部分了。一般我们每周会进行 3 次小流量的算法改进,主要是对 GMV(Gross Merchandise Volume)和转化率的调整测试。

InfoQ:有一个问题我问过不同的相关公司,也想再问下您,商品推荐、广告推荐与内容推荐有哪些异同?在技术实现上各有什么特点?

刘尚堃:其实商品推荐更侧重用户的购买行为,即把大量的商品定位到海量的人群中去,促成订单的成交,这可以用明确的财务指标来衡量;广告的重点是吸引用户点击,以满足商家的推广与展示需求;内容推荐的衡量比较负责,需要看用户兴趣、内容新颖度、以及点击率等多维度指标。

因此,商品与广告的财务指标更容易激起团队的成就感与激情。

这三者的技术实现是有一些通用的步骤可循。以我们京东的推荐系统为例,首先是召回模型,即底层架构和计算平台,比如数据提取、分布式任务的调度与计算等;上面是离线模型,主要是对用户画像、协同过滤以及关联度匹配,这一层用户实时行为对结果的影响更大;再之上是排序模型部分,主要是规则排序、机器学习等。比如我们近期上线了 leaning to rank 对排序优化提升了 20%;再之上是 A/B 测试的框架以及业务架构。

广告推荐更类似于离线部分以及排序里的 CTR(Click-through Rate)预估。有一个很大的不同在于,广告系统里的产品池远小于商品推荐的规模,因此更侧重 RPM(注:广告请求每千次展示收入,(Estimated earnings / Number of ad requests) * 1000),客户关注的是 ROI(Return On Investment)。

InfoQ:京东快车系统在持续优化的过程中,遇到了哪些比较有代表性的或者说有意思的问题?这些问题是怎么解决的?

刘尚堃:现在广告系统叫”精准通”。2014 年之后独立运作了我了解不多,我说一下 2014 年之前的吧。我们广告系统刚上线的时候,广告商品的库存量比较小,这时候定向投放的相关性会比较差,但是又不能过度增加其曝光量,否则会破坏京东用户的体验。为了保证二者的平衡,我们采取减少曝光、保证用户体验和广告主利益,但是牺牲了部分收入的做法。

这类似于”饥饿营销”,也源于我们当时的谨慎。由于精准度较高,商家的热情一下子被拉起来了。但是广告资源有限,后期随着广告资源的不断丰富,我们才逐渐放开了这个限制。

InfoQ:今年 QCon 北京的时候我们就深度学习方面的内容采访了一下李成华博士。您能否谈谈深度学习 / 机器学习在京东现有业务系统中的应用?

刘尚堃:现在深度学习的主要应用是智能机器人方面,我们团队有一位从 Google 过来的博士在做。客服机器人第一步是对用户的问题与 20 多个大类进行匹配是最难的,这一步主要用了很多 DNN(Deep Neural Network)的算法。

InfoQ:作为一个用户量超大的网站,您所负责的系统架构有没有经过大的调整或重构?

刘尚堃:现在更多的是只对系统的痛点部分进行改进。比如,以前全量数据传输比较慢,我们后来用流水线推送进行改进。我们更像是在高速公路上一边跑一边随时随地换轮胎。每次的改进都是一次突破,所有的优化都是立足在架构层面的,比如使得我们的调用更加透明、系统性能更为稳定,使业务开发更加迅速。底层的优化根据我们的具体需求在持续地改进。

InfoQ:在最近这两年的 618 活动中,千人千面计划的实施取得了哪些突破?618 活动对系统和你的团队有哪些挑战?

刘尚堃:京东的 618 可能有点不一样。千人千面作为用户画像的部分,在促销活动中所起的作用主要是对商品的排序。

目前这已经是我第五次做 618 这样的活动了。这个跟你们理解的不大一样,该做的事情平时和 618 之前我们都做完了,团队已经成长起来,我们也都习以为常。否则我也不能坐这里接受你们的采访,而应该在上面忙活着。

InfoQ:明天就是 618 了,您所负责的推荐与搜索系统对历次 618 活动的销售预测情况如何?有什么可以透露的消息吗?

刘尚堃:谈到技术,说的最多的是我们要扛过去啊,其实这是对系统最基本的要求。技术的支撑作用是毋庸置疑的。

现在技术更主要的是推动作用。我们的工程师针对今年的 618 开发了一个促销搜索的 PC 端产品,可以对促销商品的真实性、优惠力度、排序等比较接地气的功能,这里面技术实现了很多。

我们对 618 的原则是,只要能卖出去就不怕赔。今年的预测应该会超过去年淘宝的双十一。到时候在 ArchSummit 深圳 2015 大会上我在给大家做更详细的分享。

2015-06-17 11:477913
用户头像

发布了 64 篇内容, 共 23.6 次阅读, 收获喜欢 11 次。

关注

评论

发布
暂无评论
发现更多内容

直播回顾 | 看完这篇入门数仓研发,跑通复杂业务数据建模

个推

数据中台 数据仓库 数据建模 维度建模 范式建模

DevSecOps“内置安全保护”,让软件研发“天生健康”

华为云开发者联盟

DevOps DevSecOps 软件研发 安全架构设计 安全隐私

Swoole中的协程使用相关说明,快来围观

CRMEB

性能测试中QPS取样器和RT取样器

FunTester

「Spring」@ConfigurationProperties——从基础到源码

Geek_rze78a

Java spring 源码

云原生应用配置中心简述

穿过生命散发芬芳

4月月更

Windows 11 修改 PIN 的长度为 4 位

HoneyMoose

英特尔分享进军独显市场的背后思考

科技新消息

linux之service命令

入门小站

Go语言入门很简单:Go 中的作用域和变量隐藏

宇宙之一粟

作用域 Go 语言 4月月更

C语言总结_数组与函数传参练习题

DS小龙哥

4月月更

揭秘华为云GaussDB(for Influx):最佳实践之数据建模

华为云开发者联盟

MySQL 数据建模 数据模型 华为云 GaussDB(for Influx)

聊聊项目外包

石云升

创业 项目管理 职场经验 4月月更 项目外包

在线Excel转TSV工具

入门小站

工具

PingCode 完成近亿元人民币C轮融资,打造世界级研发管理与协作平台

爱吃小舅的鱼

超干货 | 手把手教你快速构建一个企业自有“微信”!

融云 RongCloud

REDIS集群安装运维调优及常见问题处理

IT巅峰技术

中国科技人,在残酷春天里翘首等待

白洞计划

低代码在线文档 — VitePress网站生成

源字节1号

软件开发

区块链行业一周热点回顾|马斯克回应狗狗创始人;虎符交易所回购HOO

区块链前沿News

马斯克 Hoo 虎符交易所 doge

OpenHarmony 技术日| 锻英才以应时需 协教育同繁生态

科技汇

开源社区问与答

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

Docker知识对应验证

Docker 4月月更

Android C++系列:string最佳实践

轻口味

c++ android 4月月更

Docker下,极速体验编译pinpoint1.6.x分支

程序员欣宸

Java 分布式 4月月更

Go单体服务开发最佳实践

万俊峰Kevin

微服务 单体架构 web开发 go-zero Go 语言

「微服务的细节」—— 如何获取本地IP?

袁世超

微服务

求推荐一款免费的项目(OKR)管理系统?

优秀

OKR 项目管理系统

攻克编译器技术(1)

刘旭东

编译器 4月月更

JWTToken在线编码生成

入门小站

工具

[Day25]-[二叉树]二叉搜索树中的插入操作

方勇(gopher)

LeetCode 二叉树 数据结构算法

京东618:揭秘大促销背后的个性化推荐_服务革新_魏星_InfoQ精选文章