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

Голосовой ИИ: технологии под капотом цифрового агента

Время на прочтение 5 мин
Количество просмотров 3.5K
image

Привет, Хабр! Сегодня мы предлагаем поговорить про так называемый голосовой искусственный интеллект и про технологии, которые делают его «умным». Кроме того, поговорим и о «магии» нашей голосовой платформы — о том, что позволяет голосовому агенту вести нормальную беседу с человеком.

Технологии достигли настолько высокого уровня, что даже профессионалы, которые занимаются разработкой голосовых технологий, зачастую затрудняются отличить робота от человека. Кстати, эта статья подготовлена по выступлению СТО Neuro.net Игоря Десятникова на Tech Week 2021. Если не хочется читать статью — вот видео, если же нужны подробности, то все самое интересное — под катом.

Мы недавно подсчитали — наша платформа совершает около 10 млн минут звонков в месяц, и при этом менее 1% абонентов понимает, что они разговаривают не с оператором колл-центра, а с голосовым агентом. Все это — благодаря новым разработкам, которые мы создали с нуля. Настраивать можно любой компонент, достигая весьма заметных результатов. Но хватит хвалить самих себя, давайте перейдем к сути.

Что должен уметь «умный» голосовой интеллект:

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

Компоненты системы


NLU Engine

Его основа — семантический разбор текста, который поступает от ASR-систем. В ходе распознавания основных объектов распознавания два типа:

  • Entities (сущности).
  • Intents (намерения).

Важный момент: у нас не классическая диалоговая система в её традиционном понимании, система на машинном обучении не составляет ответ динамически, ответ определяется скрипт-дизайнерами. Фразы бота строго предопределены, никакой свободы воли для искусственного интеллекта здесь нет, к счастью или сожалению…

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

Кстати, когда мы запускались, то сделали движок на regexp, но результат получился довольно громоздким, с ним тяжело работать. Поэтому мы и решили двигаться в сторону нейросетей. Накопили миллионы звонков, проанализировали их, разбили на разные категории, включая телемаркетинг, опросы и т.п. Затем верифицировали дата-сет, как вручную, так и автоматически.



После этого разработали нейросетевую модель классификации «фразы пользователей». Это черный ящик, который на входе берет фразы абонента, а на выходе выдает вероятности. Например, фраза «перезвоните в 10 утра» получает около 99% вероятности — т.е. нейросеть точно определяет, что сказал абонент. Этот подход не только экономит время, но и повышает точность. Максимальная точность была около 90% до начала использования нейросетей. После начала работы с ними точность выросла до 98%, в некоторых случаях — 99%.

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

Выделение сущностей — решение задачи Named Entity Recognition (NER)

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

Наилучшим вариантом стала библиотека Natasha — ее мы допилили под себя. Она содержит правила для экстракции адресов, денежных единиц, дат и персон. Мы используем фреймворк Yargy с модификаций грамматик — не только русской, но и других языков, включая казахский.

Примеры обработки аудиопотока абонента


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

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



Абонент говорит. Схема та же. Аудиопоток идет на медиасервер, затем — модуль распознавания речи. Система получает часть голоса пользователя и возвращает результат распознавания. Идет определение и запоминание силы голоса абонента, voice energy. В этот момент запускается Voice activity detection (VAD), его задача понимать, когда абонент говорит и когда молчит. До тех пор, пока VAD не снизится, мы понимаем, что он говорит. Текст возвращается к нам, мы его отправляем в NLU engine для того, чтобы понять, что пользователь хочет, пусть и поэтапно. Эти части отправляются в NLU, происходит классификация — если пользователь перестанет говорит, мы понимаем, что нужно отвечать на сказанное ранее. Этот подход работает до тех пор, пока пользователь не замолчит.



Абонент говорит очень много, в течение всего recognition timeout. Обычно это минута, хотя время можно настраивать. Как только пользователь «выговорил» таймаут, данных для ответа обычно уже более чем достаточно.


Что делает робота действительно «умным»?


Есть несколько важных моментов, благодаря которым робот становится действительно «умным», практически неотличимым в ходе общения от оператора:

  • Параллельное слушание. Речь абонента распознается одновременно с тем, как говорит робот. Так что обработку можем делать параллельно.
  • Перебивание по количеству символов. Робот не реагирует на короткие фразы, междометия и иные звуки. Умеем перебиваться на определенные фразы и количество символов. Бывает, что фоном играет радио или телевизор, что попадает в систему распознавания. Фон тоже нужно уметь определять.

Для чего голосовые агенты бизнесу?




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

Ну, и что самое главное в данном сегменте – цифровые агенты умеют продавать не хуже (а во многих случаях и лучше) живого оператора (рост конверсии — до +20%). Таких продвинутых цифровых агентов мы создаем, к примеру, для крупных телеком-операторов. Агенты быстро и относительно просто масштабируются под нужды бизнеса. Так, можно совершать 5000+ звонков одновременно.

Для каких отраслей подходит:

  • Банки, финансы, страхование
  • Девелопмент
  • Образование
  • Розничные продажи, Ecom, здравоохранение
  • Автобизнес
  • Телеком
  • Транспорт, туризм
  • Юриспруденция

С течением времени голосовые технологии эволюционируют, так что в скором времени можно ожидать еще более совершенных цифровых агентов, которые совершенно точно будут эффективнее операторов-людей. Цифровые агенты не нуждаются в отдыхе, эффективность их работы не зависит от настроения, погоды за окном или праздников — они всегда действуют оптимально.
Теги:
Хабы:
+14
Комментарии 0
Комментарии Комментировать

Публикации

Информация

Сайт
neuro.net
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
Екатерина Коваленко

Истории