我在一个项目中使用了Rasa NLU,该项目涉及到对结构化文本的理解。我的用例需要通过添加新的文本语料实体示例来不断更新我的训练集。然而,这意味着我必须每隔几天重新训练我的模型,由于训练集规模的增加,这需要更多的时间。
在Rasa NLU中,有没有一种方法可以仅使用新的训练集数据来更新已经训练好的模型,而不需要使用整个之前的训练数据集和新的训练数据集来重新训练整个模型?
我正在寻找一种方法,可以通过每隔几天用增量的新训练数据集来简单地更新我现有的已训练模型。
回答:
截至目前,关于此主题的最新Github 问题指出,无法仅通过添加新的语句来重新训练模型。在之前引用的问题中也是如此。
你说的对:定期使用越来越长的文件进行重新训练会变得越来越耗时。尽管如此,在生产环境中就地重新训练并不是一个好主意。
用户评论中的一个绝佳示例:
在同一模型上重新训练可能会给生产系统带来问题。我曾经覆盖我的模型,但在某个时候,一次训练没有完美工作,我开始看到我的响应置信度严重下降。我不得不找出问题来自哪里并重新训练模型。
持续训练新模型(带时间戳)是好的,因为这使得回滚更容易(生产系统中会发生这种情况)。然后我从数据库中获取最新的模型名称。