前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你的每一次外卖都是与深度学习的美丽邂逅

你的每一次外卖都是与深度学习的美丽邂逅

作者头像
小莹莹
发布2018-04-24 15:25:11
7180
发布2018-04-24 15:25:11
举报

很多同学认为外卖是线上下单、线下送餐的业务,商业模式简单,这种想法正确但是理解片面,它不仅需要技术,而且要用深度学习来解决。那么,外卖为什么需要技术?为什么需要深度学习技术?

很多同学认为外卖是线上下单、线下送餐的业务,商业模式简单,这种想法正确但是理解片面,它不仅需要技术,而且要用深度学习来解决。那么,外卖为什么需要技术?为什么需要深度学习技术?

深度学习对于送餐的价值,大家简单了解一下外卖业务的场景和特点,就能理解其中需要通过技术方式来解决的难点了。

从业务场景上划分,是团购、点评、预订和外卖:

团购,像过去的美团、大众点评,当然这两家公司现在合作了,还有之前的窝窝、拉手以及百度糯米。

外卖,像美团外卖、饿了么。

点评,像经典的以信息平台的方式给用户提供信息决策的大众点评。

预订,美团在做的点餐相关的很多业务。

事实上,外卖上的 O2O 线下场景及其业务模式,要远比上图所表达的要复杂。

而整个外卖行业的发展非常快,我们 2014 年的订单才刚突破 100 万,但是到今年 6 月份的时候,我们的订单量已经突破了 1200 万。

外卖业务相比团购、电商的平台有四个业务特点:电商化、运营化、本地化、场景化。

首先说电商化,外卖的交易能够闭环。这一点跟电商在淘宝京东的模式比较类似,但是不一样的地方在于它是线上线下结合,所有提供服务的店铺都是实体的,不管餐饮还是非餐饮。

接下来是运营化的特点,一个是内容形式的多元化,包括商家,餐饮的、非餐饮的,餐饮有很多套餐的组合;内容形态上能看到产品的形态,目前这一块还不明显。

另外是运营能力,包括商家自运营的能力、BD 自运营的能力、骑手的运营能力,这些都不是完全一样的。

另外一个特点是本地化。对于用户来讲,他一般只能消费到绿色区域商家提供的服务,这就决定了它的供需关系是受约束的。

还有一块是供需关系的动态变化。动态变化首先商家不是 24 小时营业的,另外是商家的配送距离也是动态变化的。

从技术角度满足整个服务的动态变化,就需要个性化的数据,这是一个很大的挑战。

最后一个是场景化。上图是外卖订单按一天24小时的分布曲线图,有两个高峰,一个是午餐高峰,另外一个就是晚餐高峰。这个是时间的一个时段化。对于基本吃的场景来讲,用户吃的地域性或者本地化的差异比较大。

综合这几个业务特点来看,一个是个性化程度很高,另外一块精细化的需求很大。

我们在时间场景上、地域场景上,甚至更细的业务场景上,要把精细化程度做深;另外一块是多元化的特点,形态多元、内容多元包括供给单位的多元;还有实时化程度很重要,配送这一块的距离在实时变化,我们需要做实时监控。

针对这些业务的特点,我们要去解决这些技术挑战需要什么样的基础工具?

下面简单介绍一下美团点评的整个大数据平台。

美团点评的大数据平台架构

美团点评大数据平台的架构,最底层是美团的基础设施,美团有自己的云平台,所以所有的服务器都在云平台上。

云平台之上是基础的 HDFS 这样的服务,像 Hbase 这些相关的基础设施。上面一层是机器学习平台,非线性数目性的工具都有相应的部署。

最上面是美团点评几个大的业务群,包括酒店、旅游的业务,包括娱乐这样综合的业务,包括整个公司的广告平台。

在主架构之上有一个 Log 平台,因为业务很多,所以业务产生的数据,不管是 B 端还是 C 端,很多数据都会统一落到 Log 平台上,由 Log 平台对接到顶层业务平台上。

另外一个就是监控平台,服务监控、数据监控以及业务调度。

美团点评的深度学习应用实践

