Введение в DialogFlow: тонкие настройки и ограничения

Введение в DialogFlow: тонкие настройки и ограничения
19.03.2020 Алексей Малыгин

Все что касается создания базового чат-бота в платформе DlalogFlow мы разобрали в предыдущих 4-х уроках (ссылки в конце статьи). В заключительной части рубрики Введение в DialogFlow я покажу некоторые нюансы настройки чат-бота, а также расскажу о ряде ограничений платформы.

Как вы уже знаете, агент реагирует не только на фразы, которые определены в “Training phrases”, но и на похожие по смыслу. Затем, бот должен обработать информацию и выдать пользователю ответ. Ответ формулируется благодаря разделу “Responses”. 

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

Давайте попробуем немного “донастроить” наши правила.

Приоритеты

Зайдите в раздел “Intents” и обратите внимание на синие кружки перед названием правил.

Это приоритет. Давайте выберем какое-нибудь правило и откроем его. Рядом с названием также будет синий кружок.

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

Приоритеты особенно актуальны при большом количестве правил. Как бы вы этого не хотели, но обязательно будут происходить ситуации, когда ряд тренировочных фраз будут прописаны одновременно в нескольких правилах. Используя приоритеты вы сможете управлять частотой вызова того или иного правила или вовсе включать/отключать правила при необходимости с помощью статуса Ignore.

Экспорт/Импорт

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

Для этого зайдите в настройки (кнопка в виде “шестеренки” в верхнем левом углу) и выберите меню “Export and Import”.

Machine Learning Settings

Еще одна полезный раздел в настройках называется “ML Settings”. ML — это сокращенно от “machine learning” (машинное обучение). 

Там есть интересный параметр, отвечающий за реакцию на входные фразы и два варианта — гибридный и только машинное обучение

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

Ниже есть параметр “ML CLASSIFICATION THRESHOLD”, содержащий значение в диапазоне от 0 до 1. Этим параметром вы определяете, насколько строгим будет агент. Если значение ближе к 0, это значит что агент будет быстрее находить правило и реагировать на фразы, но и порог ошибок будет выше. Короче говоря, агент будет менее умным, но более быстрым :) 

Соответственно, при значении стремящимся к 1, агент станет более тщательно выбирать фразы. Хорошо будет работать при большом количестве фраз и достаточном опыте агента. Чем агент более опытный, тем строже его можно делать. Но подбирать значение параметра придется на реальных примерах.

В параметре “AUTOMATIC SPELL CORRECTION” я не вижу особого смысла. Этим параметром мы разрешаем агенту исправлять орфографию пользователя для более точного распознавания входящих фраз. Выключен параметр или включен, особой разницы я не увидел. Возможно, эта функция лучше работает для английского языка.

Параметр “AUTOMATIC TRAINING” потребует активации в том случае, если вы хотите самостоятельно обучать агента. Активация параметра отключает автоматическое обучение (которое может занимать часы в сложных ботах) и активирует по кнопке “TRAIN”.

Последний параметр в разделе “ML Settings” называется “AGENT VALIDATION” и отвечает за автоматическую проверку содержимого агента. Под проверкой подразумевается правильность составления тренировочных фраз, ответов и прочего. Результаты автоматической проверки вы сможете наблюдать в разделе “Validation”. 

На этом мы закончим введение в DialogFlow. Полученная в 5-ти статьях информация даст вам необходимые знания для быстрого запуска чат-бота. Уверен, что вам понравится DialogFlow и захотите пойти дальше в разработке разговорных ботов. 

Недостатки и ограничения

В DialogFlow есть и свои минусы.

  1. Прежде всего, это порог вхождения. Он достаточно высокий. Даже интерфейс DialogFlow выглядит “страшнее”, чем интерфейс любой другой платформы для разработки чат-ботов. 
  2. Если ваш бот будет часто обмениваться информацией с пользователями (принимать, хранить и обрабатывать какие-то параметры, передавать из диалога в диалог), то без стороннего сервера здесь не обойтись. А это заметно повысит сложность разработки чат-бота. Но есть и хорошая новость, вы сможете более гибко оперировать данными и хранить их в том формате, в каком вам удобнее. 
  3. Чат-бот не может первым вступать в диалог с пользователем, а лишь реагировать на его действия. Это ограничение не позволит вам реализовать, например, рассылку контента. Обойти ограничение можно. Один из вариантов — интегрировать DialogFlow с ManyChat или Chatfuel. Это вполне реально. Таким образом вы сможете возложить рассылку на последние две платформы, а общение с пользователем на DialogFlow. Второй вариант — реализовать рассылку вручную, с помощью API мессенджеров.
  4. DialogFlow умеет распознавать не только текст, но и голос пользователя. К большому сожалению, пока эта функция хорошо работает только для английского языка. 

У каждой платформы есть свои достоинства и недостатки. Я бы назвал DialogFlow — одной из немногих платформ, которая позволяет создавать настоящих чат-ботов с ИИ, способных поддержать диалог с пользователем. 

Надеюсь, эта тема вас заинтересует. Пока я занимаюсь подготовкой более сложных и интересных уроков, буду рад услышать от вас обратную связь и посмотреть на примеры ботов в DialogFlow.

Часть #1, Часть #2, Часть #3, Часть #4.

Удачи!

Подписаться
Уведомление о
guest
7 Комментарий
Inline Feedbacks
View all comments
Игорь
Игорь
3 месяцев назад

Крутой и понятный мануал. Очень понравилась разделение на коротенькие статьи, что способствует к спокойному чтению.

Остап
Остап
2 месяцев назад

Отличный туториал)
Спасибо Вам!
Вот только одного не могу найти, как в dialogflow добавить функцию:
-Сбора информации
-Запросы которые пишут люди, а бот не распознает где найти список? Что бы потом эти запросы добавить в бота.
-каким способом добавить ( интегрировать ) визуальное меню в чат бота?

trackback

[…] мою предыдущую статью про настройки Dialogflow, там есть способы оптимизации […]

trackback

[…] Часть №5: Dialogflow и тонкие настройки […]

Aнтон
Aнтон
6 дней назад

Вы упомянули о возможности интегрировать DialogFlow с ManyChat или Chatfuel. Можете написать об этом статью?

7
0
Would love your thoughts, please comment.x
()
x