Академический Документы
Профессиональный Документы
Культура Документы
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
ВВЕДЕНИЕ
тональности текста.
12
Рисунок 2.4. Участки основного тона звуковых файлов при положительном эмо-
циональном состоянии
Рисунок 2.5. Участки основного тона звуковых файлов при отрицательном эмо-
циональном состоянии
состояниях.
В ходе эксперимента было выяснено, что определение эмоционального окраса зву-
кового файла на основе уровня громкости является непростой задачей. Например,
при
22
Рисунок 3.9. Значения WER и loss при обучении на датасете Common Voice
После 30 эпох обучения модель A показала адаптацию к новому алфавиту, и
значение метрики WER на валидационной выборке составило 0,4 без использования
лингвистической модели. Это говорит о том, что результат можно дальше улучшить
путем использования языковой модели, обученной на конкретном домене.
26
ЗАКЛЮЧЕНИЕ
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.
36
Приложение
#Установка библиотеки
#Установка зависимостей\ и\ самого 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: /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=
#Транскрибация
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"
38
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.optim
обучения\ нейросети:
#определяем новый\ словарь, который\ пойдёт\ на\ замену\
старого\ английского()
new_vocab = [' ', 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж',
'з', 'и', 'й', 'к', 'л', '
м', 'н', 'о', 'п', 'р', 'с',
'т', 'у', 'ф', 'х', 'ц', '
ч', 'ш', 'щ', 'ъ', 'ы', 'ь',
'э', 'ю', 'я']
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}")