查看原文
其他

滴滴治理算法探索与实践

网约车技术团队 滴滴技术 2022-11-12

桔妹导读:13年以后,以外卖、网约车、房产销售为主的O2O平台,极大的改变了社会的运行模式。相比前一代互联网公司,这一代互联网公司都面临着人与人的线下交互,因此在体验、治理上也带来了新的挑战。在滴滴,经过多年的耕耘,我们探索了一套功能强大的治理算法系统,围绕司乘体验提升的核心目标进行了全方位的探索和落地。



1. 
业务背景介绍
治理要解决的问题,是降低和解决因平台原因、司乘预期原因、司乘个人问题所带来的各种行程纠纷,包括但不限于取消纠纷、费用异常、服务问题等。整体的解决方案如下:


其中,按照治理对象,分成订单维度治理、人维度治理。

  • 订单维度治理,主要指在订单全生命周期中,在异常发生前、发生初、发生时、发生后,平台的治理行为。

  • 人维度治理,指在司机、乘客在平台的全生命周期中的综合治理行为,主要的抓手是司机服务分、教育、管控的一整套方案。

考虑到体验异常相关因素较多,相对比较高频,订单维度治理的应用相对更广,挑战也更大。本文讨论的治理算法主要针对该部分。



2. 
治理算法挑战

治理算法,作为O2O背景下新的算法方向,有如下的挑战。

首先,在业务上的复杂性很高。如第一章所示,在订单的全生命周期中、多个策略节点都需要算法能力建设;另外,在滴滴的业务场景中,涉及到十个左右的品类,数十个业务场景,极端情况下需要维护近百个模型。
另外,在技术上也有很大的挑战:
第一个挑战是高质量样本少。场景、品类、策略节点多,即使在当前有一定的标注人力的情况下,在每个场景的高质量样本都很有限。另外,如何将标注数据,跟线上人工判责的数据进行有效融合,也是很大的挑战。
第二个挑战是可解释性要求高。因为判责结果直接跟司乘体验相关,所以对可解释性有很强的诉求。但是机器学习模型本质上是相关性的学习,大量弱特征的引入在提升模型效果的同时,就会削弱可解释性。如何在效果和司乘感知上做平衡,需要持续思考。

第三个挑战则是多模态特征。通过完备的场景还原能力来做干预、判责等,需要用到订单、时空、司乘统计特征之外,也要参考司乘的沟通信息(比如司乘是否指路)、协商投诉文本(各自的表述)、以及桔视特征(比如多人分段上下车等)。是否能高效、综合的利用更多的多媒体信息,对工程、算法而言都是巨大的挑战。


3. 

治理算法框架
宏观上看,以司乘费用纠纷处理为例,治理算法框架如下:


业务层:为了解决在订单生命周期中可能会出现的行程纠纷,提升服务体验。依托策略模型能力,设计了一系列的产品解决方案。从订单治理维度看主要包括以下三部分:

  • 纠纷发生前与发生初的降发生方案,比如当司机提前计费时,触发实时干预等;

  • 纠纷发生时的智能受理方案,如在司机账单发送时刻,平台精准识别未坐车收费问题订单,智能触发司乘协商流程,能帮助乘客主动解决纠纷问题;

  • 纠纷发生后的管控判责和补偿方案。通过建设智能判责能力,能落地如服务分扣除、补款、罚款等方案,对纠纷问题做合理的调解与治理。


系统层:为了支持多品类、多场景的治理业务,系统上的沉淀如下:

  • 成熟的在线服务引擎。其中策略流程引擎有效支持了策略流程的可视化配置管理;模型引擎有效支持了LR、XGB、DNN等一系列模型的在线部署与预测服务;规则引擎通过在线解析基于DSL的规则描述语言,有效降低了策略规则的迭代成本。

  • 策略基础能力库。沉淀了一套字、词、句等多粒度的文本算法工具箱,拓展了治理算法的技术空间与业务价值。同时建设了离线策略数据仓库,实现业务数据、链路数据、策略数据的体系化治理与整合。为业务落地与策略迭代提供了高质量、高可用的数据。

  • 在线与离线相结合的标注工作台,承载了滴滴治理算法的标注需求。策略RD离 线灌入抽样样本,质检标注团队在线标注做单,保障了模型样本的大规模与高质量产出。通过T+1模型更新系统,引入模型自动化更新机制,解决了在线模型的效果衰退问题。


本文的余下部分,将重点介绍上图的模型层、特征层部分。其中第四章重点介绍模型层,介绍我们在样本、模型上做的探索;第五章重点介绍特征层,我们在多模态的特征、流式特征上的思考。‍‍‍‍‍‍‍‍‍‍‍‍


4. 
模型探索
在模型上,我们贴合业务场景与产品方案,围绕治理链路节点构建了大体量的业务模型,体系化地搭建起平台对异常订单的场景还原与识别能力。同时,进一步深耕模型算法技术,通过先进性的模型技术攻坚,推进工业界的模型技术应用与落地。比较典型的有:通过小样本学习技术,在较短时间周期内获取充足高质量标注样本;使用多任务学习技术,实现业务上相关监督信息的充分融合利用;元能力建模方案,将对目标(判责结果)建模的方式,转换成对过程(判责元能力)建模的方式,提升了机器模型的可解释性。

4.1 小样本学习

在治理领域的很多场景,都会遇到高质量标注样本少的问题。全部人工标注的话,又会伴随着标注周期长与人力成本高的问题。比如在费用判责模型构建中,精准的人工判责样本非常稀缺,且很容易随着sop的变化而失效。所以在一定的时间窗口中,高效的利用样本,成为业务的一大挑战。
 
在学术界,小样本学习的常用方案主要有以下几类。


在治理场景中,我们主要使用了如下的几种方法。

方法一:在样本利用的探索上,我们基于自学习算法,在有限高质量样本量的约束下,最大化提升了模型的效果。

算法流程如下图所示:


  • step1 用已有的标签数据作为初始训练集,训练得到一个初始分类器模型;


  • step2 利用初始分类器模型,对剩下的还未标记的数据打标签,选出高置信度的样本加入已有标签数据集中,从而扩充训练样本集;

  • step3 根据新的训练样本集训练新的分类器。重复step1~step2直到满足预设停止条件(如样本量达到预期量级等)



一般情况下,司乘判责模型的单次迭代需要5k~1w的专家标注样本,这些样本的获取是昂贵且长周期的。通过自学习算法,样本量被扩充后,模型的AUC提升了0.4pp,相同准确率下召回也提升了2pp。


未来工作展望上,我们会进一步尝试引入自学习与主动学习相结合的标注方案,更为高效的使用判责专家提供的标注数据和标注能力。

方法二:滴滴网约车业务包括快车、拼车、优享、专车、企业级等多品类业务线。因为快车单量大,样本充足,模型算法的一期落地主要是快车品类。多品类业务线的模型接入就给迁移学习方案的落地提供了较为充分的空间。

迁移学习主要解决的问题是:数据采集成本和标注成本高,较短时间周期内大规模数据集的建构比较困难。迁移学习不要求训练集和测试集数据必须是独立同分布的,可以降低对目标域内的训练数据量和训练时间的需求。当前主要的技术落地算法是基于模型的迁移。即基于快车品类训练的模型,快速fine-tuning在其他多品类应用场景中。

方法三:模型视角的小样本学习探索,主要是多任务学习在治理算法场景的落地,这部分会在4.2章节详细阐述。

▍4.2 多任务学习

近两年工业界关于多任务学习模型的应用和工作,主要落地在推荐场景,如广告曝光到点击到转化过程中的CTR预估任务和CVR预估任务。当前比较先进的模型结构有ESMM、ESM2、MMOE等。对比业界的多任务学习落地方案和治理算法的应用场景,治理算法上也有多任务学习较为成功的落地。


从上图可以看出,广告的曝光->点击->转化流程与滴滴平台的大盘订单->投诉->有责的订单状态流转,恰恰都符合贝叶斯公式。都可以通过多任务之间的关系来建模出新的损失函数并适配新的模型结构设计。
 
绕路拦截模型结构:


如上图所示,以费用纠纷治理场景的绕路拦截模型为例,具体介绍一下我们多任务模型的优化点。

  • 优化点1:采用ESMM结构。ESMM模型结构恰好适配于拦截的业务场景。该优化点一定程度上解决样本偏差问题;实现MTL结构。
  • 优化点2:连续特征离散化,离散特征embedding。该优化点从数据特征工程层面优化,来提升模型的性能。特征离散化有利于NN模型的迭代和性能的提升,通过卡方分箱将订单特征中的连续形特征离散化;同时将原始的离散特征与分箱后的离散特征进行多特征域的embedding
  • 优化点3:多模型融合,融合行程中录音ASR特征的指路语义特征。该优化点加入场景强特征,进一步提升模型效果。具体操作方法是:行程中录音能够有效地识别指路等行为,将ASR文本特征训练的指路模型的中间向量输出作为绕路拦截模型的输入。

‍‍‍‍‍‍‍‍‍‍‍‍‍‍实验结果证明,多任务学习的方式能够有效地学习到投诉任务的特点,更好地辅助有责任务的学习,效果远优于单任务的模型。通过辅助任务的引入缓解了标注样本较少的问题,在策略生效点ESMM新模型的召回提升较为显著:相比线上的xgb模型,准确率提升0.6pp,召回率显著提升4.2pp;相比硬共享的多任务学习准确率提升0.2pp,召回率提升1.1pp。后续的A/B实验中取得了不错的线上业务效果。



