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

人机语音对话技术在 58 同城的应用实践

  • 2019-11-25
  • 本文字数:3767 字

    阅读完需:约 12 分钟

人机语音对话技术在58同城的应用实践

导读:本文将介绍 58 同城人机语音对话机器人的完整解决方案,重点分享对话策略管理、自动电话拨打、意图识别、防骚扰控制等核心模块的设计实现,并阐述如何将语音机器人应用于 58 各业务场景,以助力销售、运营和客服提高人效。

——背景——

58 同城是中国最大的生活信息服务平台,公司主营业务包括:招聘、汽车、金融、本地服务、二手等。其中,电话沟通是信息连接的重要渠道之一,如招聘业务模块,需要大量的业务人员进行求职信息确认、面试预约、面试回访等重复耗时的沟通工作。为了更好的服务 B 端商家和 C 端用户,实现“让生活简单美好”的公司使命,我们开发了语音机器人来进行电话语音沟通,减少业务人员的工作量并提升服务质量。


传统的沟通工作是完全依赖于人工拨打电话,而人工的方式相比于语音机器人存在很多问题。下图是语音机器人与人工的对比情况:



其中,关于工作态度,人工难以保持自身情绪的长久稳定,而机器人则可以始终如一的保持稳定、情绪饱满的工作态度;另外,在成本费用上,长期来看,语音机器人的成本远低于人力成本。对比了市面的语音机器人后,为了能快速的根据需求场景的变化与解决个性化的业务问题,公司采取了自研语音机器人的战略。


下面我们看一下 58 同城的人机语音对话示例:



从图中可以看出,语音机器人还是保持了相对流畅的对话。机器人怎样实现根据用户的不同回应做出不同的响应的呢?后面给大家做进一步的详细的介绍。

——语音机器人的总体架构——

1. 总体架构



语音机器人的总体架构 :


① 接入层:主要以 API 接口的形式,方便业务方调用语音机器人。当一通电话结束时,机器人可以把消息以 WMB 方式传递给业务方,相当于异步调用。同时销售等业务方,可以通过结果回传接口将后期跟进、成单信息反馈给后台,进行进一步的算法优化。


② web 管理层:主要负责话术的配置、权限的控制、批量拨打、防骚扰策略设置、数据可视化查询等。


③ 逻辑层:整个机器人的核心控制层,相当于人的大脑,保证整个对话流程完整进行。


④ 编辑运营层:目前主要用于数据标注,标注数据用于模型迭代与线上效果评估。


⑤ 基础服务层:主要包括 SIP 电话资源和语音识别/合成接口两部分。SIP 电话资源即实现拨打电话的资源,像东信、漫道等。语音识别采用的是阿里、腾讯等第三方的接口。


2. 智能外呼流程



语音机器人智能外呼流程主要分为通话前、通话中、通话后三个部分。通话前主要是调用端,调用端会把被叫号码、业务场景等使用的信息传给主体外呼,主体外呼拿到信息后会进行一些策略的设置,如防骚扰逻辑的设置、选择合理的 SIP 方、建立 SIP 通信、根据业务场景加载话术等。当触发开场白后,进入“通话中”状态,通过发送语音和利用第三方语音合成接口编码语音,经 SIP Proxy Sever 端发送给用户,用户接听后,再对用户的反应进行判别与用户语音的解码,再利用第三方的流式语音识别接口得到文本。通过对文本的分析,结合话术跳转的逻辑,对用户的回复进行合理的响应。通话结束后,语音机器人会对整轮电话进行通话状态判断、整轮通话意图识别、数据存储与回调,并以 WMB 的方式回传给业务方。

——核心功能——

58 同城语音机器人的核心功能包括四部分:电话拨打服务、通话状态识别、智能对话交互、整轮意图识别。


1. 电话拨打服务


实现电话的拨打服务功能,和客户建立连接。



当前这一功能实现主要是基于 JAIN SIP 的开源库,主要包括四层。其中在资源管理层控制上,对于呼叫用户会考虑同样的归属地来提升拨打电话的接通率。对话建立层基于 SIP 协议来实现建立通话连接与释放连接的处理。


防骚扰策略


为了避免过多打扰和消耗用户,设计了防骚扰策略。其策略主要考虑:


① 被呼名单限制:设置了呼叫白名单与黑名单,比如有些特定用户名单是不能呼叫的。


② 呼叫时间控制:哪些时间段是不能呼叫的。


③ 呼叫频次控制:对用户的呼叫频率要控制,防止过渡消耗用户。


④ 用户情绪识别:对呼叫中用户的情绪进行分析,当用户情绪很抵触时,添加到被禁的黑名单中。


2. 通话状态识别


