很久没更新这个博客了,今天工作中需要实现rasa的story流程功能,所以先看看rasa的源代码找一些灵感。
首先我们先train一个对话模型,rasa -core是用来训练和使用对话管理模型的。下面是train部分的代码。
from rasa_core.agent import Agent
from rasa_core import config
import uuid
def agent_train():
policies = config.load("policies.yml")
agent = Agent("domain.yml", policies=policies)
training_data = agent.load_data("data/stories_order_food.md")
agent.train(training_data, validation_split=0.0)
agent.persist("./tests/models/dialogue2")
进入agent 的train方法里。
可以发现每个policy都需要train,63行。什么是policy呢?policy就是对话管理的策略,用来判断机器回复标签的准则。
我们这里研究的是memoization policy。