得物客服机器人多轮SOP流程引擎技术实践
1.业务背景
在得物客服机器人自研早期,传统一问一答式的FAQ解决方案粒度较粗,在实际的业务场景中,越来越难以满足用户的咨询需求,也没有差异化的流程解决方案精准的引导用户解决问题,大量用户的咨询依然依赖人工客服解决问题。早期的多轮SOP引擎主要依赖于三方平台,三方响应速度比较慢,提供的服务可定制化的能力不足,在流程配置上,效率也比较低。随着业务的快速发展,提高机器人在复杂场景下的解决能力,降低人工客服的成本,提供灵活的可视化多轮SOP流程配置后台,是非常有必要的,至此开启了自研多轮SOP流程引擎的里程。
2.多轮简介
在了解业务背景之后,可能很多人对客服场景中的多轮不太了解,这里结合实际的人机对话来介绍下机器人是如何基于多轮解决用户问题的。
从上面可以看出,用户咨询的过程按照问答的流程一步一步走完,期间并没有人工客服的介入,在多轮的会话中,客服机器人解决了用户的问题。那这里可能会有个疑问,机器人是怎么知道该问什么该答什么的?语义识别or算法识别,其实都不是,在配置后台有对应的可视化搭建页面来配置多轮的流程。
3.前期调研
在明确需求之后,通过什么样的技术能力搭建机器人多轮SOP流程,是从0到1去实现还是基于开源的框架去实现是当时面临的主要的选择问题。从0到1去实现当然是最好的,也是很多技术同学挑战自我的机会,不过当时面临的主要问题是流程的搭建涉及Canvas画布以及图形编辑,这块如果没有专业知识的背景,难度相对会比较大,再加上当时业务的快速发展,亟需自研的多轮产品来做定制化的能力,所以当时选择了基于开源的框架去实现。在对开源框架的调研上,也参考了比较多流程配置的实现,具体如下:
- X-Flowchart-Vue:一个基于vue的流程图编辑框架,能实现流程图的搭建,但是没法满足业务场景中的自定义节点样式;
- vue-flowchart-editor:一个基于vue的流程图编辑框架,提供了几种节点样式和简单的数据配置能力,对于自定义节点需要基于源码二次开发;
- Activity:一个比较完整的工作流程解决方案,是集成了前端、后端以及数据模型的一整套的流程引擎,如果使用的话,不仅前端这边要做二次开发,后端那边也得部署对应的服务或者对其二次设计和开发,成本比较高,并且Activity使用的前端技术栈比较老旧,在我们现有的系统里面比较难以集成,所以在当前的业务场景下并不合适;
- Flowable:一个业务流程引擎,开发语言主是Java,如果用的话,后端需要部署一整套流程引擎服务,前端这边主要配合修改,成本也比较大,在当前的业务场景下并不合适;
- X6:是 AntV 旗下的图编辑引擎,提供了一系列开箱即用的交互组件和简单易用的节点定制能力,方便快速搭建流程图等图应用。
每个框架都有自己的优缺点,最后选择了基于antv-x6图编辑引擎做二次开发,其主要原因如下:
- 蚂蚁的开源数据产品,社区比较活跃;
- 跟技术栈无关,可扩展性很好;
- 支持自定义节点,可定制化能力很高;
- 工具组件比较完备,能够开箱即用
4.技术架构
明确了技术选型之后,接下来就是具体的技术实现了。多轮SOP流程引擎不仅需要前端这块的设计实现,也离不开后端的设计实现,整体的架构设计如下图所示:
4.1 前端配置层
前端配置层主要包括多轮SOP可视化流程搭建、上下线管理、版本管理和接口管理四个功能模块。
- 多轮SOP可视化搭建:包含各业务节点的拖拽操作和数据配置,通过不同业务节点的关联关系生成完整的流程配置;
- 上下线管理:对于搭建好的多轮SOP流程需要做上线和下线的操作,当线上多轮流程出现问题的时候,需要及时下线;
- 版本管理:配置完的多轮SOP流程刚发布的时候,流程节点的回复话术或者功能都比较基础,需要通过线上用户的流程数据不断的完善流程能力,每次的变更都需要升级版本,确保线上稳定版本的同时,能对多轮SOP流程不断的进行调优;
- 接口管理:流程里面涉及的各业务节点依赖不同业务域的服务,比如订单需要依赖交易接口、物流需要依赖供应链接口等,在业务流程配置里面涉及到这类功能,就需要通过接口配置的方式去实现。
4.2 后端服务层
后端服务层核心部分是在流程执行引擎模块,在实际应用场景中,会根据用户输入的问题来匹配最合适的流程以解决用户的问题。在执行匹配到的流程的过程中,执行引擎会先创建流程的上下文,这里会从redis缓存里面加载上下文信息,根据上下文中记录的流程执行状态,确定从哪个节点开始执行,执行完以后进行上下文信息的更新。当流程执行结束的时候,再做上下文的销毁操作。
4.3 应用层
应用层主要是多轮SOP流程具体的使用场景,目前主要包括得物客服机器人和坐席辅助SOP两个使用场景。
5.技术挑战
5.1 数据建模
通过数据建模解决节点与节点之间关联关系的问题。
在多轮SOP流程可视化搭建过程中,画布节点的创建和连接是最复杂的,有些多轮场景的节点超过100个,节点之间的关系在画布上的体现就非常重要。目前业务自定义的节点有4类,如下:
每个节点都有自己的业务属性,这里主要通过数据建模的思想把每个节点的业务属性以及关联关系属性做了抽象,其思路如下:
X6提供的原始数据类型相对比较简单,只有id、html、data、shape等这些基本属性字段,在实际的业务场景中需要基于原始的属性字段去做扩展,X6提供的data属性就能很好的满足自定义业务数据的需求。分析四类业务节点之后,每个业务节点可以抽象通用的数据模型,其主要字段的含义如下:
- nodeName:节点的名称
- nodeType:节点的类型,这里有四种节点类型:填槽节点、跳转节点、回复节点和判断节点
- fromNodeId:来源节点的ID
- nextNodeId:指向节点的ID
- fromEdgeIdList:来源边ID的列表
- nextEdgeIdList:指向边ID的列表
- bizData:不同业务节点的业务属性信息
这里bizData作为业务节点的通用数据模型,用于存放不同业务节点属性数据,比如填槽节点有slot和abnorma等业务属性,回复节点有contentSort和content等业务属性。通过对业务节点的数据模型抽象,就可以表示不同节点之间的关联关系,如下图所示:
- 判断节点可以通过nextEdgeIdList属性关联填槽节点和跳转节点;
- 判断节点可以通过fromNodeId属性关联转人工回复节点;
- 转人工回复节点可以通过nextNodeId关联兜底回复节点;
- 兜底回复节点可以通过fromEdgeIdList关联转人工回复节点。
不同的节点关联关系通过语义化属性表示之后,再基于X6提供的addNode/addEdge方法实现节点和边的连接,这样无论画布中有多少个节点,节点之间的关联关系都非常的清晰。
5.2 RXJS
通过RXJS事件订阅和单向数据流解决不同功能模块数据流向的问题
在多轮SOP可视化搭建后台,有三个不同的功能区:工具栏、画布区和数据配置区,每个区域的操作都会涉及到节点数据的变更,如果没有清晰的数据流,将会导致数据变更混乱,保存的时候潜在数据错乱的风险。这里我们采用了RXJS事件订阅以及单向数据流的设计模式,具体实现如下图所示:
- 操作栏的节点操作会触发事件,比如删除节点操作;
- 在画布区选中需要删除的节点,触发节点数据删除事件;
- 数据表单配置区接收节点数据删除事件的数据,删除对应的节点数据并同步到数据内存缓存;
- 最后提交流程的时候,将内存中的数据传给服务端数据库。
整个过程,从节点数据流向表单数据再流向缓存数据,整个流向是单向的,不管在哪个模块触发最终的流向都是数据内存缓存。
对于数据流,目前有很多开源的框架可以使用,比如redux、vuex、dva等等,这里为什么采用RXJS?主要是因为RXJS比较轻量,同时跟技术栈无关,后续可扩展性更好。
5.3 流程编排
通过流程编排技术解决复杂多轮流程搭建的问题
截止到上半年,线上的多轮已经将近200个,有些复杂的流程包含100多个节点,对于100多个节点的复杂流程如果是一个节点一个节点去配置的话,那配置效率是极其低下的,那我们是怎么实现复杂流程快速搭建的呢?这里用到了流程编排技术。
流程编排是指通过拖拽可视化业务组件来编排业务流程,然后由流程引擎来执行这个流程。其标准化的协议是BPMN协议,BPMN协议包含了流程编排里面的各种图标、元件的含义和使用规范。在实际的应用场景中,我们并没有完全使用BPMN协议,而是遵循了BPMN协议,做了自定义的元件组件。对于复杂的流程,我们通过不同的子流程进行编排,其思路如下:
这里通过取消订单多轮流程举例,其流程拆分如下:
从上图可以清楚的看到,取消订单多轮流程包含了判断用户身份子流程、判断用户诉求子流程、取消订单子流程这三个子流程,其中每个子流程又是一个独立完整的流程。这样通过三个子流程的编排,就可以搭建取消订单复杂的多轮流程。
以上三点是在自研过程中遇到的主要的技术挑战,其实在做的过程中,还有很多的难点,比如上百个节点如何做到渲染秒开、复杂的逻辑(复制、剪切)如何编排、复杂的判断节点如何做到一键展开和折叠等等,这里就不一一阐述了。
6.业务成效
客服多轮SOP流程引擎的自研,完全取代了三方服务,不仅节省了每年至少几十万的外采服务成本,并且在业务上取得了不错的成效,做到了灵活定制,快速支撑业务的发展。自上线之后,主要覆盖得物客服机器人和坐席辅助机器人两个业务场景,其中得物机器人多轮SOP流程有上百个,坐席辅助机器人多轮SOP流程有几十个,在很大程度上提升了客服的解决率,减少了转人工成本。上线之后,以今年其中一个月份的数据为例,客服机器人的解决率有比较明显的提升,其中SOP的解决率相对于FAQ的解决率提升了15%多,SOP接待数是FAQ接待数的2倍多,在很大程度上节省了转人工成本。
7.总结
客服机器人多轮SOP流程引擎从立项到发布,整个周期差不多一个月左右的时间,从无到有的过程,是各投入方一起努力的结果。目前多轮流程引擎除了服务于上述两个场景之外,也在工单业务、质检业务探索使用场景,同时也在持续丰富坐席辅助场景,为一线客服提供标准化的服务流程,提升一线客服的解决率。在功能上,我们也会持续完善流程引擎的能力,支持更多业务场景的使用,将流程引擎的能力不断完善,打造成为业界的标杆。
以上是得物客服机器人多轮SOP流程引擎技术实践的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

