Как стать автором
Обновить

Гайд по голосовому UX: ситуации, паттерны, инструменты (и немного моральной поддержки)

Время на прочтение12 мин
Количество просмотров9.9K
Всего голосов 19: ↑18 и ↓1+17
Комментарии13

Комментарии 13

Хорошо — «Послушаем сообщение ещё раз или перейдём к следующему?»

Если я отвечу «Да», голосовой помощник перейдет к следующему или повторит?
Хороший помощник переспросит по-другому.
Альтернативные вопросы — дело обычное. Например, когда у нас спрашивают «Ты будешь борщ или окрошку?», мы или выбираем один из вариантов, или отказываемся, или зачем-то отвечаем не на поставленный вопрос. В последнем случае автор вопроса может переспросить иначе, чтобы уточнить. Так и с голосовым ассистентом.
Если честно — единственный пример ботов, которые меня не раздражали — это явные чатботы с кнопками ответов в мессенджерах.

Все голосовые помощники это всегда очень долго. Один из немногих юзкейсов для меня — за рулём. Во всех остальных случаях сильно быстрее натыкать в экран.

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

В любом случае структура таких диалоговых систем выглядит скорее как граф, а не как блок-схема или линейный сценарий.
Можно (и даже нужно для прощения отображения) делать такие графы многоуровневыми, когда внутри узла есть свой отдельный подграф по которому движется курсор контекста. Курсоров может быть несколько (см. сети Петри). Курсор может быть нечетким — это когда «помощник» может с некоторой вероятностью предполагать положение курсора в графе.
Переходы между состояниями тоже можно делать вероятностными. Особенно это оживит вариативные ветки.

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

Вообще вопрос о сохранении контекста — больной вопрос. Почему Алиса не запоминает мои предпочтения? Почему приветсвия в скилле всегда одни и те же даже если я захожу в него с интервалом в 5 минут. То есть мне только что зачитали какое-то пояснение и буквально сразу же на втором витке диалога я слышу в точности то же самое. Почему не предусмотреть все информативные развёрнутые ответы еще и в сокращённом виде с возможностью дальше по диалогу услышать подробности? Неужели трудно все, вообще все фразы в диалоге написать в нескольких вариантах. Какой смысл твердить пользователю одними и теми же словами много-премного раз одно и то же? По крайней мере хорошо бы хотя бы помнить что пользователь уже слышал и что можно впредь говорить короче.

Надо будет собрать все свои WTF по голосовым помощникам и скиллам в статью. А-то не знаешь за что хвататься в каментах. Слишком много вопросов и замечаний.
Тут сложно не согласиться. Какие-то слабые места, конечно, можно отработать, создавая навыки для Алисы самостоятельно (та же вариативность ответов — это все вопрос качества проработки сценария). Но, кстати, Яндекс старается отрабатывать фидбэк. И если вы поделитесь замечаниями по «Сказкам» с разработчиками, они прислушаются, у вас ведь резонные вопросы. Еще есть телеграм-канал для разработчиков навыков Алисы — @yadialogschat, там тоже можно поделиться мыслями.
Человек запросил, например, газету по названию. Система нашла несколько подходящих вариантов. К сожалению, среди них не оказалось 100% совпадения. Как можно уточнить у пользователя газету? Перечислить, допустим, три наиболее близких варианта с номерами и попросить назвать номер?
Вообще перечислять больше двух вариантов — только путать пользователя. Можно сделать ход конем: «Есть свежая газета N — показать ее или поискать другой вариант?».
Иногда всё же не хватает именно уточняющих вопросов вместо очередного (в десятый раз) длинного объяснения, что Алиса не понимает «Ы», а нужно ответить так-то, так-то или так-то.
Хорошая идея!
Кстати, не в курсе что там сейчас у Алисы с навигацией? Ведь нельзя на данном этапе запилить скилл, который будет рассказывать интересные вещи про места, мимо которых сейчас едешь или идёшь? Мне кажется это были бы прямо киллер-фичей, если время от времени приглушив музыку в машине Алиса что-то рассказывала бы:
— О, кстати, вы знаете, что мы проезжаем недалеко от старинного замка?
— Ага.
— Я могу рассказать о нём много интересного!
— Не надо. Что впереди по маршруту?
— Дальше будет гостиница и магазин, потом мы собирались поворачивать на трассу X-123, слева будут видны Апалачи…
— Подожди, нам нужен туалет. Давай заедем.
— Отлично, туалет есть на заправке через 5 километров, сойдёт?
— Да.
— Хорошо. Маршрут изменён. Через 3 километра съезд на эстакаду, держитесь правее.

Чего не хватает для такого киберпанка?
Алиса не умеет слушать пока говорит. Её нельзя перебить. Нет механизма смешивания скиллов. Чисто математически ничего из этого не выглядит невозможным. Графы вполне можно перемножать, контексты смешивать, конфликты разрешать вероятностым способом, а также дополнительными вопросами в равновероятных случаях. Кроме того, можно же и поправить Алису, сказать, что речь не об этом, а о другом. Такие поправки должны менять веса курсоров в смешанном графе. Тогда можно не прерывая одной задачи, например навигации, отвечать на вопросы о местных достопримечательностях, погоде, планах из календаря…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий