根据Gartner在2018年2月发布的报告,到2020年,预计25%的客户服务与支持业务将整合虚拟客户助理(VCA)或聊天机器人技术,而在2017年,这一比例不足2%。本教程将帮助读者理解开源的Recast.AI机器人创建平台的基本工作原理。
聊天机器人,涵盖语音和其他技术,已经在多个领域得到了实际应用。从参与谋杀解密游戏,到支持房地产交易和医疗诊断,它们的应用越来越广泛。
用户可以通过多种平台创建和部署聊天机器人。其中,Recast.AI(现为SAP Conversational AI)是一个领先者。
它以酷炫的界面、协作功能和强大的分析工具,成为了用户的热门选择。
正如Recast官方网站所言,这是一个创建、训练、部署和监控智能机器人的终极协作平台。
创建基础机器人
现在,让我们看看如何在Recast上创建一个基础的聊天机器人。
首先,访问 https://cAI.Tools.sap 创建一个账户。您可以使用电子邮箱或GitHub账户注册。登录后,您将进入仪表板。点击右上角的“+ 新建机器人”图标,进入新建机器人界面。在这里,您会看到一系列预定义技能选项。暂时选择“问候Greetings”,这个机器人已经经过训练,能够理解基本的问候。

接下来,给机器人起个名字。我们可以让机器人讲笑话,因此将其命名为“Joke Bot”,并选择英语作为默认语言。由于您不会处理任何敏感信息,所以在数据策略中选择非个人数据。然后选择公共机器人选项并点击“创建机器人”。
这就是您在Recast平台上创建的机器人。
机器人的五个开发阶段
如Recast官方博客所述,机器人的开发可以分为五个阶段。
1. 训练——教授机器人需要理解的内容。
2. 构建——使用机器人构建工具创建对话流。
3. 编写代码——将机器人连接到外部API或数据库。
4. 连接——将机器人发布到一个或多个消息平台。
5. 监控——训练机器人使其更敏锐,并了解使用情况。
在仪表板上,您可以看到搜索、分叉或创建意图(intent)的选项。意图是指一系列含义相同但表达不同的句子,是机器人的理解能力的核心。每个意图代表机器人可以理解的一种观点。

图 2: 机器人面板
如前所述,您需要一个讲笑话的机器人。因此,这个机器人应能理解用户请求讲笑话的情况,而不应在用户仅说“Hi”时就回应一个笑话——这样不太合适。将用户可能的请求进行分组,比如:
Tell Me a joke.(给我讲个笑话。)
Tell Me a funny Fact.(告诉我一个有趣的事实。)
Can you Crack a joke?(你可以讲个笑话吗?)
What’s funny Today?(今天有什么有趣的?)
在开始创建意图之前,先查看搜索/分叉选项。在搜索框中输入“Joke”。系统将展示全球Recast用户创建的公开意图列表,这就是Recast的协作性质所在。因此,您无需从头开始创建所有意图,可以在已有基础上进行构建,这将减少训练机器人所需的工作量。

图 3: 搜索意图
选择列表中的第一个意图并将其分叉到您的机器人上。点击“分叉Fork”按钮,将该意图添加到机器人中。

点击意图“@joke”,将显示该意图中已有的表达列表。

您可以向其添加更多表达。

添加了一些表达后,机器人会给出一些建议,如图7所示。选择几个建议并将它们添加到意图中。您还可以根据机器人的上下文,标记自定义实体以检测关键词。

图 7: 建议的表达
技能
技能(skill)是一段具有明确目的的对话,机器人可以通过它来完成特定目标。技能可以简单如打招呼,也可以复杂如根据用户提供的信息推荐电影。
技能的要求不仅仅是问答,它需要多次交互。例如,一个帮助用户学习汇率的机器人,首先会询问原货币,然后是目标货币,最后给出准确的回应。结合多种技能可以创建复杂的对话流。
以下是如何为笑话机器人创建技能的步骤:
进入构建(Build)页面,点击“+”图标创建技能。给技能命名为“Joke”。

创建后,点击该技能,您会看到四个标签:读我(Read Me)、触发器(Triggers)、需求(Requirements)和动作(Actions)。切换到需求页面。只有在笑话意图存在的情况下,您才应存储信息。因此,如图9所示,添加一个需求。

对于这个简单的使用示例,您不需要在需求选项卡中考虑特定需求,但可以考虑在某些关键字或实体出现时才触发响应的情况——在这种情况下您需要设置需求。
需求是技能执行动作之前需要获取的意图或实体信息,可用于对话中。例如,用户的姓名或位置。完成需求后,相关值会存储在机器人的内存中,供整个对话使用。
现在让我们转到动作页面,设置回应(Response)。

图 10: 添加动作
点击“添加新消息组”(new Message group),选择“发送消息”(Send Message),并添加一条文本消息,在这个例子中可以是任何笑话。为了避免机器人每次都说一样的笑话,您可以添加多条消息,让机器人每次随机选择一条。

图 11: 添加文本消息
频道集成
一个成功的机器人还依赖于其易用性。Recast提供了多种内置消息频道集成,如Skype for Business、Kik Messenger、Telegram、Line、Facebook Messenger、Slack、Alexa等。此外,Recast还提供了SDK以便于开发自定义频道。
另外,Recast还提供一个可立即使用的网页聊天(在连接页面中)。您可以自定义颜色主题、标题、机器人头像等,并获得可嵌入到页面的脚本标签。这样,您的界面就可以使用了。

图 12: 设置网络聊天
网页聊天的代码是开源的,开发者可以更方便地定制外观和标准回应类型等。面板提供了将机器人部署到各种频道的逐步说明。该笑话机器人已在Telegram和网页聊天上进行部署。

图 13: 网页聊天部署

图 14: 在Telegram中开发的机器人
还有更多
Recast支持多语言,创建机器人时选择一种语言作为基础,之后可以添加更多您需要的语言。

这里的例子是一个简单的静态笑话机器人,实际使用中可能需要与更多不同系统的交互。Recast还具有Web钩子功能,使用户能够连接到不同系统以获取回应。同时,它提供详细的API文档,帮助用户利用平台的每个独立功能。
关于分析,Recast提供监控面板,帮助您评估机器人的准确度,并深入训练机器人。
