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

Повышение точности алгоритмов распознавания речи на основе скрытых марковских моделей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
518
135
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Балакшин Павел Валерьевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Балакшин Павел Валерьевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Повышение точности алгоритмов распознавания речи на основе скрытых марковских моделей»

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

П.В. Балакшин Научный руководитель - д.т.н., профессор А.Ю. Тропченко

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

Введение

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

Речевой ввод объединяет множество различных технологий и приложений. В некоторых случаях важно не понимание лингвистического содержания, а идентификация говорящего или языка, на котором происходит общение. Однако в основе речевого ввода лежит процесс распознавания речи. Первые конкретные шаги в данной области были предприняты в 1971 г. по заказу министерства обороны США [1].

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

В системах автоматического распознавания речи важнейшим показателем является точность распознавания слитной речи, которая определяется отношением количества верно распознанных слов к сумме всех распознаваемых слов, пропущенных слов и лишних (неверно распознанных) слов [2]. В настоящее время этот показатель стремиться к значению 95% и выше. Повышение указанного показателя является важной и актуальной задачей. Подтверждением этого могут служить:

• множество научно-исследовательских центров, объединенных в Международную Ассоциации Речевого Взаимодействия (International Speech Communication Association);

• научно-технические конференции, крупнейшей из которых является ежегодная Interspeech;

• различные программно-технические разработки (Dragon Naturally Speaking, IBM Via Voice, встроенное речевое управление в ОС Vista).

Следует выделить 2 аспекта, в которых ведутся исследования, связанные с повышением точности распознавания: аппаратный и программный. В данной работе нами уделено внимание лишь алгоритмам распознавания, которые являются частью программного аспекта. Таким образом, задачей нашего исследования является модификация существующих алгоритмов распознавания слитной речи для повышения точности распознавания. Базовые принципы алгоритмов распознавания речи были сформулированы начале 80-х гг. прошлого столетия Л. Рабинером и Р. Шафером в книге «Цифро-

вая обработка речевых сигналов» [1]. В качестве опубликованных исследований о трудоемкости алгоритмов распознавания речи можно выделить только статью сотрудников компании SPIRIT [3].

Существующие алгоритмы

Все существующие ныне основные алгоритмы могут быть группированны следующим образом:

• распознавание на основе скрытых марковских моделей (СММ), где речевой сигнал представляется набором состояний с некоторыми вероятностями перехода между ними (рис. 1);

• распознавание на основе нейросети;

• гибридные модели.

0.6 1.0

Рис. 1. Пример модели на основе СММ [2]

Каждая из них имеет свои достоинства и недостатки. Прежде всего, это обусловлено конкретными задачами и местом применения. Кроме того, распознавание речи осложняется тем, что существует множество источников вариативности, связанных с речевым сигналом.

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

• Вероятности зависят только от текущего состояния;

• Отсутствует корреляции между смежными входными фреймами;

• Необходимо использовать множество параметров для максимизации вероятности [2].

Однако за счет возможностей модификации и автоматической сегментации данный метод является одним из основных в области распознавания слитной речи[4].

Алгоритм Витерби и моделирование длительности состояний

Рассмотрим основные элементы СММ [5].

(1) Конечное множество скрытых состояний Я =

(2) Конечное множество наблюдаемых состояний V = г2,ум - дискретный алфавит;

(3) ^ - состояние модели в каждый момент времени

(4) Матрица переходных вероятностей А = \ау }, где ау = Р^ = = ;

(5) Матрица вероятности наблюдаемых символов (матрица эмиссий) В = {{(к)}, где Ь (к) = Р(ог = Ук ^ = Sj, к = 1. М, 0( - наблюдаемый символ в момент времени

(6) Начальная вероятность состояний п = (п,), п, = Р(д1 = s,);

(7) Набор параметров, определяющий СММ, Л = (п, А, В).

Пусть задана последовательность наблюдений О = о1,о2,о3,...,от и модель Л = (п, А, В). Задача - вычислить и максимизировать -Р(О| Л. Решить ее можно с помощью 5 алгоритмов: прямого хода, обратного хода, прямого-обратного хода, алгоритма Витерби и алгоритма Бауэма-Уэлша. Но обязательно при этом учитывать, что каждый алгоритм подходят к конкретным задачам. В таблице 1 показаны некоторые особенности двух последних алгоритмов.

Алгоритм Преимущества Базовый алгоритм Особенности вычислительной сложности

Витерби Поиск оптимальной модели; максимизация вероятности Аналогичен алгоритму прямого хода Усложнение вычислительной сложности

Баума-Уелша Переоценка параметров, максимизация вероятности Основан на алгоритме прямого-обратного хода Наиболее сложный алгоритм

Таблица. Сравнительная характеристика алгоритмов на основе СММ

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

Рассмотрим участок декодирования (рис. 2). Цифрами условно обозначены вероятности появления символов наблюдения bj(ot).

Стандартный алгоритм Витерби основан на пошаговой максимизации функции правдоподобия наблюдений P(O\Xj. Для отыскания наилучшей последовательности

состояний Q = q1, q2, q3,..., qT по заданной последовательности наблюдений O = o1, o2, o3,k, oT необходимо пошагово переопределять величину. 5j(t) = max -P[q1,q2,q3,---,qt = j,o1,o2,o3,...,oT|X]. Согласно показанному алго-

qbq2,q3,...,qt-1

ритму, для состояния Sj в момент времени t мы должны выбрать Sj-i как наиболее вероятное предыдущее состояние. Следовательно, оптимальной будет траектория ACDEG с вероятностью p = 0,6* 0,6 * 0,6 * 0,6 * 0,6 = 0,07776 .

Заметим, что результат поиска оптимальной последовательности состояний может не быть единственным [6]. Это обусловлено существованием нескольких приемлемых критериев оптимальности. Как в нашем примере, один из возможных критериев состоит в том, чтобы выбрать такие состояния qt, каждое из которых, взятое отдельно, является наиболее вероятным. Можно также максимизировать вероятность появления пар состояний (qt, qt+1) или троек состояний (qt, qt+1, qt+2) и т.д.

0,1 О

0,1 О

0,1 О

0,1 О

Е

0,6

О'

0,6

в

1-1 А 01/ 0,6 / 0,1 О 0,1 О 0,1 О

С

г-2 ы г+1 г+2

Рис. 2. Пример декодирования состояний модели на основе СММ

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

предыдущего состояния приводит к некорректной работе алгоритма Витерби.

Рассмотрим пример еще раз. Предположим, что на длительность состояния наложено ограничение > 2. Тогда единственно возможным переходом из состояния

в момент времени I +1 будут переход в то же состояние. Вследствие этого к моменту t + 2 будет пройдена траектория ЛСББО и накоплена вероятность р = 0,6 * 0,6 * 0,6 * 0,6 * 0,1 = 0,01296, которая отличается от указанной ранее. Для устранения этой проблемы нами предложен «модифицированный» алгоритм Витерби.

Модифицированный алгоритм Витерби

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

представляет собой вероятность того, что состояние ] окончилось в момент времени t, и началось в момент времени t - й, т.е. имело продолжительность й:

(й) =

ПЬ ] (о)*(Р] (й))а *5 J_.it-й)

пПь (о )*( Р](й ))а

1 <]< N ]=1,

^-t -й

где (рДй)) - плотность вероятности длительности состояния; а- масштабный коэффициент для длительностей состояний; 5- ^ - й) - вероятность, накопленная к моменту t - й.

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

(1) Инициализация:

Для всех состояний ] = 1... N :

Б

ib(o1) j = 1

5,- (1) = \ ,

jK) [0 j > 1

Dj(1) = 0.

(2) Рекурсия:

Для всех состояний j = 1. N :

Если j > 1:

5j (t) = max(^ (d)),

J ts -d <te '

где ts = max(1, t - dj max) , te = max(1, t - dj mIn) , Dj (t) = argmax( ф) (d)) .

ts<d <t„

Если j = 1: 5j (t) = V) (t), Dj(t) = t.

(3) Окончание: Итоговая вероятность:

P(O) = ma x(<pj (T))

j

Последнее состояние:

q(T) = argmax(^; (T))

j

(4) Восстановление пути:

t = T,

q = q(t),

d = Dq (t). Пока d Ф 0 :

qt-d ■■■qt = q, q=q-1,

d = Dq (t).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Заключение

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

Некоторые специалисты считают, что за прошедшие десятки лет исследователи недалеко продвинулись. Другие считают, что задача уже практически решена. А в рамках проекта «Super Human Speech Recognition» IBM надеется к 2010 г. разработать коммерческие системы, преобразующие речь в печатный текст точнее, чем человек [7].

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

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

Литература

1. Рабинер Л.Р., Шафер Р.В. Цифровая обработка речевых сигналов: пер. с англ./ Под ред. М.В. Назарова и Ю.Н. Прохоров - М.: Радио и связь, 1981. - 496 с.

2. Tebelskis J. Speech Recognition using Neural Networks. School of Computer Science Carnegie Mellon University. - 1995. - 190 p.

3. Иконин С.Ю., Сарана Д.В. Система автоматического распознавания речи SPIRIT ASR Engine // Цифровая обработка сигналов. - 2003. - № 4.

4. Леонович А.А. Проблемы распознавания слитной речи // Цифровая обработка сигналов. - 2007. - № 4.

5. Гультяева Т.А. Скрытые марковские процессы. - Новосибирск: Изд-во НГТУ.

6. Rabiner L.R. A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition // Proceeding of the IEEE. - 1989. - Vol. 99, no. 2. - P. 257-285.

7. Мазуренко И.Л. Компьютерные системы распознавания речи // Интеллектуальные системы. Москва. - 1998. -Т. 3. - Вып. 1-2.

i Надоели баннеры? Вы всегда можете отключить рекламу.