StableDiffusion3的论文终于来了!这个模型于两周前发布,采用了与Sora相同的DiT(DiffusionTransformer)架构,一经发布就引起了不小的轰动。与之前版本相比,StableDiffusion3生成的图质量有了显着提升,现在支持多主题提示,并且文字书写效果也得到了改善,不再出现乱码情况。 StabilityAI指出,StableDiffusion3是一个系列模型,其参数量从800M到8B不等。这一参数范围意味着该模型可以在许多便携设备上直接运行,从而显着降低了使用AI

机器之能报道编辑:吴昕国内版的人形机器人+大模型组队,首次完成叠衣服这类复杂柔性材料的操作任务。随着融合了OpenAI多模态大模型的Figure01揭开神秘面纱,国内同行的相关进展一直备受关注。就在昨天,国内"人形机器人第一股"优必选发布了人形机器人WalkerS深入融合百度文心大模型后的首个Demo,展示了一些有趣的新功能。现在,得到百度文心大模型能力加持的WalkerS是这个样子的。和Figure01一样,WalkerS没有走动,而是站在桌子后面完成一系列任务。它可以听从人类的命令,折叠衣物

在工业自动化技术领域,最近有两个热点很难被忽视:人工智能(AI)和英伟达(Nvidia)。不要改变原内容的意思,微调内容,重写内容,不要续写:“不仅如此,这两者密切相关,因为英伟达在不仅仅局限于其最开始的图形处理单元(GPU),正在将其GPU技术扩展到数字孪生领域,同时紧密连接着新兴的AI技术。”最近,英伟达与众多工业企业达成了合作,包括领先的工业自动化企业,如Aveva、罗克韦尔自动化、西门子和施耐德电气,以及泰瑞达机器人及其MiR和优傲机器人公司。Recently,Nvidiahascoll

