背景
人工智能(AI)研究近些年来进展颇丰。机器人越来越聪明,甚至还有了新名字——“超级智能”。对我们人类来说,我们该如何与这些新朋友交流呢?答案是对话系统。
图 1:对话系统是 2017 年十大战略性技术趋势之一(https://letstalkpayments.com/conversational-systems-will-enable-businesses-of-the-future-to-be-invisibly-present-through-time-and-space/)
对话系统的历史
图 2 展示了对话系统的发展史。LUNAR、SHRDLU、ELIZA 等一些早期的自然语言对话系统可以通过句法分析和语义分析“理解”说话人的话语。
LUNAR [2] 是一个原型设计的自然语言问答系统,可帮助月球地质学家获取对月球岩石和土壤成分的化学分析数据。其采用了使用启发式/语义信息的句法分析来选择最有可能的解析方式(使用了扩充转移网络语法(Augmented Transition Network Grammar))。
SHRDLU [3] 是一款早期的自然语言理解计算机程序,由 MIT 的 Terry Winograd 在 1968–1970 年开发。其用户可以与计算机进行对话,从而在一个简化的“积木世界”中移动目标、命名集合以及查询状态。这个“积木世界”本质上是一个充满了不同积木的虚拟盒子。其开发的基础是:研究者相信“计算机只有在理解了其所讨论的主题之后才能处理语言”。
然后,故事理解和生成系统出现了。这些系统可以根据人类话语推断动作、动作执行者和对象。这些系统有几种不同类型:基于脚本的理解、基于规划的理解、动态记忆和故事讲述。下面给出了这些类型的一些典型对话系统。
- 基于脚本的理解:SAM(Script Applier Mechanism)[4]、FRUPM [5]
- 动态记忆:IPP [6]、BORIS [7]、CYRUS [8]
- 故事讲述:TALE-SPIN [9]
然后进入了 1980 年代,早期的语音对话系统开始冒头了。“Hearsay-II 语音理解系统”根据知识源整合了不同层面的信息处理,这些信息来源是根据黑板模型(blackboard model,图 3)协调的,其中涉及:参数、分段、音节、词、词序列、短语和数据库接口。其结合了自上而下(假设驱动的)和自下而上(数据驱动的)的处理方法。
之后,研究者设计出了越来越复杂的对话系统,并且取得了很大的成功,将早期的语音对话系统改进成了有身体的对话智能体/智能虚拟人(图 4)。
但研究者不会就此止步:他们还试图让系统能理解情绪。情感计算(affective computing)是设计情绪智能的一个原理,可根据同伴的情感状态改变行为。
到了 2000 年代,对话系统已经具备了各种必需的基本功能,支持交互式往复对话(不只是回答问题,而且还能提问题),能识别交互和延迟的成本,能有效地管理中断,还能获取交互中社交和情绪方面的信息。这些之前的出色研究工作非常有价值,并且构建了当前的对话系统。