Исследовательский Семинар. Голосовые Виртуальные Помощники – Что С Ними Не Так?



Введение Аналитики, изучающие услуги чат-ботов и виртуальных помощников, обещают рост рынка не менее 30% в год. В абсолютном выражении по состоянию на 2019 год рынок оценивался более чем в $2 млрд в год. Практически все ведущие IT-компании мира выпустили виртуальных голосовых помощников, а основную работу по их популяризации уже проделали Apple, Google и Amazon.

Исследовательский семинар.
</p><p>
 Голосовые виртуальные помощники – что с ними не так?

Российский рынок также стал собственным лидером в этой области.

Первым крупным игроком, запустившим в России собственного голосового помощника, стал «Яндекс».

По данным компании, опубликованным официально, Алисой пользуются 45 миллионов пользователей в месяц, а количество ежемесячных запросов к помощнику составляет более 1 миллиарда.

По мнению экспертов, 2020 год может стать переломным для рынка голосовых помощников — конкуренция между платформами и брендами приведет к росту узнаваемости помощников.

В целом, нет никаких сомнений в том, что рынок голосовых помощников — интересная ниша.

И первая идея, которая приходит в голову — взять любой из доступных сервисов ASR (Automatic Speech Recognition) и TTS (Text To Speech), соединить их с конструктором бота, поддерживающим NLU (Natural Language понимать), и всё! Более того, все это можно довольно легко и быстро реализовать на облачных платформах, таких как Twilio и VoxImplant. Проблема лишь в том, что полученный результат будет весьма посредственным.

Что является причиной этого? Прежде всего, попробуем понять, почему набор довольно хороших технологий в совокупности дает такой посредственный результат. Это важно, поскольку в реальной жизни клиент всегда отдаст предпочтение тому сервису, голосовое обслуживание которого удобнее, интереснее, умнее и быстрее других.



Как работает типичный голосовой помощник

Прежде всего отметим, что наша речь представляет собой последовательность звуков.

Звук, в свою очередь, представляет собой суперпозицию звуковых колебаний (волн) разных частот. Волна, как мы знаем из физики, характеризуется двумя признаками – амплитудой и частотой.



Исследовательский семинар.
</p><p>
 Голосовые виртуальные помощники – что с ними не так?

Речевой сигнал Алгоритм помощника:

  1. Прежде всего поток, содержащий речь, разбивается на небольшие фрагменты — кадры.

    Причем кадры должны идти не строго друг за другом, а «внахлёст», т.е.

    конец одного кадра должен пересекаться с началом другого.

    После этого начинается процесс распознавания, и первая задача, которую необходимо решить, — это разбиение всего аудиофрагмента на отдельные слова.

    Речь содержит паузы (интервалы молчания), которые можно считать «разделителями» слов.

    В результате получается, что нам нужно найти определенное значение, порог — значения, выше которого слово, ниже которого тишина.

    Здесь может быть несколько вариантов, но это детали реализации, которые нам сейчас не особо интересны.

    Важно только понимать, что это не константа, а динамически рассчитываемая величина, например, на основе энтропийного анализа.

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

    В результате служба ASR преобразует набор фонем в слово.

    Выделение набора слов в предложения и целые смысловые фразы происходит аналогично делению речи на слова - по интервалам между словами.

    Только в этом случае значение интервала принимается больше, чем в случае деления на слова.

    На выходе этого шага мы имеем речевой фрагмент, преобразованный в текст и готовый к дальнейшей обработке.

  2. Результат работы голосового помощника, полученный на первом этапе, передается боту с поддержкой NLU для идентификации интентов, сущностей, заполнения слотов и формирования текста ответа.

    В результате на выходе получается тестовое представление ответной фразы, которая является реакцией нашего голосового помощника на полученный запрос.

  3. Ответ голосового помощника передается в сервис синтеза речи, который впоследствии озвучивается человеку.



Возникающие проблемы

Несмотря на, казалось бы, очевидную правильность реализованного подхода, в случае с голосовым помощником он создает массу проблем.

Вот основные из них:

  1. Задержки
  2. Задержки
  3. Задержки Я не зря поставил одну и ту же задачу на первые три места.

    Считается, что для комфортного общения ответ должен быть озвучен примерно через 500 миллисекунд после того, как собеседник закончил формулировать свое сообщение.

    На основе реальной практики внедрения голосовых помощников, при задержке более 1 секунды.

    Голосовой помощник довольно часто будет слышать от собеседника-человека фразы, характерные для «проверки соединения»: «Привет!» или «Ты меня слышишьЭ» Особенно это актуально в тех случаях, когда разработчики пытаются скрыть факт общения робота с человеком, особенно во время исходящих телефонных звонков, используя вместо синтеза речи набор заранее записанных аудиофайлов, сделанных реальным человеком.

    Основная сложность здесь в том, что в указанный временной интервал должны укладываться следующие действия:

    • Выделение смысловой фразы.

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

      в его работе.

    • Перевод набора фонем в текст.
    • Обработка текста с формированием ответного сообщения.

    • Синтез речи на основе текста ответа.

    И все это необходимо сделать за минимальное время!
  4. Прерывание работы голосового помощника пользователем и попытки уточнить во время прослушивания ответа.

    В текстовых чатах такая ситуация невозможна, т.к.

    доставка контента происходит практически мгновенно.

    Это довольно распространенная ситуация при использовании голосовых помощников.

    Более того, к моменту окончания озвучивания ответа сам ответ может быть вообще не актуален, поскольку собеседник успел сказать дополнительную уточняющую информацию.

  5. Одну длинную смысловую фразу можно разбить на несколько фрагментов.

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

    В работе голосовых помощников, особенно при попытке решить задачу минимизации задержек, такая ситуация встречается довольно часто.

  6. Обратная ситуация: одна фраза может содержать несколько намерений и сущностей.

    Более того, сущности могут ссылаться на разные намерения.

    Это происходит в текстовых чатах, но реже.

    Пример: — В каком отделении Банка вам будет удобно получить готовую кредитную карту? - На Ленинском проспекте.

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

    Более того, сущность «Отделение банка» относится как к исходному слоту, так и к намерениям «Часы работы отделения» и «Подробные сведения о местонахождении отделения».

  7. В устной речи имеется большое количество слов-паразитов.

    В текстовых чатах их практически нет. Пример: - А-а-а-а.

    ну-о-о-о.

    - Ну как бы тебе сказать, что-то вроде.

    э-э.

    - Вот, минуточку, да.

    Надо подумать, сразу не скажешь.

    По этой причине обработка открытых вопросов одним запросом становится достаточно сложной задачей, потому что.

    человек вместо четкого и конкретного ответа в этом случае обычно начинает рассуждать довольно долго и подробно.

    Те.

    вести себя точно так же, как он обычно ведет себя в естественной речи.

  8. Различные тембры, интонации и скорость передачи при объединении заранее записанных фраз и синтезе речи через сервисы TTS.


Что делать?

Во-первых, при внедрении голосового помощника необходимо обеспечить «слушание» собеседника, в т.ч.

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

Вариант: либо слушать, либо отвечать — крайне плохая реализация, которой следует избегать в реальной работе.

Во-вторых, должна быть оптимизирована скорость работы всех компонентов системы.

Однако в какой-то момент мы определенно достигнем предела возможного снижения задержки и сложности сценариев обработки естественного языка.

Поэтому мы приходим к пониманию того, что нам необходимо кардинально менять подход к внедрению голосовых сервисов.

Основная идея, лежащая в основе нового подхода, — взять пример с процесса, реализуемого человеческим мозгом.

Замечали ли вы, что человек во время разговора начинает анализировать сообщение, которое произносит собеседник, не в тот момент, когда оно полностью закончено, а почти сразу, в тот самый момент, когда оно начинает звучать, уточняя его с каждым новым слово? По этой причине мы часто готовы дать ответ еще до того, как собеседник закончил свое сообщение.

Если вернуться к алгоритму, который должен реализовать голосовой виртуальный помощник, то он может выглядеть так (для иллюстрации рассмотрим входящий вопрос: «Где ближайший банкоматЭ»):

  1. Служба ASR анализирует речь в потоковом режиме, отправляя результаты отдельных слов на следующий шаг.

    На выходе этого шага мы всегда имеем одно единственное слово.

    Результат: а) "Где" б) "располагается" в) "ближайший" г) "АТМ"

  2. Поступившие на вход слова накапливаются во входном буфере.

    Результат: а) "Где" б) "где" в) "где ближайший" г) «Где ближайший банкоматЭ»

  3. Накопленный результат передается на обработку текстовому помощнику с поддержкой NLU для идентификации намерений и сущностей.

    Результат: запрос: "Где" .

    Результат: намерение не определено б) Запрос: "где" .

    Результат: намерение «Местоположение отделения» с вероятностью 50%, «Местоположение банкомата» с вероятностью 50% в) Запрос: "где ближайший" .

    Результат: намерение «Местоположение филиала» с вероятностью 50%, «Местоположение банкомата» с вероятностью 50%, сущность «Точка привязки» = «Текущее местоположение».

    г) Запрос: «Где ближайший банкоматЭ» .

    Результат: намерение «Местоположение банкомата» со 100% вероятностью, объект «Точка привязки» = «Текущее местоположение».



    Исследовательский семинар.
</p><p>
 Голосовые виртуальные помощники – что с ними не так?

    Алгоритм работы голосового помощника

  4. Если добавление нового слова, полученного на шаге 1, не просто меняет веса вероятности ранее определенных намерений, а меняет их состав либо за счет увеличения количества выявленных намерений, либо за счет полной замены их набора, то выполняются следующие действия:
    • из набора намерений предыдущей итерации выбирается вариант с наибольшей вероятностью и соответствующий ответ добавляется в выходной буфер;
    • входной буфер сбрасывается и туда повторно вводится только это новое слово;
    • выполняется новый анализ, т. е.

      снова переходите к шагу 3.

    Всегда по мере добавления слов к накопленному для анализа сообщению значение вероятностей в уже выявленных намерениях должно меняться (фактически исключение намерения из списка эквивалентно установке его вероятности = 0%).

    Это значит, что запрос необходимо постоянно уточнять.

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

  5. Как только определяется, что пользователь закончил свое сообщение (определяется задержкой во входном потоке), мы сбрасываем ответ, соответствующий наиболее вероятному обнаруженному намерению, в выходной буфер.

    Еще лучше, в целях оптимизации по скорости, держать в выходном буфере не текстовое представление ответа, а полученный от TTS аудиофрагмент, накапливая тем самым полную версию ответного аудиосообщения.

  6. Мы объявляем пользователю содержимое выходного буфера.



Способы улучшить качество работы вашего помощника

Давайте рассмотрим, какие существуют методы для дальнейшего улучшения качества работы нашего голосового виртуального помощника:
  1. Обращение ответов в выходной буфер Вы можете ввести параметр приоритета намерений и соответственно вариантов ответа.

    Это означает, что сообщения из выходного буфера произносятся в порядке приоритета.

    Например, запрашиваемое местонахождение банкомата должно быть объявлено до информации о доступных в нем операциях (снятие/внесение наличных, открытие вклада и т.п.

    ) или наоборот.

  2. Настройки прерываний Это улучшение означает возможность определить для некоторых намерений включение «перебивания» собеседника, когда содержимое выходного буфера начинает произноситься до того, как пользователь закончил свой рассказ.

    Этот параметр хорошо работает с предыдущим вариантом, где прерывающему ответу присваивается максимальный приоритет для произнесения из выходного буфера.

    Важно отметить, что режим «прерывания» следует включать не во всех смыслах, а только для определенного, достаточно ограниченного набора.

  3. Настройки серьезности Возможно, имеет смысл выделить некоторые намерения, имеющие признак максимальной категоричности.

    Те.

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

    Примером могут служить высказывания, которые система классифицирует как нарушающие моральные нормы и т. д.

  4. Выявление противоречивых ответов Крайне желательно выявлять в выходном буфере ответы, противоречащие друг другу.

    В этом случае ответ с более низким приоритетом следует просто удалить из выходного буфера.

    Дополнительно имеет смысл при выявлении такой ситуации добавить к сообщению, оставшемуся в выходном буфере, предсообщение «Если я вас правильно понял».

    Причина желательности такого дополнения заключается в том, что наличие противоречивых данных в выходном потоке, как правило, всегда является следствием противоречивых данных во входном потоке.

    Поэтому имеет смысл сообщить человеку, что существует некоторый элемент неопределенности, который может побудить его дать дополнительные разъяснения.

  5. Определение пола собеседника Если вы дадите своему помощнику возможность определять пол по голосу, это позволит реализовать сценарий обработки, более близкий к естественному.

    Это дает возможность реализовать различные ветки обслуживания, в т.ч.

    использование разной лексики при формировании одинаковых ответов.

  6. Анализ эмоционального состояния В обычном разговоре двух и более людей собеседники, как правило, могут достаточно точно определить эмоциональное состояние друг друга.

    Причем это осуществляется не только содержанием употребляемой лексики, например, наличием или отсутствием в речи ругательств, но и тембром и скоростью речи.

    Было бы здорово, если бы помощник мог оказать специальную услугу разгневанному пользователю.

    Современные системы речевой аналитики достаточно хорошо справляются с задачей определения пола и эмоционального состояния человека.

    Остается только адаптировать их для анализа онлайн-разговоров.



Особенности реализации бизнес-кейсов

До сих пор мы рассматривали только технические особенности реализации виртуальных голосовых помощников.

Но надо понимать, что успех не всегда зависит только от совершенства технической реализации.

Разберем уже рассмотренный пример: «Где ближайший банкоматЭ» и разберемся, в чем особенность его реализации в голосовом интерфейсе.

Знаете, есть правило, справедливое для менеджеров по продажам – «То, что нельзя продать по телефону, не следует продавать по телефону».

Именно по этой причине ответ типа «Ближайший банкомат находится по адресу…» не информативен для человека.

Если бы он хорошо знал район, где находится сейчас, т. е.

если бы он знал названия всех близлежащих улиц и номера домов, то, скорее всего, он бы уже знал, где находится ближайший банкомат. Так что такой ответ, скорее всего, сразу вызовет формирование другого вопроса: «А где же только что упомянутый адресЭ» Гораздо более информативным ответом будет вариант: «Ближайший банкомат находится от вас примерно в ста метрах в направлении юго-востока», а еще лучше дополнительно отправить человеку сообщение типа местоположения на картах Яндекс или Гугл.

Универсальное правило здесь такое: если дальнейшее использование информации требует ее перевода в другой канал восприятия, то этот вариант — плохой выбор для непосредственной реализации внутри голосового интерфейса.

Необходимо переформулировать ответ в удобную для прослушивания форму.

Для ряда сервисов их реализация в рамках голосового помощника вообще является наиболее удачным решением.

Например, если человек находится в стрессовой ситуации, то ему обычно сложно сконцентрироваться и быстро описать проблему текстом в чате, и он всегда предпочтет выразить все голосом.

Это может быть важным критерием при выборе бизнес-кейсов для реализации в виртуальном голосовом помощнике.

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

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



Совершенству нет предела

Голос удобнее любого другого интерфейса, когда пользователю нужна совершенно специфическая функция для решения вполне конкретной задачи.

Почему это? Все очень просто – в такой ситуации нужно ждать загрузки сайта, пролистывать страницу, искать в меню приложения, нажимать кнопки и т. д. это всегда более неудобно, чем быстро произнесенная голосовая команда.

Веб-сайты и приложения многофункциональны.

И в этом их преимущество и недостаток одновременно.

Голосовой навык должен быть адаптирован к функции «здесь и сейчас».

Важно помнить, что следует избегать ситуаций, когда голосовые команды должны сопровождаться какими-либо дополнительными действиями в других интерфейсах.

В противном случае это делает голосовой канал неработоспособным, потому что нарушается принцип «глаз-свободные», так как нужно читать, и «свободные руки», если еще что-то нужно ущипнуть.

Еще одна важная рекомендация – не стоит пытаться научить человека говорить.

Он прекрасно может это сделать и без нас, потому что.

язык — это уже привычный и понятный интерфейс.

Хороший пример плохого стиля: «Чтобы прослушать это сообщение еще раз, скажите: «Послушай еще раз».

В обычной жизни мы так не говорим.

А разве нет? Лучше просто спросить: «Хочешь прослушать сообщение еще раз или перейти к следующемуЭ» Хорошим стилем реализации виртуального помощника, активируемого голосом, было бы вообще избегать открытых вопросов.

Целесообразно направить собеседника на конкретные действия.

Особая ценность появляется там, где помощник выступает в роли навигатора или рекомендательной системы.

Голосовой помощник не должен требовать от человека слишком много подробной информации.

Уточняйте это по ходу разговора.

И напоследок хотелось бы отметить, что персонализация – это, пожалуй, главное, чего не хватает существующим интерфейсам голосового диалога.

Без этого невозможно вести более-менее длительный диалог.

Помощник должен собрать данные о собеседнике, структурировать и проверить полученную информацию.

Важно не потерять нить диалога, сохранить и учесть контекст разговора.

Это важно.

В противном случае помощник сможет реализовать только короткие и достаточно простые запросы, и, как следствие, это не позволит вести по-настоящему живой диалог при общении голосового помощника с пользователем.

Теги: #искусственный интеллект #ИИ #Голосовые интерфейсы #asr #AI #nlu #голосовой помощник #tts #Виртуальный консультант

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.