Rasa课程、Rasa培训、Rasa面试系列之:Rasa 3.x Rules
规则是一种训练数据,用于训练助手的对话管理模式。规则描述应始终遵循相同路径的简短对话。
不要过度使用规则。规则对于处理小的特定对话模式非常有用,但与故事不同,规则不能概括为看不见的对话路径。将规则和故事结合起来,让你的助手更加健壮,能够处理实际的用户行为。
\
如果你不能决定是写一个故事还是一个规则来实现某个行为,请参阅编写对话数据的最佳实践。
\
有关在Rasa助手中实现规则的其他示例,请参阅我们的规则示例机器人。
\
Rules example bot
规则示例机器人
\
\
\
\
\
\
\
\
\
\
\
\
\
\
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
助教老师微信:Spark_AI_NLP
\
\
博客链接:blog.csdn.net/duan_zhihua
作者参与Gavin大咖主编出版Spark系列图书5本,清华大学出版社最新出版2本新书《Spark大数据商业实战三部曲:内核解密|商业案例|性能调优》第二版、《企业级AI技术内幕:深度学习框架开发+机器学习案例实战+Alluxio解密》,累计原创博客1475篇,涵盖大数据、人工智能、智能对话机器人等内容,博客阅读量达217万次。