Электронная библиотека книг Александра Фролова и Григория Фролова.
 
Библиотека
Братьев
Фроловых
Электронная библиотека книг Александра Фролова и Григория Фролова.
Библиотека системного программиста
Программирование на JAVA
ПК. Шаг за шагом
Другие книги
Восстановление данных
Антивирусная защита
Статьи для
программистов
Пользователю компьютера
[Назад] [Содержание] [Дальше]

Синтез и распознавание речи. Современные решения


А.В. Фролов, Г.В. Фролов

5. Методы распознавания речи. 2

Распознавание по образцу. 2

Выделение лексических элементов. 3

Предварительная обработка звуковых сигналов. 3

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

Спектральное представление речи. 3

Учет динамики речи. 4

Выделение фонем и аллофонов. 4

Уровни распознавания слитной речи. 4

Применение нейронных сетей для распознавания речи. 5

Представление речи в виде набора числовых параметров. 5

Нейронные ансамбли. 5

Генетические алгоритмы. 6

Реализация уровня ввода и вывода в системе SAS. 6

Процесс ввода звука. 7

Предварительная обработка звука. 7

Выполнение дискретного преобразования Фурье. 8

Нормирование частотного спектра. 8

Логарифмическое сжатие спектра. 8

Применение вейвлет-преобразований. 9

Итоги главы. 11

 

5. Методы распознавания речи

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

Как правило, в существующих системах используются два принципиально разных подхода:

·         распознавание голосовых меток;

·         распознавание лексических элементов

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

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

Все системы распознавания речи можно разделить на два класса:

·         системы, зависимые от диктора;

·         системы, не зависимые от диктора

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

Системы второго класса настраиваются на речь диктора в процессе обучения. Для работы с другим диктором такие системы требуют полной перенастройки.

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

Распознавание по образцу

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

Как это работает?

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

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

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

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

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

Выделение лексических элементов

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

Как Вы можете убедиться, проводя осциллографические исследования (описанные нами в 3 главе), невозможно выделить из речи фонемы и аллофоны, анализируя только форму огибающей звукового сигнала. Как отмечено в [3], нельзя ограничиться составлением базы данных из записей звуковых сигналов всех фонем, аллофонов и других лексических элементов для последующего сравнения формы сигналов в процессе распознавания. Здесь нужны более сложные методы.

Предварительная обработка звуковых сигналов

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

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

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

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

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

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

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

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

Спектральное представление речи

В [3] для выделения информативных признаков речевого сигнала используется спектральное представление речи. При этом на первом этапе осуществляется получение частотного спектра речевого сигнала с помощью набора программных полосовых фильтров (выполняя так называемое дискретное преобразование Фурье).

На втором этапе выполняются преобразования полученного спектра речевого сигнала:

·         логарифмическое изменение масштаба в пространстве амплитуд и частот;

·         сглаживание спектра с целью выделения его огибающей;

·         кепстральный анализ (cepstral analysis), т.е. обратное преобразование Фурье от логарифма прямого преобразования [16].

Как отмечено в [3], перечисленные выше преобразования позволяют учитывать такие особенности речевого сигнала, как понижение информативности высокочастотных участков спектра, логарифмическую чувствительность человеческого уха, и т.д.

Учет динамики речи

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

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

Выделение фонем и аллофонов

В первой главе нашей книги мы рассказывали о таких лексических элементах речи, как фонемы и аллофоны. Для их выделения в [3] применяются нейронные сети и метод формирования нейронных ансамблей.

При этом обучение выделению примитивов речи (фонем и аллофонов) может заключаться в формировании нейронных ансамблей, ядра которых соответствуют наиболее частой форме каждого примитива [17].

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

Уровни распознавания слитной речи

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

На втором уровне выделяются слоги и морфемы, на третьем — слова, предложения и сообщения (рис. 5-1).

Как отмечается в [3], на каждом уровне сигнал кодируется представителями предыдущих уровней. То есть слоги и морфемы составляются из фонем и аллофонов, слова — из слогов и морфем, предложения и сообщения — из слов.

