Rasa课程、Rasa培训、Rasa面试系列之:Rasa 3.x Rules

237 阅读3分钟

Rasa课程、Rasa培训、Rasa面试系列之:Rasa 3.x Rules

规则是一种训练数据,用于训练助手的对话管理模式。规则描述应始终遵循相同路径的简短对话。

不要过度使用规则。规则对于处理小的特定对话模式非常有用,但与故事不同,规则不能概括为看不见的对话路径。将规则和故事结合起来,让你的助手更加健壮,能够处理实际的用户行为。

\

如果你不能决定是写一个故事还是一个规则来实现某个行为,请参阅编写对话数据的最佳实践。

\

有关在Rasa助手中实现规则的其他示例,请参阅我们的规则示例机器人。

github.com/RasaHQ/rasa…

\

Rules example bot

规则示例机器人

github.com/RasaHQ/rasa…

\

\

\

github.com/RasaHQ/rasa…

\

\

github.com/RasaHQ/rasa…

\

\

github.com/RasaHQ/rasa…

\

\

github.com/RasaHQ/rasa…

\

\

github.com/RasaHQ/rasa…

\

\

\

Writing a Rule

在开始编写规则之前,必须确保将规则策略添加到模型配置中:

\

\

然后可以将规则添加到训练数据的规则部分。

\

要表明规则可以在对话中的任何时候应用,请从启动对话的意图开始,然后添加助手应执行的操作。

\

\

此示例规则适用于会话开始,以及正在进行的会话的中间发送问候语。

如果只在训练数据中作为规则出现,而在故事中不出现的对话回合,在预测时将被仅限机器学习的策略(如TEDPolicy)忽略。

\

\

\

例如,如果您如上所述定义问候语规则,并且没有将其添加到任何故事中,则在RulePolicy预测“打招呼”后,TEDPolicy将进行预测,就好像没有发生“打招呼(greet)”及“打招呼答复”(utter_greet)一样。

\

Rules for the Conversation Start

对话开始的规则:要编写只在对话开始时适用的规则,请将conversation_start: true添加到规则

\

\

\

如果用户在稍后的对话中发送了带有问候意图的消息,则规则将不匹配。

\

Rules with Conditions

条件描述了适用规则必须满足的要求。为此,请在条件condition 键下添加有关先前对话的任何信息:

\

\

条件下可能包含的信息包括slot_was_set事件和active_loop事件

\

Skip Waiting for User Input at the End of a Rule

跳过在规则末尾等待用户输入:默认情况下,当完成最后一步时,规则将等待下一条用户消息:

\

\

如果要将下一个动作预测交给另一个故事或规则,请将wait_for_user_input:false添加到规则中:

\

\

这表明助手在等待更多用户输入之前应该执行另一个操作。

\

Rules and Forms

当表单处于活动状态时,机器人bot将根据表单的定义进行预测,而忽略规则。在下列情况下,规则再次适用:

  • 该表单将填充所有必需的插槽
  • 表单拒绝执行(有关更多详细信息,请参阅处理不愉快路径)

\

\

Rasa官网链接: rasa.com/docs/rasa/

Gavin大咖课程信息分享:

NLP 高手之路101课(模型、算法、论文、源码、案例 + 1年答疑)

Rasa 3.x 源码高手之路:系统架构、内核算法、源码实现详解

Gavin大咖简介

星空智能对话机器人创始人、AI通用双线思考法作者,现工作于硅谷顶级的AI实验室。专精于Conversational AI. 在美国曾先后工作于硅谷最顶级的机器学习和人工智能实验室

Gavin大咖微信:NLP_Matrix_Space

联系电话:+1 650-603-1290

联系邮箱:hiheartfirst@gmail.com

助教老师微信:Spark_AI_NLP

\

\

博客链接:blog.csdn.net/duan_zhihua

作者参与Gavin大咖主编出版Spark系列图书5本,清华大学出版社最新出版2本新书《Spark大数据商业实战三部曲:内核解密|商业案例|性能调优》第二版、《企业级AI技术内幕:深度学习框架开发+机器学习案例实战+Alluxio解密》,累计原创博客1475篇,涵盖大数据、人工智能、智能对话机器人等内容,博客阅读量达217万次。