Обзор существующих систем управления распознаванием речевой информации и методов решения

ОБЗОР СУЩЕСТВУЮЩИХ СИСТЕМ УПРАВЛЕНИЯ РАСПОЗНАВАНИЕМ РЕЧЕВОЙ ИНФОРМАЦИИ И МЕТОДОВ  РЕШЕНИЯ

 

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

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

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

Перечислим два подхода решения  задачи распознавания голосового сообщении.

 

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

 

    • Введение в нейронные сети:

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

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

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

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

Рис. 1.1. Схема простой нейросети. Зелёным обозначены входные элементы, жёлтым — выходной элемент

 

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

    • Алгоритмы обратного распространения:

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

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

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

 

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

 

  • Введение в скрытые Марковские модели (СММ). Решение задачи распознавания.

Скрытой Марковской моделью (СММ) называется модель состоящая из N состояний, в каждом из которых  некоторая система может принимать  одно из M значений какого-либо параметра. Вероятности переходов между  состояниями задается матрицей вероятностей A={aij}, где aij – вероятность перехода из i-го в j-е состояние. Вероятности  выпадения каждого из M значений параметра в каждом из N состояний  задается вектором B={bj(k)}, где bj(k) – вероятность выпадения k-го значения параметра в j-м состоянии. Вероятность наступления начального состояния задается вектором π={πi}, где πi – вероятность того, что в начальный момент система окажется в i-м состоянии.

Таким образом, скрытой Марковской моделью называется тройка λ={A,B,π}. Использование  скрытых Марковских моделей для  распознавания речи основано на двух приближениях:

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

2) Вероятность каждого  фрагмента зависит только от  текущего состояния системы и  не зависит от предыдущих состояний. 

Модель называется «скрытой», так как нас, как правило, не интересует конкретная последовательность состояний, в которой пребывает система. Мы либо подаем на вход системы последовательности типа O={o1,o2,…oi} - где каждое oi – значение параметра (одно из M), принимаемое в i-й момент времени, а на выходе ожидаем модель λ={A,B,π}с максимальной вероятностью генерирующую такую последовательность, - либо наоборот подаем на вход параметры модели и генерируем порождаемую ей последовательность. И в том и другом случае система выступает как “черный ящик”, в котором скрыты действительные состояния системы, а связанная с ней модель заслуживает названия скрытой.

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

Фрагмент речи разбивается  на отрезки, в течении которых  параметры речи можно считать  постоянными. Для каждого отрезка  вычисляются характерные признаки и подбирается запись кодовой  книги с наиболее подходящими  характеристиками. Номера этих записей  и образуют последовательность наблюдений O={o1,o2,…oi} для модели Маркова. Каждому слову словаря соответствует одна такая последовательность. Далее A – матрица вероятностей переходов из одного минимального отрезка речи (номера записи кодовой книги) в другой минимальный отрезок речи (номер записи кодовой книги). В – вероятности выпадения в каждом состоянии конкретного номера кодовой книги рис. 1.2

 

Рис. 1.2 кодовая книга

 

На этапе настройки  моделей Маркова мы применяем  алгоритм Баума- Уэлча для имеющегося словаря и сопоставления каждому  из его слов матрицы A и B.

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

    • Алгоритм Баума-Уэлча.

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

Вводятся переменные

ξt(i,j) = P(qt=Si,qt+1=Sj|O,λ)

которые показывают вероятность  того, что при заданной последовательности наблюдений O система в моменты  времени t и t+1 будет находиться соответственно в состояниях Si и Sj. Используя прямую и обратную переменные запишем:

Введем переменные вероятности  того, что при заданной последовательности наблюдений O система в момент времени t будет находиться в состоянии Si:

При этом мы можем вычислить  ожидаемое число переходов из состояния Si: равно 

а ожидаемое число переходов  из состояния Si в состояние Sj

Исходя из этого можно  получить формулы для переоценки параметров модели Маркова:

π*i= (i)

Выражение

в формуле для b*ij (k) означает что суммируются только те γt(j) , для  которых значение состояния равно k, то есть Ot = k.

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

Методы распознавания(анализа) речи

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

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

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

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

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

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

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

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

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

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

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

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

                                                             ИТОГ

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

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

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

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

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

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

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

 

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

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

Кроме того, системы распознавания  и синтеза речи затрагивают вопросы  лингвистики,в которой заложены фундаментальные концепции и  принципы распознавания речи и понимания  языка .Сами системы речевой обработки  сигналов обычно делят на системы  распознавания и системы синтеза  речи .Распознавание речи (иногда называемое распознаванием голоса) – это процесс  преобразования акустического сигнала  в некую абстрактную форму  разговорного языка.

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

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

