聊天机器人的目标是让机器理解人类。迄今为止,软件并不擅长理解人类。相反,人类必须理解软件。人类在与软件交互时必须精确,要么输入准确的命令,要么点击界面上准确的图形小部件来完成任务。
要求人类精确操作会产生三个问题,一是使用软件需要学习曲线,二是使用软件时需要花费脑力确保不会出错,三是很容易出错。
如果软件能理解人类,即使它们并不精确,那会更好吗?是的,因为它可以解决这三个问题。我们的目标是 chatbots的目标是让机器理解不精确的人类,让人类能够自然地与机器交流。
在讨论这一点的影响之前,有必要指出,自然交流可能不是与机器交流的最快方式。点击 "点餐 "按钮比说 "我要点一个芝士汉堡 "要快得多,也比用拇指打字要快得多。
同样显而易见的是,图形界面更适合复杂的任务。使用语音指令制作电子表格要比使用图形用户界面慢得多。
然而,在很多情况下,自然语言界面更胜一筹,而且其优势的用例数量每天都在增加。
要区分语音界面与更精确的图形用户界面或编程界面的优劣,一种思考方法是区分我们定义的 "服务 "概念和 "工具 "概念。
工具 是一种接口,它需要许多低级参数来执行给定任务。例如,程序员可以使用应用编程接口(API)来指示机器完成特定任务。
服务 是一个接口,只需几个高级参数就能执行给定任务。服务在更高的抽象层次上处理任务,因此它可能会使用许多工具来完成工作。
服务是自然接口的主要候选者。如果需要与指令一起传达的参数数量有限,那么传达指令就会更容易。例如,用户用来预约的语音界面就是一个很好的服务用例。
自然查询允许用户使用自然语言而不是 SQL 或编程语言或脚本语言所要求的精确语法来查询计算机系统。指令的每个部分都是一个服务。这是chatbots 操作领域的另一个用例。自然查询本质上是相关聊天机器人服务的集合。
Wolfram Alpha 就是一个很好的例子。
Wolfram Alpha(WA)允许人们用自然语言提出查询。Wolfram Alpha 会找出用户想要做什么,然后为他们完成任务。这样就省去了在帮助文档中搜索如何操作,然后反复尝试几次才能成功的步骤。
虽然最终目标是实现软件使用方式的完全灵活性,但有些人可能会说,目前的chatbots 还不够灵活。
当然,与 SQL 语句相比,使用聊天机器人已经有了更大的灵活性,但有时仍需要尝试用聊天机器人可能理解的方式说话,即使这样做有一定的灵活性。不难想象,chatbots 在理解自然语言方面会做得更好,也会变得更有用。
自然查询聊天机器人的价值来自于减少用户必须记住的命令或精确语法的数量。通过减少记忆和心理负担,聊天机器人不仅能让技术人员更高效地完成工作,还能帮助初学者更快地提高工作效率。
而不是说
"选择流行歌手
来自 PopSingerList
WHERE 年龄 >40;"
可以这么说
"给我看看所有年龄超过 40 岁的流行歌手"或任何类似的说法。
至少可以将该语句转换为正式的 SQL 语句进行查询,这样技术人员就可以使用正式的语法(如果他们想这样做的话)。
自然查询是chatbots 的有趣用例。通常聊天机器人的用例主要集中在提供更多便利的服务或不经常使用因而难以记忆的服务上。自然查询是一种有用的用例,因为它可以减少用户需要记住的命令数量,从而降低命令行脚本的复杂性。