Академический Документы
Профессиональный Документы
Культура Документы
1 курс, 3530203/20002
(номер курса обучения и учебной группы)
СОДЕРЖАНИЕ
Введение ................................................................................................................ 3
Глава 1. Теоретическая часть обработки текста ................................................. 5
1.1. Способы преобразования аудиосообщения в текст ..................................... 5
1.2. Первичные признаки речи ........................................................................... 6
1.3. Обработка естественных языков.................................................................. 7
Глава 2. Определение эмоциональной окрашенности сообщения ...................... 11
2.1. Классификация эмоций................................................................................ 12
2.2. Определение эмоций в аудиозаписях по различным признакам ............... 14
Глава 3. Практическая часть. Преобразование речи в текст ............................. 17
3.1. Выбор набора данных .................................................................................. 18
3.2. Эксперименты по обучению искусственной нейронной сети...................... 19
Глава 4. Апробация разработанной модели и выводы........................................ 22
4.1. Тестирование полученных моделей искусственных нейронных сетей ....... 22
4.2. Выводы об улучшении модели и целесообразности ее использования ...... 23
Заключение ........................................................................................................... 25
Список использованных источников ................................................................... 29
Приложение. Исходный код разработанной программы .................................... 31
3
ВВЕДЕНИЕ
Рисунок 2.4. Участки основного тона звуковых файлов при положительном эмо-
циональном состоянии
Рисунок 2.5. Участки основного тона звуковых файлов при отрицательном эмо-
циональном состоянии
радостном всплеске эмоций таблица может указывать на категорию эмоции "крик", хотя
это может не соответствовать действительности. А при угнетенном состоянии уровень
громкости может показывать нормальное, то есть нейтральное состояние. Тем не менее,
можно наблюдать совпадение уровня громкости при радостном всплеске положитель-
ного эмоционального окраса и разрывающемся крике при отрицательном окрасе. Также
возможно совпадение уровня громкости при угнетенном состоянии.
Sentence Error Rate), особенно в диалоговых системах, где нельзя скорректировать про-
цесс распознавания [23].
В последнее время WER стал основным показателем точности работы систем
распознавания речи при сравнении различных систем. Поскольку с развитием речевых
технологий WER приближается к нулю, его улучшение становится более наглядным
показателем, чем улучшение точности распознавания слов.
Для базовой модели была выбрана QuartzNet15x5Base - En, которая была обу-
чена на шести различных датасетах: NSC Singapore English, WSJ, Fisher, Switchboard,
LibriSpeech и Mozilla Common Voice, общим объемом 3300 часов. Эта модель достиг-
ла WER (Word Error Rate) в 3,79% на тестовой выборке датасета LibriSpeech [10]. При
сравнении английской и русской частей набора данных Common Voice можно заметить,
что подвыборка на русском языке значительно меньше. Для преодоления ограниченного
количества данных на конкретный язык был проведен эксперимент по переносу обуче-
ния (transfer learning) и настройке (fine-tuning) модели под другие языковые домены.
Это позволяет использовать имеющиеся данные более эффективно и обучать модель на
разных языках.
QuartzNet имеет модульную архитектуру, состоящую из кодировщика (encoder)
и декодера (decoder). Кодировщик выполняет обработку акустических данных и созда-
ет скрытое представление речи. Декодер использует это представление для генерации
букв из алфавита целевого языка. Однако из-за различия языков исходной модели (ан-
глийский) и целевой модели (русский), декодер не может быть использован повторно.
Тем не менее, кодировщик может быть использован в обучении, так как он отвечает за
обработку акустических признаков и создание репрезентации речи, которая может быть
общей для разных языков. В качестве словаря для декодера используется 34 символа –
кириллический алфавит и пробел.
В первом эксперименте была проведена тренировка модели QuartzNet с обновлен-
ным декодером на датасете train и dev из Common Voice (результаты см. на рис. 3.9).
Этот датасет был использован для обучения и валидации модели.
Рисунок 3.9. Значения WER и loss при обучении на датасете Common Voice
После 30 эпох обучения модель A показала адаптацию к новому алфавиту, и
значение метрики WER на валидационной выборке составило 0,4 без использования
лингвистической модели. Это говорит о том, что результат можно дальше улучшить
путем использования языковой модели, обученной на конкретном домене.
21
ЗАКЛЮЧЕНИЕ
ского анализа эмоций в различных сферах, таких как маркетинг, медицина, психология
и развлекательная индустрия.
Одним из ключевых аспектов исследования было определение эмоционального
окраса в тексте с помощью различных характеристик, таких как частота основного то-
на, паузы и громкость. Результаты экспериментов, проведенных для определения эмо-
ционального окраса в тексте с помощью искусственного интеллекта, демонстрируют
высокую степень точности и близость к реальности. В ходе исследований были выяв-
лены основные различия в характеристиках положительно и отрицательно окрашенной
речи.
Эксперименты позволили установить, что положительно окрашенная речь обычно
характеризуется более высокой частотой основного тона и более активным использова-
нием пауз. Это может быть связано с энергичным и эмоционально ярким состоянием
говорящего в положительных ситуациях.
С другой стороны, отрицательно окрашенная речь обычно имеет более низкую
частоту основного тона и более продолжительные паузы. Это может указывать на более
спокойное и пассивное состояние говорящего в отрицательных ситуациях.
Основные различия в характеристиках положительно и отрицательно окрашен-
ной речи были успешно выявлены с помощью искусственного интеллекта. Эти результа-
ты подтверждают возможность использования автоматизированных систем для анали-
за и распознавания эмоций в тексте. Это открывает новые возможности для развития
приложений, основанных на распознавании эмоций, в таких областях, как социальные
медиа, обработка естественного языка, маркетинг и многое другое.
В целом, результаты экспериментов свидетельствуют о потенциале и эффектив-
ности использования искусственных нейронных сетей для определения эмоционального
окраса в тексте. Дальнейшее развитие и усовершенствование этих методов могут при-
вести к более точным и надежным системам анализа эмоций, которые будут иметь зна-
чительное влияние на различные области нашей жизни.
Кроме того, было проведено обучение искусственной нейронной сети QuartzNet15-
x5Base - En, которая изначально предназначена для распознавания речи на английском
языке, для распознавания речи на русском языке. Этот эксперимент успешно показал,
что модель, обученная на одном языке, может быть адаптирована и использована для
другого языка, в данном случае - для русского языка. Это открывает перспективы при-
менения подобных моделей для других языков, включая, например, немецкий язык.
Полученные результаты исследования являются важным шагом в направлении
разработки собственной искусственной нейронной сети, способной распознавать речь на
русском и немецком языках с разным эмоциональным окрасом и преобразовывать ее в
текст. В будущем на основе полученных знаний можно разработать более сложные мо-
дели, которые будут способны адаптироваться к разным языкам и учиться распознавать
и передавать более тонкие нюансы эмоционального окраса в речи.
Таким образом, исследования в области преобразования речи на различных язы-
ках в текст с разным эмоциональным окрасом с использованием нейронных искусствен-
ных систем показали свою перспективность. Дальнейшие исследования в этой области
27
1. Amodei, D., Ananthanarayanan, S., Anubhai, R., Bai, J., Battenberg, E., Case, C.,
... Zhu, Z. (2016, June). Deep speech 2: End-to-end speech recognition in english and
mandarin. In International conference on machine learning (pp. 173-182). P MLR.
2. Cho, Kyunghyun, Van Merrienboer, Bart, Gulcehre, Caglar, Bahdanau, Dzmitry, Bougares,
Fethi, Schwenk, Holger, and Bengio, Yoshua. Learning phrase representations using rnn
encoder-decoder for statistical machine translation. In EMNLP , 2014.
3. Hannun, A., Case, C., Casper, J., Catanzaro, B., Diamos, G., Elsen, E., ... Ng, A. Y.
(2014). Deep speech: Scaling up end-to-end speech recognition.
4. Kalyan, V.P. 1998. Musyka, rech’ i komp’yuter [Music, speech, and computer]. Moscow:
A. A. Dorodnitsyn CC RAN. 38 p.
5. Kriman, S., Beliaev, S., Ginsburg, B., Huang, J., Kuchaiev, O., Lavrukhin, V., ...
Zhang, Y. (2020, May). Quartznet:Deep automatic speech recognition with 1d time-
channel separable convolutions. In ICASSP 2020-2020 IEEE International Conference
on Acoustics, Speech and Signal Processing (ICASSP) (pp. 6124-6128). IEEE.
6. Kuchaiev, O., Li, J., Nguyen, H., Hrinchuk, O., Leary, R., Ginsburg, B., ... Cohen,
J. M. (2019). Nemo: a toolkit for building ai applications using neural modules. arXiv
preprint arXiv:1909.09577.
7. Leontiev, V.O. 2008. Desyat’ nereshennykh problem teorii soznaniya i emotsiy [Ten
unsolved problems in the theory of consciousness and emotions]. Odessa.
8. Paszke, A., Gross, S., Massa, F., Lerer, A., Bradbury, J., Chanan, G., ... Chintala,
S. (2019). PyTorch: An Imperative Style, High-Performance Deep Learning Library.
In Advances in Neural Information Processing Systems 32 (pp. 8024–8035). Curran
Associates, Inc.
9. Slizhikova, A., Veysov, A., Nurtdinova, D., Voronin, D., Baburov, Y.:Russian open
speech-to-text (stt/asr) dataset (2019).
10. V. Panayotov, G. Chen, D. Povey, and S. Khudanpur, “Librispeech: an asr corpus based
on public domain audio books,” in ICASSP , 2015, pp. 5206–5210.
11. Z. Dai, Z. Yang, Y. Yang, J.G. Carbonell, Q.V. Le, and R. Salakhutdinov, “Transformer-
xl: Attentive language models beyond a fixed-length context,” arXiv:1901.02860, 2019.
12. Бурнашев Р. Ф., Аламова А. С. Роль нейронных сетей в лингвистических исследо-
ваниях //Science and Education. - 2023. - Т. 4. - №. 3. - С. 258-269.
13. Бурнашев Р. Ф., Мустафина А. Д. Синтаксический анализ как инструментарий
квантитативной лингвистики //Science and Education. - 2022. - Т. 3. - №. 12. - С.
1211-1220.
14. Бурнашев Р.Ф. и др. Роль экспертных систем в лингвистических исследованиях
//Science and Education. - 2023. - Т. 4. - №. 3. - С. 941-950.
15. Бурнашев Р.Ф., Аламова А.С. Квантитативная лингвистика и искусственный ин-
теллект //Science and Education. - 2022. - Т. 3. - №. 11. - С. 13901402.
30
Приложение
#Установка библиотеки
#Установка зависимостей\ и\ самого NeMo
#pip install wget
#apt−get install sox libsndfile1 ffmpeg
#pip install unidecode
#pip install matplotlib>=3.3.2
#pip install −−upgrade numba
#BRANCH = 'main'
#python −m pip install git+
https:F/github.com/NVIDIA/NeMo.git@
\$BRANCH#egg=nemo_toolkit[all]
import nemo
import nemo.collections.asr as nemo_asr
# импорт\ предобученной\ модели, которая\ дана\ в\
репозитории\ NeMo
rus_quartznet = nemo_asr.models.EncDecCTCModel.
from_pretrained (model_name=
'stt_ru_quartznet15x5')
#Для прослушивания\ аудио
import IPython
audio_rus_file = ['/content/rus_text_audit_eto.mp3']
IPython.display.Audio(audio_rus_file[0])
#Транскрибация
rus_quartznet.transcribe(paths2audio_files=audio_rus_file
)
VERSION = "cv−corpus−6.1−2020−12−11"
LANGUAGE = "ru"
train_manifest = f"{manifest_dir}/
commonvoice_train_manifest.
json"
dev_manifest = f"{manifest_dir}/commonvoice_dev_manifest.
json"
32
test_manifest = f"{manifest_dir}/
commonvoice_test_manifest.
json"
rus_quartznet._cfg['validation_ds']['manifest_filepath']
= dev_manifest
# расчёт WER
rus_quartznet._cfg['validation_ds'][
'batch_size'] = 10 #чем\ больше\ данное\ значение,
тем
#больше пропускная\ способность, тем\ быстрее\
посчитается
#Настройка загрузчика\ тестовых\ данных
rus_quartznet.setup_test_data
(test_data_config=rus_quartznet._cfg['validation_ds'])
rus_quartznet.cuda()
rus_quartznet.eval()
targets = test_batch[2]
targets_lengths = test_batch[3]
rus_quartznet._wer.update(predictions=
greedy_predictions,
targets=targets, target_lengths=targets_lengths,
predictions_lengths=encoded_len)
rus_quartznet._wer.reset()
wer_nums.append(wer_num.detach().cpu().numpy())
wer_denoms.append(wer_denom.detach().cpu().numpy())
ru_quartz.cfg.decoder.vocabulary = new_vocab
#замена
ru_quartz.cfg.decoder['num_classes'] = len(new_vocab)
#обучение происходит\ через\ библиотеку
pytorch_lightning
import pytorch_lightning as pl
#прописываем колво−\ гпу\ и\ эпох
trainer = pl.Trainer(gpus=1, max_epochs=5)
#начинаем обучение
trainer.fit(ru_quartz)
#Сохранение:
save_path = f"Название−{LANGUAGE}.nemo"
ru_quartz.save_to(f"{save_path}")