接下来,给大家简要介绍美团点评深度学习的两个关键应用场景。

应用场景1:图像技术

美团平台上的技术内容多样化,包括图像和文字,尤其用户在手机上面,会做很多决策的时候,图像对他的决策影响至关重要。

在图像这块,我们做了两个关键事情,一个是图像质量的技术,另一个是 OCR 技术。

图像质量技术有什么应用场景?如上图所示,左侧这个图明显看着比较舒服,右侧图就看着乱七八糟,这个很难主观描述,就是人的直观感觉。

具体来说,左侧两个图片的清晰度可能高一点,或者完整度高一些。在用户做决策的时候,如果我们在平台上面分的是质量比较高的图片,用户整个点击会比较快。

对商家来讲,用户很容易发生需求匹配的转化。但是右侧这个图来讲,整个体验转化的能力上会相对比较弱。

基于这个背景,我们对图像质量进行判断,发现存在一些关键的难点和挑战,主要有三个关键点:

标准评判很难,包括定义它的清晰度、完整度还有图片里面的构成,整个行业也没有对图像质量的标准定义。

用户的关注点不一样,有些用户可能关注图片是否清晰,有些用户关注图片是不是完整,有没有关键的信息给切走。

人工标注成本高。

怎么解决这几个问题?我们引入了建模的方式,一个像美学的课程,另一个是图像基础的特征,并在样本标注上采用自动化标注的方式。

我们去看图片的来源,直观的理解是用户自动上传的图片,也就是 UGC 的图片,质量相对差一些。我们专业的人员开设的图片质量会好一些,可以做一些基本的标注。

另外一块是基于用户行为来看,我们会展示给用户点击比较多的图片,可能是用户感兴趣或者质量比较好的图片;点击比较少的图片,我们认为它是质量比较差的图片,这样可以通过自动化的方式把样本标注出来。

在图片输入上,我们没有直接给每个图片识别它是高质量、中质量还是低质量的图片,基本上采用的是一个学习的方式,比如图片的美感,通过 DNN 方式来判断图片,包括它的品类,属于快餐、西餐还是简餐之类。

另外一块是基础特征,图像的色彩,包括图像的对比度。

这些基础特征也可以用来做整个建模,还有一块是整个在深度学习上面,我们有直接去做,通过 KOS 的方式判断哪一个图像质量比较好,哪一个图像质量比较差,最主要是从一堆图片里面选择比较好的图片展示给用户。

涉及到的数据比较商业化,整体来讲,建模做完了之后,我们用户体验式得到了提升。

应用场景2:OCR技术

前面是整个图像质量的一个技术,接下来说说 OCR 的技术。OCR 是做数据的检测,OCR 在美团外卖有哪些比较关键的应用呢?

比较大的方面是自动审核,为了保证给用户提供可靠的服务或者优质的服务,我们需要审核商家的牌照,商家的经营许可证,商家的产品质量,这一块如果用人工审核的话,人力成本会很高。

另外一块是自动录入,商家入住到外卖平台之后,要把菜录入到上面去,尤其商家要不断的改菜单,不断的录入菜单,这一块是自动录入的过程,这是我们基本应用上的两个需求点。

图像有很多成像的方式,另外一块文字很复杂,很多图片上的文字不是标准的楷体,各种各样乱七八糟的字体会有,甚至还有变形的字体,图像的背景很复杂,或者说人看到都很难区分这种场景,这对整个 OCR 提出了技术难点的挑战。

怎么解决这些问题呢?

OCR 识别的技术是我们发现比较关键的技术,文字的检测首先从图片开始,比如我们检测哪一些是图片里面的文字,哪一些是图片本身。

另外一块是文字的识别,我们检测到图片之后,怎么把里面的文字识别出来,这一块整体采用的是 CNN 方式,加入 BLSTM 的模式,考虑了整个序列建模的能力,最后一块是 CTC 的序列识别模型。

我们整个过程由原来人工审核变成了自动化的过程,整个运营效率得到了很大的提升。

美团点评DNN在评估模型中的应用

