ASRT ist ein chinesisches Spracherkennungssystem, das auf Deep Learning basiert. Wenn es Ihnen gefällt, klicken Sie bitte auf „Stern“ .
ReadMe-Sprache |. Chinesische Version |
ASRT-Projekt-Homepage |. Release-Version herunterladen |. Sehen Sie sich das Wiki-Dokument dieses Projekts an |
Wenn Sie während der Ausführung oder Verwendung des Programms Probleme haben, können Sie diese rechtzeitig im Problem melden und ich werde so schnell wie möglich antworten. Der Autor dieses Projekts kommuniziert in der QQ-Gruppe: 894112051. Um der WeChat-Gruppe beizutreten, fügen Sie bitte die AI Lemon WeChat-ID hinzu: ailemon-me und notieren Sie „ASRT-Spracherkennung“.
Bitte lesen Sie die Projektdokumentation, FAQ und Probleme sorgfältig durch, bevor Sie Fragen stellen, um wiederholte Fragen zu vermeiden.
Sollten beim Ausführen des Programms Auffälligkeiten auftreten, senden Sie bitte bei Fragen einen vollständigen Screenshot und geben Sie die verwendete CPU-Architektur, das GPU-Modell, das Betriebssystem, die Python-, TensorFlow- und CUDA-Versionen an und geben Sie an, ob Code oder Datensätze geändert wurden wurden hinzugefügt oder gelöscht usw. .
Dieses Projekt verwendet tensorFlow.keras, das auf einem tiefen Faltungs-Neuronalen Netzwerk und einem Lang-Kurzzeitgedächtnis-Neuronalen Netzwerk, einem Aufmerksamkeitsmechanismus und einer CTC-Implementierung basiert.
Nehmen Sie als Beispiel den Betrieb unter einem Linux-System:
Klonen Sie dieses Projekt zunächst über Git auf Ihren Computer und laden Sie dann die für das Training in diesem Projekt erforderlichen Datensätze herunter. Siehe den Download-Link am Ende des Dokuments.
$ git clone https://github.com/nl8590687/ASRT_SpeechRecognition.git
Oder Sie können über die Schaltfläche „Fork“ eine Kopie dieses Projekts erstellen und es dann lokal mit Ihrem eigenen SSH-Schlüssel klonen.
Nachdem Sie das Warehouse über Git geklont haben, geben Sie das Stammverzeichnis des Projekts ein, erstellen Sie ein Unterverzeichnis zum Speichern von Daten, z. B. /data/speech_data
(Sie können stattdessen einen Softlink verwenden) und extrahieren Sie dann den heruntergeladenen Datensatz direkt hinein
Beachten Sie, dass in der aktuellen Version sechs Datensätze, darunter Thchs30, ST-CMDS, Primewords, aishell-1, aidatatang200 und MagicData, standardmäßig in der Konfigurationsdatei hinzugefügt werden. Bitte löschen Sie diese selbst, wenn Sie sie nicht benötigen. Wenn Sie andere Datensätze verwenden möchten, müssen Sie die Datenkonfiguration selbst hinzufügen und die Daten im Voraus mithilfe des von ASRT unterstützten Standardformats organisieren.
$ cd ASRT_SpeechRecognition
$ mkdir /data/speech_data
$ tar zxf <数据集压缩文件名> -C /data/speech_data/
Laden Sie die Pinyin-Label-Datei des Standarddatensatzes herunter:
$ python download_default_datalist.py
Derzeit verfügbare Modelle sind 24, 25, 251 und 251 Milliarden
Bevor Sie dieses Projekt ausführen, installieren Sie bitte die erforderlichen, von der Python3-Version abhängigen Bibliotheken
Um mit der Schulung für dieses Projekt zu beginnen, führen Sie bitte Folgendes aus:
$ python3 train_speech_model.py
Um mit dem Testen dieses Projekts zu beginnen, führen Sie bitte Folgendes aus:
$ python3 evaluate_speech_model.py
Stellen Sie vor dem Testen sicher, dass der im Code eingegebene Modelldateipfad vorhanden ist.
Spracherkennungstext für eine einzelne Audiodatei vorhersagen:
$ python3 predict_speech_file.py
Um den API-Server des ASRT-HTTP-Protokolls zu starten, führen Sie bitte Folgendes aus:
$ python3 asrserver_http.py
Testen Sie lokal, ob der Aufruf des HTTP-Protokoll-API-Dienstes erfolgreich ist:
$ python3 client_http.py
Um den API-Server des ASRT GRPC-Protokolls zu starten, führen Sie bitte Folgendes aus:
$ python3 asrserver_grpc.py
Testen Sie lokal, ob der Aufruf des GRPC-Protokoll-API-Dienstes erfolgreich ist:
$ python3 client_grpc.py
Bitte beachten Sie, dass Sie nach dem Öffnen des API-Servers die diesem ASRT-Projekt entsprechende Client-Software für die Spracherkennung verwenden müssen. Weitere Informationen finden Sie im Wiki-Dokument zum Herunterladen des ASRT-Spracherkennungs-Client-SDK und der Demo.
Wenn Sie ein Nicht-251-Milliarden-Modell trainieren und verwenden möchten, nehmen Sie bitte Änderungen an der entsprechenden Stelle von from speech_model.xxx import xxx
im Code vor.
Verwenden Sie Docker, um ASRT direkt bereitzustellen:
$ docker pull ailemondocker/asrt_service:1.3.0
$ docker run --rm -it -p 20001:20001 -p 20002:20002 --name asrt-server -d ailemondocker/asrt_service:1.3.0
Nur die CPU führt die Inferenzerkennung ohne Training durch.
DCNN+CTC
Unter diesen beträgt die maximale Zeitlänge des Eingabeaudios 16 Sekunden und die Ausgabe ist die entsprechende chinesische Pinyin-Sequenz.
Das trainierte Modell ist im komprimierten Paket des Release-Version-Serverprogramms enthalten. Das fertige Serverprogramm der Release-Version kann hier heruntergeladen werden: ASRT-Downloadseite.
Die Seite „Releases“ in diesem Github-Repository enthält auch Einführungsinformationen für die einzelnen Versionen. Das Zip-Paket unter jeder Version enthält auch das Release-Server-Programmpaket des trainierten Modells.
Hidden-Markov-Modell mit maximaler Entropie basierend auf einem Wahrscheinlichkeitsdiagramm
Die Eingabe ist eine chinesische Pinyin-Sequenz und die Ausgabe ist der entsprechende chinesische Zeichentext.
Derzeit kann das beste Modell im Testsatz grundsätzlich eine chinesische Pinyin-Genauigkeit von 85 % erreichen.
Wenn Sie nicht wissen, wie Sie die Umgebung installieren, führen Sie bitte direkt den folgenden Befehl aus (vorausgesetzt, Sie haben eine GPU und Python3.9, CUDA 11.2 und cudnn 8.1 wurden installiert):
$ pip install -r requirements.txt
Hängt von den Umgebungs- und Leistungskonfigurationsanforderungen ab
Den vollständigen Inhalt finden Sie hier: Mehrere aktuelle kostenlose und Open-Source-Sprachdatensätze für Chinesisch
Datensatz | Dauer | Größe | Inländischer Download | Im Ausland herunterladen |
---|---|---|---|---|
THCHS30 | 40h | 6,01G | data_thchs30.tgz | data_thchs30.tgz |
ST-CMDS | 100h | 7,67G | ST-CMDS-20170001_1-OS.tar.gz | ST-CMDS-20170001_1-OS.tar.gz |
AIShell-1 | 178h | 14,51G | data_aishell.tgz | data_aishell.tgz |
Primewords | 100h | 8,44G | primewords_md_2018_set1.tar.gz | primewords_md_2018_set1.tar.gz |
MagicData | 755h | 52G/1,0G/2,2G | train_set.tar.gz/dev_set.tar.gz/test_set.tar.gz | train_set.tar.gz/dev_set.tar.gz/test_set.tar.gz |
Hinweis: Dekomprimierungsmethode für AISHELL-1-Datensätze
$ tar xzf data_aishell.tgz
$ cd data_aishell/wav
$ for tar in *.tar.gz; do tar xvf $tar; done
Besonderer Dank! Vielen Dank an die Vorgänger für den Datensatz zur öffentlichen Rede
Wenn der bereitgestellte Datensatz-Link nicht geöffnet und heruntergeladen werden kann, klicken Sie bitte auf den Link OpenSLR
ASRT bietet SDK-Zugriffsfunktionen für verschiedene Plattformen und Programmiersprachen, damit Kunden Spracherkennungsfunktionen über RPC aufrufen und entwickeln können. Auf anderen Plattformen kann direkt auf Spracherkennungsfunktionen zugegriffen werden, indem die allgemeine RESTful Open API aufgerufen wird. Spezifische Zugriffsschritte finden Sie in der ASRT-Projektdokumentation.
Kundenplattform | Link zum Projekt-Repository |
---|---|
Windows Client SDK und Demo | ASRT_SDK_WinClient |
Plattformübergreifendes Python3-Client-SDK und Demo | ASRT_SDK_Python3 |
Plattformübergreifendes Golang-Client-SDK und Demo | asrt-sdk-go |
Java Client SDK und Demo | ASRT_SDK_Java |
Bitte lesen Sie diesen Artikel für die Prinzipien von ASRT:
Bitte sehen Sie sich das ASRT-Schulungs- und Bereitstellungs-Tutorial an:
Häufig gestellte Fragen zu den Prinzipien statistischer Sprachmodelle finden Sie unter:
Bei Fragen zu CTC siehe:
Weitere Inhalte finden Sie im Blog des Autors: AI Lemon Blog
Oder verwenden Sie die Website-Suchmaschine AI Lemon, um nach verwandten Informationen zu suchen
GPL v3.0 © nl8590687 Autor: AI Lemon
DOI: 10.5281/zenodo.5808434
Mitwirkende-Seite
@nl8590687 (Repo-Inhaber)