Распознавание речи
Обработка речи

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

Существует несколько больших классов задач обработки речи:

  • Распознавание речи [text to speech, TTS, speech recognition]
  • Синтез речи [speech to text, STT];
  • Идентификация пользователя по голосу;
  • Чтение по губам [lip reading];
  • И другие, менее востребованные задачи.
Технологии распознавания речи могут быть использованы в разных сценариях: например, система голосового ввода должна преобразовать речь пользователя в текст. Можно представить себе, что пользователь диктует что-то компьютеру, а компьютер должен точно записать то, что произносит пользователь. Другой сценарий, требующий распознавания речи -- это голосовое управление. В этом случае, пользователь произносит некоторые команды, например, просит включить или выключить свет, которые некая система, например, система умного дома выполняет. Между этими сценариями существует несколько принципиальных различий. Несмотря на то, что в обоих случаях может быть использована одна и та же модель распознавания речи, качество распознавания речи оценивается по разному.
Систему голосового ввода мы будем считать хорошей, если она смогла распознать все слова без ошибок, верно расставила знаки пунктуации и определила границы предложений, корректно записала именованные сущности и правильно оформила другие трудные случаи. Система голосового управления может быть оценена по простому критерию: правильно ли выполнена команда пользователя или нет. Промежуточный результат -- непосредственно распознанная реплика -- в оценке качества учтен не будет.Тот факт, что требования к системам голосового управления существенно ниже, отчасти и определяет их большую популярность. Помимо умного дома, системы голосового управления повсеместно используются в автомобилях и в смартфонах. Применимость систем голосового ввода до сих пор сильно ограничена: если текст длиннее поискового запроса, то на исправление ошибок неидеальной системы распознавания речи уйдет больше времени, чем на набор запроса традиционным способом. Кроме того, стоит обратить внимание и на то, как мы сами формулируем команды для умного дома и других умных гаджетов: кажется, пользователи учатся задавать команды так, чтобы компьютер точно смог их понять. Таким образом, технологии не только делают нашу жизнь удобнее, но и создают новые конструкции в нашем языке.

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

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

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

Одна из основных моделей распознавания речи -- это модель, комбинирующая модель смеси гауссовых распределений [Gaussian mixture model, GMM] в качестве акустической модели и скрытые марковские модели [hidden Markov model, HMM] в качестве языковой модели. На вход GMM-HMM подают предобработанные спектрограммы и их признаковое пространство (см. Рис. 1).
Рис 1. Верхнеуровневая архитектура распознавания речи с помощью HMM
Модели Deep Speech и Deep Speech 2, разработанные Baidu, совершили переворот в области распознавания речи. Уже по названию этих моделей легко догадаться, что обе модели используют нейронные сети. Deep Speech 2 представляет собой стек сверточных и рекуррентных слоев, на вход которому подается сырая спектрограмма.

На первый взгляд, архитектура Deep Speech 2 похожа на стандартные архитектуры, используемые для обработки текстов в задачах классификации последовательностей, таких как, например, извлечение именованных сущностей. Однако фундаментальное различие заключается в используемой функции потерь: при распознавании речи невозможно сопоставить однозначно фрагменты звучащей речи и слова, поскольку слова звучат разное время. Обучение нейросетевых моделей в условиях отсутствия однозначного соответствия между входом и выходом стало возможно благодаря принципу темпоральной классификации [Connectionist Temporal Classification, CTC], предложенным Alex Graves, и соответствующим функциям потерь. Невероятный успех нейросетевого распознавания речи повторяет успехи нейросетевого машинного перевода: большая часть компаний, разрабатывающих речевые технологии, заявили о переходе на нейросетевое распознавание речи. Следуя общей тенденции, в новейших архитектурах распознавания речи используют трансформеры.


Первой нейросетевой моделью синтеза речи была архитектура WaveNet, разработанная в DeepMind. WaveNet состоит из нескольких сверточных слоев и работает по принципу языкового моделирования: сгенерированный на i-том шаге звук подается на вход i+1-у шагу, что гарантирует консистентность синтезируемой речи. Следующее поколение моделей синтеза речи -- Tacotron -- предложено Google (см. Рис. 2). В отличии от WaveNet, Tacotron использует принципы seq2seq моделирования: кодировщик модели отвечает за обработку входного текста, а декодировщик -- за генерацию спектрограммы. Третья составляющая модели, напоминающая WaveNet, обрабатывает выход декодировщика и порождает речь.
Рис 2. Модель синтеза речи Tacotron, Google
Существуют и комбинированные модели распознавания и синтеза речи. Они могут быть использованы, например, для автоматического синхронного перевода: такая модель слышит речь на одном языке, распознает ее, переводит на другой язык и читает перевод. Пример такой модели -- DuTongChuan, Baidu (см Рис. 3).
Рис 3. Модель синхронного перевода DuTongChuan, Baidu
Трудности обработки речи

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

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

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

Вместо заключения

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

Екатерина Артемова