Научно-популярная 丨 Узнайте о технических принципах распознавания речи в одной статье

искусственный интеллект алгоритм Windows


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


Во-первых, мы знаем, что звук на самом деле является волной. Распространенные форматы mp3, wmv и другие форматы являются сжатыми форматами и должны быть преобразованы в несжатые файлы чистой формы волны для обработки, такие как файлы Windows PCM, также известные как файлы wav. В дополнение к заголовку файла, хранящемуся в файле wav, это точки звуковой волны. На рисунке ниже показан пример формы волны.



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



На рисунке длина каждого кадра составляет 25 миллисекунд, и между каждыми двумя кадрами имеется перекрытие 25-10=15 миллисекунд. Мы называем это кадрированием с длиной кадра 25 мс и сдвигом кадра 10 мс. На рисунке длина каждого кадра составляет 25 миллисекунд, и между каждыми двумя кадрами имеется перекрытие 25-10=15 миллисекунд. Мы называем это кадрированием с длиной кадра 25 мс и сдвигом кадра 10 мс.


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


В этот момент звук стал матрицей из 12 строк (при условии, что акустический признак имеет 12 измерений) и N столбцов, что называется последовательностью наблюдения, где N — общее количество кадров. Последовательность наблюдения показана на рисунке ниже.На рисунке каждый кадр представлен 12-мерным вектором, а глубина цвета цветового блока представляет размер значения вектора.



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


  1. Фонемы: Произношение слов состоит из фонем. Для английского языка распространенным набором фонем является набор из 39 фонем Университета Карнеги-Меллона, см. Словарь произношения CMU. В китайском языке все инициалы и финалы обычно используются непосредственно как наборы фонем.Кроме того, китайское распознавание делится на тона и нетоны, которые не будут подробно описываться.

  2. Статус: Достаточно понимать его как более детализированную фонетическую единицу, чем фонема. Обычно фонема делится на 3 состояния.


Как работает распознавание речи? Это вовсе не загадочно, просто:


Первый шаг — идентифицировать фрейм как состояние (трудность);

Второй шаг — объединить состояния в фонемы;

Третий шаг — объединение фонем в слова.


Как показано ниже:



На рисунке каждая маленькая вертикальная полоса представляет кадр, одному состоянию соответствует несколько кадров речи, каждые три состояния объединены в фонему, а несколько фонем объединены в слово. То есть, пока вы знаете, какому состоянию соответствует каждый кадр речи, будет получен результат распознавания речи. На рисунке каждая маленькая вертикальная полоса представляет кадр, одному состоянию соответствует несколько кадров речи, каждые три состояния объединены в фонему, а несколько фонем объединены в слово. То есть, пока вы знаете, какому состоянию соответствует каждый кадр речи, будет получен результат распознавания речи.


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



Так откуда же берутся эти вероятности? Есть такая штука, как "акустическая модель", в которой хранится множество параметров. По этим параметрам можно узнать вероятность, соответствующую кадру и состоянию. Метод получения этого большого количества параметров называется «обучением», который требует использования огромного количества речевых данных, а сам метод обучения достаточно громоздкий, поэтому я не буду о нем здесь говорить.


Но с этим есть проблема: каждый кадр получит номер состояния, и, наконец, вся речь получит кучу беспорядочных номеров состояний, а номера состояний между двумя соседними кадрами принципиально разные. Если предположить, что имеется 1000 кадров речи, каждый кадр соответствует 1 состоянию, а каждые 3 состояния объединены в фонему, то, вероятно, она будет объединена в 300 фонем, но на самом деле в этой речи вообще не так много фонем. Если бы это было сделано, то полученные номера состояний вообще нельзя было бы объединить в фонемы. На практике имеет смысл, чтобы состояния соседних кадров были в основном одинаковыми, поскольку каждый кадр короткий.


Распространенным способом решения этой проблемы является использование скрытой марковской модели (HMM). Эта вещь звучит как много вещей высокого уровня, но на самом деле она очень проста в использовании:


Первым шагом является создание государственной сети.

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


Таким образом, результаты ограничиваются предустановленной сетью, что позволяет избежать только что упомянутой проблемы.Конечно, это также приводит к ограничению.Например, заданная вами сеть содержит только два «сегодня солнечно» и «сегодня идет дождь». Путь состояния предложения, то независимо от того, что сказано, распознанный результат должен быть одним из двух предложений.


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


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



Упомянутая здесь кумулятивная вероятность состоит из трех частей, а именно:


  1. Вероятность наблюдения: вероятность, соответствующая каждому кадру и каждому состоянию.

  2. Вероятность перехода: вероятность перехода каждого состояния в само себя или в следующее состояние.

  3. Лингвистическая вероятность: вероятность, полученная в соответствии со статистическими законами языка.


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


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


Конец