接下来详细介绍一下 DNN 在预估模型上面的应用,包括前面也讲了会涉及到很多预估,预估在整个算法领域用的非常多,比如说广告里面涉及到的 CTR 的预估。如果我们优化目标可能是 CTR 那就是 CTR 的预估,还有很多 ROI 的预估。

最近几年,国内外互联网大公司都在研究基于 DNN 的模型,怎么把原来传统的模型可能存在的一些缺点进行改进,这是我们在做的一些相应的探索。

首先简单介绍一下我们的业务模型。前面介绍了业务的特点,基于业务特点,用户的模型是什么样的,有几个关键的步骤,用户做决策时看到了相关的信息之后,这个是不是用户的目标需求,决定了用户的消费决策。

先点击,点击之后进入到商家的点菜页里面,可以加菜或者减菜,之后用户可以提交订单,提交之后用户有一系列的输入、地址等,之后就是支付了,最后就进入到商家系统。

整个流程像一个漏斗,在这个漏斗里面每一场都有相应的转化,我们可以去做预估,也可以对整个链路做一个完整的预估。

另外一块是在这样一个预估模型里面,我们通过多个维度的特征表述这个样本,我们采用某一种学习模型,得到最终的预制结果。

在外卖的场景上,特征的维度更复杂,前面提到用户的特征这是最基本的,另外一块包括场景层面地点的特征,不同的建筑物类型,用户需求的不同,包括时间也涉及到配餐的特征,用户肯定倾向于配送比较快的结果。

这个又分不同的业务场景,比如说吃午饭 12 点餐,你可能希望十分钟送过来,你想吃水果你可以等三个小时。

什么是特征组合?

另外一个就是商家的特征,最主要是商家提供的商品,采用直营的模式,每一个实体的饭店,包括饭店的质量和整体的转化能力,其中经营能力有很多的特征,还有商品的特征。

从这个角度来看,整个定特征的过程中,特征很多,这么多的维度都可以切出来不同的模式,怎么去定义特征,怎么组合特征的过程成本很高,这个过程依赖于人工经验,在整个行业里面个性化推荐效果比较好,为什么效果比较好呢?

除了技术比较好之外,在业务这一块做了很多特征的定义,除了技术本身要深入的理解,业务上也有很多的特征和经验。另外一块是特征选择很大,特色比较多了之后做特色选择成本是很高的,怎么样把有价值的选出来。

刚才提到几个关键点是 DNN 比较擅长的能力,为什么我们会尝试很多的 DNN 呢?

一方面是传统的模型已经研究了很多年了,另外一块在传统的模型上面,它有一些不足。

它的优点是速度很快,基本上是线性模型,我们用千亿级的特征,但是它的缺点在于因为它是线性的,所以非线性的能力是比较弱的。但是实际的场景里面不是简单的线性化,而是非线性化,甚至更复杂的构成。

另外一块因为是线性的,所以最基本的逻辑认为它是单维的,需要我们每个人手动的组合特征,组合特征就涉及到如果人工安排,我们如果准备三个就三个,如果多个就很复杂,所以特征组合的成本很高。

树模型的应用

树模型可以解决特征组合的问题。同时还能解决整个树空间的问题,把整个空间做了一个多维度,不是简单的通过线性的切分方式,所以它的解决就是线性能力受限的问题。

比如说前面提到的有业务的类型,有快餐、简餐、西餐;另外一块是文本特征,这一块树模型上面不是那么擅长的,所以基于此我们尝试多个 DNN 的模型。

整个系统的架构架构分为两个大的层次,首先是基本的数据层,包括用户来了之后在 APP 上面,包括我们的 API、很多业务的数据,上面分两块,一个是离线的数据处理,一个是在线实时的数据处理。

离线数据有几个关键的步骤,另外一个在线的整个逻辑上比较类似,核心的逻辑部分就是包括端达到 API,API 到后来的 Service,这个用户是使用技术还是某一个线,这个按照业务特点的规则要做一个排序的。

再看一下整个在外卖上面关键特征的体系,一个是用户维度,一个是商户维度。