判断拿到的客户电号码话是否真实存在和是否处于正常状态。比如做销售业务时,需要核对业务方拿过来的客户号码是否是空号、异常号码等,这个可用通过电话拨打服务来实现状态判断。



具体可以利用 SIP 协议和响铃语音来实现。SIP 协议:利用基于 SIP 协议返回的 SIP 状态码来进行判断,比如返回 603 则判断为空号;响铃语音:通过将语音信号转化为文本,进行文本关键词匹配和文本分类,对拨打号码进行判断,比如“您拨打的电话已关机”判断为关机状态,还可以利用语音信息特征设计响铃语音分类器,判断号码状态。


3. 智能对话交互


为了实现多轮对话流畅进行,智能对话交互主要包含以下模块:智能对话管理、电话按键捕获、单句意图识别、标准问题匹配、槽位提取。


① 智能对话管理



通常情况下:将用户语音转化后的文本作为模型的输入,首先对文本进行包括单句意图识别与槽位识别的 NLU 工作,然后将信息转化为用户动作并交给对话管理器。对话管理器需要判别用户的意图,根据预先设计好的话术库,结合映射策略进行话术选择跳转,生成系统动作。


具体的话术选择与策略,可以根据用户动作的语音响应与非语音响应,做进一步的处理,如下图所示。



对于四类具体话术策略跳转的理解,可以结合下图话术实例来看:



② 电话按键获取


捕获用户的按键信息。电话按键信息的捕获主要是基于 RTP、SIP、SDP 协议对按键的信号解析获得。


③ 单句意图识别


用户的意图可能会有很多种,我们将意图整体划分为了十九类意图,并建立了标签、意图及说明的识别表。



单句意图识别的实现:当前公司上线主要用的是 TextCNN 进行多分类,将用户的单句话转换为文本后再进行分类。



我们也在尝试使用 Bert 模型,进行单句意图识别:



用公司自己的场景语料在谷歌官方中文预训练模型的基础上进行的 Pretrain,拿到 Bert 关于句子的编码向量 CLS 加全连接层后接 softmax 进行多分类。相对于原来 TextCNN 的方式,效果上准确率会有百分之二的提升。


④ 标准问题匹配


当用户意图为提问时,对于问题类型为标准型问题,可以与标准问题库的问题进行问题匹配,选择对应的答案进行回复。



标准问题匹配当前使用的主要模型是 Bi-LSTM-DSSM:



Bi-LSTM 进行句子的语义编码,DSSM 进行句子匹配。在正负例的选择上,当前主要需要依据具体场景与实验效果进行设定。计算损失时的目标是与正例的相似度越高以及与负例的相似度越低。


在标准问题匹配上,也有尝试用 Bert 的方式来做:



在标准问题的匹配上,Bert 主要是用于句子信息的抽取,在具体实现的时候,对比了 CLS、Mean-Pool、Max-Pool 等常见方式,发现用 Max-Pool 的方式去抽取作为句子的向量表示是最好的。


标准问题挖掘


完善和更新标准问答数据集。



从对话数据中,提取问题与更新问答知识库。这里在新增问题时需要结合人工进行问题入库与否的审核,对于确定后的标准问题,需要对答案填充后才能添加到问答知识库中。


⑤ 槽位提取


提取对话文本中的词槽,当前主要使用的是 IDCNN+CRF 的方式进行。



当前外呼中提取的词槽实例如下:



4. 整轮意图识别


在部分外呼业务场景下,当外呼电话结束时,需要对客户意图进行预测,目前采用整轮意图识别的方式对客户意图进行预测。比如在销售场景下,将客户的意图分成了三类分别为 SUCCESS、CENTRAL、REFUSED,具体意图说明如下表:



整轮意图识别会考虑整个对话从响铃识别到对话结束的相关信息来判定,具体可以见下图:



具体的意图识别算法,主要包括 TextCNN 等模型进行分类,输入为整个对话过程中用户的所有回复文本的拼接,当前实际上线的模型是采用多模型融合来做的。此处以 TextCNN 单模型为例,模型结构如下图:



意图识别的评测:


评测会包括离线人工评价与线上评价。



目前影响意图识别准确率的主要因素是语音识别错误。

——应用场景——

语音机器人的实用场景不仅在是在销售场景,在 58 同城的应用主要还可以概括六个方面,包括:


① 通知:最基本的场景,如当用户信息发生更改,机器人可以用语音的方式告知用户哪些信息发生了更改,需要注意哪些特别事情等。


② 满意度回访:如使用 58 同城的产品时,可以利用语音机器人对客户进行产品满意度的回访。


③ 信息验真:进行用户信息真实与否的确认。


④ 销售:判断与发现潜在客户。


⑤ 告警:比如内部运维场景下,服务器出现了异常情况,机器人语音电话将报警信息告诉相关负责人。


