Как задать сущность для имени планеты — dialogflow

#python-3.x #dialogflow-es #dialogflow-es-fulfillment

# #python-3.x #диалоговые потоки #dialogflow-es-выполнение

Вопрос:

Я создаю чат-бота, чтобы задавать основные вопросы о Солнечной системе. Моя главная забота заключается в том, как установить сущности для обучающих фраз. пример:

  1. Какова масса Луны?
  2. Масса Луны
  3. Скажите мне, какова масса луны?

Я добавил изображение ниже. Моя главная забота заключается в том , как установить объекты для mass и body . Я создал пользовательскую сущность для mass as @body_mass и не уверен, как это сделать для названия планет / объектов. Чтобы я мог получать эти значения в бэкэнде. Он не распознается в диагностической информации

изображение за то, что я сделал

Ответ №1:

Самый простой способ сделать это — создать @Property сущность, которая может определять, «Что» пользователь хотел бы знать о планете, например:

  • Высота
  • Масса
  • Возраст
  • Среднее домашнее животное на одного инопланетянина, живущего на планете
  • и т.д..

Затем вы создаете другой набор вызываемых объектов @Planet , с помощью которых вы определяете, «Какая» планета, о которой ваш пользователь хочет что-то узнать, например:

  • Земля
  • Марс
  • Сатурн
  • и т.д..

Затем вы могли бы создать одно намерение под названием «Намерение получить информацию о планете» и добавить примеры фраз, таких как:

  • Что такое @Property оф @Planet
  • Как @Property это @Planet

Делая это, вы экономите много времени, потому что вам не нужно придумывать фразы для «Какова высота Земли» и «Какова высота Марса». Вы просто фиксируете предложение для объекта property и planet, и оно должно работать для каждой комбинации в ваших объектах.

Вы могли бы даже улучшить это, добавив синонимы для таких объектов, как:

  • Высота: высокий, длинный
  • Возраст: Старый, молодой
  • Масса: большая

В вашем коде вся информация, которую вам нужно проверить, — это то, что @Property и что @Planet обнаружил Dialogflow, поэтому это избавляет вас от необходимости проверять такие вещи, как Mass_Planet_A, Mass_Planet_B, как вы бы сделали сейчас.

Комментарии:

1. Ну, я это реализовал. Еще одна вещь, которую я хочу спросить -> Мое намерение UserAsks и Сущности — это @body-mass и @space-object . Теперь я хочу добавить больше функций, таких как «каков радиус космического объекта?», Тогда должен ли я включать этот тип вопроса в UserAsks намерение или создавать новый?

2. Общее правило для этого заключается в том, что намерение представляет собой набор фраз для цели, которую пытается выполнить ваш пользователь. В этом случае это будет запрос на получение информации о планете, все, что связано с этим, И использование этих объектов должно работать с тем же намерением. Космический объект немного расплывчатый, поэтому его трудно определить, если это что-то вроде идентификатора планеты, добавьте его в свое текущее намерение, если вы ожидаете вопросов типа: «Каков размер пространства» (явно не планета) Я бы придумал для этого новое намерение.

3. Я попробую … .