未来工作展望上,我们会继续引入ESM2的结构,基于产品流程建模,进一步优化线上多任务学习模型的效果。

▍4.3 建模目标的演进

治理业务对机器判责能力一直有可解释性的诉求。所以机器学习可解释性的技术探索是相对比较重要的一环。然而当前业界对于可解释性的一些尝试还处于比较初期的阶段,较难在工业界落地。

为了弥补这个问题,当前主要考虑的有两种解法:一是考虑规则,结合LIME、SHAP之类的可解释性框架,引入一部分可解释性;二是将对目标(判责结果)建模的方式,转换成对过程(判责元能力)建模的方式。因为后者更符合业务的诉求,当前治理算法主要在尝试后者。将建模目标从判责结果,演进拆分为判责过程中的判责元能力构建,进一步推理出判责根因与判责结果,具体的落地方案如下图所示。


通过以上对判责内在逻辑的拆解:原始特征->判责特征(即判责元能力)->根因->结果有无责,完成了对判责元能力的建模,进一步构建了判责能力的可解释性。


5. 
特征探索
治理业务对机器模型的一个较强诉求是场景还原能力,本质上,无论是纠纷干预、还是纠纷判责,都是通过完备特征的引入,来提升场景还原能力,从而进行订单的决策。在特征的引入上,我们经历了三个阶段:

▍5.1 初始阶段

在方向前期,相对基建能力不完备,引入的特征主要是三个维度:业务基础特征、时空特征、司乘统计特征等。其中前面两个部分是跟订单的业务流相关联的,大约300维,主要包含订单基本信息、时间/位置/距离、导航类、沟通交流类等。司乘统计特征大约1000维,我们建设了司乘各一个大宽表,包含司乘在完单、评价、习惯等全维度的统计特征,以及公司特征平台获取到的基础统计特征。

取消业务特征


费用业务特征


▍5.2 多模态特征大规模应用

在滴滴平台上,滴滴智能安全车载设备桔视已经覆盖超过50%的网约车订单,另外每个司机的手机都在进行全程的行程中录音,再配合全流程的轨迹信息,整体在场景还原上提供了非常丰富的多媒体能力。而多模态特征的应用,有通过端到端的框架联合训练、以及通过设计两阶段模型来应用的两种方案。


多模态特征表


5.3 流式特征探索
 

在特征形态上,我们基于线上的流式数据,如行程中的轨迹流、录音流、视频流等数据做了一些流式语义特征的挖掘。这里主要介绍轨迹流相关的技术方案。

 

轨迹信息的提取和利用对于纠纷治理业务有较大的价值,而目前对于轨迹信息的处理局限于提取距离差、速度等简单特征,信息损失大,故需探索轨迹的价值。

 

技术选型主要分为两大类:无监督(自监督)的表示学习方案和有监督的子网络嵌入方式。我们的实验探索主要基于后者展开。



有监督的子网络嵌入方案的建模流程如下。序列模型部分,我们主要尝试了主流的LSTM模型,整体模型AUC效果上:Bi-LSTM > Vanilla-LSTM > Stacked-LSTM。




6. 
总结

治理算法是一个全新的领域,是随着O2O平台兴起以来,在线上线下治理、管控需求下新起的一个策略算法方向。在过去的几年,团队在NPS、CPO等公司核心关注的体验指标上,都取得了很好的业务收益;在技术体系上也有了相对深入的积累。

 
随着桔视的铺装,以及社会、公众对网约车平台服务的期待,在司乘体验提升上也还有非常大的持续优化的空间,在样本、模型、特征等领域仍然有巨大的挑战,我们团队也将在这些方向上持续探索。


团队招聘


滴滴网约车技术 · 治理与安全团队隶属于滴滴网约车公司,致力于构建滴滴的安全体验和服务纠纷治理体系,通过建设行程中安全预防技术体系、纠纷问题受理平台、B端治理工作台、治理中台服务、治理架构体系等赋能滴滴安全和纠纷治理业务,建立可持续健康发展的出行生态。在这里你将有机会创造“世界级”技术价值,与滴滴共同成长,加入我们,用技术的力量一起解决出行中的不美好。


团队目前热招高级Java工程师、go后端研发工程师等技术岗位中,欢迎有兴趣的小伙伴加入,可投递简历至 diditech@didiglobal.com,邮件请邮件主题请命名为「姓名-投递岗位-投递团队」。


扫码了解更多岗位



作者




延伸阅读



内容编辑 | Hokka
联系我们 | DiDiTech@didiglobal.com

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存