Оглавление.

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

1. Программирование звука в Windows.

2. Основы цифровой обработки звуковых сигналов.

3. Определение параметров речевого сигнала.

4. Алгоритмы распознавания.

5. Использование Microsoft Speech API 5.1 для синтеза и распознавания речи.

6. Использование Microsoft Speech API 4.0 для синтеза речи.

Ссылки.

Об авторе.

Компьютерное распознавание и порождение речи

Глава 4. Алгоритмы распознавания.

Назад В начало главы Дальше

Решение задачи 2. Алгоритм Витерби.

Итак, необходимо выбрать последовательность состояний Q= {q1,q2,…qτ}, которая с наибольшей вероятностью порождает указанную последовательность.
Вводятся переменные:

δt(i) = max P(qt=Si|q1q2…qt-1,o1o2…ot,λ)
то есть максимальную вероятность того, что призаданных наблюдениях до момента t последовательность состояний завершится в момент времени t в состоянии Si, а также введем переменную ψt(i) для хранения аргументов, максимизирующих δt(i).
Итак, алгоритм Витерби.


1 шаг. Для всех i от 1 до N

δ1(i)=πibi(o1)

ψ1(i)=0

2 шаг. Для всех j от 1 до N и t от 2 до T

δt(j)=maxt-1(i)aij|bj(ot)
i=1..N

ψt(j)=arg maxt-1(i)aij|
i=1..N

3 шаг. Получаем наибольшую вероятность наблюдения последовательности o1o2…oT, которая достигается при прохождении некой оптимальной последовательности состояний Q* = {q*1, q*2,…q*T}, для которой к настоящему моменту известно только последнее состояние:

P*=maxT(i)|
i=1..N

q*T,=arg maxT(i)|
i=1..N

4 шаг. Восстанавливаем оптимальную последовательность состояний (обратный проход):

Для все t от T-1 до 1 ( шаг =-1)

q*t = ψt+1(q*t+1)


Распознавание речи. Обработка текстов на естественном языке.
Hosted by uCoz