Rasa课程、Rasa培训、Rasa面试系列之:Rasa 3.x Rules
规则是一种训练数据,用于训练助手的对话管理模式。规则描述应始终遵循相同路径的简短对话。
不要过度使用规则。规则对于处理小的特定对话模式非常有用,但与故事不同,规则不能概括为看不见的对话路径。将规则和故事结合起来,让你的助手更加健壮,能够处理实际的用户行为。
如果你不能决定是写一个故事还是一个规则来实现某个行为,请参阅编写对话数据的最佳实践。
有关在Rasa助手中实现规则的其他示例,请参阅我们的规则示例机器人。
https://github.com/RasaHQ/rasa/tree/main/examples/rules
Rules example bot
规则示例机器人
https://github.com/RasaHQ/rasa/blob/main/examples/rules/actions/actions.py
https://github.com/RasaHQ/rasa/blob/main/examples/rules/data/nlu.yml
https://github.com/RasaHQ/rasa/blob/main/examples/rules/data/rules.yml
https://github.com/RasaHQ/rasa/blob/main/examples/rules/config.yml
https://github.com/RasaHQ/rasa/blob/main/examples/rules/domain.yml
https://github.com/RasaHQ/rasa/blob/main/examples/rules/endpoints.yml
Writing a Rule
在开始编写规则之前,必须确保将规则策略添加到模型配置中:
然后可以将规则添加到训练数据的规则部分。
要表明规则可以在对话中的任何时候应用,请从启动对话的意图开始,然后添加助手应执行的操作。
此示例规则适用于会话开始,以及正在进行的会话的中间发送问候语。
如果只在训练数据中作为规则出现,而在故事中不出现的对话回合,在预测时将被仅限机器学习的策略(如TEDPolicy)忽略。
例如,如果您如上所述定义问候语规则,并且没有将其添加到任何故事中,则在RulePolicy预测“打招呼”后,TEDPolicy将进行预测,就好像没有发生“打招呼(greet)”及“打招呼答复”(utter_greet)一样。
Rules for the Conversation Start
对话开始的规则:要编写只在对话开始时适用的规则,请将conv