8. Распознавание слов
Рассмотренный выше алгоритм можно
использовать для распознавания
изолированных слов,
Пусть произносится слово в течении
времени t. Выделим на
интервале t моменты времени
(t(1),t(2),...,t(n)).
Пропустим распознаваемый речевой сигнал
через m полосовых фильтров
и зарегистрируем напряжение v(i,t(j))
на выходе каждого i-ro
фильтра в моменты времени t(j).
Произведем нормирование сигнала на
выходе каждого фильтра в соответствии
с выражением.
1. Найдем величину u(i,t(j)):
u(i,t(j)) = (v(i.t(j)) - vmin(i)) /(vmax(i) - vmin(i)) * 100,
где vmax(i),
vmin(i) -
максимальное и минимальное значения
речевого сигнала на выходе i-го
фильтра.
2. Выберем порог g равным
50. Примем значение нормированного
сигнала x(i,j)
равным 1, если u{i,t(j))
>=g и равным 0 -в противном
случае.
3. Построим матрицу признаков распознаваемого
слова:
X = || x(i,j) ||.
В случае распознавания речи используется
многомерный список. Каждый элемент
списка является вектором (столбцом
матрицы X).
Рассмотрим процесс распознавания. Пусть
имеется множество эталонов, заданных
матрицами Z(k)=||
z(i,l)
||. Количество строк в матрицах равно m,
a количество столбцов
n(k).
Для каждого Z(k)
строится матрица расхождений г размерности
n(k)*n:
w(i,l,j) = z(i,l) *+* x(i,j), i=1,m, 1=1, n(k), j=l,n;
m
r(lj) = Сумма
(w(i,l,j));
i=1
r(0,0)=0;
r(0.k)=r(l,0) = MAX,
*+* - операция сложения по модулю 2.
Для распознавания достаточно применить
рассмотренный выше алгоритм ко всем
парам матриц: (X,Z(k))
и в качестве результата распознавания
выбрать слово с образом-эталоном наиболее
близким к образу рассматриваемого
слова.