CUI — conversational user interface, что переводят, как общительный интерфейс. Это концепция пользовательского интерфейса, общающегося с пользователем в виде диалога. Его основная задача упростить взаимодействие пользователя с продуктом при помощи голосовых интерфейсов и мессенджеров. CUI применяют в создании чат-ботов и голосовых помощников для придания им “человечности”. Сейчас мало кто использует эти принципы, большинство задают сценарии взаимодействия интуитивно.
Компьютер мультизадачный, мультиинтерфейсный и многооконный, его интерфейс обеспечивает разделяемую многозадачность. У пользователя богатый выбор действий и возможных команд. Браузеры, программы и даже мессенджеры имеют эту возможность, чего нельзя сказать о чат-ботах.
Взаимодействие с ботом происходит только через строку ввода или голосовой ввод. Общение кнопками, которые по своей сути - быстрые команды, происходит через ту же строку.
Интерфейс ввода у чат-бота аналогичен интерфейсу командной строки. И это возвращает его назад во времени, когда компьютеры полностью управлялись командной строкой, и можно было задать одну команду за один раз. Это создает трудность для понимания, что сказать боту, чтобы он правильно тебя понял и сделал то, что ты от него ждешь.
Когда командная строка переросла в графический интерфейс Norton Commander, взаимодействие стало сразу проще и понятней. Он позволяет видеть все команды, понимать, что нажимать или вводить, и как получить желаемый результат.
Возможности интерфейсов для пользователей можно условно расположить на шкале вовлеченности. Где минимальный выбор будет у пользователей голосового интерфейса, а максимальный у виртуальной реальности (в теории - неограниченный выбор).
Как видим, чат бот находится в левой половине этой шкалы, после голосового интерфейса. Это значит, что возможностей у текстового интерфейса чат бота чуть больше, чем у голосового, но все равно не велика. Нужно учесть это при создании бота и использовать возможности по максимуму.
Если чат бот служит заменой реальному человеку, значит он должен:
Когда пользователь ведет переписку с реальным человеком, человек не будет требовать точного ввода команд или бесконечно задавать один и тот же вопрос и переспрашивать. Человек будет задавать дополнительные вопросы, пытаясь решить возникшую проблему. Так, с помощью грамотно построенного CUI, бот сможет понимать, что от него ждет пользователь, даже при не точно введенных командах, и выдавать осмысленный ответ.
Концепция CUI для общения между пользователем и ботом построена на большом количестве возможных сценариев. Сценарии продумываются в формате диалога, где каждое сообщение от бота заканчивается вопросом или предложением пользователю. Совокупность сценариев имеет вид дерева решений, по которой выстраивается цепочка реакций на каждое действие пользователя.
Для того, чтобы правильно выбирать сценарии, а также распознавать значение введенных или сказанных фраз используются системы распознавания естественной речи (natural language recognition) на основе машинного обучения (machine learning).
Качество чат-бота оценивается пользователем по его функциональности, понятности, и отсутствию тупиков. И именно продуманность дерева решений влияет на понятность чат бота для пользователя, и отсутствие тупиковых ситуаций. Есть простой инструмент проверить ее работу - botsociety. Botsociety позволяет прогнать все сценарии в ветке решений, чтоб найти и исправить все тупики.
Иногда разговорного формата CUI для чат бота не достаточно, или он не совсем подходит по формату. В таких случаях стоит комбинировать общительный интерфейс (CUI) с графическим (GUI), и ли в целом выходить из интерфейса бота.
Вот лишь пара примеров, когда общительный интерфейс чат бота стоит дополнять другими элементами.
В таком случае, нужно дать пользователю понять, что окончательное ключевое решение, или проверка решения будет осуществляться живым человеком. Бот может просто выдать одно такое сообщение пользователю или предоставить возможность обратится к оператору, тогда уровень доверия к боту увеличится.
Чтоб избежать ошибок и упростить ввод важных данных, лучше использовать формы.
Общение с ботом или голосовым помощником должно соответствовать принципам, сформулированным Полом Грайсом (Paul Grice): общение должно быть достоверным (thruhful), информативным (informative) и соответствующим направлению диалога (relevant).
Не должно быть “единственно верного пути” (“happy path”), по которому нужно пройти для получения результата или необходимости говорить строго определенные слова. Чат-бот должен использовать алгоритмы для того, чтобы использовать все возможности языка и делать общение приближенным к общению с человеком, при необходимости приглашая пользователя воспользоваться другими видами интерфейсов.