Основы проектирования сценариев для чатбота

Основы проектирования сценариев для чатбота
Курс
Информация
Введение в проектирование чатботов

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

Основные этапы проектирования диалога бота

С точки зрения общего подхода проектирование чатбота состоит из следующих этапов:

1. Определение цели сценария

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

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

После определения цели бота вам необходимо разделить все его общение на отдельные группы - сценарии, каждый из которых решает свою задачу. Соответственно, в примере выше выделяются 3 сценария: помогать пользователям выбрать товар по заданным параметрам, оформить заказ и дать информацию о статусе доставки.

2. Изучение аудитории

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

Мы выделили ЦА, будем делать бот для покупки одежды для корпоративных клиентов. Для них предпочтителен профессиональный стиль, при котором в рамках одного взаимодействия предоставляется и узнается все необходимая информация. Соответственно, будем учитывать это при написании диалогов.

3. Создание структуры диалога

Далее идет непосредственная работа с диалогами. Для простоты будем рассматривать диалог для чатбота с 1 сценарием.

Структура диалога — это основа сценария. Она включает приветствие, основной диалог, ветвления и завершение.

Пройдем по каждой составляющей. Приветствие задаёт тон общения и вводит пользователя в контекст возможностей чатбота. Например: «Здравствуйте! Я — ваш виртуальный помощник. Могу помочь вам с выбором товаров или ответить на вопросы.»

 Основной диалог обеспечивает взаимодействие с пользователем. Здесь важно продумать все возможные варианты вопросов и ответов. Например:

[пользователь] Мне нужен свитера для мерча, цвета компании.

[чатбот] Какой размер вы предпочитаете?

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

Завершение предполагает корректное подведение итогов общения и предложение дальнейшей помощи. Например: «Ваш заказ оформлен и отправлен для согласования. Если у вас будут вопросы, пишите!»

4. Тестирование и доработка сценария

После создания сценария его необходимо протестировать. Вы можете сделать это несколькими способами:

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

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

Составление сценария. Первый взгляд

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