Системы распознавания по сложности  обычно делят на следующие группы:

- системы автоматического распознавания  изолированных слов. То есть система  должна распознавать пословно  произносимые человеком команды;

- системы автоматического распознавания  слитной речи. То есть система  должна уметь выделять слова  в естественном частично слитном  потоке человеческой речи;

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

Также системы распознавания речи могут быть классифицированы по:

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

- качеству распознавания (приемлемым  считается процент ошибки распознавания  не более 5 процентов);

- по способу обработки входного  сообщения;

- по степени зависимости от  диктора.

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

- системы с очень большим  словарем – десятки тысяч слов;

- системы с большим словарем  – тысячи слов;

- системы со средним словарем  – сотни слов;

- системы с маленьким словарем  – до сотни слов.

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

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

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

 

РАСПОЗНАВАНИЕ РЕЧИ МЕТОДОМ ЛОГИЧЕСКОГО  ВЫВОДА

Токмаков  Геннадий Петрович

ГНПО "Марс"

432022, г. Ульяновск 

 

В последние годы благодаря интенсивным  исследованиям в области распознавания  речи и мощным цифровым процессорам  сигналов (ЦПС) появились практические системы речевого ввода для Windows и OS\2 для пользователей стандартных ПК.

Принцип работы современных систем распознавания речи (СРР) заключается  в следующем. Пользователь произносит в микрофон фразы текста или команды  для прикладного ПО. Посредством  АЦП аналоговый звуковой сигнал преобразуется в цифровые отсчеты с частотой 8-10 кГц, над которыми ЦПС производит обратное преобразование Фурье, так что подученные данные оцифрованной речи раскладываются на частотные составляющие или вектора. Последовательности таких векторов соответствуют фонемам - основным звуковым единицам речи, из которых состоят слова. ПО распознавания речи сравнивает произнесенные фонемы с прототипами из своей библиотеки. Чтобы абстрагироваться от незначительных изменений, таких как модуляция, быстрота произношения и высота тона, большинство систем используют особый алгоритм Маркова, который проверяет предположение о той или иной фонеме по вероятности следования ее за предыдущей в обычной речи,

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

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

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

В свою очередь и морфемы, представленные фонемными последовательностями, также подвержены вариациям. Например, префикс «от» имеет восемь алломорфов (рис.1). А это означает, что решение о принадлежности фонемы, принятое с учетом информации, распределенной на протяжении морфемы, также не является окончательным и может быть пересмотрено в зависимости от информации распределенной во всем слове.

отпуск

-от

отход

-ат

опщипить

-ац

оттеснить

-ат’

отзыв

-од

отгадать

-яд

оттепель

-от’

отделить

-ад'

Рис.1


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

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

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

Для решения поставленных целей  предлагается использовать систему  морфологического анализа словоформ [l], в которой информация о русском языке (РЯ) представлена на трех уровнях в виде древовидных БД и БЗ, а задача морфологического анализа решается как задача поиска входной последовательности в этих структурах.

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

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

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

Эти условия выражены в виде правил варьирования звуков в зависимости  от контекста. Например:

1. Под ударением, не  после согласного, не тред мягким  согласным - #α#

2. Под ударением, после  твердого, не перед мягким согласным - τα#, τατ ит.д. 

 

 

 

 

 

Эти правила также можно представить  как БЗ в виде древовидных структур, по аналогии с БЗ на уровнях Морфем, Лексем и Словоформ. С учетом дополнительного Фонемного уровня в алгоритм морфологического анализа вносится следующее изменение. Если в первоначальном варианте при работе на морфемном уровне исходным материалом для формирования входной последовательности являлся код буквы, и этот код в ходе дальнейшего анализа подвергался пересмотру, то в данном случае код буквы мы получаем как результат принятия решения на фонемном уровне, которое в силу описанных выше причин может быть пересмотрено, и поэтому к алгоритму морфологического анализа добавляется еще один уровень принятия решений. Таким образом, если на фонемном уровне решение было принято неверно, то на более высоких, т.е. морфемном, лексемном и грамматическом, уровнях эта ошибка будет устранена. Это позволит,во-первых, повысить надежность распознавания PC, во-вторых, снизить требования к произношению вводимого текста. На рис.2 приведена блок-схема предлагаемой системы распознавания речи.

Обзор существующих систем управления распознаванием речевой информации и методов решения