Deepang Raval 1 | Vyom Pathak 1 | Муктан Патель 1 | Брижеш Бхатт 1
Дхармсин Университет Десаи, Надиад 1
Мы представляем новый подход для улучшения производительности сквозной системы распознавания речи для языка гуджарати. Мы следуем глубокому обучению, который включает в себя сверточную нейронную сеть (CNN), двунаправленную длинную краткосрочную память (BILSTM), плотные слои и временную классификацию соединения (CTC) в качестве функции потери. Чтобы улучшить производительность системы с ограниченным размером набора данных, мы представляем метод префикса на основе комбинированной языковой модели (WLM и CLM) и представленные представления энкодера из метода постобработки на основе трансформаторов (BERT). Чтобы получить ключевые идеи от нашей системы автоматического распознавания речи (ASR), мы предложили различные методы анализа. Эти идеи помогают понять нашу систему ASR, основанную на конкретном языке (гуджарати), а также могут управлять системами ASR для повышения производительности для низких языков ресурсов. Мы обучили модель в речевом корпусе Microsoft, и мы наблюдаем снижение частоты ошибок слова (WER) на 5,11% по сравнению с базовой моделью.
Если вы найдете эту работу полезной, пожалуйста, укажите эту работу, используя следующее Bibtex:
@inproceedings { raval-etal-2020-end ,
title = " End-to-End Automatic Speech Recognition for {G}ujarati " ,
author = " Raval, Deepang and
Pathak, Vyom and
Patel, Muktan and
Bhatt, Brijesh " ,
booktitle = " Proceedings of the 17th International Conference on Natural Language Processing (ICON) " ,
month = dec,
year = " 2020 " ,
address = " Indian Institute of Technology Patna, Patna, India " ,
publisher = " NLP Association of India (NLPAI) " ,
url = " https://aclanthology.org/2020.icon-main.56 " ,
pages = " 409--419 " ,
abstract = "We present a novel approach for improving the performance of an End-to-End speech recognition system for the Gujarati language. We follow a deep learning based approach which includes Convolutional Neural Network (CNN), Bi-directional Long Short Term Memory (BiLSTM) layers, Dense layers, and Connectionist Temporal Classification (CTC) as a loss function. In order to improve the performance of the system with the limited size of the dataset, we present a combined language model (WLM and CLM) based prefix decoding technique and Bidirectional Encoder Representations from Transformers (BERT) based post-processing technique. To gain key insights from our Automatic Speech Recognition (ASR) system, we proposed different analysis methods. These insights help to understand our ASR system based on a particular language (Gujarati) as well as can govern ASR systems{'} to improve the performance for low resource languages. We have trained the model on the Microsoft Speech Corpus, and we observe a 5.11{%} decrease in Word Error Rate (WER) with respect to base-model WER.",
}git clone https://github.com/01-vyom/End_2_End_Automatic_Speech_Recognition_For_Gujarati.git
python -m venv asr_env
source $PWD /asr_env/bin/activateИзменить каталог на корень репозитория.
pip install --upgrade pip
pip install -r requirements.txtИзменить каталог на корень репозитория.
Чтобы тренировать модель в бумаге, запустите эту команду:
python ./Train/train.pyПримечание:
PathDataAudios и PathDataTranscripts , чтобы указывать на соответствующий путь к аудиофайлам и пути к файлу Trascript, в файле train/facebook_extractor.py.currmodel в файле train/train.py, чтобы изменить имя модели, которое сохраняется.К выводу, используя обученную модель, запустите:
python ./Eval/inference.pyПримечание:
PathDataAudios и PathDataTranscripts , чтобы указывать на соответствующий путь к аудиофайлам и пути к траспировому файлу для тестирования.model переменной и изменить имя файла для тестирования, измените переменную test_data ..pickle ссылок и гипотезы с моделью специфической имени, хранящейся в папке ./Eval/ . Чтобы расшифровать вывод, запустите:
python ./Eval/decode.pyПримечание:
.pickle изменить переменную model ../Eval/ , специфичный для модели со всеми типами декодирования и фактического текста. Для постобработки декодированного вывода выполните шаги, упомянутые в этом Readme.
Чтобы выполнить анализ системы, запустите:
python ./System Analysis/system_analysis.pyПримечание:
Чтобы выбрать модель конкретного декодирующего файла .csv для анализа, измените переменную model .
Чтобы выбрать конкретный тип столбца (тип гипотезы) для выполнения анализа, измените переменную type . Выходные файлы будут сохранены в ./System Analysis/ , специфичный для модели и типа декодирования.
Наш алгоритм достигает следующей производительности:
| Название техники | Было снижение (%) |
|---|---|
| Префикс с LMS ' | 2.42 |
| Префикс с LMS ' + Corrector Bert Bert | 5.11 |
Примечание:
Код декодирования префикса основан на 1 и 2 реализациях с открытым исходным кодом. Код для корректора заклинания на основе BERT адаптирован из этой реализации с открытым исходным кодом
Лицензирован по лицензии MIT.