Для простоты создайте визуальную карту диалога. Используйте инструменты вроде 4study или даже бумагу и ручку. Постройте несколько диалогов в очень укрупненном виде: сообщения пользователя и бота. Причем если требуется делать какие-то переходы или условные действия (они будут начинаться со слов «...если пользователь...то бот...», то следующая часть диалога должна быть сгруппирована отдельно. Это мы называем экраном.

Экран - набор действий и сообщений как пользователя, так и бота, которые выполняются последовательно без условных переходов и внешних изменений.

Соответственно, в первом приближении можно сделать небольшой список, о чем может идти диалог - с таких экранов обычно вы и начнете работу над ботом. Не волнуйтесь, если на этом этапе вы описываете несколько экранов - потом вы можете объединить их так, чтобы диалог шел последовательно. Пример такого списка:

Экран 1: Приветствие и знакомство

Экран 2: Просмотр меню

Экран 3: Создание заказа

Экран 4: Авторизация и работа системы лояльности

Экран 5: Отзывы и комментарии

Экран 6: Статусы, баланс и др. пользователя

Экран 7: Завершение разговора.

Экран 8: Напоминания о топе меню и спецпредложениях.

Экран 9: Напоминание-уведомление о готовности заказа.

Используйте примерные фразы, чтобы описать диалог в рамках одного экрана. Чтобы пользователь чувствовал себя комфортно, включайте привычные выражения для вашей целевой аудитории. Вместо «Укажите ваш выбор», например, лучше использовать «Что будете заказывать?». Вместо «Выберите способ оплаты», лучше «Как удобнее оплатить: сейчас или на месте?»

Добавьте обработку нестандартных запросов. Например:

[Пользователь] А есть скидки для студентов?

[Чатбот] Сейчас скидок нет, но у нас есть программа лояльности. Хотите узнать о ней больше?

Думайте об исключительных случаях. Если пользователь задерживается с ответом, бот может предложить помощь: «Вы ещё здесь? Если нужна помощь, просто напишите.»

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

[Чатбот] Здравствуйте! Какой тип одежды вы ищете сегодня?

[Пользователь] Кроссовки

[Чатбот] Какой размер вы носите? (кнопки: Посмотреть бренды, Большие размеры, Укажу свой, Знаю примерно)

[Пользователь] Знаю примерно

[Чатбот] Вы предпочитаете определённый бренд или показать все? Напишите его или выберите по кнопке (кнопки: Посмотреть все)

Грибоедов «Горе от ума»
Грибоедов «Горе от ума»

Далее описывайте диалог в рамках каждого экрана. Представьте, что вы читаете пьесу для двоих или разговор 2 собеседников - посмотрите на иллюстрацию с пьесой «Горе от ума» Грибоедова. Согласитесь, похоже?

Попробуйте написать диалог для двоих, затем поставьте себя на место пользователя и попробуйте дать ответы так, словно вы не знаете что ваш собеседник (бот) дальше будет делать и говорить, но хотите достичь своей цели, то есть цели конкретного сценария. Можете закрывать его текст бумагой и открывать только после своей реплики. Оцените, что стоит изменить, скорректируйте диалог и повторите процедуру, находясь уже в роли бота и понимая, что собеседник может ответить (и что идет не по плану).

Продолжайте повторять такие проверки и корректировки, пока у вас возникают неописанные ситуации и недопонимания. На каждом этапе важно предусмотреть, что пользователь может ответить. Например, если бот спрашивает о подходящем размере одежды, пользователь может: назвать размер, задать вопрос о наличии или вернуться к выбору цвета, не отвечая на размер. Поэтому предусмотрите не только простой ответ в виде цифры, но и другие ответы. Кстати, а если пользователь ответит «39-42» - что произойдет по вашему диалогу?

И наконец, продумайте завершение. Завершение — это возможность подвести итог общения или конкретного сценария. Например: «Ваш заказ оформлен. Спасибо за обращение! Если у вас будут вопросы, пишите в любое время.»

Чатбот для кофейни
Чатбот для кофейни

Создание схемы для кофейни

Рассмотрим пример диалога, который каждый из нас может легко представить. Мы делаем простой чатбот для кофейни — это инструмент, который автоматизирует процесс приёма заказов, консультирования клиентов и информирования о системе лояльности. Начало и часть диалогов я распишу подробнее, некоторые сделаю укрупненно, чтобы вы поняли смысл, а этот урок не занял еще 10 страниц текста.

Приветствие

[Чатбот] Добро пожаловать в нашу кофейню! Хотите сделать заказ, проверить свой статус в системе лояльности или узнать о нашем меню?

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

Основной экран

[Чатбот] Из напитков сегодня можем предложить латте, капучино, черный кофе, черный чай и фруктовый чай (и кнопки)

Пользователь нажимает соответствующую кнопку

[Чатбот] Отлично! Какой объем: маленький, средний или большой?

Пользователь нажимает соответствующую кнопку

[Чатбот] Добавить что-нибудь еще? У нас есть свежая выпечка и десерты.

Если пользователь нажимает кнопку «Выпечка», бот предлагает варианты выпечки (экран выпечки).

Если пользователь нажимает кнопку «Десерты», бот предлагает варианты десертов (экран выпечки).

Если пользователь нажимает кнопку «Напитки», бот предлагает варианты напитков (экран выпечки).

Если «сделать заказ», переходит к (экран завершения заказа)

[Чатбот] Выберите, как будете платить? (кнопки: онлайн, на месте)

Если пользователь нажимает кнопку «На месте»

[Чатбот] Заказ готовится. Вы же знаете про наши бонусы? Введите ваш номер телефона, чтобы авторизоваться для получения бонусов (кнопка: отправить телефон, пропустить)

Если пользователь нажимает кнопку «Отправить телефон» или вводит номер телефона.

Чатбот проверяет по таблице телефон и число бонусов. Находит пользователя и получает его ID, число бонусов. Считает бонусы по формуле 4% от суммы, обновляет в таблице строку.

Если не находит пользователя, то переходит на экран бонусов.

[Чатбот] Спасибо. Ваш счет пополнен на NN бонусов, баланс NN бонусов.  

Далее или если пользователь нажимает кнопку «Пропустить»

[Чатбот] Заказ будет готов в течение 7 минут.

После готовности заказа:

[Чатбот] Ваш заказ готов! Подходите к кассе. Спасибо за ваш выбор, будем рады видеть вас снова!

Экран лояльности

[Чатбот] По номеру телефона я нашел вашу карту 8712965. 

[Чатбот] Ваш текущий баланс бонусов — 200 баллов. Если хотите использовать их для оплаты, подтвердите карту? (кнопки подтвердить и выбрать покупку)

Если пользователь нажимает кнопку «Покупки», то переходим на экран выбора напитка. Если нажимает кнопку «Подтвердить», то:

[Чатбот] Введите пинкод с карты 8712965. Он указан на оборотной стороне. (отправляет фото с примером, кнопки: нет).

Если пользователь нажимает кнопку «Нет»:

[Чатбот] Обратитесь на кассу, когда будете забирать заказ. Мы вам поможем авторизоваться или получить карту.

Если пользователь отправляет:

[Пользователь] 6543

[Чатбот] Спасибо. Сейчас проверю.

Чатбот проверяет по другой таблице телефон, номер, код карты. Если находится, то добавляет ID карты в переменные пользователя (об этом расскажем потом).

[Чатбот] Нашел, обновил информацию. На следующий заказ я автоматически применю скидки, бонусы и пополню баланс.

Если не находит:

[Чатбот] Я не смог вас найти. Возможно вы ошиблись или карта не действует. Обратитесь на кассу, когда будете забирать заказ. Мы вам поможем авторизоваться или получить карту.

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

Я постарался сделать не описание в экранах, а конкретный набор действий - от вас сейчас это не требуется, однако в дальнейшем вы будете запросто делать такие диалоги самостоятельно. Кстати, этот пример работающий, поэтому не обращайте внимание, если не понимаете элементы «установить значение переменной», «получить данные из таблицы» и так далее - это мы рассмотрим в следующем блоке.

Диалоги и экраны чатбота кофейни (упрощение)
Диалоги и экраны чатбота кофейни (упрощение)

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

Попробовать

Практическое задание

В этом задании вам предстоит подготовиться к написанию диалогов. По аналогии с приведенным выше примером сделайте следующее:

1. В прошлом уроке мы с вами анализировали проблемы аудитории и искали цели-задачи для нового чатбота. Можете взять одну из тех (см. в конце задания) или взять из списка ниже и выпишите:

Сохранить

2. Запишите структуру диалога в общем виде. Опишите экраны, которые будут и краткое описание, что происходит на каждом. Опишите условия переходов между ними (как видите, как правило, это по кнопке или по статусу пользователя).

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

Запишите ее ниже или сделайте на бумаге:

Сохранить

3. Теперь делаем более подробную схему. Вместо общего описания каждого экрана напишите конкретные диалоги в формате:

Экран

[Чатбот] Текст или картинка, которую он отправляет

{кнопка 1 (ведет к экрану, если ведет) и кнопка 2 (ведет к экрану, если ведет)}

[Пользователь] Текст-ответ пользователя для примера

Что делает бот, если это не отправка и получение текста

Запишите их ниже или сделайте это на бумаге:

Сохранить

4. Возьмите себе в помощь кого-нибудь на несколько минут. Пройдите с ним по этим диалогам, начиная со старта и до конца. Вы отвечаете только за бота, а ваш друг ведет себя, как пользователь (он не видит текстов диалога), однако вы указываете ему на имеющиеся кнопки, чтобы он мог дать ответ, «нажав одну из них». Делайте пометки, все ли идет по плану, возникают ли у друга сложности, есть ли непредвиденные ответы? Запишите комментарии по итогам общения:

Сохранить

Скорректируйте схему - сейчас это задание не обязательно, поэтому можете пропустить, если хотите. И все же я рекомендую довести общение бота до того момента, когда вы предусмотрели все нестандартные ответы и действия пользователя.

---

Идеи для бота

Прошлые записи по идеям:

Сохранить

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

  • Бот оформляет пропуск на машину, на человека. Он, соответственно, приходит в определенное время в определенный офис.
  • Бот помогает записывать на курс «успешного успеха» и при необходимости оформить документы для диплома (ФИО, ИНН, адрес, информация о прошлом дипломе)
  • Бот собирает с каждого участника группы гипотезы в определенном формате о том, как улучшить сервис (делит по 4-5 группам: визуальные, внутренние процессы, услуги и др.). Запросу показывает список несделанных гипотез
  • Бот, рассказывающий историю компании, семьи, человека, продукта.

Как будете готовы, переходите к следующему уроку.

Автор: Дмитрий

Анализ задач и целевой аудитории для чатботаОсновы обработки естественного языка (NLP)

Чат Постараемся ответить как можно быстрее.
×
Сделано на платформе ПРАВОЛОГИЯ