Основы диалогового дизайна: советы по созданию чат-бота
Опубликовано: 2022-03-10Человеческие взаимодействия невероятно увлекательны, если вы внимательно посмотрите на них — социальная неловкость, стили общения, способ передачи знаний, способ рассказывания историй и построение доверия.
Но что происходит, когда машина вызывает такой же ответ?
Диалоговые интерфейсы стали новой модой в UX-дизайне. Google собирается выпустить нового чат-бота виртуального помощника; Facebook уже запустил обновленную платформу Messenger с чат-ботами; а Microsoft зашла так далеко, что заявила, что операционная система будущего — это не Windows, а «разговор как платформа».
Дальнейшее чтение на SmashingMag:
- Диалоговые интерфейсы: где мы сегодня? Куда мы направляемся?
- Разговор вредит или помогает UX чат-бота?
- Как разработать чат-бота с помощью Node.js
Все крупные игроки отрасли уже поняли, что достижения в области искусственного интеллекта (ИИ) могут решить очень важную проблему UX: сделать безликие фирменные веб-сайты и приложения действительно личными.
Чат-боты могут создать более искренний, индивидуальный опыт, который можно сравнить с опытом в магазине — вы получаете улыбку от продавца, немного болтовни и дружеское подмигивание, что делает весь процесс покупки более личным и приятным. . Для брендов это возможность расширить отношения со своими клиентами и управлять ими, а также выйти за рамки «просто продукта».
Однако создание действительно полезного и привлекательного чат-бота по-прежнему остается сложной задачей с точки зрения UX. Хотя теперь у нас есть блестящее машинное обучение, которое продвигает технологии искусственного интеллекта и обработки естественного языка (NLP), мы все еще несколько ограничены в том, какой тип помощника мы можем создать, и нам нужно максимально использовать то, что у нас есть. Мэтт Шлихт, основатель журнала Chatbots Magazine, создал очень подробное руководство, в котором обобщается текущее состояние экосистемы чат-ботов и возможности для дизайнеров.
Недавно я работал над проектом чат-бота для Alty — бота для обмена сообщениями в Facebook, чтобы общаться с потенциальными клиентами, знакомить их с компанией и предлагаемыми услугами, а также отправлять запросы по электронной почте.
Опыт был относительно новым и сложным. В отличие от стандартного графического пользовательского интерфейса (GUI), приложение должно было работать бесперебойно с минимальными действиями пользователя, предоставлять новую ценность за счет использования сохраненной информации и предвидеть потребности пользователей. Стандартные паттерны и потоки на самом деле не работают в диалоговом дизайне, иначе они нуждаются в значительной корректировке. Проверьте набор пользовательского интерфейса Bot для платформы Messenger, любезно предоставленный Mockuuups и Botframe — простой инструмент прототипирования для эмуляции разговоров, разработанный Alsadir Monk, чтобы получить лучшее представление об общих потоках на этой платформе.
1. Выберите набор инструментов
Как уже говорилось, первая проблема, с которой вы, вероятно, столкнетесь, заключается в том, что у вас мало контроля над внешним видом приложения. Вам не нужно слишком возиться с типографикой, макетами или стилем. Если вы создаете чат-бота с голосовым управлением, у него не будет даже визуальной стороны! Следовательно, откажитесь от большинства стандартных инструментов и дополните свой набор инструментов новыми полезными.
Для нашего проекта мы выбрали самый простой инструмент — Chatfuel, бесплатный, интуитивно понятный конструктор ботов для Facebook Manager с интерфейсом перетаскивания и почти не требующим программирования.
Однако, если вы планируете создать более продвинутого бота, стоит изучить следующие инструменты:
- Twine Этот нелинейный текстовый редактор создает текстовые сценарии и последовательности сообщений для ваших диалогов.
- Witness Этот незаменимый инструмент поможет вам преобразовать голосовые и текстовые команды в действия. Сообщество создало десятки удобных команд, и вы можете добавлять собственные.
- Botkit Howdy's Botkit предлагает удобный набор команд и готовый код для создания вашего первого чат-бота Slack.
- Api.ai Недавно приобретенная Google, эта надежная и всеобъемлющая платформа поможет вам создать диалоговый UX-интерфейс любого типа.
- Botwiki Эта вики отвечает на все распространенные вопросы о чат-ботах.
Немногие из стандартных элементов управления или стилей, которые мы используем в стандартных приложениях, применимы к диалоговому дизайну.
2. Подсказка пользователю о том, как начать
Диалоговый дизайн полностью меняет способ взаимодействия пользователей с приложением. Как правило, когда пользователь открывает новое приложение для iOS, он увидит некоторые знакомые элементы, такие как меню, панель для входа или создания учетной записи, кнопки и т. д. — элементы, с которыми он уже знает, как взаимодействовать на основе общих схемы.
Однако первая встреча с чат-ботом менее традиционна. Пользователь будет смотреть на пустой экран, теряясь в предположениях о том, что делать дальше или как взаимодействовать с приложением. Они сталкиваются с двумя простыми проблемами:
- — Я понятия не имею, что я должен делать.
- «Что именно эта штука может сделать для меня?»
Чат-боты пока не кажутся интуитивно понятными для большинства пользователей. Следовательно, ваша первая задача — подсказать пользователю, что произойдет дальше. Начните с краткого вступления и простого призыва к действию, например:
Говорите кратко и просто. Предложите пользователям испытать одно быстрое преимущество вашего приложения и сразу же насладиться результатом.
В случае с ботом Alty мы решили включить кнопки в беседу по нескольким ключевым причинам:
- Набор текста на ходу может быть обременительным для некоторых пользователей, а чат-боты не всегда достаточно умны, чтобы обнаруживать опечатки (хотя мы поговорим об этом позже).
- Кнопки могут подсказывать пользователям, на какие вопросы может ответить бот и какие действия он может выполнять.
3. Создайте правильный ход беседы
Вы хотите, чтобы ваш робот казался волшебником, а не препятствием, верно?
Одна из самых сложных частей при разработке чат-бота — сделать разговор максимально естественным и эффективным. Однако человеческое взаимодействие обычно беспорядочно и нелинейно. Вот несколько советов по оптимизации производительности приложения.
Научите своего бота различать разные типы вопросов
Создайте первоначальный круг вопросов, которые ваш бот сможет эффективно обрабатывать и отвечать на них. Вы можете использовать отличную библиотеку под названием qTypes, которая имеет более 40 подклассов того, как следует отвечать на вопросы. qType указывает тип ответа, который ожидает пользователь, а qSubType указывает формат вопроса:
- Ч . При альтернативном вопросе бота просят выбрать между двумя вариантами (например, «Эта рубашка красная или зеленая?»).
- ВХ . Это вопросы, начинающиеся со слов кто, что, когда, где или почему.
- ЮН . Это вопросы «да» или «нет» (например, «У вас есть собака?»).
- ТГ . Вопрос-тег — это не настоящий вопрос, а скорее способ поддержать разговор (например, «Этот пляж прекрасен, не так ли?»).
Когда ваш бот получает один из стандартных вопросов, он может давать более точные ответы на основе данных из библиотеки:
Не задавайте риторических вопросов, потому что большинство пользователей склонны отвечать на них в любом случае, даже если чат-бот просто из вежливости.
Теперь, когда ваш бот способен понимать вопросы, следующая задача — научить приложение отображать в ответ соответствующие команды.
Проверяйте входные данные более эффективно
Стандартный графический интерфейс позволяет легко уточнять введенные данные при их обработке. Этот адрес электронной почты действителен? Доступно ли это имя пользователя? Этот номер телефона действителен? Вы можете легко ограничить и уточнить введенные данные перед их обработкой.
Тем не менее, в диалоговом дизайне все становится немного сложнее. Пользователь может говорить или печатать все, что ему хочется; следовательно, вам нужно быть умным при построении вопросов и обработке ответов.
Предлагайте подсказки . По возможности избегайте открытых вопросов, потому что они обычно приводят к еще большей путанице. Вместо этого подскажите, какой ответ вы ожидаете. Например:
Какой кейс вы бы хотели увидеть? У нас есть приложения для путешествий, социальных сетей, дизайна и личных финансов.
Или вы можете представить информацию в соответствии с форматом платформы, на которой вы строите — например, списки в случае Facebook Messenger:
Также подтвердите . Если ответ правильный, повторите его, чтобы убедиться, что все верно, а затем переходите к следующему вопросу:
Понятно. Приложения для путешествий. И какой бюджет вы имеете в виду?
Или подскажите что пошло не так . Если введенные данные неверны, объясните еще раз, какой ответ вам нужен. В идеале различайте ответы, которые вы не понимаете, и ответы, которые хороши, но которые вы не можете принять:
Не забывайте, что пользователи разговаривают с вашим приложением. Они могут использовать разные слова для описания одного и того же — например, «четверг», «четверг», «завтра» или слово с опечаткой. Вы можете либо попросить их подтвердить ввод, либо сосредоточиться на создании более сложных последовательностей сообщений для вашего чат-бота.
Вы можете уточнить введенные данные, пропустив их через Normalizer, библиотеку, которая преобразует правописание Великобритании и Канады в английский язык США, объясняет распространенные сокращения и исправляет более 4000 слов с ошибками.
Дождитесь критических входных данных. В некоторых случаях вам потребуется, чтобы пользователь ввел некоторую важную информацию, без которой вы не сможете продолжить работу. В стандартных графических интерфейсах проблема обычно решается с помощью всплывающего модального окна, которое блокирует доступ ко всему, пока пользователь не выполнит задачу: «Вы подтвердили свой адрес электронной почты?», с окном, предлагающим «Да» или «Нет».
Однако в диалоговом дизайне вы должны решать эту проблему немного по-другому. Такой цикл может довольно раздражать робота, поэтому обязательно объясните, какие именно действия вам нужны и почему они вам так важны. Для этого подготовьте несколько диалоговых фрагментов, чтобы чат-бот не повторялся:
В общем, подумайте дважды о том, является ли определенная информация критической для продолжения. По возможности сделайте обоснованное предположение или снова запросите ту же информацию на следующем шаге.
Другой вариант — использовать кнопки и предварительно предложенные тексты , которые пользователи могут выбирать как при задании вопросов, так и при предоставлении ответов. Кнопки должны улучшить общее качество пользовательского ввода, однако они могут немного снизить коэффициент вовлеченности. Поэтому лучше использовать их только тогда, когда вам нужно получить необходимые данные для продолжения.
По мере развития технологий искусственного интеллекта может стать проще обучать ботов определенным ответам и научить их догадываться о намерениях пользователя на основе предыдущих взаимодействий, хранящихся в базе данных. Тем не менее, у большинства чат-ботов сегодня нет причудливых мозгов ИИ, чтобы отвечать пользователям; следовательно, для лучшего UX вам нужно будет выполнить эту работу самостоятельно.
4. Сосредоточьтесь на микрокопии
Дизайнер должен думать как копирайтер при разработке чат-бота. Содержание и диалоговое окно будут определять стиль вашего продукта. Лучшие приложения, как правило, те, которые отличаются веселой разговорной манерой речи. Поэтому сосредоточьтесь на следующем:
- Следуйте тому же пользовательскому потоку, как если бы вы действительно разговаривали с человеком.
- Бот не должен казаться слишком умным, используя сложную грамматику или языковые структуры. Сохраняйте простоту и будьте лаконичны.
- Не используйте местоимения, относящиеся к полу, потому что вы никогда не знаете, кто находится на другой стороне разговора.
- Подготовьте набор несколько разных заготовленных ответов, чтобы сделать беседу более похожей на человеческую.
- Добавьте справочные сообщения и предложения, когда пользователь чувствует себя потерянным.
- Пишите остроумные ответы на неподдерживаемые темы, чтобы бот не выглядел тупым.
5. Раскрывайте особенности постепенно
Стандартные графические интерфейсы обычно отображают все функции, доступные на экране одновременно. Пользователь может наводить курсор на значки, нажимать кнопки и открывать меню, чтобы увидеть, на что способно приложение.
Однако при взаимодействии с чат-ботом может показаться, что пользователь говорит в пустоту. Поэтому намекайте на каждом следующем шаге и постепенно выделяйте незнакомые черты. Давайте рассмотрим, что это значит.
Получив первоначальную команду от пользователя, объясните, что должно произойти дальше и что робот сделает, чтобы выполнить задание. Предложите следующие возможные шаги и/или ссылку на страницу часто задаваемых вопросов или руководство пользователя.
Разблокируйте дополнительные функции после первого успешного взаимодействия. Отключите «режим обучения» и начните предлагать дополнительные функции и более сложные советы. Основывайте эти функции и советы на истории пользователя и ранее введенных данных.
Подсказывайте пользователю о новых вещах , которые нужно сделать. Например, заранее предложите некоторые другие интересные функции вашего робота:
Эй, у тебя скоро вечеринка! Хочешь, я закажу 5 больших пицц?
Например, разговорная гибкость — одна из ключевых сильных сторон бота Taco. Компания использовала Wit.ai для создания различных сценариев разговоров и даже для шуток. Технология обработки естественного языка платформы, которая теперь также используется в Facebook M Virtual Assistant, позволяет боту отображать различные стили заказа. Например, «Можно мне буррито?», «Буритто, пожалуйста» и даже весело ответить на запрос «Я пьян», что вызывает «Хорошо. К вашему заказу добавлена чашка воды». Кроме того, пользователи могут ввести однострочный комментарий, например «без сыра», и бот поймет, что информация относится к ранее заказанному буррито.
Однако, если чат-бот инициирует разговор, убедитесь, что он дает соответствующие предложения, потому что вы не хотите выглядеть неприятным спамером, верно?
Чат-боты и распознавание речи
Речевые команды становятся частью Siri и Google Now, но разработка таких ботов явно требует человеческих и материальных ресурсов. Даже самые мощные нейронные сети, отвечающие за распознавание речи, на данный момент достаточно сложно поддаются обучению. Самая распространенная проблема заключается в том, что, хотя небольшие ошибки достаточно просто устранить, более крупные повторяющиеся ошибки могут стать еще больше из-за умножения, как указывает Эндрю Гибиански.
Например, если пользователь с акцентом произносит Apple как Eupple , сеть может запомнить эту команду таким образом. Омофоны — еще одна серьезная проблема для распознавания речи; такие слова, как «цветок» и «мука», звучат одинаково, и понимание правильного контекста может быть затруднено.
Следовательно, если ваша цель — создать простого чат-бота, выбор речевых команд может быть не лучшим выбором на данный момент, если только вы не готовы вкладывать значительные средства в архитектуру и стек передовых технологий машинного обучения.
Заключительные примечания
Хотя чат-боты могут быть отличным инструментом для создания более персонализированного клиентского опыта, диалоговый дизайн все же имеет определенные ограничения. Как отметила Мария Яо, есть явные случаи, когда разговор может помочь или навредить UX.
Прежде чем создавать чат-бота для своего бизнеса, вы должны четко определить его цель и точную ценность, которую он может принести пользователю. Научите бота делать что-то очень хорошее, например предоставлять прогнозы погоды или знакомить с объемом услуг компании, прежде чем экспериментировать с более продвинутыми функциями. Это ключевой урок, который мы извлекли при разработке бота April на основе отзывов пользователей.