阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

智能机器人在滴滴出行场景的技术探索

  • 2019-07-28
  • 本文字数:3046 字

    阅读完需:约 10 分钟

智能机器人在滴滴出行场景的技术探索

本次分享是在 2019 年 AI 科学前沿大会上的分享,主要介绍智能对话机器人在滴滴出行场景中的技术探索,主要内容为:


  • 单轮问答

  • 多轮对话

  • 整体架构

单轮问答

单轮问答指识别用户问题,并给出相应答案。这种场景下的目标是做到识别准确,尽量理解用户问题,给出合适的答案。



开发过程中的难点和挑战:


  • 数据:标注数据少,这是 NLP 领域的痛点问题,因为标注成本相对较高;

  • 业务:业务线比较多,我们目前支持滴滴场景下的业务线有 10 多个,会导致数据标注的问题更突出,数据量少的业务,可标注的数据更少。

  • 语言:用户的表达方式灵活多样,即同一个语义有多种表达方式。


针对上述问题,我们想了一些办法,分析了滴滴场景下和其他智能客服的区别,比如快车和专车业务线,都是由不同模型来支持的,但是快车和专车业务其实是非常相似的,经过统计分析,二者知识点重复率接近一半。我们考虑是否可以把大业务线的数据迁移到小的业务线,但是当我们细看数据的时候,发现还是不一样的,因为不同业务场景下的相似问,还是有区别的,比如业务独有的知识,不能直接用在其他业务线上。



为了解决这些问题,我们一直在想数据如何更好的去迁移,减少数据的标注量。提出了类似 Multi-Task 多任务学习的架构,因为我们有不同的业务线,如果不考虑 Multi-Task 结构的话,每个业务线会有一个模型。有了 Multi-Task 之后,可以多个业务线共享一个语义模型,让模型的泛化能力更强,为了解决不能直接映射的问题,每个业务线还有独立的模型在后面,优化各自的目标。语义模型可以有任意模型,我们尝试过 CNN、LSTM、Transformer、Bert 等。



上图为我们加上 Multi-Task 之后的一些实验结果,包括 CNN、LSTM、Transformer、Bert,其中,橙色和蓝色为 Top1 准确率,灰色和黄色为 Top3 准确率,橙色为模型本身的结果,蓝色为模型+Multi-Task 之后的结果,从结果上看,CNN+Multi-Task 后有一定的提升,从这一点上看 Multi-Task 还是有帮助的,进而我们做了更多的实验,比如 Bert+Multi-task 的 Top1 准确率相比于 CNN 有了显著的提升,在本身没有增加新的成本的情况下,提升显著,为什么加了 Multi-Task 后结果这么好呢?我们发现,新的模型特征抽取的能力比较强,但是也存在一些特点,需要足够的数据,才能让模型发挥出能力,我们看四个 Multi-task 模型对比(蓝色),给了充足的数据后,效果提升明显。效果好是不是因为模型好就可以了?也不是,其实如果单独业务线,同样的数据下,从图中不使用 Multi-task 模型结果(橙色)的对比可以看出 CNN 的效果反而更好。原因是在数据不充足的情况下,复杂的模型参数更多,容易引起过拟合。



除了分类的结构,我们也尝试了搜索+语义匹配+排序的架构,主要是用来做情绪安抚,思路是把候选的问答对语料,通过搜索、生成式模型得到候选,然后经过粗排,粗排是用文本相关性的分数来计算,最后交给多轮对话深度匹配模型,主要参考了去年这篇的论文:Modeling Multi-turn Conversation with Deep Utterance Aggregation ,DUA 的特点是除了计算当前的对话,还会把上下文建模进来,重新考虑。比如情绪回复,如果是一个负向语句,如果单看这句话,它的回复可能是非常通用的,但是结合上下文,比如有的司机听不到单了,然后他会回复一些负面语句,这时我们的回复是针对听单场景的安抚。



除此之外,我们还有些离线的工作:


