Можем ли мы проверить или оценить извлечение сущностей в Rasa NLU? - PullRequest
0 голосов
/ 21 января 2019

Можно ли оценить, насколько хорошо моя модель извлекает сущности (и отображает значения синонимов) в NLU Rasa?

Я пробовал режим rasa_nlu -evaluate, однако, он, кажется, работает только для классификации намерений, хотя мой файл данных JSON содержит информацию о сущностях, и я действительно хотел бы знать, соответствует ли извлечение моих сущностей уровню, учитывая различные сценарии , Я использовал Трейси для генерации тестового набора данных.

Ответы [ 3 ]

0 голосов
/ 15 марта 2019

Как указано в документации https://rasa.com/docs/nlu/0.12.0/evaluation/,, если вы используете ner_crf или ner_duckling, метод оценки автоматически учитывает эффективность извлечения сущности.Если вы используете только ner_synonyms, метод оценки не будет вычислять выходную таблицу.

Другими возможными ловушками могут быть:

Если вы анализируете одно предложение, включающее желаемую сущность, делает ли ваш обученныймодель извлечь сущность?Это может быть подсказкой к ситуации, когда ваша модель не смогла развить сущности, распознающие шаблоны.

Также проблема может заключаться в том, что при случайном разделении данных на обучающие и тестовые наборы в вашем тесте нет ни одной сущностиустановить для извлечения.Ваш алгоритм мог бы выучить шаблон, но не обязан применять этот шаблон.Вы проверяли, содержит ли ваш тестовый набор сущности?

0 голосов
/ 21 марта 2019

Если я правильно понимаю, возможно, вас интересует что-то вроде https://github.com/RasaHQ/rasa_nlu/issues/1472? Итак, эта проблема была написана, потому что для намерений вы могли получить общий балл и увидеть, как каждое намерение было классифицировано, но вы могли только получить общий балл для субъектов, а не то, как каждый объект был классифицирован.

Итак, короче говоря, это все еще открытый вопрос, и он невозможен в Расе. Тем не менее, это была проблема, которую меня попросили рассмотреть только вчера, поэтому я сообщу вам, добьюсь ли я какого-либо прогресса в этом вопросе.

0 голосов
/ 28 января 2019

На самом деле, да - вы должны получать баллы и вам, сущностям.Вы уверены, что добавили некоторые данные о тренировках?

у вас есть 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

...