Рис. 5-1. Три уровня распознавания слитной речи

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

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

Применение нейронных сетей для распознавания речи

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

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

Таким образом, на базе нейронных сетей можно создавать обучаемые и самообучающиеся системы. В [3] формулируются следующие требования к самообучающимся системам. Ниже мы приводим эти требования, взятые из [3] практически без изменений.

·         Разработка системы заключается только в построении архитектуры системы

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

·         Возможность контроля своих действий с последующей коррекцией

Этот принцип говорит о необходимости обратной связи Действие-Результат-Коррекция в системе. Такие цепочки очень широко распространены в сложных биологических организмах и используются на всех уровнях — от контроля мышечных сокращений на самом низком уровне до управления сложными механизмами поведения.

·         Возможность накопления знаний об объектах рабочей области

Знание об объекте — это способность манипулировать его образом в памяти.

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

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

·         Автономность системы

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

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

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

Представление речи в виде набора числовых параметров

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

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

Нейронные ансамбли

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

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

Генетические алгоритмы

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

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

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

Генетические алгоритмы обязаны своим появлением эволюционной теории (отсюда и характерные термины: популяция, гены, родители-потомки, скрещивание, мутация). Таким образом, существует возможность создания таких нейронных сетей, которые ранее не изучались исследователями (или не поддаются аналитическому изучению), но, тем не менее, успешно решают задачу [3].

Реализация уровня ввода и вывода в системе SAS

В 3 главе нашей книги мы рассказывали о системе анализа речи SAS, описанной в [3]. Эта система, выполненная с использованием технологии нейронных сетей, предназначена не только для распознавания, но и для синтеза речи (синтез речи мы рассмотрим позже в 7 главе нашей книги).

Блок-схема системы SAS, соответствующая уровню ввода/вывода, показана на рис. 5-2.

Рис. 5-2. Блок-схема уровня ввода/вывода

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

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

Процесс ввода звука

На рис. 5-3, который мы воспроизвели из [3], изображен процесс ввода звука в системе SAS.

Рис. 5-3. Процесс ввода звука в системе SAS

Ввод звука осуществляется в реальном времени через звуковую карту или через файлы формата WAV в кодировке PCM (разрядность 16 бит, частота дискретизации 22 050 Гц). Работа с файлами была предусмотрена, чтобы облегчить многократное повторение обработки нейронной сети, что особенно важно при обучении.

Предварительная обработка звука

Согласно рис. 5-3, звуковые сигналы, полученные в реальном времени или введенные из файлов формата WAV, подвергаются в системе SAS предварительной обработке.

При обработке файла по нему перемещается окно ввода, размер которого равен N элементов — размеру окна дискретного преобразования Фурье (ДПФ). Смещение окна относительно предыдущего положения можно регулировать.  В каждом положении окна оно заполняется 16-разрядными данными (система работает только с такими звуковыми данными, в которых каждый отсчет кодируется 16 битами).

После ввода данных в окно перед вычислением ДПФ на него накладывается окно сглаживания Хэмминга:

(1)

Здесь Data — исходный массив данных, newData — массив данных, полученный после наложения окна сглаживания, N — размер ДПФ.

Наложение окна Хэмминга немного понижает контрастность спектра, но позволяет убрать боковые лепестки резких частот, при этом особенно хорошо проявляется гармонический состав речи [3]. Сказанное иллюстрирует рис. 5-4.

Рис. 5-4. Действие окна сглаживания Хэмминга (логарифмический масштаб)

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

Выполнение дискретного преобразования Фурье

Результат сглаживания Хэмминга подвергается в системе SAS дискретному преобразованию Фурье по алгоритму быстрого преобразования Фурье [18]. В результате этого преобразования получается амплитудный спектр и информация о фазе сигнала (в реальных и мнимых коэффициентах).

Информация о фазе сигнала отбрасывается и вычисляется энергетический спектр:

(2)

Здесь E[i] энергии частот.

Так как звуковые данные не содержат мнимой части, то по свойству ДПФ  результат получается симметричным, т.е. E[i] = E[N-i]. Таким образом, размер информативной части спектра NS равен N/2.

Нормирование частотного спектра

Из предыдущей главы Вы знаете, что все вычисления в нейронных сетях производятся над  числами с плавающей точкой. Поэтому значения параметров объектов, классифицируемых с помощью нейронных сетей, ограничены диапазоном [0.0,1.0].

Для выполнения обработки спектра нейронной сетью в системе SAS полученный  спектр нормируется на 1.0. Для этого каждый компонент вектора делится на его длину:

     (3)

     (4)

Логарифмическое сжатие спектра

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

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

В системе SAS применен наиболее распространенный и простой метод — логарифмическое сжатие, или mel-сжатие. Этот метод описан в разделе «Non-linear frequency scales» документа [16].

Вот формула, по которой выполняется логарифмическое сжатие спектра:

(5)

Здесь f —частота в спектре, Гц, m — частота в новом сжатом частотном пространстве.

Рис. 5-5 иллюстрирует процесс логарифмического сжатия частотного спектра.

Рис. 5-5. Нелинейное преобразование спектра в пространстве частот

Применение вейвлет-преобразований

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

Однако, как отмечают исследователи, анализ Фурье обладает целым рядом недостатков, в результате которых происходит потеря информации о временных характеристиках обрабатываемых сигналов. Этот анализ подразумевает использование искусственных приемов, с помощью которых осуществляется частотно-временная локализация, например, окон данных (на рис. 5-3 это окно обозначено как Окно ввода).

В современных технологиях обработки и распознавания сигналов применяются так называемые вейвлет-преобразования и вейвлет-анализ.

Термин вейвлет (wavelets) можно перевести как «маленькая волна». Вейвлеты представляют собой новый инструмент решения различных задач прикладной математики. Вейвлет-анализ, детальное знакомство с которым требует определенных познаний в математике, лишен недостатков анализа Фурье. Он позволяет достичь неплохих результатов при использовании в системах распознавания речи.

В чем отличие анализа Фурье от вейвлет-анализа?

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

Что же касается вейвлет-анализа, то здесь входной сигнал раскладывается в базис функций, характеризующих как частоту, так и время. Поэтому с помощью вейвлетов можно анализировать свойства сигнала одновременно и в физическом пространстве (время, координата), и в частотном пространстве. Чтобы подчеркнуть такое обстоятельство, в зарубежной литературе Фурье-анализ называют single spectrum, а спектры, полученные на основе вейвлет-преобразований — itime-scale spectrum, или wavelet spectrum [19].

Функции-базисы для вейвлетных преобразований конструируются на основе производных функций Гаусса. Подробнее об этом Вы сможете прочитать в [19].

На рис. 5-6, взятом из [19], показаны наиболее часто используемые вейвлеты.

Рис. 5-6. Часто используемые вейвлеты

Эти функции имеют свои названия. Мы привели их в табл. 5-1.

Таблица 5-1. Часто используемые вейвлеты

Обозначение на рис. 5-6

Название

а

WAWE-вейвлет

б

MHAT-вейвлет. Получил свое название от «мексиканская шляпа, сомбреро» (Mexican Hat)

в

Morlet

г

Paul

д

LMB

е

Daubeshies

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

Итоги главы

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

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

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

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

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

Первая методика предполагает использование дискретного преобразования Фурье и описана в [3]. Непосредственно лексические элементы выделяются из оцифрованной речи при помощи нейронной сети, способной к обучению. При этом речь представляется в виде некоторого набора числовых параметров, так как нейронные сети работают именно с наборами таких параметров.

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

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

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

[Назад] [Содержание] [Дальше]


Создание интернет-магазинов: http://www.shop2you.ru/ © Александр Фролов, Григорий Фролов, 1991-2016