作者:Alan Nichol @ Rasa
自从我们第一次发布了 人工智能助手的5个层级 ,我在会议上讲过,社区上也评论过,对它们做了拆解并进一步思考。现在市场和技术都变了,是时候对它们进行更新了。
对话式人工智能很难,这是一个巨大的机会。我们有机会打造软件史上最人性化的应用。在阅读这篇文章时,我希望你能记住一个想法: 终端用户已经在告诉我们他们想要从AI助手那里得到什么,而要达到5级,我们 "只要"倾听。
为什么这很重要
互联网和智能手机让我们这一代人的旅行(以及许多其他事情)变得非常容易。但我身边的人却因为对技术缺乏信心而被甩在后面。 如果我们能以与其他人类互动的方式来使用科技,我们就有机会打造出服务于更多人的软件。
让任何人都可以使用对话式人工智能(AI)已经很难,但可以却还不够。我们还需要赋予各类人创造这些应用的能力。这项技术有一百万种重要的用途,而大的科技公司永远不会建立这些用途(下图是一些示例)。唯一的办法就是通过大规模的开发者运动来实现。
如果你正在阅读这篇文章,你可能曾经构建过对话式AI,并且知道这并不容易。你和我以及每一个有这方面经验的人都欠下一代开发者一个人情,那就是构建更好的工具和抽象,这样他们就不用硬着头皮去发现它有多难。
对话式AI的5个层级
要想让人工智能助手为大家服务,无论是终端用户还是开发者的体验都需要获得大幅提升。
随着我们在五个层级的进步,对话助手会变得更加适应人类的思维方式,而不再感觉像是一个API终端。
让我们以一个人获得抵押贷款的报价为例。在每一个层次上,我们都在降低终端用户的负担,将他们想要的东西(一个新的居住地)翻译成银行的语言(30年固定利率抵押贷款的报价)。
在每个级别上,我们都在降低终端用户的负担,将他们想要的东西翻译成银行的语言。
层级1的助理把所有的工作都放在终端用户身上。静态网页表格是一个例子,命令行应用程序是另一个例子。记住,在Windows出现之前,每个人都是这样使用电脑的。命令行应用程序对专家来说是很好的(我自己就是个超级粉丝),但学习曲线很陡峭。生成抵押贷款报价的命令可能是这样的。
这就要求终端用户知道具体要输入哪些字段。虽然很麻烦,但还是比手工计算方便多了。
层级2的助理是基础的聊天机器人。如果用户说了类似 "我对抵押贷款利率感兴趣 "的话,聊天机器人就会问他们一系列问题,收集我们之前在命令行中提供的相同信息。
层级2的助理令人沮丧的是,当你偏离快乐路径时,它们就会严重崩溃。用户可以用自然语言表达他们的目标("我想要一个抵押贷款"),并提供信息("请提供固定利率"),但他们必须完全按照助手的期望行事。 按照快乐路径,用户必须提供机器人要求的信息,而不能做任何意外的事情。
层级3的助理是 情境助手,用户可以获得一些解释。 "这个月供和租房相比如何?","人们通常需要多长时间才能还清?", 他们可以纠正自己的想法,或者改变自己的想法,而不会破坏对话。 用户仍然要知道自己的目标到底是什么("我想要一个抵押贷款的报价"),但他们不再需要知道如何使用助手来避免中断对话。
层级4的助理是 咨询型助手 。 用户可以用自己的语言表达自己的情况, 比如 "我的孩子已经上大学了,我想缩小规模"。房贷优惠可能是最终的结果,但用户不必知道。用户说清楚情况,助手的工作就是想办法帮助他。
层级5的助理是 适应性助手 。助手可以摸清用户此时此刻正在寻找的细节程度。也许他们只是想知道现在典型的固定利率在3-3.5%左右,或者他们想计算一个详细的报价。也许他们已经做了很多研究,需要额外的说明。5级助手会接收到提示并调整其行为。
在每个层级上,我们都在降低最终用户的负担,将他们想要的东西翻译成银行的语言。这正是对话式AI的价值所在。但要实现这一点,我们需要一个拥有工具的开发者社区来推动可能的边界。
世界在变,而且有时变得很快。AI必须能够跟上。
对话式AI有两个影响开发者体验的独特之处。
第一,终端用户真的是在告诉我们他们想要什么。对于其他类型的软件,我们真正能做的就是追踪人们点击的位置,猜测他们想要什么。但是,我们需要达到5级理解的信息已经存在于人们与我们的助手的对话中。我们 "只是 "需要工具从真实对话中学习,并挖掘这一资源。
第二,不仅仅是开发者可以推动助手的进化。因为终端用户可以说任何话,用户也可以通过改变自己的行为来推动人工智能助手的变化。在我写这篇文章的时候,我们正在经历一场由COVID-19引起的公共卫生和经济危机。我相信,今天运行的任何与抵押贷款相关的AI助手都会收到大量来自新失业者的信息,他们正在为每月的付款而担忧。世界在变,而且有时变得很快。AI必须能够跟上。
所以,5个层次的第二个视角是开发者的视角。通过5个层次,开发者的体验并不是单纯地越来越简单,而是一个角色的进化。
我们不要忘记我们要做什么。我们要构建一个能够与人类自然对话的软件,同时代表人类完成任务。这是非常困难的。 从2级到3级,甚至更高的级别,我们正在将 "翻译 "的负担从终端用户转移到助手身上。我们不能再强迫用户像我们一样去思考问题。 而这对我们如何构建软件也有影响。
在第1层,开发者很容易添加新功能。我们可以发布一个新版本的命令行工具以及新的文档,而终端用户则要了解新功能。我们已经将问题分割成独立的组件,并定义了这些组件如何组成的硬性规则。
到了第2级,随着助手的发展,增加新功能的难度越来越大。 第2级的助手是用一组固定的意图和一组描述在不同情境下如何响应的if语句来构建的。 当你添加新功能时,你必须解决一个难题:如何在不破坏其他所有功能的情况下添加这个新功能?通过用另一个if语句解决每一个边缘情况,你建立了一个纸牌屋,变得越来越难修改。这个问题太难了,所以我们决定启动Rasa来尝试解决这个问题。
到了第3级, 我们开始接纳用户思考问题的方式和开发者不一样,并不是每一条消息都可以整齐划一地归入一个意图。 作为开发者,我们喜欢把较大的问题拆成独立的组件。 但为了实现流畅的对话,我们必须适应用户不尊重我们划定的边界。 例如,抵押贷款和储蓄账户都有与之相关的利率(尽管这些含义非常不同)。而且人们也会谈论 "储蓄"按揭存款。对银行来说,这些都是独立的产品,但对客户来说,这些只是达到目的的手段。我们必须观察用户是如何与我们的助手交谈的,并利用这些信息来教助手如何交谈。换句话说,我们必须实践 对话驱动开发(CDD) 。 要想真正迈过第2级,很多事情都要改变,包括摆脱意图。 这是一个很难解决的问题,但把助手往3、4、5级推进,正是Rasa存在的意义。
在第4级,我们开始自动化部分CDD流程。 自动发现哪些对话成功,哪些对话失败(以及失败在哪里)正是流程中的一环。当助手获得了判断对话成功与否的能力,就可以自动将成功的对话转化为新的训练数据,并准确地指出开发者应该修正的错误,从而进一步提高助手的能力。
到了5级,我们在技术上已经可以实现CDD的完全自动化。为了给助手增加新的能力,我们提供了如何完成任务的业务逻辑,通过几次练习对话,助手就可以像完成既定任务一样有效地完成新任务,并且可以在它们之间进行切换,同时考虑到上下文。 虽然从真实对话中学习的过程在很大程度上可以变得比较自动化,但我认为应该让人参与进来,引导学习过程,设定方向,并警惕有问题的行为。为人类服务的软件应该由人类创造。
我们可以看到,随着我们从第2级发展到第3、4、5级,开发人员的角色也在不断变化。 他们不是通过在微观层面增加更多的逻辑来与边缘情况搏斗,而是架构一个系统,自行处理小规模的决策。 我们可以与另一个拥抱数据和自动化的软件工程领域进行类比: 应用性能监控 。先进的APM基础架构可以让开发人员监控复杂的服务系统,并且更智能地响应系统的变化。有了这个基础架构,工程师可以构建和扩展系统,如果没有这种自动化,就无法维护。
我们将如何实现这一目标
Meena(介绍见 开域聊天机器人技术介绍(未来篇:上) ) 和 BlenderBot( 介绍见 开域聊天机器人技术介绍(未来篇:下) ) 很酷,但3级、4级或5级对话式人工智能不会在一家大型科技公司的新闻稿中到来。我们不是在等待一个单一的突破,或者另一个更大的模型。自我们开始研究这个问题以来的几年里,我一直对建立从真实对话中学习并超越2级所需的基础设施和工具的工作感到谦卑。
我们可以从网络上寻找灵感。你从来不需要任何人的批准来建立一个网站,或者发明一个新的互联网用途。如果每个人都停留在使用所见即所得的网站建设器,Web 2.0就不会发生。为了加快对话式AI的进展,我们需要同样的要素: 开源工具和不需要请求许可就可以尝试新事物的能力。 我们需要让每个开发者都能推动对话式人工智能的可能性,而不仅仅是大型科技公司。
开源代码让一个领域的前进速度快10倍。构建3级助手是很难的,我们Rasa也不知道所有的答案。开发者们经常为了自己的目的在我们的开源框架中黑进一些东西。他们不需要提交一个功能请求,然后祈祷我们在下一个版本中包含它。任何人都可以扩展我们的基础设施,并将他们的新想法付诸实施。
Rasa作为一家公司,不会提出我们需要通过5个层级的所有想法。我们有一个由开发者和其他制作者组成的友好的、全球性的社区,相互交流和借鉴对方的想法。这个社区越大,新用户得到的帮助就越多,新想法的传播速度就越快。这就形成了一种网络效应。通过建立社区,我们可以得到反馈,了解制作者在五个层级的进展情况,哪些东西可行,哪些不可行。
在未来,几乎所有的软件都会包含一些机器学习。ML不再是一个小众领域,而是软件工程的基础性工作。所以我们需要让ML对开发者来说是可用的,而开发者需要有机会学习ML的工作原理,加深对ML的理解。这就是为什么我们为开发人员创建了NLP和算法白板。
现在发表的NLP论文比以往任何时候都多。Rasa以两种方式做出贡献: 我们自己研究认为能让我们达到5级的方法,我们寻找该领域最有意义的突破,并找到让我们社区从中受益的方法。 我的愿望是让Rasa成为世界上做对话式AI应用研究的最佳场所。
对话式AI需要你
简而言之, "如何才能达到5级?"的答案是,你们所有人。 所以我最后会说一些你们可以做的实际事情来加快进度。
建造一些很棒的东西,然后提交到展示区去激励其他人。
到论坛上告诉我们你卡在哪里。
和其他人讨论CDD。
如果你不同意这些5个级别的定义,或者有其他观点要补充,请给我发邮件! 感谢所有的Rasa英雄。
英文版链接:https://blog.rasa.com/5-levels-of-conversational-ai-2020-update/
更多 Chatbots 相关文章:
2020年你应该知道的聊天机器人统计数据
语音+AI 将响亮地进入职场
企业如何成功部署聊天机器人
Siri,Viv 创始人讲三星 Bixby 对话机器人
智能聊天机器人的技术综述
开域聊天机器人技术介绍(现实篇)
开域聊天机器人技术介绍(未来篇:上)
开域聊天机器人技术介绍(未来篇:下)
欢迎大家扫描以下二维码,添加 ChatbotsChina 运营人员为好友后,即可加入微信交流群。 期待与您的沟通~。