ASRT adalah sistem pengenalan suara berbahasa Mandarin berdasarkan pembelajaran mendalam. Jika Anda menyukainya, silakan klik "Bintang" ~
Bahasa ReadMe |. Versi Cina |. Bahasa Inggris |
Beranda proyek ASRT | . Unduhan versi rilis |. Lihat dokumen Wiki proyek ini |. Pengalaman efek praktis Demo |
Jika Anda mengalami masalah saat menjalankan atau menggunakan program, Anda dapat menyampaikan masalah tersebut tepat waktu dan saya akan meresponsnya sesegera mungkin. Penulis proyek ini berkomunikasi di grup QQ: 894112051. Untuk bergabung dengan grup WeChat, silakan tambahkan ID WeChat AI Lemon: ailemon-me , dan catat "Pengenalan Ucapan ASRT"
Harap baca dokumentasi proyek, FAQ, dan Masalah dengan cermat sebelum mengajukan pertanyaan untuk menghindari pertanyaan berulang.
Jika ada kelainan saat program sedang berjalan, harap kirimkan tangkapan layar lengkap saat mengajukan pertanyaan, dan tunjukkan arsitektur CPU yang digunakan, model GPU, sistem operasi, versi Python, TensorFlow dan CUDA, dan apakah ada kode atau kumpulan data yang telah dimodifikasi telah ditambahkan atau dihapus, dll. .
Proyek ini menggunakan tensorFlow.keras berdasarkan jaringan saraf konvolusional dalam dan jaringan saraf memori jangka pendek, mekanisme perhatian, dan implementasi CTC.
Ambil operasi di sistem Linux sebagai contoh:
Pertama, kloning proyek ini ke komputer Anda melalui Git, lalu unduh kumpulan data yang diperlukan untuk pelatihan proyek ini. Lihat tautan unduhan di akhir dokumen.
$ git clone https://github.com/nl8590687/ASRT_SpeechRecognition.git
Atau Anda dapat menggunakan tombol "Fork" untuk membuat salinan proyek ini, lalu mengkloningnya secara lokal menggunakan kunci SSH Anda sendiri.
Setelah mengkloning gudang melalui git, masuk ke direktori root proyek; dan buat subdirektori untuk menyimpan data, seperti /data/speech_data
(Anda dapat menggunakan tautan lunak sebagai gantinya), lalu langsung mengekstrak kumpulan data yang diunduh ke dalamnya
Perhatikan bahwa dalam versi saat ini, enam kumpulan data termasuk Thchs30, ST-CMDS, Primewords, aishell-1, aidatatang200, dan MagicData ditambahkan secara default di file konfigurasi. Jika Anda ingin menggunakan kumpulan data lain, Anda perlu menambahkan konfigurasi data sendiri dan mengatur data terlebih dahulu menggunakan format standar yang didukung oleh ASRT.
$ cd ASRT_SpeechRecognition
$ mkdir /data/speech_data
$ tar zxf <数据集压缩文件名> -C /data/speech_data/
Unduh file label pinyin dari kumpulan data default:
$ python download_default_datalist.py
Model yang tersedia saat ini adalah 24, 25, 251 dan 251 miliar
Sebelum menjalankan proyek ini, harap instal pustaka yang bergantung pada versi Python3 yang diperlukan
Untuk memulai pelatihan proyek ini, silakan jalankan:
$ python3 train_speech_model.py
Untuk mulai menguji proyek ini, silakan jalankan:
$ python3 evaluate_speech_model.py
Sebelum pengujian, pastikan jalur file model yang diisi kode ada.
Memprediksi teks pengenalan ucapan untuk satu file audio:
$ python3 predict_speech_file.py
Untuk memulai server API protokol HTTP ASRT, jalankan:
$ python3 asrserver_http.py
Uji secara lokal apakah pemanggilan layanan API protokol HTTP berhasil:
$ python3 client_http.py
Untuk memulai server API protokol ASRT GRPC, silakan jalankan:
$ python3 asrserver_grpc.py
Uji secara lokal apakah pemanggilan layanan API protokol GRPC berhasil:
$ python3 client_grpc.py
Harap dicatat bahwa setelah membuka server API, Anda perlu menggunakan perangkat lunak klien yang sesuai dengan proyek ASRT ini untuk pengenalan suara untuk detailnya, lihat dokumen Wiki untuk mengunduh SDK dan Demo klien pengenalan suara ASRT.
Jika Anda ingin melatih dan menggunakan model non-251 miliar, harap lakukan modifikasi di lokasi yang sesuai dari from speech_model.xxx import xxx
dalam kode.
Gunakan buruh pelabuhan untuk menerapkan ASRT secara langsung:
$ 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
Hanya CPU yang menjalankan pengenalan inferensi tanpa pelatihan.
DCNN+CTC
Diantaranya, durasi waktu maksimum audio input adalah 16 detik, dan outputnya adalah urutan Pinyin China yang sesuai.
Model terlatih disertakan dalam paket terkompresi program server versi rilis. Versi rilis program server yang telah selesai dapat diunduh di sini: halaman unduh ASRT.
Halaman Rilis di bawah repositori Github ini juga menyertakan informasi pengenalan untuk setiap versi yang berbeda. Paket zip di bawah setiap versi juga berisi paket program server rilis dari model yang dilatih.
Model Markov tersembunyi entropi maksimum berdasarkan grafik probabilitas
Inputnya adalah rangkaian pinyin China, dan outputnya adalah teks karakter China yang sesuai.
Saat ini, model terbaik pada dasarnya dapat mencapai 85% akurasi Pinyin Tiongkok pada set pengujian.
Jika Anda tidak tahu cara menginstal lingkungan, silakan jalankan perintah berikut secara langsung (asalkan Anda memiliki GPU dan Python3.9, CUDA 11.2 dan cudnn 8.1 telah diinstal):
$ pip install -r requirements.txt
Tergantung pada persyaratan konfigurasi lingkungan dan kinerja
Untuk konten selengkapnya, silakan lihat: Beberapa kumpulan data ucapan bahasa Mandarin terbaru yang gratis dan open source
Kumpulan data | lamanya | ukuran | Unduhan domestik | Unduh di luar negeri |
---|---|---|---|---|
THCHS30 | 40 jam | 6.01G | data_thchs30.tgz | data_thchs30.tgz |
ST-CMDS | 100 jam | 7.67G | ST-CMDS-20170001_1-OS.tar.gz | ST-CMDS-20170001_1-OS.tar.gz |
AIShell-1 | 178 jam | 14.51G | data_aishell.tgz | data_aishell.tgz |
Kata dasar | 100 jam | 8.44G | primewords_md_2018_set1.tar.gz | primewords_md_2018_set1.tar.gz |
Data Ajaib | 755 jam | 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 |
Catatan: Metode dekompresi kumpulan data AISHELL-1
$ tar xzf data_aishell.tgz
$ cd data_aishell/wav
$ for tar in *.tar.gz; do tar xvf $tar; done
Terima kasih khusus! Terima kasih kepada para pendahulu atas kumpulan data pidato publik
Jika link dataset yang disediakan tidak dapat dibuka dan diunduh, silakan klik link OpenSLR
ASRT menyediakan kemampuan akses SDK untuk berbagai platform dan bahasa pemrograman bagi klien untuk memanggil dan mengembangkan fungsi pengenalan suara melalui RPC. Untuk platform lain, fungsi pengenalan suara dapat diakses langsung dengan memanggil RESTful Open API umum. Silakan lihat dokumentasi proyek ASRT untuk langkah-langkah akses spesifik.
Platform klien | Tautan repositori proyek |
---|---|
SDK dan Demo Klien Windows | ASRT_SDK_WinClient |
SDK dan Demo klien Python3 lintas platform | ASRT_SDK_Python3 |
SDK dan Demo klien Golang lintas platform | asrt-sdk-go |
SDK dan Demo Klien Java | ASRT_SDK_Java |
Silakan periksa artikel ini untuk mengetahui prinsip-prinsip ASRT:
Silakan lihat tutorial pelatihan dan penerapan ASRT:
Untuk pertanyaan umum tentang prinsip model bahasa statistik, silakan lihat:
Untuk pertanyaan tentang CTC, silakan lihat:
Untuk konten lebih lanjut, silakan kunjungi blog penulis: AI Lemon Blog
Atau gunakan mesin pencari situs AI Lemon untuk mencari informasi terkait
GPL v3.0 © nl8590687 Penulis: AI Lemon
DOI: 10.5281/zenodo.5808434
Halaman kontributor
@nl8590687 (pemilik repo)