这篇论文探讨了在自动驾驶中,从不同视角(如透视图和鸟瞰图)准确检测物体的问题,特别是如何有效地从透视图(PV)到鸟瞰图(BEV)空间转换特征,这一转换是通过视觉转换(VT)模块实施的。现有的方法大致分为两种策略:2D到3D和3D到2D转换。2D到3D的方法通过预测深度概率来提升密集的2D特征,但深度预测的固有不确定性,尤其是在远处区域,可能会引入不准确性。而3D到2D的方法通常使用3D查询来采样2D特征,并通过Transformer学习3D和2D特征之间对应关系的注意力权重,这增加了计算和部署的

人形机器人Ameca升级第二代了!最近,在世界移动通信大会MWC2024上,世界上最先进机器人Ameca又现身了。会场周围,Ameca引来一大波观众。得到GPT-4加持后,Ameca能够对各种问题做出实时反应。「来一段舞蹈」。当被问及是否有情感时,Ameca用一系列的面部表情做出回应,看起来非常逼真。就在前几天,Ameca背后的英国机器人公司EngineeredArts刚刚演示了团队最新的开发成果。视频中,机器人Ameca具备了视觉能力,能看到并描述房间整个情况、描述具体物体。最厉害的是,她还能

轨迹预测在自动驾驶中承担着重要的角色,自动驾驶轨迹预测是指通过分析车辆行驶过程中的各种数据,预测车辆未来的行驶轨迹。作为自动驾驶的核心模块,轨迹预测的质量对于下游的规划控制至关重要。轨迹预测任务技术栈丰富,需要熟悉自动驾驶动/静态感知、高精地图、车道线、神经网络架构(CNN&GNN&Transformer)技能等,入门难度很大!很多粉丝期望能够尽快上手轨迹预测,少踩坑,今天就为大家盘点下轨迹预测常见的一些问题和入门学习方法!入门相关知识1.预习的论文有没有切入顺序?A:先看survey,p

