Изв. Сарат. ун-та. Нов. сер. Сер. Математика. Механика. Информатика. 2015. Т. 15, вып. 3
УДК 004.934
РАЗРАБОТКА КОМПОНЕНТОВ ПРОГРАММНОГО КОМПЛЕКСА ДЛЯ ПОТОКОВОЙ ФИЛЬТРАЦИИ АУДИОКОНТЕНТА НА ОСНОВЕ ИСПОЛЬЗОВАНИЯ СКРЫТЫХ МАРКОВСКИХ МОДЕЛЕЙ
А. Н. Савин1, Н. Е. Тимофеева2, А. С. Гераськин3, Ю. А. Мавлютова1
1 Савин Александр Николаевич, кандидат физико-математических наук, доцент кафедры дискретной математики и информационных технологий, Саратовский государственный университет им. Н. Г. Чернышевского, [email protected] 2Тимофеева Надежда Евгеньевна, ассистент кафедры дискретной математики и информационных технологий, Саратовский государственный университет им. Н. Г. Чернышевского, [email protected]
3Гераськин Алексей Сергеевич, кандидат педагогических наук, доцент кафедры теоретических основ компьютерной безопасности и криптографии, Саратовский государственный университет им. Н. Г. Чернышевского, [email protected] 4Мавлютова Юлия Альбертовна, студентка кафедры теоретических основ компьютерной безопасности и криптографии, Саратовский государственный университет им. Н. Г. Чернышевского, [email protected]
Приведены результаты разработки эффективных алгоритмов потокового распознавания речи с помощью стохастических моделей, основанных на использовании скрытых марковских моделях. В статье приводятся основные теоретические сведения для скрытой марковской модели дискретной системы, выделяются параметры, необходимые для ее определения, также рассмотрены три основные задачи, которые должны быть решены для успешного применения скрытой марковской модели в системах распознавания речи. Приводятся алгоритмы метода Баума-Велша, направленного на уточнение параметров модели и метода Витерби, подбора наиболее вероятной последовательности состояний системы.
Эти два метода реализованы в среде графического программирования LabVIEW в виде программных модулей, реализующих построение скрытых марковских моделей отдельных слов с использованием метода Баума - Велша и распознавание этих слов на основе метода Витерби. Предполагается использование данных модулей для реализации потоковой фильтрации аудиоконтента в цифровых системах связи.
Ключевые слова: марковские цепи, распознавание речи, алгоритм метода Витерби, метод Баума - Велша.
DOI: 10.18500/1816-9791 -2015-15-3-340-350
ВВЕДЕНИЕ
Важными задачами при разработке систем передачи информации являются математическое моделирование их узлов и процессов, происходящих при передаче информации. Одной из таких задач является моделирование сигналов, с помощью которых осуществляется передача информации [1].
Сигналы по своей природе могут быть непрерывными (например, фрагменты речи, музыка и т. п.) или дискретными (символы конечного алфавита и т. п.). Если статистические свойства сигналов не изменяются во времени, то такие сигналы являются стационарными, а в противном случае — нестационарными [2]. Сигналы в системах передачи информации, как правило, искажаются различными шумами и помехами от других источников [1]. В этом случае модель сигнала можно использовать для создания системы, оптимально удаляющей эти шумы и искажения. В случае, когда получение сигнала от реального источника затруднительно, хорошая модель сигнала позволяет имитировать источник и соответственно разрабатывать оптимальные системы приёма информации для таких источников.
Математические модели сигналов широко используются также в системах передачи информации для решения задач идентификации, предсказания, распознавания и т. д. [3].
Для описания свойств некоторого заданного сигнала можно использовать детерминированные и стохастические модели [1,2]. При этом в детерминированных моделях используются некоторые известные специфические свойства сигнала, например, то, что он является синусоидальным. Тогда для построения модели достаточно определить значения амплитуды, частоты и начальной фазы. Стохастические модели охарактеризовывают только статистические свойства сигналов. При этом считается, что сигнал может быть хорошо описан некоторым параметрическим случайным процессом (например,
© Савин А. Н., Тимофеева Н. Е., Гераськин А. С., Мавлютова Ю. А., 2015
А. Н. Савин и др. Разработка компонентов программного комплекса
гауссовским, пуассоновским, марковским и т. п.), а параметры этого процесса могут быть достаточно точно оценены каким-либо способом.
В современных цифровых системах связи задачу качественной передачи звуковой информации (разборчивость, низкий уровень шумов) при жестких требованиях к спектральному составу передаваемого сигнала успешно решают с помощью различных методов цифровой фильтрации [1,2]. В настоящее время уровень развития вычислительной техники, используемой в цифровых системах звуковой связи, позволяет решать задачу контроля и фильтрации передаваемого контента на основе потокового распознавания речи. При этом распознавание речи может быть осуществлено с помощью стохастических моделей, основанных на использовании скрытых марковских моделей (СММ) [3].
Данная работа посвящена разработке компонентов программного комплекса для потоковой фильтрации аудиоконтента на основе СММ, решающих задачи обучения по заданной последовательности наблюдений параметров СММ, поиска последовательности состояний СММ по заданной последовательности наблюдений и вычисления вероятности того, что заданная последовательность наблюдений построена для данной СММ [4].
Для реализации компонентов была выбрана среда графического программирования LabVIEW компании National Instruments (NI), так как она обеспечивает быстрое создание эффективных программ, а также она исходно создавалась для обработки информационных сигналов систем передачи и соответственно в ней встроены основные алгоритмы цифровой обработки информации [5].
1. СКРЫТЫЕ МАРКОВСКИЕ МОДЕЛИ
1.1. Определение скрытой марковской модели
Основы теории скрытых марковских моделей приведены в работах Баума в конце 1960-х годов [3]. В последнее время СММ стали очень популярны, так как математическая структура СММ очень богата и позволяет решать математические проблемы различных областей науки. При этом грамотно спроектированная модель выдаёт на практике хорошие результаты работы. Результаты применения СММ в приложениях, связанных с распознаванием речи, опубликованы Бейкером и Елинеком в 1970-х годах [3].
В обзорной работе Л. Р. Рабинера [3] излагаются основы теории СММ для дискретных систем, а также приведены рекомендации по практическому использованию её результатов для решения задач автоматического распознавания речи. Далее будут рассматриваться именно такие СММ.
Рассмотрим дискретную систему, имеющую конечное множество из N состояний — S = (si,...,sN}, в каждом из которых она может принимать одно из M значений из набора наблюдаемых параметров V = (v1 , ...,vM} — алфавита. Состояние системы в момент времени t — qt, принимающее одно из N значений множества S, зависит только от её состояния в момент времени t — 1 — qt-1, а значение наблюдаемого параметра в момент времени t — ot зависит только от состояния qt, т. е. не зависит от времени. Вероятности переходов между состояниями системы задаются матрицей A. Вероятности выпадения каждого из M значений наблюдаемого параметра системы в каждом из N состояний системы задаются набором векторов B. Вероятность появления некоторого начального состояния системы задаётся вектором п. При этом последовательность состояний, в которых пребывает система — Q = (q1 ,...,qT}, внешнему наблюдателю не видна, а видит он только последовательность наблюдений — O = (o1,... ,oT} (здесь T — длина последовательности), т. е. система ведёт себя как «чёрный ящик». Модель такой системы получила название скрытой марковской модели.
Для полного определения СММ дискретной системы должны быть заданы следующие параметры:
• Число состояний в множестве состояний модели S = (s1,... ,sN} — N;
• Алфавит модели — V = (v1,..., vM} и число символов в нём — M;
• Вероятности переходов между состояниями модели — A = (а^ }, где а^ — вероятность перехода
Информатика
341
Изв. Сарат. ун-та. Нов. сер. Сер. Математика. Механика. Информатика. 2015. Т. 15, вып. 3
модели из состояния Si в состояние Sj:
aij = p(qt+i = Sj | qt = Si), 1 < i < N, 1 < j < N. (1)
Элементы A должны удовлетворять стохастическим ограничениям:
N
aij А 0, 1 < i < N, 1 < j < N и ^ aij = 1, 1 < i < N. (2)
j=1
• Вероятности выпадения каждого из M значений наблюдаемого параметра модели в каждом из N состояний модели — В = {bj(k)}, где bj(k) — вероятность выпадения k-го значения наблюдаемого параметра модели в состоянии Sj:
bj(k) = p(ot = vk | qt = Sj), 1 < j < N, 1 < k < M. (3)
Элементы B должны удовлетворять следующим ограничениям:
M
bj (k) А 0, 1 < j < N, 1 < k < M и ^ bj (k) = 1, 1 < j < N. (4)
k=1
• Вероятность появления некоторого начального состояния модели — п = {ni}, где ni — вероятность того, что в начальный момент модель окажется в состоянии Si:
П = p(qi = Si), 1 < i < N. (5)
Элементы п должны удовлетворять следующим ограничениям:
N
ni А 0, 1 < i < N и ni = 1, 1 < i < N. (6)
i=1
В компактной записи СММ дискретной системы обозначается следующим образом:
А = (A, B, п). (7)
1.2. Три основных задачи скрытой марковской модели
Согласно описанию СММ, изложенному в предыдущем параграфе, существует три основных задачи, которые должны быть решены для успешного применения модели в какой-либо области, в том числе и при распознавании речи.
Задача 1. Дано: наблюдаемая последовательность O = {o1 ,...,oT} и модель А = (A,В,п). Необходимо вычислить p(O | А) — вероятность того, что данная наблюдаемая последовательность построена именно для данной модели.
Это задача оценки модели, которая заключается в вычислении вероятности того, что модель соответствует заданной наблюдаемой последовательности. К этой задачи можно подойти и с другой стороны: насколько выбранная СММ соответствует заданной наблюдаемой последовательности. Такой подход имеет большую практическую ценность. Например, если стоит вопрос выбора наилучшей модели из набора уже существующих, то решение первой задачи даёт ответ на этот вопрос.
Задача 2. Дано: наблюдаемая последовательность O = {oi, ...,от} и модель А = (A, В,п). Необходимо подобрать последовательность состояний системы Q = {q1,..., qT}, которая лучше всего соответствует наблюдаемой последовательности, т. е. «объясняет» наблюдаемую последовательность.
342
Научный отдел
А. Н. Савин и др. Разработка компонентов программного комплекса
Задача 2 позволяет понять, что же происходит в скрытой части модели, т. е, найти «правильную» последовательность, которую проходит модель, Абсолютно точно нельзя определить эту последовательность, Говорить можно лишь о предположениях с соответственной степенью достоверности, При этом для приближенного решения этой проблемы приходится использовать различные критерии оценки для определения последовательности состояний, Данные, полученные при решении задачи 2, используются для изучения поведения построенной модели, нахождения оптимальной последовательности её состояний и т, п,
Задача 3. Подобрать параметры модели X = (A, В, п) таким образом, чтобы максимизировать p(O | X).
Решение задачи 3 состоит в оптимизации модели таким образом, чтобы она как можно лучше описывала реальную наблюдаемую последовательность, Наблюдаемая последовательность, по которой оптимизируется СММ, называется обучающей, поскольку с помощью её модель «обучается», Задача обучения СММ — один из важнейших при проектировании СММ, поскольку она заключается в оптимизации параметров СММ, т. е, создается модель, наилучшим образом описывающая реальные процессы,
Для построения программного комплекса потоковой фильтрации аудиоконтента необходимо разработать программные модули, решающие эти три задачи,
1.3. Алгоритм метода Баума-Велша обучения СММ системы
Исходными данными для алгоритма метода Баума-Велша являются СММ со случайными параметрами X = (A, В,п) и заданная обучающая последовательность наблюдений O = (oi,...,oT}, Алгоритм позволяет уточнять параметры модели таким образом, чтобы вероятность p(O | X) увеличивалась, Итеративное применение алгоритма до схождения в одной точке позволяет максимизировать p(O | X), т, е, настроить модель на данную последовательность и соответственно решить задачу 3,
Рассмотрим алгоритм подробнее, Он состоит из нескольких шагов,
• Прямая процедура определяет «прямые» переменные — вероятности получения начальной части (от момента времени 1 до t) заданной последовательности наблюдений O = (o1,... , oT} при условии, что движение начинается в момент времени 1 и заканчивается в момент времени t в состоянии si:
at(i) = p(oi,...,ot, qt = Si | X). (8)
Эти вероятности можно вычислить рекурсивно, используя следующее выражение:
N
at+1 (j) = bj (ot+i)^2 at (i)aij, 1 ^ j < N, 1 < t < T - 1, (9)
i = 1
где
ai (j) = njbj (oi), 1 < j < N. (10)
Используя рекурсию, можно найти
aT (i), 1 ^ i ^ N.
Теперь с учётом (8) требуемую для решения задачи 1 вероятность можно вычислить через «прямые» переменные:
N
p(O | X) = £aT(i). (11)
i=i
• Обратная процедура является дополнением прямой процедуры и позволяет вычислить «обратные» переменные — вероятности получения оставшейся части (от момента времени t + 1
Информатика
343
Изв. Сарат. ун-та. Нов. сер. Сер. Математика. Механика. Информатика. 2015. Т. 15, вып. 3
до T) заданной последовательности наблюдений O = (oi, ...,oT} при условии, что движение начинается в момент времени t из исходного состояния Si и заканчивается в момент времени T:
Pt (i) = P(°t+i, ...,°t | qt = Si, A).
Эти вероятности можно вычислить рекурсивно, используя следующее выражение:
N
Pt(i) = ^j Pt+iaijbj(ot+i), 1 < i < N, 1 < t < T - 1,
j=i
где
Pt (i) = 1, 1 < i < N.
Используя рекурсию, можно найти
Pi(i), 1 < i < N.
(12)
(13)
(14)
Теперь с учётом (10) и (12) требуемую для решения задачи 1 вероятность можно вычислить через «обратные» переменные:
NN
P(O | A) = ^ai(i)Pi(i) = (oi)£i(i). (15)
i=i i=i
С другой стороны, из (8) и (12) следует:
p(O, qt = Si | A) = at (i)Pt (i), 1 < i < N, 1 < t < T. (16)
Используя (16), можно вычислить требуемую для решения задачи 1 вероятность через «прямые» и «обратные» переменные:
N
P(O 1 A) = ^2 P(O,qt
i=i
N
= si1 A) = ^2 at (i)Pt(i),
i=i
1 < t < T.
(17)
• Вычисление вспомогательной переменной £ — вероятности того, что при заданной последовательности наблюдений O = (oi,..., oT} модель в моменты времени t и t + 1 будет находиться в состояниях si и Sj соответственно:
£t(i,j) = P(qt = si,qt+i = sj 1 O,A) =
p(qt = Si,qt+i = Sj,O | A) P(O 1 A)
(18)
Используя «прямые» (8) и «обратные» (12) переменные, можно записать (18) следующим образом:
£t(i,j)
TN 2-^i s=i
at (i)aijPt+i(j)bj (°t+i)__________
Xj=i at (is)ais jsPt+i (js)bjs (°t+i)
1 < t < T - 1.
(19)
• Вычисление вспомогательной переменной y — вероятности того, что при заданной последовательности наблюдений O = (oi,...,oT} модель в момент времени t будет находиться в состоянии si:
yt(i) = P(qt = si1 ° A) =
P(O,qt = Si | A) p(O | A)
(20)
Используя «прямые» (8) и «обратные» (12) переменные и учитывая соотношения (16), (17), можно записать (20) следующим образом:
Yt(i)
at (i)fft (i)
EN =i at (is )в (is)
1 < t < T.
(21)
344
Научный отдел
А. Н. Савин и др. Разработка компонентов программного комплекса
Из выражений (19) и (20) видно, что вспомогательные переменные £t(i, j) и Yt(i) связаны между собой следующим образом;
N
Yt(i) = J2&(i,j), 1 $ i $ N, 1 $ t $ T - 1. (22)
j = 1
• Уточнение параметров исходной CMM Л = (A, В,п) с целью увеличения p(O | Л).
В соответствии с алгоритмом метода Баума - Велша параметры уточнённой СММ Л* = (A*, B*, п*) определяются с помощью следующих соотношений;
1) уточнённая вероятность того, что в начальный момент модель окажется в состоянии s* — п*;
п* = Yi(i), 1 $ i $ N, (23)
2) уточнённая вероятность перехода модели из состояния s* в состояние Sj — a
aj =
ЕГ=Т (t(i,j) ETY Yt (i)
1 $ i $ N, 1 $ j $ N,
(24)
3) уточнённая вероятность выпадения k-го значения наблюдаемого параметра модели в состоянии Sj — b* (k);
b*(k) = ^t=1TQt =vk Yt(j), 1 $ j $ N, 1 $ k $ M, (25)
Et=i Yt(j)
здесь в числителе суммируются только те yt(j), для которых ot = .
• Вычисление для уточнённой CMM Л* = (A* ,В* ,п*) вероятности P*(O | Л).
Используя новые значения параметров СММ Л* = (A* ,В* ,п*), по одному из соотношений (11), (15) или (17) вычисляется вероятность того, что заданная наблюдаемая последовательность O = {o1 ,...,oT} построена именно для данной модели — p(O | Л*). При этом алгоритм метода Баума-Велша обеспечивает неуменьшение этой вероятности, т. е. правдоподобность модели после уточнения выше, чем до уточнения во всех случаях, когда модель можно оптимизировать.
• Проверка сходимости итерационного процесса обучения CMM Л = (A, В,п).
Итерационный процесс обучения СММ Л = (A, В,п) по заданной последовательности наблюдений — O = {ol5..., oT} — максимизация вероятности p(O | Л) — заканчивается, когда разница между вероятностями p(O | Л*) и p(O | Л) становится менее некоторой заданной точности е, т. е. выполняется следующее условие;
p(O | Л*) — p(O | Л) < е.
(26)
1.4. Алгоритм вычисления последовательности состояний системы, описываемой СММ, по последовательности наблюдений методом Витерби
Задача 2 — подбор наиболее вероятной последовательности состояний Q = {qi,..., qT} системы, описываемой СММ Л = (A,B,n), соответствующей последовательности наблюдений O = {o1,..., oT} — может быть решена с помощью метода Витерби [4].
Алгоритм метода Витерби состоит из следующих шагов;
• Вычисление вспомогательной переменной 5 — максимальной вероятности того, что при заданной последовательности наблюдений O = {о1,... ,oT} модель в момент времени t (при условии, что движение начинается в момент времени 1 и заканчивается в момент времени t) будет находиться в состоянии s* ;
5t (i) = max p(qi, ...,qt-1, qt = s* ,oi,..., ot-1 | Л). (27)
qi,...,qt-l
Информатика
345
Изв. Сарат. ун-та. Нов. сер. Сер. Математика. Механика. Информатика. 2015. Т. 15, вып. 3
Эти вероятности можно вычислить рекурсивно, используя следующее выражение;
St+i(j) = bj (ot+i) • max (St (i) • aj), 1 Ф j Ф N, 1 ф t Ф T — 1, (28)
1^i^N
где
Si (j) = nj bj (oi), 1 ф j ф N. (29)
При этом надо запоминать не только значения вероятностей St(j), но и состояния фt(j), при которых St (j) достигает максимума;
ф+ (j) = arg max (St(i) • aij), 1 ф j ф N, 1 ф t ф T — 1. (30)
l^i^N
Используя рекурсию, можно найти
St(i), 1 Ф i Ф N. (31)
• Вычисление наиболее вероятного конечного состояния системы qt.
После шага T — 1 вычисляется наиболее вероятное конечное состояние системы;
qT = arg max (St(i)), 1<i<Nv
(32)
где ma^(ST(i)) — наибольшая из максимальных вероятностей нахождения системы в момент времени T в состоянии si.
• Вычисление наиболее вероятной последовательности состояний системы Q = {q1,..., qT}.
Вычисление наиболее вероятной последовательности состояний Q = {q1,... ,qT} системы, соответствующей последовательности наблюдений O = {o1 ,...,oT} — решение задачи2, осуществляется обратным проходом по массиву состояний ф-t, при которых вероятности St (i) максимальны, начиная с наиболее вероятного конечного состояния qT;
qt = ^t+1(qt+1), 1 Ф t ф T — 1.
(33)
2. РЕАЛИЗАЦИЯ АЛГОРИТМА «ПРЯМОЙ ПРОЦЕДУРЫ»
Вычисление p(O | А) — вероятности того, что наблюдаемая последовательность O = {o1 ,...,oT} построена для СММ А = (A, B,n) (т. е. решение задачи 1), может быть осуществлено с помощью «прямой процедуры», приведённой в 1.3 при описании алгоритма метода Баума-Велша.
Эта «прямая процедура» была реализована и отлажена в среде графического программирования LabVIEW в виде отдельного программного модуля.
Входными параметрами для модуля являются;
• СММ А = (A, B, п) с числом состояний N и числом значений M, параметры которой удовлетворяют ограничениям (2), (4), (6). Алфавитом V = {v1,..., vM} СММ являются номера значений от 1 до M.
• Последовательность наблюдений O = {o1,..., oT} длиной T.
Выходными параметрами модуля являются;
• Вычисленное значение p(O | А) — вероятности того, что наблюдаемая последовательность O = {o1,..., oT} построена для СММ А = (A, B, п).
На рис. 1 представлены результаты вычисления с помощью программного модуля, реализующего «прямую процедуру», p(O | А) — вероятности того, что наблюдаемая последовательность построена для СММ А = (A, B, п).
346
Научный отдел
А. Н. Савин и др. Разработка компонентов программного комплекса
Рис. 1. Лицевая панель программного модуля, реализующего «прямую процедуру»
3. РЕАЛИЗАЦИЯ АЛГОРИТМА МЕТОДА БАУМА-ВЕЛША
На основе представленного выше в 1.3 алгоритма метода Баума-Велша в среде графического программирования LabVIEW был разработан и отлажен программный модуль, предназначенный для обучения СММ А = (A, В, п) по заданной последовательности наблюдений O = (oi,..., oT}. Входными параметрами для модуля являются:
• Исходная СММ А = (A, B, п) с числом состояний N и числом значений M, параметры которой выбраны случайным образом, но при этом удовлетворяют ограничениям (2), (4), (6). Алфавитом V = (vi,..., vM} СММ являются номера значений от 1 до M;
• Последовательность наблюдений O = (oi,..., oT} длиной T;
• Заданная точность е;
• Максимально возможное число итераций.
Выходными параметрами модуля являются:
• Обученная по последовательности наблюдений O = (oi,... ,oT} СММ А* = (A*,В*,п*);
• Значение вероятности p(O | А) исходной СММ А = (А,В,п);
• Значение вероятности p(O | А*) обученной СММ А* = (А*,В*,п*);
• Число итераций, потребовавшееся для обучения.
Лицевая панель программного модуля, реализующего алгоритм метода Баума-Велша, с исходной СММ А = (А, В,п) и полученной в результате обучения СММ А* = (А*,В*,п*), приведены на рис. 2 и рис. 3 соответственно.
Информатика
347
Изв. Сарат. ун-та. Нов. сер. Сер. Математика. Механика. Информатика. 2015. Т. 15, вып. 3
Рис. 2. Лицевая панель программного модуля, реализующего алгоритм метода Баума-Велша
с исходной СММ
Рис. 3. Лицевая панель программного модуля, реализующего алгоритм метода Баума-Велша
с обученной СММ
348
Научный отдел
А. Н. Савин и др. Разработка компонентов программного комплекса
В результате применения метода Баума - Велша (см. рис. 2, 3) значение вероятности p(O | А) = = 7.1550812 • 10-8 исходной СММ А = (A, В,п) увеличилось до значения вероятности p(O | А*) = = 1.15625 • 10-2 обученной СММ А* = (A*, B*, п*). При этом параметры обученной СММ так же как и исходной СММ удовлетворяют ограничениям (2), (4), (6), а для достижения заданной точности е = 10-12 потребовалось всего 14 итераций. Дальнейшее повышение точности (уменьшение значения е) значение вероятности p(O | А*) не изменяло, т.е. действительно был найден максимум p(O | А*). Однако надо учитывать, что обучение СММ методом Баума-Велша обеспечивает поиск локального максимума [4], и при других начальных параметрах СММ А = (A,B,n) результаты обучения могут быть лучше.
4. РЕАЛИЗАЦИЯ АЛГОРИТМА МЕТОДА ВИТЕРБИ
На основе представленного выше в 1.4 алгоритма метода Витерби в среде графического программирования LabVIEW был разработан и отлажен программный модуль, предназначенный для вычисления наиболее вероятной последовательности состояний Q = {q1,... , qT} системы, описываемой СММ А = (A, B, п), соответствующей последовательности наблюдений O = {o1,..., oT}.
Входными параметрами для модуля являются:
• СММ А = (A, B, п) с числом состояний N и числом значений M, параметры которой удовлетворяют ограничениям (2), (4), (6). Алфавитом V = {v1,... , vM} СММ являются номера значений от 1 до M;
• Последовательность наблюдений O = {o1,..., oT} длиной T.
Выходными параметрами модуля являются:
• Наиболее вероятная последовательность состояний Q = {q1 ,...,qT} системы, описываемой СММ А = (A, B, п), соответствующая последовательности наблюдений O = {o1,..., oT}.
Лицевая панель программного модуля, реализующего алгоритм метода Витерби с заданной последовательностью наблюдений O = {o1 , ...,oT} и полученной в результате вычисления наиболее вероятной последовательностью состояний Q = {q1,..., qT} СММ А = (A, B, п), приведена на рис. 4.
Попдрограмма вычисляет наиболее вероятную последовательность состояний СММ по заданной последовательности наблюдений методом Витерби
СММ j Дельта | Пси j
СММ М
Матрица вероятностей переходов между состояниями
А{1Ч..М} .
Jo,00042297 |0,12151724j jo,24336294ijo,10662815 |о,24&25625. j0,27381244 ■
ЦЬ [|| 0,19070513' | ОД00258561 10,32617577' ) 0,07803301 [ |рД7728213 ^ j0,127545' jo ,14220414 [ j0,26236722 [ jp,22363l591- fo,Q2151125 [ |рД3089557 f jo,26939023 [ ^[рД7Шж']^238420б| j 0,024901621 |оДД7490п| (оТ5Тб8^[|рД98239зГ ]|Д209689Ю||0,09Л5603[J0,05544355г|д25716827[^346953 |^0Д5034722|
.j 0,25849662 j 0,18583035'' J 0,12323363j 0,11657854. J 0,253444_| j 0,05741686
Матрица вероятностей каждого наблюдения в каждом состояниями Б{ М, М}
ЦоД5142702 Ц 0,436958^|д064Ш94^Д30^2921 ^ 0,144026igl [о |$оД[ 0,235385090,210807871)0,21457236ЦОД9217752[|рД470571б| |о 1[оД77б~37й£j0,20837687[ j0,24641341 |]о,0910621б| |рД7650958у И
J 0,2549157 J 0,37780188' j 0ДВ729493; 10,00120691 j 10,17878059j 0_
|jo,3266517L j 0,09384359' 10,35124579 i|o,05546882j Jo,1727901 J ■}0 j 0,262672^ 0,31835598 [0,0278857^0,07696729 |0,31411S13 .jb ~~
Вектор вероятностей начального состояния ■ > "{N}
'll0 ||р^^478д|о1Д38^Ш9[|оД6^^^[|оД40^^48[|оД87^^^|оД^^64^^Г
Рис. 4. Лицевая панель программного модуля, реализующего алгоритм метода Витерби
Информатика
349
Изв. Сарат. ун-та. Нов. сер. Сер. Математика. Механика. Информатика. 2015. Т. 15, вып. 3
ЗАКЛЮЧЕНИЕ
Разработанные программные модули, как показало тестирование, эффективно решают задачи обучения СММ по экспериментальным последовательностям наблюдений, соответствующим коротким словам и распознавание этих слов. Что позволяет использовать данные модули для реализации потоковой фильтрации аудиоконтента в цифровых системах связи.
Библиографический список
1. Гоноровский И. С., Демин М. П. Радиотехнические цепи и сигналы. М. : Дрофа, 2006. 719 с.
2. Сергиенко А. Б. Цифровая обработка сигналов. СПб. : Питер, 2007. 750 с.
3. Рабинер Л. Р. Скрытые Марковские модели и их применение в избранных приложениях при распознавании речи // ТИИЭР. 1989. Т. 77. С. 86-120.
4. Narada Warakagoda A Hybrid ANN-HMM ASR
system with NN based adaptive preprocessing M. Sc. thesis. URL: http://jedlik.phy.bme.hu/
gerjanos/HMM/hoved.html (Accessed: 21.12.2012).
5. Портал компании National Instruments Russia.
URL: http://www.labview.ru (дата обращения:
25.12.2012).
The Development of Software Components for Streaming Audio Content Filtering Through
the Use of Hidden Markov Models
A. N. Savin1, N. E. Timofeeva2, A. S. Geraskin3, Yu. A. Mavlutova4
1 Savin Alexander Nikolaevich, Saratov State University, 83, Astrakhanskaya st., 410012, Saratov, Russia, [email protected] 2Timofeeva Nadezhda Evgenievna, Saratov State University, 83, Astrakhanskaya st., 410012, Saratov, Russia, [email protected]
3Geraskin Aleksej Sergeevich, Saratov State University, 83, Astrakhanskaya st., 410012, Saratov, Russia, [email protected] 4Mavlutova Yuliya Albertovna, Saratov State University, 83, Astrakhanskaya st., 410012, Saratov, Russia, [email protected]
The results of the development of efficient algorithms for streaming voice recognition using stochastic models based on the use of hidden Markov models are shown in this work. The article provides basic theoretical information for the hidden Markov model of the discrete system and the necessary parameters to define it are distinguished. Also there are three main tasks considered that need to be solved for the successful application of hidden Markov models in speech recognition systems. The algorithm of the method of Baum-Welch aimed at clarifying the parameters of the model and the Viterbi algorithm of selection of the most likely sequence of states of the system are given. These two methods are implemented in the environment of graphical programming LabVIEW in the form of software modules that implement the construction of the hidden Markov models of individual words, using the method of Baum - Welch and recognition of these words on the basis of the Viterbi method. It is supposed to use these modules to implement streaming audio content filtering in digital communication systems.
Key words: hidden Markov models, recognition of these words, Viterbi method, method of Baum - Welch.
References
1. Gonorovskij I. S., Demin M. P. Radiotekhnioheskie tsepi i signaly [Radio Circuits and Signals]. Moscow, Drofa, 2006, 719 p. (in Russian).
2. Sergienko A. B. Tsifrovaia obrabotka signalov [Digital signal processing]. Saint Petersburg, Piter, 2007, 750 p. (in Russian).
3. Rabiner L. R. Hidden Markov models and their application in selected applications in speech recognition. PIEEE, 1989, vol. 77, pp. 86-120.
4. Narada Warakagoda A Hybrid ANN-HMM ASR system with NN based adaptive preprocessing M. So. thesis. Available at: http://jedlik.phy.bme.hu/ gerjanos/HMM/ hoved.html (Accessed: 21, December, 2012).
5. Portal of company National Instruments Russia. Available at: http://www.labview.ru (Accessed: 25, December, 2012).
350
Научный отдел