#python-3.x #dialogflow-es #dialogflow-es-fulfillment
# #python-3.x #диалоговые потоки #dialogflow-es-выполнение
Вопрос:
Я создаю чат-бота, чтобы задавать основные вопросы о Солнечной системе. Моя главная забота заключается в том, как установить сущности для обучающих фраз. пример:
- Какова масса Луны?
- Масса Луны
- Скажите мне, какова масса луны?
Я добавил изображение ниже. Моя главная забота заключается в том , как установить объекты для 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. Я попробую … .