模型训练:如上图,为 Multi-Task 整体的一个效果,我们建立了一个每天模型自动更新的 pipeline,包括自动测试、自动上线。刚刚也提过了,数据很重要,我们会标注新的数据,来解决新的问题的出现,所以我们采用的是主动学习 Active Learning 的思想,去对边界样本进行采样,这样标注效率会更高,构建模型训练及在线服务的闭环,来达到每天模型更新的效果,让新的知识、新的问题,更快的更新到我们的服务上来。让机器人有了自我学习进化的能力。


数据标注:其实在现有的标注语料中,还存在噪音,准确率没有那么高。我们通过聚类的方式,把已经标注的语料聚类,这时有些样本是偏离聚类中心的,然后把偏离的样本通过人工检查,如果真的错了,就可以把噪音删除,如果是对的则保留。

多轮对话


在出行场景下,存在俩大类的问题,一类是咨询了问题,比如用户需要咨询一些政策、规则等信息;还有一类是寻求解决的,这两类问题,单轮问答都很难解决用户问题,为此我们提出了多轮对话。

1. 整体架构


我们可以看下这个例子,比如有乘客反馈,司机绕路,如果是单轮的话,只能给一个答案,而我们现在可以通过交互的方式来引导用户去选择订单,选择订单之后,我们可以直接调用后台的接口服务能力,去判断是否绕路了,如果真实存在,我们就会直接在机器人里把多收的费用返还给乘客,提升了用户体验。


具体的方法:将传统的多轮对话,多轮交互,引入滴滴客服机器人。主要包括几大模块:


① 语言理解


  • 意图识别,知识点的识别,明确问的问题是什么

  • 属性抽取,可以理解为选择订单,日期等等


② 对话管理


  • 对话状态跟踪:结合当前语义理解的结果,并结合历史对话,上下文综合来看,得到对话的状态(Act 和 slot)

  • 对话策略:给定对话状态,选择对应的动作,目前主要采用状态机的方式,并尝试强化学习对话策略


③ 语言生成


  • 有了动作之后,我们就需要生成用户可以理解的语言。


以上是多轮对话的整体架构。

2. 语言理解


意图识别:


我们采用的模型为 BERT + Multi-Task Learning


槽位抽取:


我们主要是基于规则和模型结合的方法,如选订单的组件,模型如 BILSTM + CRF 模型, 来对槽位信息进行抽取。

3. 对话管理


这个刚刚有介绍过,右图为状态机,基于规则配置,左图为我们在研发的强化学习模型,它需要一个用户的模拟器来模拟用户,抽样用户目标,根据目标和机器人去交互,从交互中生成经验,再根据经验进行学习,达到自动学习的效果,而不是像右边状态机,是由领域内的专家来配置的。

4. 智能反问


如果用户表达的意图不清晰,无法精确定位问题的时候,我们采用了智能反问技术:


  • 图谱查询:通过图谱去查询,得到相关联的知识点。

  • 反问引导:产品形式上,在这个例子中,我们会引导用户,会问用户是实时单还是预约单,用户只要选择之后,会给用户推送一个更具体的、有针对性的答案。

5. 闲聊-寒暄


机器人里都会涉及到闲聊,比如“你好”,“谢谢”之类的。针对这些问题做的工作有:


分类模型、检索匹配等,专家编写的答案,现在我们在探索的是生成模型,让答案更灵活。

机器人架构


我们整体看下机器人的架构:用户的请求来了之后,将“查询”和“上下文”作为输入去查询 frontend,frontend 作为机器人的中控,也会包括一些业务逻辑,然后通过 ranker 模块做分发和选择,下面有问答型、任务型、多轮对话型、闲聊型、图谱型等,综合的做一个仲裁去选择,给到用户一个最终的答案。



最后讲一下智能客服的整体架构:


产品:我们支持的业务,包括智能客服(出租车、快车、专车等一系列业务)、司机助手、国际化客服等。


这就是我们整体的架构,这就是我今天要分享的内容,谢谢大家。


作者介绍


熊超,滴滴 AI Labs 智能对话团队负责人。2010 年毕业于北京航空航天大学模式识别与智能系统专业。毕业后加入腾讯从事搜索广告算法策略研发工作。2013 年加入阿里巴巴从事智能人机交互方向。2017 年加入滴滴,组建智能客服算法团队,主要研究方向为多轮对话,问答,智能辅助,强化学习和智能推荐。担任顶级期刊和学术会议,如 TKDE,KDD 等审稿人。多项智能客服领域技术专利发明人,专利覆盖多轮对话、问答、闲聊、智能预测等。


本文来自 DataFun 社区


原文链接


https://mp.weixin.qq.com/s/MSy8OHzR3avObmOq9uSSFQ


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2019-07-28 08:002611

评论 1 条评论

发布
用户头像
NB
2020-10-13 14:25
回复
没有更多了
发现更多内容

如何评估服务是否内存泄漏了?

BUG侦探

缓存 容器 内存泄漏

聊武侠、讲段子,为了帮小白入门Spring Boot,这书有多拼!

博文视点Broadview

HashMap 源码分析-新增

zarmnosaj

5月月更

ResNet实战:单机多卡DDP方式、混合精度训练

AI浩

VIT实战总结:非常简单的VIT入门教程,一定不要错过

AI浩

还在为模型加速推理发愁吗?不如看看这篇吧。手把手教你把pytorch模型转化为TensorRT,加速推理

AI浩

OpenHarmony 3.1 Release版本特性解析——OpenHarmony硬件资源池化架构介绍

OpenHarmony开发者

OpenHarmony 多设备协同

Kafka 万亿级消息实践之资源组流量掉零故障排查分析

vivo互联网技术

大数据 kafka 监控

BladeDISC 0.2.0更新发布

阿里云大数据AI技术

深度学习 存储 并行计算 异构计算 算法框架/工具

如何写好产品手册?

小炮

如何通过 Amazon Textract 改善新冠疫情期间的 PPP 贷款效率

亚马逊云科技 (Amazon Web Services)

效率 Amazon

Wallys-QCN9074 /802.11ax/4x4 MU-MIMO /6GHz wifi6E

wallys-wifi6

鸿蒙生态 | 从开发到运营,如何步步为“赢”?

最新动态

Wallys-Waterproof Enclosure Metal Outdoor

wallys-wifi6

IPQ4019 802.11ac

STM32F103系列开发_点亮LED灯

DS小龙哥

5月月更

图像分类实战:mobilenetv2从训练到TensorRT部署(pytorch)

AI浩

数字化转型背景下,企业如何做好知识管理?

小炮

企业知识管理

开源集结令!参与开源之夏 EMQ 项目开发,赢最高 12000 元奖金

EMQ映云科技

开源 物联网 emq 开源之夏 5月月更

亚马逊云科技 2022 年 3 月新服务新功能强势来袭

亚马逊云科技 (Amazon Web Services)

服务 亚马逊

中国信通院发布“可信开源”全景观察 成立三大开源产业组织

中国IDC圈

开源 开源治理

ABAP Code Inspector 的一些高级功能分享

Jerry Wang

编程语言 代码扫描 SAP abap 5月月更

你想学Python爬虫?看看这篇关于开发者工具神器的博客吧

梦想橡皮擦

5月月更

面试突击50:单例模式有几种写法?

王磊

Java java面试

MobileVIT实战:使用MobileVIT实现图像分类

AI浩

EfficientNet实战:tensorflow2.X版本,EfficientNetB0图像分类任务(小数据集)

AI浩

图像分类

如何为服务网格做端到端测试

Flomesh

测试 Service Mesh 服务网格

一文看懂博睿数据AIOps场景、算法和能力

博睿数据

AIOPS 智能运维 博睿数据

深度探索通过数据共享(data sharing)优化 Amazon Redshift 工作负载分解

亚马逊云科技 (Amazon Web Services)

数据 负载

SWA实战:使用SWA进行微调,提高模型的泛化

AI浩

Swin Transformer实战: timm使用、Mixup、Cutout和评分一网打尽,图像分类任务

AI浩

数字孪生智慧物流之 Web GIS 地图应用

一只数据鲸鱼

GIS 数据可视化 智慧物流 数字孪生 三维仿真

智能机器人在滴滴出行场景的技术探索_AI&大模型_DataFunTalk_InfoQ精选文章