Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa. Тимур Машнин
которые можно рассматривать как сущности.
При заказе пиццы могут указываться такие атрибуты, как количество пицц, начинка, тип корочки, и время доставки.
Сущности помогают вашему агенту детализировать намерение и решить, как он должен действовать, основываясь на этих деталях.
Сущности также являются отличным способом добавления персонализации.
Вы можете использовать сущности, хранящиеся в базе данных, для запоминания подробностей о пользователе, таких как его имя или предпочтения, затем вы можете отобразить эти детали обратно пользователю, превратив простой диалог в дружескую беседу.
Теперь, давайте посмотрим, как мы можем создавать сущности в Dialogflow.
Чтобы создать новую сущность в Dialogflow, нажмите в правой части Entities, и на этой странице нажмите «Create Entity».
Введите имя сущности.
И здесь вы увидите две опции: одна – определить синонимы, по умолчанию, а другая – автоматическое расширение.
Давайте оставим синонимы и определим термины, чтобы описать начинку пиццы.
Давайте введем сыр.
Когда вы нажмете ввод, вы увидите, что сыр уже добавлен в качестве синонима.
Введем другие начинки, по возможности добавляя синонимы.
И нажмем сохранить Save.
Теперь, что насчет опции автоматического расширения.
Разрешить автоматическое расширение – это означает, что мы хотим разрешить агенту принимать термины, которые могут быть сказаны пользователем и изначально не добавлены в список.
Допустим, пользователь хочет помидоры в пиццу.
Если установлен флажок «Разрешить автоматическое расширение», то, когда пользователь заказывает пиццу и упоминает помидоры, и хотя этой начинки здесь нет, помидоры будут добавлен в список.
Но если вы хотите зафиксировать этот список начинок, и не хотите, чтобы новые начинки добавлялись в ваш список, вам не нужно включать эту опцию.
Теперь, мы можем промаркировать наши обучающие фразы намерения сущностью, которую мы только что создали.
Для этого откроем намерение, и в обучающей фразе дважды щелкнем слово, которое мы хотим промаркировать.
И в списке выберем нашу сущность.
Теперь термин грибы помечен сущностью pizza_topping.
Сделаем то же самое с беконом и сыром и с другими начинками.
И в конце не забудем нажать кнопку Сохранить.
И если мы теперь добавим еще одну обучающую фразу в намерение «Я хотел бы заказать пиццу с говядиной, колбасой и пепперони».
Как только мы нажмем Enter, вы увидите, что все три сущности, которые присутствуют в обучающей фразе, будут промаркированы как pizza_topping автоматически.
И так как агент автоматически маркирует соответствующие значения сущностями, имеет смысл создавать сущности перед добавлением обучающих фраз.
Теперь, когда вы создаете сущность, она может сама содержать атрибуты.
И одним из способов является использование