1.导读前端
人们在高德地图上会看到不少地理位置兴趣点(Point of Interest,缩写为POI),例如餐厅、超市、景点、酒店、车站、停车场等。对POI数据的评价维度包括现势性、准确性、完备性和丰富性。其中,现势性就是地图所提供的地理空间信息反映当前最新状况的程度,简而言之,加强现势性就是指尽量快速地发现已停业、搬迁、改名、拆迁的过时冗余POI数据,并将其处理成下线状态的过程。算法
在线的过时冗余数据会伤害用户体验,通过推算,头部在线数据的一个过时率百分点年度影响用户体验3亿次。所以,POI过时问题的解决势在必行,以加强现势性,减小用户伤害。网络
POI过时问题的解决分为发现和处理两个环节。发现采用挖掘线主导,采集线和舆情线补位的方式。采集的自然优点是自带核实资料,劣势也很明显,成本高、下发频率低,于是发现的时效性不高,且采集线发现过时须要通过挖掘线;互联网舆情时效性高,但覆盖少且ROI低;做为覆盖高、时效高、成本低的大数据挖掘是绝对主力。框架
处理环节有人工核实、自动化打标和自动化下线三种手段。人工核实存在缺乏核实资料从而致使核实率低的问题,这是由于挖掘所依赖的观测资料不能提供过时的实锤证据,观测资料不等于核实资料,且过时的数据更倾向于核实不到,即能发现、难处理,从而伴随着挖掘的演进,衍生了自动化打标和自动化下线两种处理手段以及相应的风险控制机制(打标回捞、下线回捞),一方面提升了处理能力,另外一方面下降了人工成本。机器学习
注:自动化打标是一种与前端搜索联动灰度处理高疑似过时数据的方式—打标数据非精搜不展示,精搜伴有话术提示。其背后的核心思路是由传统图商的实锤思惟向互联网思惟转变,及时触达用户,快上快下。异步
本篇文章将主要介绍挖掘的演进历程,做为过时发现的核心手段,挖掘在不一样阶段分别面临缺资料、提准难、资料薄三大问题,站在今天回首过去,这个过程能够分为三个阶段:ide
咱们利用策略、机器学习和深度学习等数据挖掘技术,从点到面、由粗到精地攻克POI过时挖掘业务,POI现势性加强的模式已经发生了深入的变化。学习
2.数据挖掘手段的演进大数据
2.1阶段一:基于自身属性的POI过时挖掘优化
早期的主要矛盾是缺乏挖掘资料,若是同时作资料的POI挂接和基于挂接资料的挖掘策略会致使挖掘链路长、项目风险高。所以,在提高新资料的POI聚合能力的同时,以POI自身属性做为主要的挖掘资料。高德POI团队在信息聚合、融合方面有长时而丰富的积累,POI属性可大体分为三类:基础信息、深度/动态信息和关系信息。
基础信息:表征实体,包括名称、坐标、地址、行业、电话、时间、来源等。
深度/动态信息:增长POI数据丰富性,包括:图片、评分、评论、团购、报价等。
关系信息:POI间经过语义、时空创建的关联,包括:亲子、引用、共现等。
针对不一样的属性,咱们设计不一样的策略去挖掘过时POI。根据复杂程度,咱们将策略主要分为:基于单POI的挖掘和基于多POI的挖掘。两者的最大区别在因而否使用POI间的关系信息。下面介绍几个比较典型的策略:
策略特征使用表
◎表明关键特征,△表示辅助特征
评论过时语义挖掘是比较典型的基于单POI的挖掘策略。深度/动态信息中的评论是获取用户对POI反馈的有效途径之一,其中也包括对过时POI的反馈,咱们经过匹配关键词很容易找到这种评论。上、下文的语境会致使关键词的语义发生变化,为此,咱们利用TextCNN模型实现语义分类以达到消歧的目的,筛选出真正表达POI过时的评论。以下所示:
“原”关系挖掘使用POI间的引用关系,是一种基于多POI的挖掘策略。咱们在含有“原”关键字的POI名称、别名或地址中经过实体抽取技术,获得“原”关系(新旧关系)的两个POI名称,经过聚合技术找到旧名称所对应的过时POI。
同地址策略则利用地址门牌冲突关系来挖掘。其逻辑是:相同的门牌号(包括室内水牌)上一般只有惟一的经营实体,若地址上存在两个或多个实体且不是汇集实体(商场、园区等),则应当存在过时POI。咱们采用图论对问题建模,取门牌相同的POI集合,将POI视为节点,POI间关系(亲子、兄弟、共现、参考引用等)为边。利用最大连通分解算法将集合划分为K个连通子图,每一个子图看做是一个实体或聚合实体。若K=2,则将更新时间较早的子图做为疑似过时集合输出。
同电话策略是为数很少能与具体过时现象对应的策略。取有相同电话的POI的集合,与同地址策略相似,经过名称语义计算、空间计算、共现关系、亲子关系等,剔除掉汇集实体、连锁店、疑似重复数据等噪音,并根据名称类似性和距离关系,分辨出改名和搬迁现象。电话实际上表明着POI背后真正的人,经过人的行为变化能够判断一个POI过时与否,甚至能够推断出该POI具体的过时现象。
伴随着POI聚合多种新数据源的能力的日渐成熟,新的挖掘资料已具有。咱们的重心也逐步转移至基于使用POI行为的挖掘。
2.2阶段二:基于使用行为的POI过时挖掘
步入阶段二,缺乏挖掘资料已再也不是解题的主要矛盾,人工核实率低、处理能力不足的问题凸显,从而迫切须要创建自动化打标/下线能力(提准)。过时挖掘的实质是感知伴随POI过时而发生的变化,进行过后观测式挖掘,好比,过时通常都会伴随着POI活跃度(运单量等)的降低。
前文已提到,挖掘所依赖的观测资料不能提供过时的实锤证据(好比,运单消失并非过时实锤);且过时强相关因子种类偏少、自然引入上游偏差以及真实世界存在贝叶斯偏差;外加随着解题推动,在线POI数据现势性加强、过时率降低,在观测资料固定的前提下,过时挖掘的产量及精确率均随过时率的降低而天然降低,上述这些都会致使精确率难提升,所以,提准难成为该阶段的主要矛盾。
特征层面咱们经过去噪、精细化加以应对,受篇幅所限,本文暂不作展开介绍。而算法层面则是经过技术升级来应对。路线图:从规则到模型;从浅层模型到深度模型;从单源决策到多源信息融合;从决策层多源信息融合到特征层多源信息融合。
根据是否须要参考历史状况,咱们将基于使用行为的POI过时挖掘划分为时序异常和事件异常两类。
2.2.1时序异常
POI的存活状态能够经过关联的使用行为量活跃度间接反映出来,从使用行为量的趋势角度尝试迭代解题。
趋势模型的主要思想是,统计某个时间窗口关联的使用行为量活跃度来衡量POI的存活状态,并经过分析活跃度相对于历史状况的衰减程度来判断POI是否过时,其基本假设是时序趋势降低与POI过时正相关。以已知活跃度信息的逐月统计量时间序列为特征,咱们完成了RF->RNN->模型融合->Wide&Deep四个迭代阶段的研发。
鉴于RF在分类决策问题中表现出的精度高、不易过拟合、对数据集适应能力强、落地高效以及对于规则思惟的自然吻合度,可成为验证解题方案可行性的首选。方案是将每种特征的每一个时间节点值做为一个输入维度来构建模型。RF凭借高准确和高产出落地投产,验证了行为量趋势应用于过时挖掘的重要意义。
以后,针对RF存在的一些不足来作进一步的技术升级。首先,模型没法学到连续时间节点之间的趋势关联性,时序信息未获得充分利用;其次,对于不一样种类特征缺失、长短序列融合等问题须要创建定制化模型来解决,多模型增长了维护负担。所以,要选择时序领域优点明显的RNN模型进行迭代升级。
经过构建多层LSTM深度网络实现了趋势关联信息的深度挖掘,同时针对不一样热度分段的数据分布差别性,采起各自最优的缺失特征填充方式,避免了多模型式的解题方案,便于业务维护。RNN模型使发现能力,特别是自动化能力获得较大提高。
虽然RNN相对于RF提高了对于时序特征的学习能力,但信息不足依然限制了模型的自动化能力。咱们进一步开发了可以实现多源信息融合决策的融合模型。思想是将RF、RNN、拆迁区域等现有各基线模型、策略以及白名单做为子分类器归入统一框架内考虑,在此基础上构建贝叶斯网络,作决策层的多源信息融合。相较于特征层的多源信息融合,它落地快且效果明确,为过时业务提供了稳定的高准确自动化下线产出,自动化能力大幅提高。
第四个阶段是从多源信息融合的角度进一步优化。一方面,决策层融合相比特征层融合存在更多的信息损失;另外一方面,一些模型/策略只在部分品类的POI上知足业务投产的准确率标准,致使不达标品类的产出结果未获得充分利用。所以,从实现特征层多源信息融合的角度出发,借鉴Wide&Deep思想搭建新业务模型。
总体思路是,将众多不可量化或比较的属性特征和状态信息特征进行编码表征,再通过一层全链接层降维后做为Wide部分;将RNN模型做为Deep部分,最后将两部分耦合。模型通过多轮迭代优化可稳定投产,自动化能力获得进一步提高,已成为过时挖掘业务中覆盖行业广、自动化解题能力突出的综合性模型。
综合以上,人机解题比大幅降低,解决了人工核实率低、处理能力不足的问题,而且大幅下降了成本。
2.2.2事件异常
现有的时序异常模型主要依赖于使用行为量的趋势特征作判断,存在挖掘资料覆盖上的天花板,以加油站、ATM、公共厕所等为例,这些类型的POI因自身属性的缘由致使无挖掘资料,趋势模型无能为力。于是提出基于日志(Session)的异常事件模型,统计陌生群体到达过时POI后需求不知足引起的异常事件,补位时序异常模型的挖掘盲区,即无需参考历史状况,仅利用日志抽取POI关联的异常行为事件,累积近期异常事件衡量POI的存活状态是否正常。
日志挖掘难点
海量的日志行为。直接使用不只消耗资源大,且有大量的冗余数据形成干扰。如何在海量行为中抽取与过时相关的特征是一个艰难的工程。
行为随机性大。例如,不少情景里快到终点前会提早结束导航从而没法判断是否到达目的地;有些情景是规划去一个目的地但从末端轨迹能够判断实际去的地点天差地别。
解题框架
针对上述问题,主要经过实地评测的过时POI case分析来构建具体的异常事件场景,例如到达后试图报错、到达后快速发起二次同质化导航等,以上统计量做为特征输入,由此可聚焦相关日志片断并下降随机行为噪音。总体解题框架如上图所示,从不一样的Session源解析与POI相关的事件,按照时间顺序组合成场景一、场景二、场景…,加入外部属性如类型、城市等,以目的地POIID按照时间窗口归并生成相应的统计特征,输入LR模型,输出POI的过时得分。目前采用LR,优势是简单粗暴压住噪声。
挖掘效果
Session异常事件模型有效补充其余手段未能覆盖的解题集合,专攻汽车服务、生活服务、娱乐场所、金融保险服务等品类POI,是过时挖掘不可或缺的组成部分,且将来仍有较大的泛化提召回空间。
2.3阶段三:基于人地关系的POI过时挖掘
2.3.1 人地关系建设
趋势特征丰富(厚)的过时POI,容易被趋势模型挖出。而当趋势特征(使用行为)稀少(薄)时,模型发现能力较差。因此该阶段须要解决资料薄的问题,经过对关键群体(>2)线索的捕捉,下降对资料厚度的依赖。洞察POI的关键群体的行为,有可能找到发现甚至解释POI过时的特征。
所以,第一步咱们须要建设人地关系,找出所谓的关键群体,称之为内部群体,是指:对POI有依赖的群体,这种人地关系,咱们称之为内部关系,其它均为外部关系。
第二步基于内部群体的时空运动模式的变化发现过时POI,补位趋势特征稀疏时的召回问题,局限性:内部群体基本不变的POI改名等场景不可解。第一步人地关系建设基本完成,大致分为数据层、行为层和模型层三层,分别介绍以下:
在数据层,收集可能与POI相关的数据源,打通各个数据孤岛,将不一样类型的数据关联到高德POI上。
在行为层,将行为特征表达在窗口为X天的二维矩阵上,如图所示。矩阵表示可以更加清楚地反映行为的周期性规律。不一样行为序列能够看做是不一样通道的矩阵,很好地适配行为数据的异步性,同时保持可扩展性(每多一种行为,可增长一个通道表示)。
在模型层,面向多通道的矩阵特征,采用深度卷积网络完成分类任务,其基本结构以下:
该结构必定程度地缓解因为数据不完备致使的特征稀疏,有效地学习行为的时间规律,取得符合预期的结果,验证了模型的可用性。在模型层,经过补充的召回策略,帮助将内部关系对POI的覆盖度进一步提高,完成从0->1的建设。
总结
过时挖掘已经成为加强POI现势性的绝对主力手段。这条以大数据挖掘为主导的路线还远远没有达到终局,将来的演进方向至少有如下几个:内部群体时空转移本质化通盘解题,下降对资料厚度的依赖;面向过时现象的定向挖掘能力提高;POI生命力画像构建;生态探索,从逆向解题向逆向+正向解题渗透。咱们将致力于为提供给用户更美好的出行服务体验而努力。