突然想写一篇电话场景下的对话机器人的介绍,算是对自己之前工作项目的一个小总结吧,只说自己知道的,算是抛转引玉吧。
先简单说明这里说的对话机器人不是指常见的闲聊机器人chatbot,而是落地到客服、营销等场景,需要结合对应行业知识的对话机器人,举个栗子,电信小智、10086等。大概做个划分,客服和外呼(Inbound、Outbound),客服典型的特点是用户打过去、机器人接听的,而外呼呢,就是机器人主动发起对话了,对话表现上前者多为用户主导,后者多为机器人主导。常见客服机器人主要核心的功能是检索啦,就简单的说是FAQ或者KBQA,FAQ的核心是文本向量表示和相似匹配,后者没有时间经验就不说了,本文介绍的重点是外呼对话机器人,而且是基于电话场景的。
功能模块
1. 对话管理DM
2. 语音转写ASR
3. 口语理解SLU
4. 业务问答FAQ
5. 语音合成TTS
对话管理
因为是主动呼用户,自然是有目的性的(这是跟chatbot最大的不同),有明确的流程规划,比如金融催收、卖保险产品等场景对话机器人(流程举例如下图),一般通过if-else规则实现,定义好有先说什么后说什么,怎么结束对话等,还有一个关键的是问题之间的衔接跳转。Q1、Q2表示机器人需要问的业务问题,根据用户的回答进行流程的跳转,其实就是个有限状态机FSM啦。