只要有精力,我就能发出相当复杂的指令,比如:“给我一个什么都加的大号火鸡三明治,再来一小杯可乐。”
想想看,在一个图形用户界面中,比如说在iPhone上,我需要多少步才能传达同样的命令?首先要从三明治下拉列表中选择三明治(火鸡三明治),然后选择三明治的大小(可能是另一个下拉列表),然后要单击“所有”配料的复选框(假设提供了这个选项),最后还要选择饮料及其大小。这至少需要5个不同的步骤(这还不包括点击解锁应用程序)。这显然比说一句话要费力得多。在这样一个口语句子的情况下,努力就等于从用户转移到了语音界面上:用户可以自然地说话(他们不需要使用下拉菜单、复选框、单选按钮等人工设置),因此理解用户所说的话、找出用户想要什么的责任就落在了语音机器人身上。
尽管语音机器人能够解析丰富而复杂的用户状态,但它仍需要与用户进行多次交互。用户不会只为了节省步骤就将命令完全打包,但他们会在一定程度上尝试提高效率。当我打电话订比萨时,我不会一口气说:“我要两个大比萨,都是薄皮的,第一份要加意大利辣香肠、牛肉和黑橄榄,第二份要加鸡肉、青椒和额外的西红柿;我还要两大瓶饮料,一瓶可乐,一瓶雪碧。”我逐渐认识到,人们一次只能接受两到三条信息,因此,更自然的对话流可能是这样的:
语音助手:您好,阿方索比萨店。您要点菜吗?
我:是的。我想订两个大比萨,都要薄皮的。
语音助手:好的。您的第一个比萨想要什么馅的?
我:意大利辣香肠、牛肉和黑橄榄。
语音助手:好的。意大利辣香肠、牛肉和黑橄榄。
我:是的。第二个比萨……
语音助手:请讲。
我:我要鸡肉、青椒和多一点西红柿。
语音助手:鸡肉、青椒和多加些西红柿,对吗?
我:没错。
语音助手:还想喝点什么吗?
我:是的。两大瓶饮料,一瓶可乐和一瓶雪碧。
语音助手:两个大瓶的可乐和雪碧。还要别的吗?
我:不要了,就这些。
语音助手:请稍等。
这种能够有条不紊地交换结构化信息的机制,我们称之为对话,而人类是对话艺术的大师。即使是最复杂的对话交流,我们也能很自然地进行。然而,仔细观察就会发现,最简单的对话结果也是令人印象深刻的复杂工作。对话并不是简单的两方互动,而是高度结构化和严格控制的相互作用。当所有参与者都密切、谨慎地管理对话时,才能成功达到对话的预期目标。
在本章中,我们将描述对话的基本机制,通过使用该机制,对话参与者可以成功地开始并完成对话。
用于描述对话机制的4个关键概念是:动作、状态、上下文和信号。