我们从用户画像来看,一个是基本用户是男生还是女生,或者是它的行业是学生还是白领,有哪一些偏好,他喜欢吃粤菜还是北京菜,还有另外购买能力,一顿饭吃一百块还是 20 块钱,另外还有优惠的偏好很多的信息。

商户这一层包括商户的基本信息,也有商家用的第三方的配送,也有用的美团点评,所以在配送的时效性这一块有很大的差别,这个是单独的特征,另外还有各种组合特征和关联特征。

比如说一个用户浏览次数是多少,点击次数是多少,下单次数是多少,以及对应的点击率是多少,有很多交叉的特征。

熟悉了政策体系之后,首先我们尝试了 Google 经典的 Deep Model,分成两块,特征进去之后做最后的一个预测得到相应的结果。

接下来简要介绍一下,Wide 这一块可以输出单一的特征,又可以输出组合的特征,需要把特征转到一个 Model 空间里面去,在 Deep 这一块可以根据业务的特点是去试用或者调参数。

另外一块是做特征时,虽然它是高维的,但是可以把高维转到低维空间里面,这一块是更详细的一个图,这个图里面我们把特征做了分层,也可以做的比较灵活一些,可以在不同的厂商,或者有的厂商可以介入到最终的逻辑回归那一层。

在做模型的过程中,关键的就是离线,离线一个是样本处理,包括样本的清洗还有爬虫过滤,爬虫现在不少,这些爬虫的数据对整个的效果影响很大。

另外还有无效的加载,材料的优化,怎么调价样本还是副样本都很关键,我们采用用户的点击设想给它。

在业界里面用的比较多的,甚至他是新用户使用优惠才点,这个是表述它的兴趣的内容,我们做了一些筛选,选出来相对一定频度的用户,或者是商品作为整个的样本空间,准确的来做数据。

前面提到的 Model 把不同的特征做了不同层次的划分,不同层次的划分在不同模型上使用,特征能力用的比较强,但是大家也看到,前面模型使用特定的特征,没有考虑到实序的特征。

实际上用户进入到一个场景,不管是电商的产品还是外卖产品的时候,用户肯定会有一系列的行为。

比如说在最终下单之前,还有就是去构建实际的序列,同时把实际的序列作为每个时段的输入,同时每个时段去做相应特征的项目,最终做一个完整的预测得到相应的结果。

这里面是使用经典 RNN 的模型,大家可以尝试一下长短序列机的模型。

这一块因为涉及到用户的实时架构,所以简要介绍一下我们实时系统的架构。基本上,首先是用户的个人行为的数据,进入序列之后,根据数据做相应的梳理。

从整个 KV 结构里面,同时去做多层指标的监控,监控这个数据是不是正常的,我们怎么样对日常的数据做一些相应的处理。

接下来简单介绍一下用户的信息,一个是输入,以不同的应用场景去选择,实际上在点击用户场景里面可以点击用户观看,同时它的每一个输入需要做相应的 one—hot 这种输入。

输出的也可以做一个序列,这个序列可以根据实际的场景控制,序列里面根据概率我们去选择的时候,按照一定概率的排序去给用户一个相应的序列结果,精准的标识用户的需求。

在这里面,关键点是序列的长度。序列的长度根据不同的业务方式去调整,序列太长了,一方面可能会很稀疏,另外一方面计算的时间很高。

序列太短的情况下,用户的信息不会被充分的挖掘,需要按照一定的时间窗做相应的选择。最终的收益是我们给用户推荐结果的精准度提升了很多,提升了整个平台的转化效果和收益。

结语

对外卖来讲,业务很关键,如何把最终的效果做好?不但要从技术的角度上理解,我们还需要对业务有更深入的理解,理解业务之后决定采用什么样的技术来解决这个问题。

另外在算法选择上,在整个算法里,一下子找到牛逼的方法需要做很多的尝试,我们需要尝试很多的模型,同时需要做总结,在什么样的场景,什么样的问题上用什么样的策略方式是比较合适的。

END.

来源:数盟

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PPV课数据科学社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文字识别
文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档