根据Gartner2018年2月的一份报告,“到2020年,25%的客户服务和支持业务将在参与渠道中集成虚拟客户助理(VCA)或聊天机器人技术,2017年这一比例更低超过2%。”考虑到这一点,读者会发现本教程有助于理解开源Recast.AI机器人创建平台的工作原理。基于语音和其他技术的聊天机器人已经实际使用了一段时间。从让用户参与谋杀谜题到协助房地产交易和医疗诊断,聊天机器人跨越了多个领域。有许多平台允许用户创建和部署机器人。Recast.AI(被SAP收购后现为SAPConversationalAI)是这方面的先行者。炫酷的界面、协作性质以及它提供的分析工具使其成为流行的选择。正如官方Recast网站所说,“它是用于创建、培训、部署和监控智能机器人的终极协作平台。”创建基本机器人让我们来看看如何在Recast中创建基本机器人。在https://cai.tools.sap上创建一个帐户。可以通过电子邮件或Github帐户进行注册。登录后,您将被带到仪表板。点击右上角的“+”新建机器人图标,新建机器人。在下一个屏幕上,您将看到可供选择的预定义技能列表。现在,选择Greetings”(图1)。该机器人已经过训练,可以理解基本的问候语。给机器人起个名字。现在,您可以给机器人讲一些笑话,所以我们将其命名为JokeBot,默认选择英语语言。由于您不会处理任何敏感信息,因此请在“数据策略”下选择“非个人数据”。然后选择“公共机器人”选项并单击“创建机器人”。这就是您在Recast平台中创建的机器人。开发机器人的五个阶段用Recast官博的话来说,机器人的一生有五个阶段。训练-教机器人它需要理解什么构建-使用机器人构建工具创建对话流编写代码-将机器人连接到外部API或数据库连接-将机器人发布到一个或多个消息传递平台监控-训练机器人使其更清晰并理解其用法用意图训练机器人您可以在仪表板上看到用于搜索、分叉或创建意图的选项。“‘意图’是一系列表示相同事物但构造不同的表达。‘意图’是机器人理解能力的核心。每个‘意图’代表一个机器人可以理解的想法。”(来自Recast.AI网站)图2:机器人面板如前所述,您需要一个讲笑话的机器人。所以最重要的是,机器人理解用户要求它讲笑话,并且当用户只是说“嗨”时它不应该用笑话来回答——那很糟糕。将用户可能说的话分组,例如:给我讲个笑话。(给我讲个笑话。)告诉我一个有趣的事实。(告诉我一个有趣的事实。)你能开个玩笑吗?(你会讲笑话?)今天有什么好笑的?(今天有什么好笑的?)...在我们继续从头开始创建意图之前,让我们看一下搜索/分叉选项。在搜索框中键入“笑话”(图3)。该系统给出了全球Recast用户创建的公共意向列表,这就是Recast自然具有协作性的原因。所以实际上不需要从头开始创建所有意图,您可以在已经创建的内容上进行构建。这减少了训练具有共同意图的机器人所需的工作量。图3:搜索意图选择列表中的第一个意图并将其分叉给机器人。单击分叉按钮。此意图被添加到机器人中(图4)。单击意图@joke将显示该意图中已存在的表达式列表(图5)。向其中添加更多表达式(图6)。添加一些表情后,机器人会提出一些建议,如图7所示。选择几个添加到意图中。您还可以标记自己的自定义实体,以根据机器人的上下文检测关键字。图7:建议的表达技能技能是一段有目的的对话,机器人可以从中操作并达到目标。它可以像打招呼一样简单,也可以更复杂,例如根据用户提供的信息提供电影推荐。一项技能不仅需要一对问答,还需要多次互动。例如,考虑一个帮助您了解汇率的机器人。它会先询问源币种,再询问目标币种,最后给出准确的答复。结合技能可以创建复杂的对话流程。以下是为笑话机器人创建技能的方法:转至构建页面。单击“+”图标创建技能。将技能命名为“笑话”(图8)创建后,单击该技能。您将看到四个选项卡。读我读我,触发器,要求和行动。切换到需求页面。如果笑话的意图存在,您应该只存储信息。因此,添加如图9所示的需求。由于这种简单的使用范例,您无需考虑Requirements选项卡中的任何特定需求,而是考虑仅在某些关键字或实体出现时才需要触发响应的情况-在这种情况下,您需要Requirements。需求是在技能可以执行操作之前需要检索的意图或实体。需求是机器人可以在对话中使用的重要信息。例如用户的姓名或位置。满足要求后,关联的值将存储在机器人的内存中,以供在整个对话过程中使用。现在让我们转到操作页面并设置响应(参见图10)。图10:添加操作单击可添加新消息组newmessagegroup。然后选择发送消息并添加一条短信,在这种情况下这可能是个玩笑。当然,您不希望您的机器人每次都讲同一个笑话,您可以添加多条消息并每次随机选择一条。图11:添加文本消息通道集成一个成功的机器人还取决于它的易用性。Recast具有相当多的内置消息通道集成,例如SkypeforBusiness、KikMessenger、Telegram、Line、FacebookMessenger、Slack、Alexa等。此外,Recast还提供了开发自定义频道的SDK。此外,Recast还提供了一个随时可用的网络聊天(在连接页面中)。您可以自定义颜色主题、标题、机器人头像等。它为您提供了一个脚本标签,您可以将其添加到您的页面中。您的界面现在可以使用了(图12)。图12:设置网络聊天网络聊天的代码是开源的,使开发人员可以更轻松地自定义外观、标准响应类型等。该面板提供了有关如何将机器人部署到各种渠道的分步说明。笑话机器人部署在Telegram和网络聊天上,如图13所示。图13:网络聊天部署图14:Telegram中开发的机器人Recasts较多,支持多种语言。创建机器人时,选择一种语言作为基础,然后您可以选择添加更多您想要的语言。图15:多语言机器人这里的例子是一个简单的静态笑话机器人,在实际使用中可能需要与不同的系统进行更多的交互。Recast有一个webhook功能,用户可以连接到不同的系统来获取响应。同时,它还有详细的API文档,帮助使用平台的各个独立功能。至于分析,Recast有一个监控面板,可帮助您了解机器人的准确性并更深入地训练您的机器人。
