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

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

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

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

Приоритеты

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

1

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

2

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

3

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

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

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

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

4

Machine Learning Settings

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

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

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

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

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

5

В параметре “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.