⑥ 销售客服培训:在人力客服上岗前,需要先进行上岗培训,原来主管对于新员工的基础培训与考核部分,可以改为利用机器人进行初步培训。


下面可以看看四个具体的实际应用案例:


① 校招提效:通知场景,语音机器人在校招面试中成功运用,提升校招工作人员的效率。



② 客服提效



③ 运营提效



④ 销售提效



利用语音机器人识别意向程度高的潜在客户,提升销售人员的销售效率。


小结:语音对话技术不仅在销售业务领域落地,在信息通知、内部的业务告警等多个业务模块都得到了应用。本文围绕人机语音对话技术在 58 同城的落地场景,对语音机器人的总体架构、核心功能、具体实践场景进行了系统的介绍。


作者介绍


李忠


58 同城 | AI Lab 算法架构师


本文来自 DataFun 社区


原文链接


https://mp.weixin.qq.com/s?__biz=MzU1NTMyOTI4Mw==&mid=2247495417&idx=1&sn=dba2868cbc9b7234029a9e0afccdaee4&chksm=fbd75c95cca0d583de37a3e588a2d47099b76d9bbf9e2e5990e6cfdb0e8a91a3eaf884791114&scene=27#wechat_redirect


公众号推荐:

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

AI 前线公众号
2019-11-25 08:002018

评论

发布
暂无评论
发现更多内容

cleanmymac x4.13.2中文版mac清理软件

茶色酒

CleanMyMac X

FL Studio 2023中文版水果音乐制作软件

茶色酒

FL Studio 21

Python函数基础回顾

timerring

Python

AIGC产业研究报告 2023——图像生成篇

易观分析

产业 智能

MES系统中的BOM为何如此重要?先进的BOM体系怎么建立?

优秀

MES系统 BOM

我的职业规划 |社区征文

来碗老郭

三周年征文

五月到了,再来看看ChatGPT给我们带来了什么吧!

加入高科技仿生人

AI AIGC ChatGPT

华秋干货铺 | PCB板为什么要做树脂塞孔?

华秋电子

大咖观点| AIGC与因果推断的双向赋能

九章云极DataCanvas

文心一言 VS chatgpt (14)-- 算法导论3.2 2~3题

福大大架构师每日一题

ChatGPT 文心一言 福大大架构师每日一题

膜拜,国内算法大佬亲撰:数据结构与算法全解笔记

程序知音

Java 算法 数据结构与算法 后端技术

AIGC遇上低代码的碰撞与融合

力软低代码开发平台

标签系列:标签的价值、生产与评价

Taylor

标签 CDP 用户画像 标签体系 精准营销

【Python实战】Python采集图片数据

BROKEN

三周年连更

论存储在智算与超算平台建设中的重要性

焱融科技

#分布式文件存储 #全闪存储 #高性能存储

巴别时代基于 Apache Paimon 的 Streaming Lakehouse 的探索与实践

Apache Flink

大数据 flink 实时计算

得物直播低延迟探索 | 得物技术

得物技术

直播技术 直播推流 直播优化

选择无服务器:Babbel 的迁移故事

亚马逊云科技 (Amazon Web Services)

致敬青年——开源的生力军

开放原子开源基金会

开放原子开源基金会

涨薪60%,从小厂逆袭,坐上美团技术专家(面经+心得)

程序知音

Java 后端 java面试 java架构 Java进阶

一文带你了解EPM系统的发展史

智达方通

EPM 业财融合 智达方通 企业绩效管理 海波龙

八股MQ003——聊聊Consumer

Codyida

后端

MySQL 8.0中InnoDB buffer pool size进度更透明

GreatSQL

MySQL InnoDB greatsql社区

推动变革,打造全新的全面预算管理解决方案

智达方通

智能多维数据库 多维数据库 业财融合 全面预算管理

从入门到放弃再到成功—我的 Jira 插件探索之路

跟YY哥学Jira

Scrum cli Jira插件 Forge 团队速度

如何参与Cetus和Oi! Network联合ISO认购和空投奖励?

股市老人

2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。

福大大架构师每日一题

golang 音视频 流媒体 福大大架构师每日一题

重塑数据活力 | 焱融科技与DaoCloud 道客完成云原生兼容性认证

焱融科技

#云原生 #高性能 #分布式文件存储 #文件存储 #分布式存储

使用篇丨链路追踪(Tracing)很简单:链路拓扑

阿里巴巴云原生

阿里云 云原生 链路追踪 Tracing

Python文件和操作系统基础

timerring

Python

iOS MachineLearning 系列(10)—— 自然语言分析之文本拆解

珲少

人机语音对话技术在58同城的应用实践_AI&大模型_DataFunTalk_InfoQ精选文章