繁体   English   中英

无法使用Rasa NLU / Sklearn训练新模型

[英]Cannot train new model using Rasa NLU/Sklearn

我正在应用程序和Rasa NLU服务器之间构建中间件,该中间件可以简化不同的任务,例如创建模型或更新...

我的主要目标是构建模型,并使用每次向旧模型添加一个示例的功能来每次对其进行更新,因此通过添加一个示例就可以对旧数据进行更新,然后将其再次提交给Rasa服务器。

这是场景:
首先,我先创建一个空模型,然后将发布请求发送到localhost:5000/train?project=defaults&fixed_model_name=model1
有了这个数据

{
  "rasa_nlu_data": {
    "common_examples": [], 
    "entity_synonyms": [], 
    "regex_features": []
  }
}

所以我得到这个回应:

“ info”:“经过培训的新模型:model1”

然后我以相同的请求开始训练,但使用包含新的班级greet新数据

{
  "rasa_nlu_data": {
    "common_examples": [
      {
        "text": "hey", 
        "intent": "greet"
      }
    ], 
    "entity_synonyms": [], 
    "regex_features": []
  }
}

它的工作方式与我预期的一样,如果我添加了同一堂课的示例,则训练总是可以正常进行

{
  "rasa_nlu_data": {
    "common_examples": [
      {
        "text": "hey", 
        "intent": "greet"
      },{
        "text": "heyy", 
        "intent": "greet"
      }
    ], 
    "entity_synonyms": [], 
    "regex_features": []
  }
}

但是当我尝试用其他不同的意图发布其他数据时, bye这样

{
  "rasa_nlu_data": {
    "common_examples": [
      {
        "text": "hey", 
        "intent": "greet"
      },
       {
        "text": "heyy", 
        "intent": "greet"
      },
      {
        "text": "goodbye", 
        "intent": "bye"
      }
    ], 
    "entity_synonyms": [], 
    "regex_features": []
  }
}

我收到此错误:

“错误”:“类别数必须大于一;必须为一”

并且如果我跳过第二步来重做相同的场景,那么我的数据将如下所示:

{
  "rasa_nlu_data": {
    "common_examples": [
      {
        "text": "hey", 
        "intent": "greet"
      },
      {
        "text": "goodbye", 
        "intent": "bye"
      }
    ], 
    "entity_synonyms": [], 
    "regex_features": []
  }
}

提交后,我得到这个错误:

“错误”:“ n_splits = 2不能大于每个类中的成员数。”

我的Rasa NLU服务器配置:

我已经检查过可能与我的问题相似的问题,但这些不是我想要的
ValueError:类数必须大于一(python)
ValueError:无法将拆分数n_splits = 3大于样本数:1

我知道Rasa模型需要许多实体来运行解析,但是与我相距甚远,我只想先构建一个干净的模型

Rasa NLU强制您每个意图至少有两个示例。 虽然对于任何一种良好的性能,无论如何,您都应该拥有更多:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM