Как идентифицировать несколько сущностей в RASA

Я хочу извлечь несколько сущностей из пользовательского ввода. Пример - «Служба httpd не отвечает из-за высокой загрузки ЦП и ошибки DNS» Итак, здесь я хочу указать ниже: Httpd Высокая загрузка ЦП Ошибка DNS

И я буду использовать эти ключевые слова, чтобы получить ответ от базы данных.


person SUBHOJEET    schedule 21.11.2018    source источник


Ответы (1)


Просто аннотируйте их соответственно, например

## intent: query_error
- Service [httpd](keyword) is not responding because of [high CPU usage](keyword) and [DNS Error](keyword)

Имея предложение сверху, Rasa NLU извлечет 3 объекта типа keyword. Затем вы можете получить доступ к этим объектам с помощью настраиваемого действия и запросите вашу базу данных.

Что касается количества требуемых примеров: это зависит от

  • используемый вами конвейер NLU. Обычно tensorflow_embedding требуется больше обучающих примеров, чем spacy_sklearn, поскольку не используются предварительно обученные языковые модели.
  • количество различных значений, которые могут иметь ваши сущности. Если это только httpd, high CPU usage и DNS error, то вам не нужно много примеров. Однако, если у вас есть тысяча различных значений для вашей сущности, вам нужно больше обучающих примеров.

Одного намерения достаточно, если вы всегда хотите запускать одно и то же настраиваемое действие. Однако, если вы хотите классифицировать проблемы другого типа, например проблемы сервера и клиента, а также запускать разные базы данных в зависимости от типа проблем, вы можете рассмотреть возможность использования нескольких намерений.

Извините за расплывчатые ответы, но в машинном обучении большинство вещей сильно зависит от варианта использования и набора данных.

person Tobias    schedule 21.11.2018
comment
сколько таких примеров мне нужно натренировать, чтобы правильно извлекать сущности. также необходимо, чтобы весь обучающий пример состоял из трех одинаковых объектов. - person SUBHOJEET; 21.11.2018
comment
добавил это к моему ответу - person Tobias; 21.11.2018
comment
Как заполнить слот в Stories.md списком ключевых слов, чтобы его можно было использовать в настраиваемом действии? - person asmaier; 27.11.2018
comment
@asmaier: автозаполнение по умолчанию из намерения (если у слота нет параметра autofilled: false или у слота type = unfeaturized) - person peter.cyc; 31.12.2019