Недостатки Dialogflow. Сложности при создании чат-ботов.

Недостатки Dialogflow. Сложности при создании чат-ботов.
18.04.2020 Алексей Малыгин

Давайте поговорим о недостатках и ограничениях платформы Dialogflow. С какими сложностями можно столкнуться при создании чат-ботов.

Нет доступа к аудитории

Вы пробовали разбираться с такими платформами, как ManyChat и Chatfuel? Наверняка знаете, что там есть возможность просмотреть список пользователей, которые взаимодействовали с чат-ботом.

Не пытайтесь искать что-то подобное в Dialogflow. Здесь нет такого раздела. С одной стороны, это может повергнуть в шок. Как же так? Тратим деньги на вовлечение, рекламируем бота, но не видим даже количества подписчиков, не говоря уже о хотя бы примитивной сегментации по полу или языку.

Получить доступ к параметрам пользователей конечно же можно, но придется написать небольшую функцию. Расстраиваться не стоит. Лучше попробуйте ответить сами себе на вопрос, “А зачем мне список подписчиков?”. Что с ними делать? :)

Тут мы плавно переходим к следующему нюансу Dialogflow.

Отсутствие рассылок

Привыкли к чат-ботам, которые умеют отправлять пользователю сообщение спустя время? А вот Dialogflow так делать не умеет. Он лишь реагирует на намерения пользователи и никогда первый не вступает в диалог. Хорошо это или плохо? Лично я считаю, что хорошо. Чем чаще я наблюдаю, как чат-боты превращаются в инструмент спам-рассылок, тем больше удовольствия испытываю от платформы Dialogflow.

Нужна рассылка? Не проблема. Пусть бот попросит у пользователя email и сделает рассылку по почте, используя мощности таких email-сервисов, как Sendgrid.

Никаких пауз по несколько часов, как это часто делается в ManyChat. При разработке чат-бота учитывайте, что вы пытаетесь построить симуляцию взаимодействия двух людей. В разговоре мы не должны заставлять другого человека ждать. Все ваши запросы должны быть выполнены в течение 4-5 секунд (чтобы избежать превышения времени ожидания платформой).

Сложность интеграции с другими сервисами

Несмотря на то, что Dialogflow – это продукт Google, в нем нет интеграции даже с Google Spreadsheet (таблицы), не говоря уже о PayPal или хоть какой-нибудь CRM. Под “нет интеграции” я подразумеваю интеграции “из коробки”, когда в несколько кликов можно подключить бот-платформу к стороннему продукту.

Но с другой стороны, Dialogflow можно подключить практически к любому сервису, если правильно настроить следующую цепочку:

Как мы видим на схеме, Dialogflow выполняет роль “принять текст” – “вернуть текст” и больше ничего. Плюс есть возможность сообщить серверу о наступлении события (webhook запрос). На сервере у вас должна быть подготовленная функция (webhook functiuon), которая примет информацию о диалоге, включая данные пользователя и всю прочую вводную информацию, обработает (обменяется данными с со сторонним сервисом… например CRM) и вернет назад в Dialogflow. А Dialogflow через responses покажет пользователю ответ.

Да, это звучит сложно, но вполне по силам большинству читателей этой статьи. Уверен, вы среди них! :)

Сложность проектирования

Чем больше будет становиться ваш бот, обрастать правилами и сущностями, тем сложнее станет его поддерживать. К большому сожалению, Dialogflow не обладает встроенными инструментами для наглядного схематического представления бота. Ну ничего, выход всегда есть. Рисуйте схему бота в блокноте или в таких сервисах, как Miro, Lucidchart и т.д.

Замедление платформы

Dialogflow – штука медленная, неповоротливая и ее работа не всегда поддается логике. Всю “прелесть” вы заметите на больших чат-ботах, когда после каждого сохранения придется ждать по несколько часов (!!!), чтобы нейронная сеть обучилась и подготовилась к работе.

Почитайте мою предыдущую статью про настройки Dialogflow, там есть способы оптимизации платформы.

Написание кода даже для простейших действий

Как бы вы решали следующую задачу в ManyChat? Пользователь вводит значение X, потом вводит значение Y, а бот должен подсчитать сумму X + Y и вывести ответ на экран. Очевидно, что при использовании custom fields эта задача решается за 5 – 10 секунд.

А что же Dialogflow? :) Он такое сделать не сможет. Помните схему, которую я описывал выше про webhook и прочие радости? Вот вам нужно возвращаться к ней, чтобы просуммировать два числа. На самом деле, ничего сложного. Функция должна принимать на вход agent, из которого вы сможете получить значения параметров. Например: agent.parameters[‘num1’] и agent.parameters[‘num2’]. Суммируем их и возвращаем ответ в виде agent.add(‘Сумма чисел: ‘ + sum);

Со временем все станет проясняться.

Dialogflow – это некий конструктор, из которого вы сможете собирать сложные продукты, которые могут интегрироваться с любыми средствами коммуникации (собственные мобильные приложения и веб-сайты, мессенджеры, sms, email, голосовой ввод-вывод и т.д.).

Не забывайте заглядывать на мой YouTube-канал. Специально открыл, для лучшей наглядности.

Надеюсь, будет интересно. А ниже видео-версия этой же статьи.

Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x