我们可以在Rasa NLU中测试或评估实体提取吗?

时间:2019-01-21 01:19:09

标签: nlp chatbot rasa-nlu

是否可以评估我的模型在Rasa NLU中提取实体(并映射同义词值)的程度?

我尝试了rasa_nlu -evaluate模式,尽管我的JSON数据文件包含实体信息,但它似乎仅适用于意图分类,我真的很想知道我的实体提取是否达到给定的标记各种情况。我已经使用Tracy生成测试数据集。

3 个答案:

答案 0 :(得分:0)

实际上是-您也应该为实体获得分数。 确定要添加一些训练数据吗?

您是否拥有NER算法来获取它们?像这样的东西?

pipeline:
- name: "intent_featurizer_count_vectors"
- name: "intent_classifier_tensorflow_embedding"
  batch_size: 64
  epochs: 1500
- name: "nlp_spacy"
- name: "tokenizer_spacy"
- name: "ner_crf"

ner_crf是用于提取“名称实体识别”的条件随机字段

为确保正确遵循模型构建,请看一下本教程: https://hackernoon.com/build-simple-chatbot-with-rasa-part-1-f4c6d5bb1aea

答案 1 :(得分:0)

如文档所述https://rasa.com/docs/nlu/0.12.0/evaluation/,如果您使用的是ner_crfner_duckling,则评估方法会自动考虑实体提取性能。如果您仅使用ner_synonyms,则validate方法将不会计算输出表。

其他可能的陷阱可能是:

如果您分析包含所需实体的单个句子,那么您训练有素的模型会提取实体吗?这可能是您的模型无法演化出模式识别实体的情况的线索。

另外一个问题可能是,通过将数据随机分为训练和测试集,测试集中没有实体可以提取。您的算法本来可以学习该模式,但不必强制应用该模式。您是否检查测试集中是否包含实体?

答案 2 :(得分:0)

如果我理解正确,也许您对https://github.com/RasaHQ/rasa_nlu/issues/1472之类的东西感兴趣?因此,之所以写这个问题,是因为您可以获得意图的总体评分,并且可以看到每个意图的分类方式,但是您只能获得实体的整体评分,而不能获得每个实体的分类方式。

因此,简而言之,这仍然是一个未解决的问题,在Rasa中是不可能的。但是,这是我昨天才被问到的一个问题,因此如果我对此有任何进展,我会告诉您。