2

我正在测试 NLP 工具,现在我遇到了 Rasa NLU 的问题。

使用 API.AI、Wit.ai 和 LUIS.AI,我可以在不超过 8-10 个示例的情况下找到我想要的实体。另一方面,对于 Rasa,我已经有 18 个示例,但我永远找不到实体。即使我的查询与我的一个示例完全匹配,我仍然有一个空的实体数组作为结果。

我将 Rasa 与推荐的 Docker 实例一起使用,我当前的管道是["nlp_spacy", "tokenizer_spacy", "intent_featurizer_spacy", "ner_crf", "ner_synonyms", "intent_classifier_sklearn" and "ner_duckling"].

我在查询中指定我的项目和模型,如下所示:

localhost:5000/parse?q=my_sentence&project=my_project&model=my_model

任何有用的信息表示赞赏。谢谢!

更新示例

{
       "text": "How can I make a carrot cake?",
       "intent": "AskRecipe",
       "entities": [
          {
            "start": 17,
            "end": 27,
            "value": "carrot cake",
            "entity": "recipe"
          }  
       ]
  },
  {
       "text": "What do I need to make a Lemon Pie?",
       "intent": "AskRecipe",
       "entities": [
         {
           "start": 25,
           "end": 33, 
           "value": "Lemon Pie",
           "entity": "recipe"
         }  
       ]
  },
  {
      "text": "What do I need to make brownies?",
      "intent": "AskRecipe",
      "entities": [
         {
           "start": 23,
           "end": 30,
           "value": "brownies",
           "entity": "recipe"
         }  
       ]
   }

然后,例如,当我尝试从“我需要什么来制作巧克力蛋糕?”中提取信息时。(也作为示例列出)这是结果:

{"entities": [], "intent": {"confidence": 0.8870822891508189, "name": "AskRecipe"}, "text": "What do I need to make brownies?", "intent_ranking": [{"confidence": 0.8870822891508189, "name": "AskRecipe"}, {"confidence": 0.11291771084918109, "name": "greet"}]}

我尝试了许多其他示例,但没有一个有效。

4

2 回答 2

2

我解决了这个问题。

在我的 config.json 文件中,我将管道值更新"scapy_sklearn"为而不是["nlp_spacy", "tokenizer_spacy", "intent_featurizer_spacy", "ner_crf", "ner_synonyms", "intent_classifier_sklearn" and "ner_duckling"].

此外,我在训练一个新模型后重新启动了我的 docker 实例。

不过,我必须说,我成功使用的 docker 实例与我发布此问题时使用的实例不同,所以,老实说,我不能 100% 确定我之前没有破坏任何配置 -虽然我相信我没有。

我希望这可以帮助别人 :)

于 2017-10-03T16:04:46.133 回答
1

我遇到了同样的问题,即 Rasa 无法识别实体。我看到您以不同的方式解决了这个问题,我将添加对我有用的内容,因为我在发布的示例中看到了同样的错误 -

结束值必须是('start' index) + (length of 'value')这里显示的每个“结束”值 +1。

我知道这很简单,但它对我有用。

于 2017-11-03T11:15:16.713 回答