新入手一本《美团机器学习实践》,读完以为颇有意思,把一部份内容分享给你们。web
这本书分为六部分,第一部分是通用流程,讲的是机器学习在实践中应用的通用流程,有些经验之谈颇有意思;第二部分讲的是数据挖掘,主要包括用户画像、POI实体连接和评论挖掘;第三部分是搜索和推荐,顾名思义,讲的是美团中的应用的搜索和推荐架构;第四部分计算广告;第五部分讲的是深度学习;第六部分讲的是算法工程。算法
第一部分和第五部分属于通用流程,有一些实践中应用的经验值得学习,不过相对而言,要想了解这些部分不如去看专讲这些的书籍。第六部分笔者我的也以为较为日常,要想了解这些东西更推荐去阅读专门讲并行机器学习的部分。真正出彩的在于第2、3、四部分,或者说,凡是涉及到POI和O2O的部分都很是值得一读!架构
美团能够说是当之无愧的国内最大的POI和O2O应用的公司,他们在这方面的经验积累极多,架构很是漂亮,并且即便我这个不大了解这方面的人读起来,也能对机器学习在POI和O2方面的应用有大体的了解。接下来笔者将介绍一些本身以为颇有趣的部分。框架
坦率地说,第二部分中,用户画像部分的架构最令我以为出色,但最有参考价值的部分是POI实体连接。作用户画像和评论挖掘的公司不少,但美团的POI算法却颇有多是国内最好的。机器学习
POI在这本书里表明一个信息实体,好比在酒店业务中就表明一个酒店。维护一个优质的POI信息库是一切算法的基础。美团在这一部分讨论的是这样一个问题:美团已经有的POI信息库,称为库存POI;须要录入的POI信息库,称为待选POI库。待选POI库中的大部分POI均可能原本就在库存POI中,只是名称、描述、信息等可能不一样,一个在应用中比较重要的问题就是将待选POI库对应到库存POI库中去。学习
以酒店业务为例,金泉假日酒店和金泉商务宾馆多是同一家实体,要怎么把它们对应起来呢?从名称类似度上入手是你们都想获得的解决方案,可是这个方法未必准确,所以就须要引入其余信息,好比地址、电话、经纬度等。在这个场景中还有一个问题要关注,即不能进行全量比较,不然咱们就将获得一个复杂度至少为待选POI库大小*库存POI库大小的算法,这个复杂度在实践中是不可接受的。那么美团的方案是什么呢?搜索引擎
这一步有两个方法:排序
这一工做的具体流程为: 数据清洗-》特征生成(各类不一样模块)-》模型选择与效果评估索引
他们的候选模型包括GBDT,SVM,LR等,不算复杂,可是讲到了很多实践中的细节。深度学习
O2O场景下的搜索比普通的搜索问题有意思,由于它是深度依赖于当前环境的。用户在日本、在北京、在武汉搜同一个词每每表明着不一样的意思。用户在中午搜美食、下午搜美食、晚上搜美食,每每期待获得的美食推荐彻底不相同。用户搜地点时未必想找地点,也多是找地点附近的餐厅或酒店。这些问题对搜索系统提出了很是高的要求。
在美团中,搜索引擎要解决的主要问题以下:
这本书对这些问题的解决方法都作了详细的解释。笔者就不在这里详细描述了。而另外一个问题是搜索结果的排序方式,美团认为本身的搜索排序场景主要有以下四个特色:
针对这些特色,美团实现了本身的搜索排序框架。
美团认为O2O下的推荐与其余推荐的主要区别包括以下三点:
美团使用的仍然是经典的推荐框架,包括召回和排序两个阶段:
从行文来看,推荐并非美团最重视的入口。
O2O场景下的广告营销主要具备以下特色:
综合这些特色,美团的广告排序机制很是有趣,它能够实现一些在web条件下根本不可能实现的需求:例如分辨哪些是流失单,流失到了哪一个竞争对手手里。我不在这里赘述它的具体内容,但总体而言仍是颇有意思。
从我的角度来讲,这本书最大的价值在于视野拓展。不一样的场景下,算法要面对的问题千差万别,有些问题每每是不作这些的人根本想不到的。不少时候,发现问题、定位问题的价值比解决问题还要高。因此,多看看不一样场景下的算法应用是很是有帮助的,与各位读者共勉。要是有机会的话,咱们下次再分析一下美团的用户画像架构。