引导关注.jpeg


这是阿拉灯神丁Vicky的第 008 篇文章


     就从最近短视频平台的大妈与机器人快宝的聊天说起吧。


001.jpg

        

     某银行内,一位阿姨因等待办理业务的时间太长,与快宝机器人展开了一场来自灵魂的对话。对于银行工作人员的不满,大妈向快宝说道:“你们的工作人员在里面哄孩子,怎么不出来办业务?”;快宝答:“我们柜台里的哥哥姐姐也在很努力的办业务呢。”听到这个回答,阿姨试图将快宝的身体转向柜台方向,说:“你往里瞅瞅,是不是在哄孩子?”快宝嘤嘤嘤的好委屈:“你不要触碰我了,跟我说话就可以了”.


     “快宝”说话的语速和声音非常清晰,逻辑性连贯,跟普通人说话的方式简直一模一样,比苹果的 SIRI强太多,有网友甚至怀疑快宝“背后”是专门的人通过摄像头在和人对话。


      随着人工智能相关技术的更新迭代,如今,ASR与TTS技术相对来将已经成熟,自然语言的表示和理解已经取得了很大的进展,在行业的竞争壁垒中也逐步削弱,未来智能对话机器人的核心竞争力在于理解了用户的意图之后所提供的差异化服务。下面我就在产品角度聊聊语音对话机器人的喜相关知识点,希望带给各位一些思考。


1、智能语音对话系统的组成


      智能语音对话系统大致可分为五个基本模块:语音识别(ASR)、自然语音理解(NLU)、对话管理(DM)、自然语言生成(NLG)、语音合成(TTS).


002.jpg

        

      语音识别将语音转化文字,让机器读取用户再说什么,自然语言理解是理解用户说的话是什么意思,分析用户说话的意图,和对用户语言中核心词槽的解析。而对话管理(Dialog Management,DM)就是人机对话中的CPU,控制着整个人机对话的过程。对话管理的任务主要有下四点,对话状态维护(dialog state tracing,DST)、生成系统决策(dialog policy)、作为接口与后端/任务模型进行交互、提供语义表达的期望值(expections for interpretation)。由对话管理分析出用户的意图之后并做出相关行为,自然语言生成对用户任务的处理结果以文字形式生成,然后语音合成将此结果合成为语音说出来。就形成了人机对话的整个过程。


2、人机对话的分类


    个人将常见的人机对话分为日常撩拨型和任务驱动型。


      最常见的就是任务驱动的多轮对话,用户是带着明确的目的如订餐、订票、叫车等比较复杂的需求来,而这中间有很多限制条件,用户并不能一次将任务所需的关键信息一次性说完、说清楚,因此就要分多轮进行QA问答。一方面,用户在对话过程中,可以不断修正和完善自己的需求;另一方方面,当用户在陈述需求不够具体和明确时,机器人可以通过询问、澄清和确认来帮助用户寻找满意的结果,并且在任务的驱动下与用户完成日常的交互,以此不断完善对于用户需求的满足。


      而日常撩拨型对话中的关键,是要根据用户唤醒机器人时和唤醒之后第一句话的日期时间和语气来判断用户当前的情绪,比如:周五晚上9点下班回家,而唤醒时语气中带着些许匹配疲惫与不开心,此时就需要机器人的安慰和鼓励,以此满足用户的情感需求。当用户心情愉悦时,对话中还可以偶尔“皮一下”,对话中一定要有让用户惊艳的句子和当下比较流行的词语,有趣和好玩是日常撩拨对话中的刚需,而这需要训练师不断更新语料库,以此来持续性对智能语音设备的依恋。


003.png


3、对话管理的重要性


      对话管理对于多轮对话又异常重要,因为单词对话每次聊天都需要用户去唤醒语音对话机器人,用户必须每次将需求完成的说出,否则几次对话下来用户将会产生烦躁的情绪,语音对话机器人将会变得鸡肋。下面我们来分解下对话管理的大致任务:


1、对话状态维护(DST)

      维护和更新对话状态,t+1时刻的对话状态006.png,依赖于前一时刻t的对话状态007.png,和之前时刻t的系统行为008.png,以及当前时刻t+1对应的用户行为009.png。因此整个依赖关系就是010.png


