Научная статья
УДК 004.032.26+004.934.5
ББК 32.813.52+32.972.13
Ч 48
DOI: 10.53598 / 2410-3225-2021-4-291-75-81
Разработка системы распознавания естественного языка для идентификации голосовых данных
(Рецензирована)
1 2 Александр Николаевич Черкасов , Иветта Игоревна Грибко
1 2 Кубанский государственный технологический университет, Краснодар, Россия
Аннотация. Проведен анализ проблем защиты голосовых биометрических данных. Разработан механизм регистрации и верификации человека в биометрической системе по голосовым данным. Предложен алгоритм функционирования системы распознавания человеческого и синтезированного голоса. Разработана интеллектуальная система, подтверждающая актуальность проводимых исследований в этой области.
Ключевые слова: спуфинг, нейронная сеть, биометрия, голосовые данные, спектрограмма, подлинная и синтезированная речь
Original Research Paper
Development of a natural language recognition system for voice identification
12 Aleksandr N. Cherkasov , Ivetta I. Gribko
1 2 Kuban State University of Technology, Krasnodar, Russia
Abstract. The paper analyzes the problems of protecting voice biometric data. A mechanism for registration and verification of a person in a biometric system using voice data has been developed. An algorithm for the functioning of the human and synthesized voice recognition system is proposed. An intelligent system has been developed that confirms the relevance of ongoing research in this area.
Keywords: spoofing, neural network, biometrics, voice data, spectrogram, genuine and synthesized speech
В настоящее время в мире ускоряется внедрение технологических решений, разработанных на основе искусственного интеллекта, в различные отрасли [1]. Не исключением является использование голосовых помощников и использование речевой идентификации для удобства и простоты обслуживания, особенно в социальной и экономической сферах. Но если такая система упрощает действия, то это дает повод злоумышленникам для создания новых видов мошенничества и атак на различного рода ресурсы, содержащие конфиденциальные данные [2]. Большинство экспертов в этой области приходят к выводам, что системам, связанным с голосовой идентификацией личности, необходима специализированная защита.
Существует несколько видов угроз для системы идентификации по голосу.
Большинство касается либо самой программной структуры интеллектуальной системы, либо базового набора, на котором система работает и обучается [3]. В данной статье рассматривается возможность борьбы с угрозой подмены легитимного пользователя на основе системы искусственного интеллекта. Иначе такую угрозу называют голосовым спуфингом [4]. Использование этого вида атаки подразумевает замену настоящего голоса синтезированным либо использование различных фильтров для изменения тона речи, высоты, скорости, окраски и т. д.
Система идентификации и верификации пользователя по голосу может быть отнесена к биометрическим системам. Принято различать несколько доступных речевых технологий: распознавание речи - перевод голоса в текст, идентификация и верификация пользователя; синтез речи - перевод текста в голос, понимание речи, управление диалогом. Биометрические образцы записи голоса должны соответствовать следующим требованиям: отношение сигнал-шум для звука - не менее 15 дБ; глубина квантования - не менее 16 бит; частота дискретизации - не менее 16 кГц; запись голоса должна быть сохранена в формате RIFF (WAV); код сжатия - PCM/uncompressed (0x0001); количество каналов в записи голоса - 1 (моно режим) канал; не допускается использовать шумоподавление; на записи должен присутствовать голос одного человека; запись голоса должна содержать указанную последовательность полностью и не должна прерываться и т. д.
В организациях при использовании приложения, которое верифицирует по голосу, происходит сначала регистрация абонента в системе. Если этот абонент снова звонит, то уже производится верификация. При первичной идентификации регистрирующей стороне необходимо подготовить и оценить идентификационные данные на соответствие установленным требованиям, а также установить и подтвердить соответствие между субъектом (объектом) доступа и его идентификационными данными. На рисунке 1 приведен алгоритм регистрации человека в голосовой биометрической системе.
Голос
Защита биометрии
[проверка на синтезированность)
Голос
Сервер идентификации биометрии
Сообщение! Возможно,пользователь использует программу подражания голоса
| му
I
t
Модель голоса
Образец голоса Пользователя А
Рис. 1. Схема регистрации человека в голосовой биометрической системе Fig. 1. Scheme of human registration in voice biometric system
На рисунке 2 приведена схема верификации человека в биометрической системе с использованием технологии защиты биометрии.
Сравнение подлинной и синтезированной человеческой речи удобнее всего рассматривать в виде спектрограммы. Для визуализации спектрограммы необходимо использовать преобразование Фурье. Кратковременное преобразование Фурье вычисляет
дискретные преобразования Фурье (ВБТ) по коротким перекрывающимся окнам для представления сигнала в частотно-временной области.
Пользователь А
Защита биометрии
(проверка на с интези р ов а н ностъ)
I
Сообщение!
У:/!I.-, .=.■!.-=•. .: I i .••.■•■.
использует программу подражания голоса ,
Сервер идентификации биометрии
Образец голоса Пользователя А
а
Модель голоса
Ф
Результат Совпадение Х% Аномалии: Выявлено/ Не выявлено
Рис. 2. Схема регистрации верификации человека в биометрической системе Fig. 2. Scheme of human verification registration in biometric system
Дискретное преобразование Фурье - преобразование конечных последовательностей (комплексных) чисел, которое, как и в непрерывном случае, превращает свертку в поточечное умножение.
N-1
2ni
Xk =Е xne
kn
k = 0,1,...,N -1
(1)
n=0
где N - количество значений сигнала, измеренных за период;
хп - измеренные значения сигнала в дискретных временных точках;
Хк - комплексные амплитуды синусоидальных сигналов, слагающих сходные сигналы;
к - частота к-ой синусоиды, измеренная в колебаниях за период.
Оконное преобразование Фурье (преобразование Габора функции) - преобразование, в котором временной интервал существования ряда разбивается на ряд промежутков - временных окон. В каждом промежутке вычисляется свое преобразование Фурье. Убирает недостатки дискретного преобразования.
S(r,f) = Jx(t) g(t-r)e-j2fdt,
(2)
где
g(t ) =
1 -e 4a - гауссово окно, a > 0 - некоторое фиксированное число;
2yJ na
т - параметр, задающий сдвиг окна на временной оси [5].
На рисунке 3 представлены спектрограммы подлинной и синтезированной речи.
Сравнивая спектрограммы подлинной и синтезированной речи, можно сделать вывод, что алгоритм для создания искусственного голоса не воспроизводит случайный шум на частотах от 0 до 128 Гц. Это можно увидеть невооруженным глазом, сравнивая спектрограммы. Основываясь на этом различии, возможно разработать модель, использующую параметры, которые будут учитывать эту разницу и разделять речь на человеческую и синтезированную [6, 7].
N
Рис. 3. Спектрограмма подлинной (слева) и синтезированной (справа) речи Fig. 3. Spectrogram of genuine (left) and synthesized (right) speech
К таким параметрам необходимо отнести следующие:
- спектральный центроид указывает, на какой частоте сосредоточена энергия спектра или, другими словами, указывает, где расположен «центр масс» для звука [3];
- спектральный спад - это мера формы сигнала, представляющая собой частоту, в которой высокие частоты снижаются до 0. Чтобы получить ее, нужно рассчитать долю элементов в спектре мощности, где 85% ее мощности находится на более низких частотах;
- спектральная ширина определяется как ширина полосы света на половине максимальной точки (или полная ширина на половине максимума);
- мел-частотные кепстральные коэффициенты представляют собой небольшой набор признаков (обычно около 10-20), которые кратко описывают общую форму спектральной огибающей, моделирующих характеристики человеческого голоса;
- цветность - обычно представляется вектором признаков из 12 элементов, в котором указано количество энергии каждого высотного класса {C, C#, D, D#, E, ..., B} в сигнале [1].
Наиболее эффективным средством для разработки системы защиты биометрических голосовых данных представляются методы искусственного интеллекта - нейронные сети [8]. Авторами предложен следующий алгоритм функционирования программной системы:
а) Закачиваем аудиоданные в Google Disk. В данном случае файлы в формате .wav. Количество: 1650 - подлинная речь и 1650 - синтезированная речь;
б) Задаем заголовки для файла .csv. Заголовками будут являться параметры, которые мы выбрали в качестве отличия между двумя классами;
в) Заполняем файл. Появляются строки с названием аудио-файла и его значения для каждого столбца;
г) Нормализуем данные. Для дальнейшего решения задачи необходимо нормализовать данные. В данном случае убирается первый столбец с названием;
д) Создаем метки;
е) Масштабируем столбцы признаков;
ж) Разделяем данные на обучающий и тестовый набор;
з) Задаем слои;
и) Компилируем;
к) Обучаем модель;
л) Получаем результат.
На рисунке 4 представлен алгоритм функционирования программы и присвоения класса входным аудиозаписям.
Рис. 4. Алгоритм функционирования программы и присвоения класса входным аудиозаписям Fig. 4. Algorithm for program operation and assigning class to input audio recordings
Общая задача для построения системы заключается в классификации на человеческую речь и синтезированную [7]. Для решения данной задачи выбран многослойный персептрон, позволяющий реализовать бинарную классификацию. Была реализована нейронная сеть следующего формата: на входном слое - 27 узлов, на скрытых - 256, 27, 1 и на выходном - 1. На рисунке 5 приведена схема нейронной сети по классификации подлинной и синтезированной речи.
Рис. 5. Схема нейронной сети по классификации подлинной и синтезированной речи
Fig. 5. Neural network diagram on the classification of genuine and synthesized speech
Для проведения обучения и тестирования нейронной сети и апробации программы были использованы 3300 аудиозаписей, сформирована таблица, включающая 3300 строк и 26 столбцов со спектральными характеристиками аудиозаписей. На рисунке 6 представлена часть таблицы со спектральными характеристиками.
Проведенное обучение нейронной сети показало результат точности и подлинности в 92%. Тестирование нейронной сети было произведено на новых аудиоданных: человеческая речь и синтезированный голос были скачаны из разных источников. Всего 404 аудиозаписи. В результате тестирования разработанная программа верно классифицировала более 97% голосовых сообщений.
filename chroma stft
rmse spectral_centroid spectral_bandwidth
rolloff zero_crossing_rate
mf ccl
mf cci
0 D20_1030578.wav
1 D20_1030577.wav
2 D20 1030579.wav
3 D20_1030573.wav
4 D20 1030576.wav
0.585204 0.059895
0.564104 0.047055
0.570100 0.060326
0.542365 0.076841
0.415401 0.071435
989.211700 1011.400688 1126.648772 1114.848527 1220.010638
1159.950565 1964.719154
1205.070816 2009.740528
1236.232558 2105.353246
1157.766557 2129.377800
1244.201268 2451.696377
0.058324 -341.698608 142.30729:
0.049040 -374.600952 134.458311 0.069289 -379.511566 85.290310.057689 -291.054626 1I70.40773<
0.070477 -321.607361 148.17379!
Рис. 6. Таблица со спектральными характеристиками Fig. 6. Table with spectral characteristics
Результаты работы программы представляются положительными за счет получения высокого процента точности. Протестировав данные, получили полное совпадение с метками произвольных аудиозаписей.
Выводы:
1. На основании аналитических материалов сформулированы актуальность использования биометрических систем и проблем защиты голосовых биометрических данных с целью разработки алгоритма распознавания подлинного и синтезированного голоса.
2. Разработан механизм регистрации и верификации человека в биометрической системе по голосовым данным на основе характеристик спектрального анализа звукового сигнала и технологий распознавания речи.
3. Предложен алгоритм функционирования системы защиты и классификации голосовой информации. Создана и протестирована интеллектуальная система классификации подлинного и синтезированного голоса на произвольных данных, подтверждающая актуальность проводимых исследований в этой области.
Примечания
1. Черкасов А.Н. Разработка математического и алгоритмического обеспечения адаптивных систем поддержки принятия решений в ситуационных центрах: дис. ... канд. техн. наук. Краснодар: Кубанский государственный технологический университет, 2011. 152 с.
2. Черкасов А.Н., Туркин Е.А. Разработка модели обнаружения вредоносных программ на основе анализа последовательностей API-запросов // Вестник Адыгейского государственного университета. Сер.: Естественно-математические и технические науки. 2021. Вып. 2 (281). С. 90-96. URL: http://vestnik.adygnet.ru
3. Nuancesprog.ru: образовательные статьи и переводы - все для программиста. URL: https://yandex.ru/turbo/nuancesprog.ru/s/p/6713/ (дата обращения: 10.06.2021).
4. The First Automatic Speaker Verification Spoofing and Countermeasures Challenge / Z. Wu, T. Kinnunen, N. Evans [et al.] // ASVspoof 2015. September 2015. DOI: 10.21437/Interspeech.2015-462
5. Гольдберг И. Нейросетевые методы в обработке естественного языка / пер. с англ. А.А. Слинкина. Москва: ДМК Пресс, 2019. 282 с.
6. Тарик Р. Создаем нейронную сеть: пер. с англ. Санкт-Петербург: Альфа-книга, 2017.
272 с.
7. Плас Дж. Вандер. Python для сложных задач: наука о данных и машинное обучение. Санкт-Петербург: Питер, 2018. 576 с.
8. Черкасов А.Н., Сивенко А.В. Разработка модели обеспечения безопасности аккаунта социальной сети на основе нейросетевого алгоритма // Вестник Адыгейского государственного университета. Сер.: Естественно-математические и технические науки. 2021. Вып. 2 (281). С. 47-55. URL: http://vestnik.adygnet.ru
References
1. Cherkasov A.N. Development of mathematical and algorithmic support for adaptive decision support systems in situational centers: Diss. for the Cand. of Techn. Sciences degree. Krasnodar:
Kuban State University of Technology, 2011. 152 p.
2. Cherkasov A.N., Turkin E.A. Development of the malware detection model based on an analysis of API request sequences // The Bulletin of the Adyghe State University. Ser.: Natural-Mathematical and Technical Sciences. 2021. Iss. 2 (281). P. 90-96. URL: http://vestnik.adygnet.ru
3. Nuancesprog.ru: educational articles and translations - all for the programmer. URL: https://yandex.ru/turbo/nuancesprog.ru/s/p/6713/ (access date: 10.06.2021).
4. The First Automatic Speaker Verification Spoofing and Countermeasures Challenge / Z. Wu, T. Kinnunen, N. Evans [et al.] // ASVspoof 2015. September 2015. DOI: 10.21437/Interspeech.2015-462
5. Goldberg J. Neural network methods in natural language processing: transl. from English. A.A. Slinkin. M.: DMK Press, 2019. 282 p.
6. Tarik R. We create a neural network: transl. from English. Saint Petersburg: Alfa-kniga, 2017.272 p.
7. Plas J. Wonder. Python for Complex Problems: Data Science and Machine Learning. Saint Petersburg: Piter, 2018. 576 p.
8. Cherkasov A.N., Sivenko A.V. Development of a model for ensuring the security of a social network account based on a neural network algorithm // The Bulletin of the Adyghe State University. Ser.: Natural-Mathematical and Technical Sciences. 2021. Iss. 2 (281). P. 47-55. URL: http://vestnik. adygnet.ru
Авторы заявляют об отсутствии конфликта интересов. The authors declare no conflicts of interests.
Статья поступила в редакцию 11.11.2021; одобрена после рецензирования 2.12.2021; принята к публикации 3.12.2021.
The article was submitted 11.11.2021; approved after reviewing 2.12.2021; accepted for publication 3.12.2021.
© А Н. Черкасов, И И. Грибко, 2021