НОВОСТИ Разработка приватных навыков для Алисы. О чём не учат в Школе Алисы

Bonnie
Оффлайн
Регистрация
12.04.17
Сообщения
19.095
Реакции
107
Репутация
0
Каждый раз, когда заканчиваю генеральную уборку в квартире, появляется ощущение, как будто чём-то забыл. Во время карантинасамоизоляции отложил изучение «передовых компьютерных технологий» и погрузился в обыденное, всем давно известное и наискучнейшее занятие — домохозяйство. Я составил два списка задач: ежедневные и все остальные. С ежедневными задачами у меня полный порядок, а с остальными сложнее — задач набралось на три листа А4.

04fdb315036f131aa84023fe9fe2ffe5.jpg

Так выглядит список задач по уборке однокомнатной квартиры.

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



Школа Алисы — важно вовремя остановиться
У меня были смутные представления о разработке навыков для голосовых помощников, поэтому первым делом открыл документацию платформы Яндекс.Диалоги и просмотрел все видео в на youtube-канале Яндекс Диалоги. Когда смотрел, делал пометки в блокноте, и не заметил, как за деревьями перестал видеть лес.

Школа Алисы учит делать навык, который помогает пользователю при неправильном ответе, различает синонимы и другие формы слов; который в приветственной фразе объясняет пользователю, как работать с навыком, причём приветственная фраза заканчивается вопросом, который провоцирует ответ и направляет диалог с пользователем в нужное русло и т.д. Советы кажутся убедительными, хочется учесть абсолютно всё, задумываешься о словоформах, интентах, библиотеках для морфологического анализа языка и т.д. За этим всем сложно сохранить фокус на проблеме, ради решения которой задумывался навык.

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

Целевая аудитория — никто кроме меня
Я задумался, а кто будет пользоваться навыком? Где-то читал, что по статистике подавляющим большинством приложений в сторах пользуется только разработчик и его друзья. У меня нет друзей с Яндекс.Станцией, поэтому единственным пользователем приложения буду я. Конечно, я могу нагаллюционировать, как опубликую навык в каталоге навыков Алисы, как все жители нашей страны начнут этим пользоваться, как выиграю премию Алисы, как начну международную экспансию и переведу навык на другие языки и опубликую в других сторах, журнал TIME опубликует моё фото на обложке и т.д. Щёлк. Статистика вещь упрямая, поэтому я делаю навык для себя. Давайте разберёмся, что это меняет в отношении к некоторым советам из Школы Алисы.

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

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

Обработку естественного языка (NLP) лучше отложить
В сценарии, Мой Дворецкий распознаёт подтверждение и отрицание пользователя, а с этой задачей отлично справляются YANDEX.CONFIRM и YANDEX.REJECT, но первую версию навыка я сделал проще. Система сравнивала команду пользователя со строкой да/нет, но уже через несколько дней эксплуатации я заменил это на интенты. Появились идеи, которые я записал, но не тороплюсь реализовывать, ведь навык итак решает мою проблему.

Голосовой интерфейс для редактирования списка можно заменить на хардкод
Я представлял себе, как зачитываю Алисе длинный список задач, который затем сохраняется в Яндекс.Облако. Придумал голосовой интерфейс, для вставки новой задачи в середину списока:
— Добавь после .
— Добавил в список задач под номером 34.
Вроде здорово, но, вспомнив о целевой аудитории, я отложил эту затею. Я настолько профдеформирован, что мне удобнее вести список задач в системе контроля версий. Скорее всего я буду очень редко редактировать этот список, а если и буду, то очень быстро подправлю исходники и задеплою изменения в одной командой. Реализация голосового интерфейса для редактирования списка задач займёт намного больше времени.
на заметку, хочется готовый экран для работы со списком(добавление в начало\конец\середину, удаление) в голосовых помощниках

Через пару дней эксплуатации навыка я понял, что в захардкоженном списке стоит использовать TTS-разметку вместо текста. Это исправит ударение и интонациею в некоторых фразах. Кажется, что при редактировании списка задач голосом, не удастся добиться правильного произношения этих фраз Алисой до тех пор, пока Алиса не усовершенствуется. Я могу смириться с произношение, поэтому не тороплюсь переделывать текст на TTS-разметку в своём списке задач.

Итог. Школа Алисы учит делать правильно, но помните о целевой аудитории навыка.

Благодарности
Благодарю всех, кто разрабатывает гаджеты с голосовыми интерфейсами, кто развивает голосовые интерфейсы, инструменты для разработки голосовых помощников и обучающие материалы. Вы улучшаете качество жизни людей, вроде меня, а ещё снимаете лишнюю нагрузку от экранов с миллионов глаз.

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