Как мы учили нейросеть распознавать речь человека при общении с чат-ботом |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-09-25 04:01 создание чат-ботов, алгоритмы распознавания речи, распознавание образов К 2020 году коммуникации между бизнесом и клиентом будут автоматизированы, уверены эксперты консалтинговой компании Gartner. По статистике, в прошлом предприятия теряли до 30% входящих звонков — сотрудники колл-центров пропускали обращения или отвечали некомпетентно, отпугивая клиентов. Чтобы быстро и качественно обработать входящие запросы, бизнес использует чат-ботов. Развитие индустрии не стоит на месте: простых чат-ботов вытесняют чат-боты с ИИ и поддержкой голосового меню. Особенно это востребовано среди B2C компаний. Они используют сайты и приложения, чтобы выиграть в борьбе с конкурентами. Сверточные нейронные сети тренируют распознавать речь человека и автоматизировать обработку звонков. Они помогают сохранить связь с клиентами 24/7. Мы уверены, в будущем колл-центры станут независимыми от квалификации операторов. Технологии синтеза и распознавания речи будут для них надежной опорой. R&D отдел компании Azoft провел по запросу клиентов новое исследование — обучал нейросеть распознавать набор из четырнадцати речевых команд. Выученные команды можно использовать для автоматического обзвона клиентов. Расскажем, к каким результатам пришли по итогам исследования, и чем это полезно для бизнеса. Какую роль для бизнеса играют speech-to-text задачи? Технологии распознавания речи уже применяются в мобильных приложениях — например, в Яндекс.Навигаторе или Google Now. Когда разработчики встраивают в приложения умные голосовые системы, они тем самым проявляют дружественное отношение к пользователям. Юзеры могут по желанию отказаться от сенсорных и других способов ввода информации и использовать голосовое управление, ввод команд и сообщений. Преобразование речи в текст (speech-to-text) решает для бизнеса многие проблемы:
«Ушами» бизнеса стали колл-центры. Чтобы эти «уши» работали автоматически, ботов тренируют с помощью машинного обучения. R&D отдел компании Azoft имеет обширный опыт в решении задач, связанных с transfer learning. Так, мы рассказывали о технологии распознавания лиц на фотографиях и видео и о локализации объектов на изображениях с помощью нейронных сетей. В этот раз наш R&D отдел обучил сверточную нейронную сеть распознавать речевые команды и исследовать возможности сети для speech-to-text задач. Как происходит распознавание речи нейросетью Задача нового проекта — создать модель, способную верно определить сказанное человеком слово. Чтобы получить финальную модель, нейросеть учили на объёмном корпусе данных, и подгоняли сеть под целевые данные. Этот способ решает проблему отсутствия большой выборки целевых данных. В рамках исследования:
Как мы обучали нейросеть распознавать входящие аудиосигналы Для исследования использовали звуковой аудиосигнал в формате wav, в 16bit квантовании с частотой дискретизации 16 kHz. За стандарт длительности принималась секунда. Каждая запись содержала одно слово. Мы использовали 14 простых слов: ноль, один, два, три, четыре, пять, шесть, семь, восемь, девять, десять, да, нет. Извлечение признаков Исходное представление звукового потока выглядит как последовательность чисел по времени, а поэтому воспринимается недостаточно информативно. Мы использовали спектральное представление. Это позволяет разложить звук по волнам разной частоты и узнать, какие волны из исходного звукового потока его формировали, и какие характеристики имели. Учитывая логарифмическую зависимость восприятия человеком частот, применяли мел-частотные спектральные коэффициенты. Процесс извлечения спектральных характеристик показан на схеме:
Pre-emphasis Разные сигналы отличаются по уровню громкости. Чтобы привести аудио к одному виду, нормализовали сигналы и фильтровали их высокочастотным фильтром для уменьшения шумов. Pre-emphasis — фильтр для задач распознавания речи. Он усиливает высокие частоты, что повышает устойчивость к шуму и дает больше информации акустической модели. Framing Исходный сигнал не является стационарным. Он делится на мелкие промежутки (фреймы), перекрывающиеся между собой, которые рассматриваются, как стационарные. К каждому фрейму применяется оконная функция Ханна, чтобы сгладить концы фреймов к нулю. В нашем исследовании мы использовали фреймы по 30 мс с перекрытием 15 мс. Быстрое дискретное преобразование Фурье Преобразование Фурье позволяет разложить исходный стационарный сигнал на совокупность гармоник разной частоты и амплитуды. Мы применяем эту операцию к фрейму и получаем его частотное представление. Когда применяем преобразование Фурье ко всем фреймам, формируем спектральное представление. Затем вычисляем мощность спектра. Она равна половине квадрата спектра. Log mel filterbank Многочисленные научные исследования показали: человек распознает низкие частоты лучше, чем высокие, и зависимость его восприятия — логарифмическая. Поэтому к спектру мощности применяется свертка из N-треугольных фильтров с единицей в центре (Изображение 2). С увеличением фильтра центр смещается по частоте и логарифмически увеличивается в основании. Это позволяет захватить больше информации в нижних частотах и сжать представление о высоких частотах фрейма. Данные логарифмируются. Результат преобразования представлен на рисунке: Изображение 1. Mel-спектрограмма Изображение 2. Набор mel-фильтров Выбор архитектуры В качестве базовой архитектуры использовали сверточную нейронную сеть, как наиболее подходящую для этой задачи модель. СНС анализирует пространственные зависимости в изображении через двумерную операцию свертки. Нейросеть анализирует нестационарные сигналы и на основе спектрограммы выявляет важные признаки в частотно-временной области. Чтобы ускорить вычисления и использовать модель на персональном компьютере, сделали ограничение при выборе архитектуры. Модель не должна быть слишком глубокой и обладать большим числом обучаемых параметров: это усложняет обучение и увеличивает число операций при прямом проходе. За основу взяли классическую архитектуру — 3-4 сверточных слоя с субдискретизацией и полносвязные слои в конце. Подаём на вход нейросети тензор n x k, где n — количество рассматриваемых частот, k — количество временных отсчетов. Обычно n не равно k, поэтому используются прямоугольные фильтры. Архитектура модели представлена в таблице ниже: Стандартную архитектуру сверточной сети адаптировали для обработки спектрального представления сигнала. Помимо двумерных фильтров на первом слое, которые выделяли общие частотно-временные признаки, использовали одномерные фильтры. Чтобы воплотить нашу идею, требовалось разделить процессы выделения частотных и временных признаков. Второй и третий сверточные слои содержали наборы одномерных фильтров в частотной области, а следующий слой извлекал временные признаки. Global Max Pooling позволил сжать полученные карты признаков в единый признаковый вектор. Подготовка данных перед обучением Ключевые слова Набор ключевых слов состоит из 13 русских команд: да, нет, 0,..., 10. Всего было 485 записей с частотой дискретизации 44kHz. Не ключевые слова — набор нецелевых слов, не подлежащий к распознаванию. Мы использовали англоязычные слова из датасета от Google и инвертированные записи из набора данных. Соотношение с полным набором данных — 15%. Silence класс — записи, не относящиеся к речи человека. Например, окружающие шумы (город, офис, природа, помехи, белый шум). Использовали упрощенную модель для VAD задачи на базе сверточной сети. Обучили её разделять два класса: speech и no-speech. В качестве speech-данных использовали данные из датасета от Google, для no-speech — background noise и записанные вручную шумы из офисной, уличной и городской среды. Чтобы повысить устойчивость модели к шумам и расширить модель данных, применяли методы аугментации:
Набор шумовых записей представлял десять записей по категориям:
Когда добавляли шум, получали взвешенную сумму записи и случайной части из шума. После аугментации частоту дискретизации уменьшили до 16 KHz. Предполагаем, что результат станет реалистичнее, если использовать более детализированные записи. Мы провели операции преобразования и получили из 485 записей — 137448. Подготовка модели Для улучшения качества модели использовали Transfer learning. Выбранную архитектуру обучили на большом корпусе данных — датасете от Google из 65000 односекундных записей для 30 команд на английском языке. Результаты обучения и тестирования Обучающая выборка включала 137488 объектов, тестовая — из 250 объектов. Для тестовой выборки взяли записи дикторов, которых не было в обучающей выборке. Мы обучали нейросеть с помощью Adam метода оптимизации в трёх вариациях:
В первом случае обучение проводилось в семь эпох, а во втором и третьем случае — в три эпохи. Результаты приведены в таблице: В результате исследования выбрали лучшим вариантом использовать предобученную нейросеть на большом корпусе данных с тонкой настройкой без заморозки сверточных слоев. В этом случае сеть лучше подстраивается под новые данные. Тестирование в потоке Модель также тестировалась вживую. Диктор произносил слова в микрофон, а сеть выдавала результат. Мы не использовали голос диктора в обучающей выборке. Это позволило проверить качество работы на неизвестных данных. Звук считывался каждую четверть секунды, кэшированный секундный отрезок обновлялся, и модель его классифицировала. Чтобы нейросеть реже ошибалась, использовали порог уверенности по вероятности. Характеристики тестового устройства:
Результаты потокового тестирования Модель хорошо распознала отдельные команды из целевого набора данных, но могла давать ложные ответы на слова, похожие на команды из этого набора (например, «один» и «одиннадцать»). В непрерывной речи, состоящей из множества слов, качество обработки аудиосигналов сильно падало. Вы сможете убедиться в этом, посмотрев видео, которое иллюстрирует работу модели.
Заключение Мы исследовали распознавание команд из речевого потока и выявили:
Распознавание сигналов нейросетями уже успело вызвать большой интерес у бизнеса, как способ наладить связь с «поколением нулевых». Эта аудитория использует сообщения как главный инструмент коммуникации с друзьями, просмотра контента и знакомства с продуктами. Покупательная способность «поколения нулевых» составляет 200 миллиардов долларов в год, а в дальнейшем только повысится. Особенности восприятия миллениалов учитываются при разработке чат-ботов. Благодаря ним уже можно делать заказы через мессенджеры Facebook, WhatsApp, Viber, Slack, Telegram и т.п. Как считают исследователи, примерно через два года до 80% компаний увеличат число сервисов по самообслуживанию клиентов. Системы распознавания аудиосигналов будут в них полезным функционалом. Источник: www.azoft.ru Комментарии: |
|