会话式AI:自然语言处理与人机交互
上QQ阅读APP看书,第一时间看更新

1.3.2 人机交互模块的发展

1990年,麻省理工学院在DARPA的支持下开发出基于人机交互的自动机票预订系统(Air Traffic Information System,ATIS)。该系统是早期人机对话系统的一个典型代表,它通过与用户多轮对话进行需求采集,如收集用户出发地、出发日期、航班信息、到达地等相关信息。根据这些信息完成机票的查询与预订工作。与之类似的还包括电信咨询业务服务系统HMIHY、天气信息查询系统JUPITER、旅行计划制定系统DARPA Communicator等。此类人机系统存在统一特征——面向任务型问答。系统设计的目的是解决某一类任务,为了服务其相关场景,系统需要向用户收集相关条件信息。当用户提供的条件存在缺漏或错误时,系统通过人机交互不断填充相关信息,并在充分收集信息后执行相关任务(信息查询服务、业务操作服务等)。时至今日,我们身边就有很多任务型机器人,其技术特点将在下一节重点介绍。

与任务型人机交互相对应的便是非目标驱动(Non-Goal Driven)人机对话系统。顾名思义,此类系统并非由目标驱动,通常只是对用户输入的内容进行响应,并不完成特定信息服务任务。有别于任务型机器人,此类系统对于收集信息、自主确定对话行为等方面的要求相对较弱。任务型机器人典型的早期代表为诞生于1966年的ELIZA系统,它被称为人工智能历史上最为著名的软件,也是最早的与人对话程序,是由系统工程师约瑟夫·魏泽堡和精神病学家肯尼斯·科尔比共同编写的,是世界上第一个真正意义上的聊天机器人。他们将程序命名为ELIZA,灵感来自英国著名戏剧家萧伯纳的戏剧中的一个角色,它能够使计算机与人用英语谈话。

此类人机交互系统在当今也衍生出一种以休闲聊天为主的机器人,其中最为典型的中文聊天机器人便是由微软亚洲研究院开发的小冰机器人。我们也将在下一节中具体介绍聊天机器人的相关技术特点。

由于上述系统设计目标的差异性,其评价指标也存在明显不同。任务型系统的评价指标主要考察机器人信息抽取能力、任务完成情况以及异常情况处理能力;非目标驱动系统的评价指标主要考察机器人回答内容的丰富度、回答质量以及同用户的对话轮数。其中对话轮数是一个很有趣的指标,任务型问答系统的目标是最快速、最精准地完成用户要求的任务诉求,因此希望对话轮数越少越好。相反,非目标驱动系统则希望能与用户聊更多的内容,通过用户是否愿意同机器人进行更多的对话来判断该系统的质量。随着时间的推移,任务驱动人机对话与非目标驱动人机对话之间的差异逐渐减少。此时不仅要求人机对话系统可以完成相关信息查询任务,同时也要求其具备最基本的没有任务的聊天对话能力。这是人机交互的场景复杂化导致的,即有时需要机器人同用户闲聊,有时需要机器人快速完成相关业务服务。

近年来,人机对话系统无论是在企业客户服务型机器人,还是在个人助理等方面都涌现了巨大的需求。前者可以有效降低企业的客户服务人力成本,后者可以帮助人们更自然地获取信息服务。在个人助理方面,目前有苹果公司的Siri与微软公司的Cortana等;在中文客户服务机器人方面,国内有阿里小蜜、云问机器人、公子小白等产品。

在任务型人机交互系统中存在统一框架体系,本节将重点阐述其框架及相关内容。任务型人机交互系统基本框架如图1-2所示。

图1-2 任务型人机交互系统框架图

任务型人机交互系统整体由三大部分构成:自然语言理解(NLU)、对话管理(DM)以及自然语言生成(NLG)。任务型人机交互系统一般由用户主动触发对话,在用户输入内容转成文字后,首先通过自然语言理解模块完成对用户提出的问题的进一步解析。在这一过程中,系统将完成领域识别、意图识别以及语义标注,最终对原始文本加入更深层次的解读。接下来,系统将解析生成结果送入对话管理模块,判断在当前对话状态下系统应该如何响应。该模块内部主要由状态追踪模块和动作生成模块两部分共同构成,最终形成系统对用户输入内容的反馈动作。最后,系统通过自然语言生成模块将刚获得的反馈动作转换成终端用户可理解的媒介(文字、语音),并由系统完成相关输出。本节接下来将针对上述3个模块逐一介绍,并探究相关技术实现方案。