/automatic_speech_recognition

Vietnamese Automatic Speech Recognition

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Nhận dạng tiếng nói tiếng Việt

Dự án nghiên cứu về bài toán Nhận dạng tiếng nói tiếng Việt, được phát triển bởi nhóm nghiên cứu xử lý ngôn ngữ tự nhiên tiếng Việt - undertheseanlp. Chứa mã nguồn các thử nghiệm cho việc xử lý dữ liệu, huấn luyện và đánh giá mô hình, cũng như cho phép dễ dàng tùy chỉnh mô hình đối với những tập dữ liệu mới.

Nhóm tác giả

Tham gia đóng góp

Mọi ý kiến đóng góp hoặc yêu cầu trợ giúp xin gửi vào mục Issues của dự án. Các thảo luận được khuyến khích sử dụng tiếng Việt để dễ dàng trong quá trình trao đổi.

Nếu bạn có kinh nghiệm trong bài toán này, muốn tham gia vào nhóm phát triển với vai trò là Developer, xin hãy đọc kỹ Hướng dẫn tham gia đóng góp.

Mục lục

Yêu cầu hệ thống

  • Hệ điều hành: Ubuntu 16.04
  • Python 3.6+
  • conda 4+

Thiết lập môi trường

Cài đặt Kaldi

Để cài đặt Kaldi, thực hiện theo các bước tại hướng dẫn

$ git clone https://github.com/kaldi-asr/kaldi.git kaldi-trunk --origin golden

$ cd kaldi-trunk/tools/; make;

$ extras/install_openblas.sh

$ cd ../src; ./configure  --openblas-root=../tools/OpenBLAS/install; make

Cài đặt language modeling toolkit srilm

Cài đặt dependencies

$ apt-get install gawk

Cài đặt srilm

$ cd kaldi-trunk/tools
$ wget -O srilm.tgz https://raw.githubusercontent.com/denizyuret/nlpcourse/master/download/srilm-1.7.0.tgz
$ ./install_srilm.sh
...
Installation of SRILM finished successfully
Please source the tools/env.sh in your path.sh to enable it

Hướng dẫn sử dụng

Huấn luyện mô hình

Mô tả dữ liệu: Xem chi tiết

Trước khi run train.py phải set lại đường dẫn tới kaldi_folder .

Method predict nên có thêm argument model_path nếu bạn đã thực hiện train trước đó (vì nếu không nó sẽ lấy theo tmp_path của model, mà tmp_path này random cho mỗi lần khởi tạo lại model để chuẩn bị cho việc chạy training mới)

Thay đổi N_TRAIN và N_TEST trong init của KaldiSpeechRecognition để đổi giới hạn tập train/test

Output folder sẽ nằm trong kaldi_folder/egs/uts_{tmp_number} với tmp_number được thấy khi run train.py (EX: "Init Kaldi Speech Recognition in number_of_tmp folder" - Will be updated soon)

Kết quả thử nghiệm

Huấn luyện trên tập dữ liệu VIVOS - OpenFPT, test trên tập VLSP 2018

Mô hình WER
GMM: MFCC + delta + LDA + MLTT 75.27%

Huấn luyện trên tập dữ liệu VIVOS, test trên tập VLSP 2018

Mô hình WER
GMM: MFCC + delta + LDA + MLTT 79.80%
GMM: MFCC + delta 82.03%

Bản quyền

Mã nguồn của dự án được phân phối theo giấy phép GPL-3.0.

Dự án sử dụng tập dữ liệu VIVOS trong các thử nghiệm. Xin vui lòng kiểm tra lại thông tin trên website hoặc báo cáo khoa học tương ứng để biết thông tin về bản quyền và trích dẫn khi sử dụng tập dữ liệu này.