Deepang Raval 1 | Vyom Pathak 1 | Muktan Patel 1 | Brijesh Bhatt 1
Dharmsinh Desai University, Nadiad 1
Wir präsentieren einen neuartigen Ansatz zur Verbesserung der Leistung eines End-to-End-Spracherkennungssystems für die Sprache von Gujarati. Wir folgen einem tiefen Lernbasis, der Faltungs- (Faltungsnetzwerk), BILSTM-Schichten (BI-Direktional Long-Time Memory), dichtes Schichten und verbindungsorientierte zeitliche Klassifizierung (CTC) als Verlustfunktion umfasst. Um die Leistung des Systems mit der begrenzten Größe des Datensatzes zu verbessern, präsentieren wir ein kombiniertes Sprachmodell (WLM- und CLM) -basierter Präfix-Decodierungstechnik und bidirektionaler Encoder-Darstellungen aus Transformatoren (Bert) -basierten Nachbearbeitungstechnik. Um wichtige Erkenntnisse aus unserem ASR -System für automatische Spracherkennung (ASR) zu erhalten, haben wir verschiedene Analysemethoden vorgeschlagen. Diese Erkenntnisse helfen dabei, unser ASR -System auf der Grundlage einer bestimmten Sprache (Gujarati) zu verstehen, und kann ASR -Systeme regeln, um die Leistung für Sprachen mit niedrigen Ressourcen zu verbessern. Wir haben das Modell auf dem Microsoft-Sprachkorpus trainiert und beobachten eine Abnahme der Wortfehlerrate um 5,11% in Bezug auf das Basismodell.
Wenn Sie diese Arbeit nützlich finden, zitieren Sie diese Arbeit mit folgenden 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Ändern Sie das Verzeichnis in die Wurzel des Repositorys.
pip install --upgrade pip
pip install -r requirements.txtÄndern Sie das Verzeichnis in die Wurzel des Repositorys.
Um das Modell in der Zeitung zu trainieren, führen Sie diesen Befehl aus:
python ./Train/train.pyNotiz:
PathDataAudios und PathDataTranscripts , um auf den entsprechenden Pfad zu Audio -Dateien und Pfad zur TRAScript -Datei in der Datei train/feature_extractor.py zu verweisen.currmodel in der Datei Train/Train.py, um den gespeicherten Modellnamen zu ändern.Laufen Sie mit dem Modell, das trainiert wurde:
python ./Eval/inference.pyNotiz:
PathDataAudios und PathDataTranscripts , um auf den geeigneten Pfad zu Audio -Dateien und dem Pfad zur TEST -TRAScript -Datei zu verweisen.model zu ändern und den Namen der Datei zum Testen zu ändern, ändern Sie die variable test_data ../Eval/ ist ein .pickle Um die abgeleitete Ausgabe zu dekodieren, rennen Sie:
python ./Eval/decode.pyNotiz:
.pickle -Ändern Sie die model ../Eval/ gespeichert, spezifisch für ein Modell mit allen Arten von Dekodierung und tatsächlichem Text. Befolgen Sie zur Nachbearbeitung der dekodierten Ausgabe die in diesem Readme genannten Schritte.
Um die Systemanalyse durchzuführen, rennen Sie:
python ./System Analysis/system_analysis.pyNotiz:
Um eine modellspezifische Decoding .csv -Datei auszuwählen, um die model zu ändern.
Um einen spezifischen Spaltentyp (Hypothesentyp) auszuwählen, um die Analyse durchzuführen, ändern Sie die type . Die Ausgabedateien werden in ./System Analysis/ spezifisch für ein Modell und eine Art der Dekodierung gespeichert.
Unser Algorithmus erzielt die folgende Leistung:
| Technikname | Wer (%) Reduktion |
|---|---|
| Präfix mit LMS ' | 2.42 |
| Präfix mit LMS ' + Spell Corrector Bert | 5.11 |
Notiz:
Der Präfix-Dekodierungscode basiert auf 1- und 2 Open-Source-Implementierungen. Der Code für Bert-basierter Zauberkorrektor ist aus dieser Open-Source-Implementierung angepasst
Lizenziert unter der MIT -Lizenz.