这周,由OpenAI、微软、贝佐斯和英伟达投资的机器人公司FigureAI宣布获得接近7亿美元的融资,计划在未来一年内研发出可独立行走的人形机器人。而特斯拉的擎天柱也屡屡传出好消息。没人怀疑,今年会是人形机器人爆发的一年。一家位于加拿大的机器人公司SanctuaryAI最近发布了一款全新的人形机器人Phoenix。官方号称它能以和人类一样的速率自主完成很多工作。世界上第一台能以人类速度自主完成任务的机器人Pheonix可以轻轻地抓取、移动并优雅地将每个对象放置在它的左右两侧。它能够自主识别物体的

一眨眼的功夫,机器人都已经学会变魔术了?只见它先是拿起桌上的水勺,向观众证明了里面什么也没有……然后,它又把手中鸡蛋似的物体放了进去,然后把水勺放回桌子上,开始“施法”……就在它把水勺再次拿起的时候,奇迹发生了。原先放进去的鸡蛋不翼而飞,跳出的东西变成了一个篮球……再来看一遍连贯动作:△此动图为二倍速一套动作下来如行云流水,只有把视频用0.5倍速反复观看,才终于发现了其中的端倪:如果手速再快一些,大概真的就可以瞒天过海了。有网友感叹,机器人变魔术的水平比自己还要高:为我们表演这段魔术的,是Mag
