Rasa课程、Rasa培训、Rasa面试系列之:Rasa 3.x Playground
Rasa 3.x Playground
1. NLU data
人们可以对助理说些什么来帮助他们订阅时事通讯?
为了让助理能够识别用户在说什么,无论用户如何表达他们的信息,我们需要提供助理可以从中学习的示例信息。我们根据信息所表达的想法或目标(也称为意图)对这些示例进行分组。在右边的代码块中,我们添加了一个名为greet的意图,其中包含诸如“Hi”、“Hey”和“早上好”之类的示例消息。
意图及其示例用作助理的自然语言理解(NLU)模型的训练数据。
2. Responses
既然助理理解了用户可能会说的一些消息,那么它需要能够发送回用户的响应。“你好,我能帮你什么忙吗?”还有“你的电子邮件地址是什么?”这是我们助理将使用的一些回答。在接下来的步骤中,您将看到如何连接用户消息和响应。
在下面的代码块中,我们列出了一些响应,并为每个响应添加了一个或多个文本选项。如果一个响应有多个文本选项,则在预测该响应时将随机选择其中一个选项。
3. Stories
故事是训练助理根据用户之前在对话中所说的内容做出正确反应的示例对话。故事格式显示用户消息的意图,然后是助理的操作或响应。
你的第一个故事应该展示一个对话流程,在这个流程中,助理帮助用户以一种直截了当的方式完成他们的目标。稍后,您可以为用户不想提供信息或切换到其他主题的情况添加故事。
在下面的代码块中,我们添加了一个故事,其中用户和助理交换问候,用户要求订阅新闻稿,助理开始通过新闻稿表单收集所需信息。您将在下一步学习表单。
4. Forms
在许多情况下,助理需要从用户那里收集信息。例如,当用户想要订阅时事通讯时,助理必须询问他们的电子邮件地址。
您可以使用表单在Rasa中执行此操作。在下面的代码块中,我们添加了新闻稿表单,并使用它从用户那里收集电子邮件地址。
5. Rules
规则描述了对话的某些部分,这些部分应该始终遵循相同的路径,无论之前在对话中说了什么。
我们希望助理总是以特定的动作响应特定的意图,因此我们使用规则将该动作映射到意图。
在下面的代码块中,我们添加了一条规则,每当用户表达“订阅subscribe”的意图时,该规则就会触发新闻稿表单newsletter_form。我们还添加了一个规则,一旦提供了所有必需的信息,它就会触发utter_subscribed操作。第二条规则仅适用于时事通讯表格newsletter_form开始时处于活动状态的情况;一旦它不再处于活动状态(active_loop:null),表单就完成了。
Train and talk to your assistant
一旦你运行了以上步骤,你就可以训练你的助理了。训练过程根据您提供的训练数据生成新的机器学习模型。要就上述NLU数据、故事、表格、规则和响应对助理进行培训,请单击训练按钮:
训练数据调整为中文,重新训练模型,运行结果如下
寻找挑战 定制您的助理
您可以使用此页面创建一个助理,该助理除了帮助用户订阅时事通讯外,还可以执行其他操作。试着为你的助理选择一项简单的任务,比如点比萨饼或预约。在每一步调整代码块以适应新的场景,然后再次培训您的助理,使其了解实际情况。
Install Rasa open source to keep building
当你训练一个模型时,你总是想检查你的助理是否仍然像你期望的那样。你可以通过与你的助理交谈,看看它是否有效来做到这一点。然而,随着助理变得越来越复杂,您将需要使用测试故事来确保您的模型做出正确的预测。尝试运行rasa测试以确保您的助理通过测试: