Программные средства и информационные технологии
УДК 004.85
АЛГОРИТМ СОКРАЩЕНИЯ РАЗМЕРНОСТИ ВЕКТОРОВ-ПРИЗНАКОВ В СИСТЕМАХ РАСПОЗНАВАНИЯ РЕЧИ
И. Э. Кусков
Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
E-mail: [email protected]
Рассматривается алгоритм сокращения размерности векторов-признаков в системах распознавания речи, основанный на многослойном персептроне.
Ключевые слова: нейронная сеть, многослойный персептрон, распознавание речи.
ALGORITHM OF REDUCING SIZE OF FEATURE VECTORS IN THE SPEECH RECOGNITION SYSTEMS
I. E. Kuskov
Reshetnev Siberian State University of Science and Technology 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: [email protected]
The research describes an algorithm for reducing the size of feature vectors in speech recognition systems based on a multilayer perceptron and an experimental study of this algorithm.
Keywords: neural network, multilayer perceptron, speech recognition, mfcc.
При построении системы распознавания образов важной задачей является выявление признаков объектов, по которым будет производиться распознавание. В системах распознавания речи, основанной на многослойном персептроне при решении указанной задачи, приходится сталкиваться с ограничением в виде различной длительности произношения слова или высказывания, соответственно вектор-признак для каждого файла будет различной длины. Это ограничение обусловлено тем, что многослойный персеп-трон применим для векторов фиксированной размерности.
Для того чтобы получить вектор фиксированной размерности, предлагается следующий подход: находить центры «сгущений» распределения векторов признаков и в качестве результирующего вектора брать конкатенацию этих центров. При этом в качестве начального значения необходимо использовать результирующий вектор, полученный на векторах всей базы обучения [1].
Алгоритм состоит из двух этапов:
1. На данном этапе находится вектор средних для всей базы обучения при помощи алгоритма К-средних.
2. Затем для каждого файла базы обучения находятся собственные средние значения по формуле
Mk = a ■ Ыко + (1 - а) ■ Мк, к = 1.Х,
где Мк0 - среднее значение, найденное в пункте 1; Мк' - среднее значение, полученное в результате применения одной итерации алгоритма К-средних для
вектора-признака файла с использованием в качестве начального значения кластеров Мк0.
Я
а =-,
Я + N
где Я - коэффициент «чувствительности»; N. - число векторов-признаков, соответствующие среднему значению Мк'.
Экспериментальное исследование проводилось на выборке из 60 файлов записей чисел от 1 до 10. Звуковой сигнал записывался с встроенного микрофона с частотой дискретизации 16000 Гц и разрядностью 16 бит в одноканальном режиме. В качестве признаков были выбраны мел-частотные кепстральные коэффициенты [2] (МБСС) в количестве 12 признаков на один фрейм. Количество кластеров в алгоритме К-средних равно 10. Результат работы представленного алгоритма отображён в табл. 1.
Для исследования на многослойном персептроне были созданы нейронные сети со различными параметрами.
Параметры нейронной сети №1: обучающая выборка: 40 файлов, тестовая выборка: 20 файлов, количество входных нейронов: 130, выходных: 10, скрытых слоев 3, слой 1: 20 нейронов, слой 2: 34 нейрона, слой 3: 13 нейронов (табл. 2).
Параметры нейронной сети №2: обучающая выборка: 30 файлов, тестовая выборка: 30 файлов, количество входных нейронов: 130, выходных: 10, скрытых слоев 2, слой 1: 50 нейронов, слой 2: 25 нейронов (табл. 3).
Решетневские чтения. 2018
Таблица 1
Результаты работы алгоритма
Имя файла Число признаков Коэффициент сжатия
до обработки после обработки
Один 504 120 0,762
Два 408 120 0,706
Три 348 120 0,655
Четыре 564 120 0,787
Пять 324 120 0,630
Шесть 468 120 0,744
Семь 492 120 0,756
Восемь 540 120 0,778
Девять 480 120 0,750
Десять 540 120 0,778
Таблица 2 Результаты тестирования нейронной сети № 1
Имя файла Один Два Три Четыре Пять Шесть Семь Восемь Девять Десять
Один 0,981 0,037 0,130 0,196 0,005 0,023 0,285 0,063 0,067 0,062
Два 0,057 0,986 0,031 0,018 0,404 0,112 0,491 0,407 0,133 0,384
Три 0,031 0,005 0,981 0,013 0,008 0,000 0,076 0,088 0,006 0,028
Четыре 0,009 0,013 0,003 0,985 0,006 0,010 0,045 0,003 0,010 0,007
Пять 0,056 0,070 0,130 0,380 0,969 0,014 0,116 0,049 0,080 0,060
Шесть 0,014 0,001 0,005 0,002 0,003 0,983 0,013 0,007 0,015 0,008
Семь 0,488 0,481 0,033 0,204 0,028 0,874 0,948 0,263 0,459 0,509
Восемь 0,099 0,022 0,016 0,231 0,041 0,011 0,040 0,985 0,006 0,004
Девять 0,065 0,208 0,034 0,120 0,166 0,015 0,184 0,023 0,965 0,107
Десять 0,013 0,018 0,002 0,013 0,013 0,008 0,019 0,003 0,019 0,983
Таблица 3
Результаты тестирования нейронной сети № 2
Имя файла Один Два Три Четыре Пять Шесть Семь Восемь Девять Десять
Один 0,984 0,009 0,017 0,004 0,026 0,003 0,037 0,004 0,033 0,077
Два 0,034 0,967 0,578 0,065 0,231 0,167 0,064 0,437 0,344 0,016
Три 0,004 0,135 0,975 0,111 0,096 0,011 0,029 0,012 0,135 0,066
Четыре 0,044 0,022 0,156 0,980 0,010 0,046 0,007 0,034 0,045 0,004
Пять 0,086 0,175 0,722 0,126 0,927 0,836 0,011 0,371 0,378 0,176
Шесть 0,005 0,214 0,210 0,072 0,343 0,967 0,023 0,484 0,578 0,058
Семь 0,024 0,111 0,228 0,016 0,077 0,090 0,978 0,090 0,029 0,019
Восемь 0,015 0,248 0,290 0,029 0,098 0,091 0,061 0,969 0,269 0,021
Девять 0,063 0,094 0,122 0,064 0,096 0,069 0,061 0,004 0,967 0,074
Десять 0,029 0,005 0,068 0,018 0,036 0,059 0,028 0,177 0,287 0,979
Библиографические ссылки
1. Простой алгоритм распознавания речи по короткому словарю на основе MFCC [Электронный ресурс]. URL: https://habr.com/post/150251/ (дата обращения: 09.09.2018).
2. Campbell J. P., Prolog Jr. to Speaker Recognition: A Tutorial / Proceedings of IEEE. Vol. 85, No. 9. P. 1436-1462, September 1997.
References
1. Prostoj algoritm raspoznavaniya rechi po korot-komu slovaryu na osnove MFCC. URL: https://habr. com/post/150251/ (accessed: 09.09.2018).
2. Campbell J. P., Prolog Jr. to Speaker Recognition: A Tutorial / Proceedings of IEEE. Vol. 85, No. 9. P. 1436-1462, September 1997.
© Кусков И. Э., 2018