对话工厂,顾名思义,个性化定制对话流的工作台,按照更灵活的方式,将对话中的概念进行抽象和提炼为三个基本元素:entry(触发)、function(函数)、response(回复),经过大量应用场景的实际案例发现,几乎所有对话流都可以用以上三个基本元素拼装组合而成。包括经典的slotfilling机制,包括非依赖性平行槽、依赖槽,甚至针对填槽过程中获取到的参数值进行分支判断,例如重名校验、合理性校验等等。
对话工厂的起源
如今在深度学习技术的加持下,人工智能技术和应用已经风靡全球,各类对话机器人相继诞生,有的应用在生活中,例如各大厂牌的智能音响,有的应用在工作中,例如各种高效的客服机器人,其实在chatbot领域,一般将用户的Query区分为三大类:
咨询类,“请问我们公司缴纳的个人所得税比例是多少?”。
闲聊类,“你好啊”、“谢谢了”、“你真棒”。
任务类,“帮我约张三开个会”、“我要请假”、“帮我申请退货”。
举例
其中,任务类的场景,一般都需要进行2轮或2轮以上的对话来解决用户问题,(U代表用户,B代表机器人),例如:
U:“帮我预定一张明天去北京的火车票”
B:“好的,请问您从哪个城市出发?”
U:“杭州吧”
B:“ok,已经为您找到以下火车票,请您选择”
…
分析
在这个预订火车票的场景中,用户第一句话表达了清晰的预订火车票意图,并且说出了两个关键信息,“明天”是出发时间,“北京”是目的地,但是对比预设好的购票逻辑,还缺失了一个关键信息“出发地”,此时,机器人自动反问,(机器人的反问话术目前是由用户自定义配置的),直到收集齐所有关键信息,机器人就去真正的执行这个任务,比如查询符合条件的火车票,甚至直接帮用户购买一张符合个人喜好习惯的靠窗火车票。
提炼
随着越来越多的对话场景开发上线,逐步受到广大用户的青睐,如果想推动整个智能对话机器人的发展更加迅速,必须要借助一些符合行业规范、能够提高工作效率、甚至能够理清思路的好工具、好平台。对此提出几点要求:
高度抽象复杂对话中的基本元素,使其能够成为所有对话构建的基石。
找到元素之间组装和拼接的规律,帮助对话开发者或者对话运营人员理清思路,找到方法,驾驭智能对话。
简单高效易用,降低新手成本,一些通用的对话原材料,尽可能多的预置好,开箱即用。
欢迎走进chatbot智能对话的新世界。