Голос для бизнеса: как и зачем брендам создавать навыки для голосовых ассистентов
Что нужно учесть при разработке, каким образом нативно интегрировать упоминания бренда и как сделать навык максимально полезным для людей: рассказываем на примере Маруси.
2644 просмотров
Более 3 млрд человек регулярно обращаются к голосовым помощникам, и количество их пользователей продолжает расти. По прогнозам, рынок вырастет на 17,2% в годовом исчислении и достигнет 26,8 млрд долларов к 2025 году.
Голосовые ассистенты набирают популярность не только среди пользователей, но и среди брендов. Компании разрабатывают собственные навыки и используют голосовых помощников в качестве консультантов.
Маруся — голосовой помощник с многомиллионной аудиторией, который работает в умных колонках Капсула и Капсула Мини, приложениях Маруси для iOS и Android, в Почте Mail.ru. Разрабатывать собственные голосовые навыки для Маруси могут и сторонние бренды — самостоятельно через открытую платформу или в сотрудничестве с Mail.ru Group.
Алена Дебольская, руководитель проектной группы в «Направлении инновационных решений» Mail.ru Group, рассказывает об использовании возможностей голосового помощника для брендов на примере навыка Питомцы, который компания разработала вместе с Purina.
Новый опыт на основе уже существующего контента
Основой для нового навыка стал запущенный ранее портал Питомцы Mail.ru. На портале собраны экспертные материалы для хозяев питомцев и для тех, кто планирует ими стать. Там же можно бесплатно получить рекомендации ветеринаров и кинологов. Разрабатывая навык, бренд Purina стремился создать новый опыт для пользователей и дополнительную ценность с помощью существующего контента площадки .
Навык Питомцы позволяет задать Марусе вопрос — и оперативно получить рекомендации и ответы экспертов на любые запросы, связанные с содержанием и здоровьем животных.
Это соответствует целям Purina: бренду важно продвигать осознанное отношение к животным. Чтобы активировать навык, достаточно сказать Марусе: «Открой Питомцы». При поиске информации Маруся использует контент Питомцев Mail.ru: статьи и комментарии ветеринаров, кинологов, зоопсихологов и других проверенных экспертов.
Сценарии для общения — и для перехода в мессенджер
Чтобы человеку было легко и удобно взаимодействовать с навыком, особое внимание уделяли его проектированию и разработке. Например, классифицировали и анализировали запросы, адаптировали контент под каждый тип вопросов и прорабатывали сценарии для общения.
Также важно было разработать сценарии и придумать фразы, которые помогают перевести пользователя из мобильного приложения в мессенджер для коммуникации с онлайн-ветеринаром. Так как навык не базируется на данных поисковиков, было необходимо создать хранилище контента и сценариев, а также наладить их доставку потребителям.
В процессе разработки мы определили эффективные подходы и инсайты, которые легли в основу создания навыка и его улучшения.
Тестировать контент и расставлять приоритеты
Команды стремились создать голосовой навык, с помощью которого можно найти ответ практически на любой вопрос о домашних животных . Разработка во многом зависит от количества интерактивных диалогов внутри навыка, которых сейчас более 400.
Нельзя просто загрузить весь объем готового и структурированного контента в голосовой помощник. Нужно заложить достаточно времени на то, чтобы протестировать все сценарии и расставить приоритеты. В дальнейшем это позволит пользователям своевременно получать качественные ответы на их вопросы.
Название навыка, которое используется для его активации, должно быть простым и понятным – это поможет голосовому помощнику распознавать задачу корректно. Тесты показали, что не стоит включать в него названия брендов: алгоритмы машинного обучения могут быть не обучены под них, и фраза, скорее всего, будет воспринята некорректно.
Поисковые привычки в веб-версии и в голосовых интерфейсах различаются
Изначально мы собирались приоритизировать контент в соответствии с популярностью вопросов в поисковиках. При разработке содержания диалогов команды выделили тысячу самых распространенных запросов и сфокусировались на них. Запросы были связаны с базовыми правилами ухода за животными и здоровьем питомцев. Например:
- Что делать, если кошка не ест?
- Почему у кота слезятся глаза?
- Почему у щенка расстройство живота?
Но тесты показали, что люди редко ведут диалоги о недомогании питомцев с голосовыми помощниками . Около 70% пользователей чаще спрашивали о нюансах ухода и содержания:
- Что ты знаешь о кошках?
- Чем кормить шпица?
- Расскажи про породу спаниель.
И лишь 30% вопросов, которые задавали ассистенту, относились к здоровью животных.
Люди готовы глубже вовлекаться в диалог, если вопрос серьезный
Тесты показали, что те 30% владельцев питомцев, которым требовалась экспертная консультация, глубже погружались во взаимодействие с навыком. Если требовались ответы на серьезные вопросы, связанные со здоровьем, средняя глубина вовлечения в диалог оказалась близкой к показателям нативных навыков Маруси. Мы разделяем ответственный подход владельцев домашних животных и понимаем, что многим из них важно советоваться со специалистами. Поэтому Purina решила разработать голосовой навык, который способен быстро и четко ответить на все самые важные вопросы.
Михаил Бузумурга, Старший специалист по работе с поисковым продвижением и веб-сайтами в Purina
Голосовому навыку тоже нужен лендинг
Чтобы упростить знакомство с навыком, команды разработали лендинг. На нем рассказывалось, что умеет умный сервис, как он работает и как эффективнее формулировать вопросы.
Что можно спросить у Маруси
Как работает голосовой помощник
Если Маруся сама не может найти ответ на вопрос, она предлагает переключиться на горячую линию Purina и получить бесплатную консультацию ветеринарного врача в мессенджере.
Мы также составили чек-лист приемов, которые помогут сделать брендированные навыки удобными.
- Длинное вступление отталкивает. Составьте понятную инструкцию. Короткое голосовое руководство в начале работы со сложными навыками поможет пользователю научиться эффективно с ними взаимодействовать.
- Не делайте диалоги длинными. У людей нет цели провести много времени в навыке – ему нужно решить свою задачу быстро. Если ваш навык не игровой, разрабатывайте сценарий так, чтобы после одного-двух вопросов можно было получить качественный ответ.
- Сопровождайте пользователя и давайте подсказки в течение всего диалога. Платформа может сама предлагать несколько вариантов решения задачи, а человеку останется лишь указать, какой вариант подходит ему.
- Интеграция бренда в навык должна быть нативной, формат прямой аудиорекламы отталкивает. Например, в рамках навыка Питомцы бренд интегрировали в приветственное сообщении от Маруси, нативные диалоги о кормлении и в переход на горячую линию Purina.
- Заложите дополнительный маркетинговый бюджет на продвижение навыка. Это позволит расширить охват целевой аудитории, а также увеличить конверсию во взаимодействие с навыком.
- Выделите на разработку контента столько времени, сколько нужно — даже если это займет несколько месяцев. Только тогда навык получится удобным, полезным и востребованным.
- Необходима синхронизация технических навыков и экспертизы бренда в его области. Так, знания бренда Purina о питании, содержании и здоровье питомцев помогли разработать полезный и информативный навык, соответствующий потребностям владельцев домашних животных.
- Создавайте контент, рассчитанный в том числе на детей, так как голосовые ассистенты часто используют родители вместе с малышами.
Сегодня есть множество векторов для развития голосовых помощников и их навыков. Однако уже можно сказать, что со своей первостепенной задачей — помощью пользователям — они справляются все лучше с каждым годом. Для брендов создание собственных навыков в партнерстве с технологическими компаниями — это возможность вовлекать пользователей в долгосрочную коммуникацию, повышать лояльность аудитории и нативно рассказывать о своих товарах и услугах .
Краткое руководство. Создание голосового помощника с помощью пользовательских команд
Поддержка пользовательских команд будет прекращена 30 апреля 2026 г. И начиная с 30 октября 2023 г. вы не сможете создавать новые приложения пользовательских команд в Speech Studio. В связи с этим изменением поддержка LUIS будет прекращена 1 октября 2025 г., а с 1 апреля 2023 г. вы не сможете создавать новые ресурсы LUIS.
В этом кратком руководстве вы создадите и протестируете базовое приложение Пользовательских голосовых команд с помощью Speech Studio. Кроме того, вы сможете получить доступ к этому приложению из клиентского приложения Windows.
Доступность по регионам
В настоящее время пользовательские команды поддерживают речевые ресурсы, созданные в регионах с возможностями голосовых помощник.
Предварительные требования
- Создайте ресурс службы “Речь” в регионе, поддерживающем пользовательские команды. Список поддерживаемых регионов см. в разделе со сведениями о доступности в регионах выше.
- Скачайте пример JSON-файла Smart Room Lite.
- Скачайте последнюю версию клиента голосового помощника Windows.
Переход в Speech Studio для пользовательских команд
- В веб-браузере перейдите в Speech Studio.
- Введите свои учетные данные для входа на портал. Представление по умолчанию — это список ресурсов службы “Речь”.
Примечание Если страница выбора ресурса не отображается, перейдите туда, выбрав “Ресурс” в меню параметров на верхней панели.
Импорт существующего приложения в качестве нового проекта пользовательских команд
- Выберите Создать проект, чтобы создать проект.
- В поле Имя введите имя проекта Smart-Room-Lite (или другое значение).
- В списке Язык выберите Английский (США) .
- Выберите Обзор файлов и в окне обзора выберите файл SmartRoomLite.js.
- В поле Имя ресурса введите имя ресурса.
- В списке Группа ресурсов выберите группу ресурсов.
- В списке Расположение выберите расположение.
- В списке Ценовая категория выберите уровень.
Чтобы создать группы ресурсов, введите нужное имя группы ресурсов в поле “Группа ресурсов”. Группа ресурсов будет создана после нажатия Создать.
Попробуйте некоторые голосовые команды
- Вверху справа нажмите Обучение.
- После завершения обучения нажмите Тест и произнесите следующие фразы.
- Turn on the tv (Включить телевизор)
- Set the temperature to 80 degrees (Установить температуру равной 80 градусам)
- Turn it off (Отключить)
- The tv (телевизор)
- Set an alarm for 5 PM (Установить будильник на 5 часов утра)
Интеграция приложения с пользовательскими командами в помощнике
Чтобы получить доступ к этому приложению извне Speech Studio, необходимо опубликовать приложение. Для публикации приложения необходимо настроить ресурс прогнозирования LUIS.
Обновление ресурса прогнозирования LUIS
- На панели слева выберите Параметры и на панели посередине выберите Ресурсы LUIS.
- Выберите ресурс прогнозирования или создайте его, выбрав Создать новый ресурс.
- Нажмите кнопку Сохранить.
Поскольку ресурс разработки поддерживает только 1000 запросов к конечной точке прогнозирования в месяц, ресурс прогнозирования LUIS необходимо создать до публикации приложения пользовательских команд.
Публикация приложения
Выберите Опубликовать в верхней части панели справа. После завершения публикации появится новое окно. Запишите значение Идентификатор приложения и значение Ключа ресурса Речи. Эти два значения понадобятся для доступа к приложению извне Speech Studio.
Кроме того, эти значения можно получить в разделе Параметры>Общие.
Доступ к приложению из клиента
В данной статье мы будем использовать клиент голосового помощника Windows Voice, который вы скачали в рамках предварительных требований. Распакуйте папку.
- Запустите VoiceAssistantClient.exe.
- Создайте новый профиль публикации и введите значение в поле Профиль подключения. В разделе Общие параметры введите значение в полях Ключ подписки (то же самое, что и Ключ ресурса Речи, сохраненный при публикации приложения), Регион ключа подписки и Идентификатор приложения пользовательских команд.
Можно щелкнуть записи в разделе Журнал действий, чтобы проверить необработанные ответы, отправляемые из службы пользовательских команд.
Дальнейшие действия
В этой статье вы использовали существующее приложение. Далее в разделах с инструкциями вы узнаете, как проектировать, разрабатывать, отлаживать, тестировать и интегрировать пользовательские команды с нуля.
Python: как создать простейшего голосового помощника?
Для создания голосового помощника не нужно обладать большими знаниями в программировании, главное понимать каким функционалом он должен владеть. Многие компании создают их на первой линии связи с клиентом для удобства, оптимизации рабочих процессов и наилучшей классификации звонков.
18 435 просмотров
В данной статье представлена программа, которая может стать основой для Вашего собственного чат-бота, а если точнее – голосового помощника для распознавания голоса и последующего выполнения команд. С ее помощью мы сможем понять принцип работы наиболее часто встречаемых голосовых помощников.
Для начала объявим необходимые нам библиотеки:
#Необходимые библиотеки import speech_recognition as sr import os import sys import webbrowser import pyttsx3 as p from datetime import datetime import time import datetime import random
Также не забудем вести лог файл, который понадобится нам, если же мы все-таки решим улучшить бота для работы с нейронной сетью. Многие компании использую нейронную сеть в своих голосовых помощниках для понимания эмоций клиента и соответствующего реагирования на них. Также стоит не забывать, что с помощью анализа логов, мы сможем понять слабые места алгоритма бота и улучшить взаимодействие с клиентами.
#Создаем лог chat_log = [[‘SESSION_ID’, ‘DATE’, ‘AUTHOR’, ‘TEXT’, ‘AUDIO_NUM’]] #Узнаем номер сессии i = 1 exit = 0 while exit == 0: session_id = str(i) if session_id not in os.listdir(): os.mkdir(session_id) exit = 1 else: i = i + 1 #Первое сообщение пишет bot author = ‘Bot’ text = ‘Привет! Чем я могу вам помочь?’
В лог файл мы записываем время сообщения, автора (бот или пользователь) и собственно сам сказанный текст.
#Добавляем данные к логу с помощью этой процедуры def log_me(author, text, audio): now = datetime.datetime.now() i = 1 exit = 0 while exit == 0: audio_num = str(i)+’.wav’ if audio_num not in os.listdir(session_id): exit = 1 else: i = i + 1 os.chdir(session_id) with open(audio_num , “wb”) as file: file.write(audio.get_wav_data()) chat_log.append([now.strftime(“%Y-%m-%d %H:%M:%S”), author, text, audio_num])
Выводим первое сообщение за авторством бота: Привет! Чем я могу вам помочь?
# Выводим первое сообщение на экран и записываем в лог print(“Bot: “+ text) log_me(author, text, audio)
А с помощью такой процедуры в Jupyter Notebook мы можем озвучить через устройство воспроизведения, настроенное по умолчанию, сказанные слова:
#Произношение words def talk(words): engine.say(words) engine.runAndWait()
Как озвучивать текст мы рассмотрели выше, но как же мы свой голос сможем превратить в текст? Тут нам поможет распознавание речи от Google и некоторые манипуляции с микрофоном.
#Настройка микрофона def command(): rec = sr.Recognizer() with sr.Microphone() as source: #Бот ожидает нашего голоса print(‘Bot: . ‘) #Небольшая задержка в записи rec.pause_threshold = 1 #Удаление фонового шума с записи rec.adjust_for_ambient_noise(source, duration=1) audio = rec.listen(source) try: #Распознание теста с помощью сервиса GOOGLE text = rec.recognize_google(audio, language=”ru-RU”).lower() #Вывод сказанного текста на экран print(‘Вы: ‘ + text[0].upper() + text[1:]) log_me(‘User’, text, audio) #Если не распознался тест из аудио except sr.UnknownValueError: text = ‘Не понимаю. Повторите.’ print(‘Bot: ‘ + text) talk(text) #Начинаем заново слушать text = command() log_me(‘Bot’, text, , Null) return text
Что может сделать наш помощник кроме того, чтобы нас слушать? Все ограничено нашей фантазией! Рассмотрим несколько интересный примеров.
Начнем с простого, пусть при команде открыть сайт – он откроет сайт (не ожидали?).
#Тут расписаны действия, которые будут выполнятся при наличии некоторых словосочетаний def makeSomething(text): if ‘открой сайт’ in text: print(‘Bot: Открываю сайт NewTechAudit.’) talk(‘Открываю сайт NewTechAudit.’) log_me(‘Bot’,’Открываю сайт NewTechAudit.’, Null) webbrowser.open(‘https://newtechaudit.ru/’)
Иногда полезно послушать свои слова, да чужими устами. Пусть бот еще умеет и повторять за нами:
#Повторение фразы пользователя elif ‘произнеси’ in text or ‘скажи’ in text or ‘повтори’ in text: print(‘Bot: ‘ + text[10].upper() + text[11:]) talk(text[10:]) log_me(‘Bot’, text[10].upper() + text[11:] , Null)
Пусть еще и собеседником будет, но начнем мы пока только со знакомства:
#Ответ на вопрос elif ‘своё имя’ in text or ‘как тебя зовут’ in text or ‘назови себя’ in text: print(‘Bot: Меня зовут Bot.’) talk(‘Меня зовут Bot’) log_me(‘Bot’, ‘Меня зовут Bot’, Null)
Мы также можем попросить голосового помощника назвать случайное число в выбранных нами пределах в формате: Назови случайное число от (1ое число) до (2ое число).
#Определение случайного числа elif ‘случайное число’ in text: ot=text.find(‘от’) do=text.find(‘до’) f_num=int(text[ot+3:do-1]) l_num=int(text[do+3:]) r=str(random.randint(f_num, l_num)) print(‘Bot: ‘ + r) talk(r) log_me(‘Bot’, r, Null)
Для того, чтобы завершить программу, достаточно только попрощаться с ботом:
#Завершение программы elif ‘пока’ in text or ‘до свидания’ in text: print(‘Bot: До свидания!’) talk(‘До свидания’) log_me(‘Bot’, ‘Конец сессии’, Null) os.chdir(session_id) log_file = open( session_id + “.txt”, “w”) for row in chat_log: np.savetxt(log_file, row) log_file.close() sys.exit()
А чтобы все это работало беспрерывно, мы создаем бесконечный цикл.
#Бесконечный цикл для работы while True: makeSomething(command())
Проведем тестовый диалог:
При подготовке материала использовались источники:
https://vc.ru/insidevk/288449-golos-dlya-biznesa-kak-i-zachem-brendam-sozdavat-navyki-dlya-golosovyh-assistentov
https://learn.microsoft.com/ru-ru/azure/cognitive-services/speech-service/quickstart-custom-commands-application
https://vc.ru/dev/158797-python-kak-sozdat-prosteyshego-golosovogo-pomoshchnika