评书:《美团机器学习实践》

综合技术 2018-12-08 阅读原文

新入手一本《美团机器学习实践》,读完觉得很有意思,把一部分内容分享给大家。

这本书分为六部分,第一部分是通用流程,讲的是机器学习在实践中应用的通用流程,有些经验之谈很有意思;第二部分讲的是数据挖掘,主要包括用户画像、POI实体链接和评论挖掘;第三部分是搜索和推荐,顾名思义,讲的是美团中的应用的搜索和推荐架构;第四部分计算广告;第五部分讲的是深度学习;第六部分讲的是算法工程。

第一部分和第五部分属于通用流程,有一些实践中应用的经验值得学习,不过相对而言,要想了解这些部分不如去看专讲这些的书籍。第六部分笔者个人也觉得较为平常,要想了解这些东西更推荐去阅读专门讲并行机器学习的部分。真正出彩的在于第二、三、四部分,或者说,凡是涉及到POI和O2O的部分都非常值得一读!

美团可以说是当之无愧的国内最大的POI和O2O应用的公司,他们在这方面的经验积累极多,架构非常漂亮,而且即使我这个不大了解这方面的人读起来,也能对机器学习在POI和O2方面的应用有大致的了解。接下来笔者将介绍一些自己觉得很有趣的部分。

POI实体链接

坦率地说,第二部分中,用户画像部分的架构最令我觉得出色,但最有参考价值的部分是POI实体链接。做用户画像和评论挖掘的公司很多,但美团的POI算法却很有可能是国内最好的。

POI在这本书里代表一个信息实体,比如在酒店业务中就代表一个酒店。维护一个优质的POI信息库是一切算法的基础。美团在这一部分讨论的是这样一个问题:美团已经有的POI信息库,称为库存POI;需要录入的POI信息库,称为待选POI库。待选POI库中的大部分POI都可能本来就在库存POI中,只是名称、描述、信息等可能不同,一个在应用中比较重要的问题就是将待选POI库对应到库存POI库中去。

以酒店业务为例,金泉假日酒店和金泉商务宾馆可能是同一家实体,要怎么把它们对应起来呢?从名称相似度上入手是大家都想得到的解决方案,但是这个方法未必准确,因此就需要引入其他信息,比如地址、电话、经纬度等。在这个场景中还有一个问题要关注,即不能进行全量比较,否则我们就将得到一个复杂度至少为待选POI库大小*库存POI库大小的算法,这个复杂度在实践中是不可接受的。那么美团的方案是什么呢?

第一步:缩小候选集

  1. 通过聚类的方式进行POI聚合:即首先在城市维度进行聚合
  2. 建立倒排索引,缩小比较候选集

第二步:相似度比较

这一步有两个方法:

  1. if-else连击,即通过一连串if-else条件判定是否同一实体
  2. 相似度打分:对不同POI的每一个维度进行打分,加权比较相似度

具体流程

这一工作的具体流程为:
数据清洗-》特征生成(各种不同模块)-》模型选择与效果评估

他们的候选模型包括GBDT,SVM,LR等,不算复杂,但是讲到了不少实践中的细节。

O2O场景下的搜索

O2O场景下的搜索比普通的搜索问题有意思,因为它是深度依赖于当前环境的。用户在日本、在北京、在武汉搜同一个词往往代表着不同的意思。用户在中午搜美食、下午搜美食、晚上搜美食,往往期待得到的美食推荐完全不相同。用户搜地点时未必想找地点,也可能是找地点附近的餐厅或酒店。这些问题对搜索系统提出了非常高的要求。

在美团中,搜索引擎要解决的主要问题如下:

  1. 如何定义用户的查询意图?
  2. 如何识别用户的查询意图?
  3. 如何将用户的查询意图链接到特定实体?
  4. 如何引导用户完成搜索?

这本书对这些问题的解决方法都做了详细的解释。笔者就不在这里详细描述了。而另一个问题是搜索结果的排序方式,美团认为自己的搜索排序场景主要有如下四个特点:

  1. 移动化:用户的位置不断移动,并且距离是排序的重要因素
  2. 场景化:用户在家、工作地点、户外或者店内,这些不同场景对于用户意图的理解是非常重要的
  3. 本地化:搜索查询的目标往往是本地化的
  4. 个性化:用户偏好较为明显

针对这些特点,美团实现了自己的搜索排序框架。

O2O场景下的推荐

美团认为O2O下的推荐与其他推荐的主要区别包括如下三点:

  1. 地理位置因素
  2. 用户历史行为:与其他的推荐场景不同,用户在同一家店的复购可能性很高
  3. 实时推荐:一是需要考虑用户的实时地理位置,二是需要考虑消费的实时性,在O2O场景下,用户从考虑消费到最终下单的时间非常短

美团使用的仍然是经典的推荐框架,包括召回和排序两个阶段:

  1. 召回阶段:召回策略包括基于协同过滤的召回、基于位置的召回、基于搜索查询的召回、基于图的召回和基于实时用户行为的召回
  2. 排序阶段;排序模型仍然是经典的模型,没有什么特别之处,特征则包括:item维度的特征、用户维度的特征、用户和item的交叉特征、距离特征和场景特征。

从行文来看,推荐并不是美团最重视的入口。

O2O场景下的广告营销

O2O场景下的广告营销主要具有如下特点:

  1. 移动化:主要体现在精确性、即时性和互动性三个方面
  2. 本地化:美团发现超过90%的交易中用户和商家的距离小于3公里
  3. 场景化:移动条件下的场景比web条件下更为精确
  4. 多样性:O2O模式面对的商户各种各样,需求差异很大

综合这些特点,美团的广告排序机制非常有趣,它可以实现一些在web条件下根本不可能实现的需求:例如分辨哪些是流失单,流失到了哪个竞争对手手里。我不在这里赘述它的具体内容,但整体而言还是很有意思。

总结

从个人角度来说,这本书最大的价值在于视野拓展。不同的场景下,算法要面对的问题千差万别,有些问题往往是不做这些的人根本想不到的。很多时候,发现问题、定位问题的价值比解决问题还要高。所以,多看看不同场景下的算法应用是非常有帮助的,与各位读者共勉。要是有机会的话,我们下次再分析一下美团的用户画像架构。

稀土掘金

责编内容by:稀土掘金阅读原文】。感谢您的支持!

您可能感兴趣的

利用机器学习检测恶意活动 研究人员开始使用无监督机器学习算法来对大量域名信息数据集进行分析,以发现新的威胁并进行拦截。一旦恶意域名开始活跃,机器学习算法就可以快速识别出攻击活动的恶意域名。 背景 比如在一类在线的恶意活动中使用了许多个域名,并持续了一段时间。...
Is AI the future of news media? Artificial intelligence (AI) technology has rapidly progressed in recent years thanks to developments in data colle...
ML.NET 示例:开篇 写在前面 准备近期将微软的machinelearning-samples翻译成中文,水平有限,如有错漏,请大家多多指正。 如果有朋友对此感兴趣,可以加入我: https://github.com/feiyun0112/mac...
Python vs. R: Which Should You Choose For Your Nex... Data science is all about capturing data in an insightful way, whereas Machine Learning is a key area of it. Data scienc...
Origin of R and It’s Application In Machine Learni... Origin of R and It’s Application In Machine Learning Part-1 And you ...