2、生成系统决策(dialog policy)

      根据DST中的对话状态,产生系统行为,决定下一步做什么可以监测到用户的输入,就是NLU的过程,以及系统对于NLU的反馈行为,就是NLG。


3、作为接口与后端/任务模型进行交互。

      作为应用程序接口与服务器端或任务模型进行请求交互,获取反馈结果,生成文字结果。


4、提供语义表达的期望值

      根据用户输入的表达,包括语言表达和语义解析,做出满足用户期望的语义表达,满足用户需求。

多轮对话中为了清晰明确的理解用户的意图和需求,将对话建模过程中缺少的信息形成一个填槽的过程,槽就是多轮对话当中将初步用户意图转化为明确用户指令所需要补全的信息。一个槽与任务处理中所需要获取的一种信息相对应。槽没有顺序,缺什么槽就向用户询问什么信息。


基于框架式的对话管理(Frame-based DM)需要如下要点: 


    1、框架:槽位的集合,定义了需要由用户提供哪些信息;

    2、对话状态:记录了哪些槽位已经被填充,那些槽位待填充;

    3、行为选择:下一步该向用户询问哪些信息,填充哪些槽位,进行何种操作,对哪些槽位进行加权填充。


      基于框架的系统本质上是一个生成系统,不同类型的输入触发不同的生成规则,每个生成灵活的填入相应的模板,这些模型的和框架的设计只为在满足用户需求的前提下,尽快的完成必要信息的获取。


4、语音对话系统的设计要点


设计语音对话系统需要注意的5个要点:

      行为模式的设计、交互过程的设计、知识结构的设计、人格情绪的设计、熟悉过程的设计,我们又可以将这5中设计要点进行情景细分:


004.png

    

      在整体架构设计当中,加入这些细分情景的收集,透过用户与机器对话的行为细分模式,包括知识结构和人格情绪的收集,来出一个虚拟人格。此模式就相当于某宝或某东商城根据用户的点击、搜索和浏览行为结合大数据生成的千人千面,通过语音交互的使用过程,了解用户习惯进而达到更好的体验。


     语音对话体验可分为三个方向:声音形象、对话交互模式和对话内容,它们分别对应GUI时代的品牌设计、交互设计、服务设计,产品经理需要把握好机器人与人的平衡点,不要过度人性化,以免某些点不能满足用户的过渡预期,而产生的失望。

    

     人类的大脑依赖所学的知识进行思考、逻辑推理和语言理解。而机器人则是依赖数据的训练,互联网时代积累的大量的数据能为训练机器人提供的强有力的保障,对话机器人以数据为基础,利用深度学习模型和算法,对人类世界进行感知、识别和判断,并通过知识图谱对人类的知识进行梳理、整合、推理,变成有智慧的AI。


005.png


5、对话机器人所面临的问题


      人的复杂性(complex)、随机性(random)、和非理性化(illogica)的特点导致人机对话在应用场景下面临者各种各样的问题,包括但不限于如下问题:

    1、模型描述能力与业务复杂度的权衡;

    2、用户对话偏离业务涉及的路径及边界;

          (如:系统问用户导航的目的地时,用户反问了一句某地天气情况)

    3、多轮对话的容错性;

          (如:3轮对话的场景,用户已经完成2轮,第3轮由于ASR或NLU错误,导致前功尽弃,如此用户体验就非常差。)

    4、多场景的的切换和回复;

    5、降低交互变更难度,适应业务迅速变化;

    6、跨场景信息继承。


6、结束语


      未来对话机器人除了被动回复用户的请求外,主动预测用户需求并提供即时方案成为必然的发展方向,当用户没有给出明确的需求情况下,提醒即将发生的事件或推荐有用的服务,人们会逐渐依靠他们来管理自己的工作生活,提高生活效率及幸福感。


      对话机器人的目标不一定是解决用户面临的所有问题,而是成为用户的虚拟助理。通过与用户建立情感链接,理解用户,长期范围内帮助他们,与用户建立多种形式的交流,包括文本、语音和图像以及视频功能。

        

        011.jpeg