Xây dựng hệ thống nhận dạng tiếng việt nói trên nền bộ công cụ kaldi tích hợp mạng nơ ron sâu


Bộ não con người bao gồm khoảng 1011 Nơ ron tham gia vào khoảng 1015 kết nối trên các đường truyền. Mỗi đường truyền này dài khoảng hơn một mét. Các Nơ ron có khả năng nhận, xử lý và truyền các tín hiệu điện hóa trên các đường Nơ-ron, các con đường này tạo nên hệ thống giao tiếp của bộ não.

Cấu tạo của nơ ron sinh học được thể hiện trong hình 1.1. Mỗi Nơ ron sinh học có 3 thành phần cơ bản: Các nhánh vào hình cây (dendrites); thân tế bào (cell body); sợi trục ra (axon). Các nhánh hình cây truyền tín hiệu vào đến thân tế bào.
Thân tế bào tổng hợp và xử lý cho tín hiệu đi ra. Sợi trục truyền tín hiệu ra từ thân tế bào này sang Nơ ron khác. Điểm liên kết giữa sợi trục của Nơ ron này với nhánh hình cây của Nơ ron khác gọi là synapse. Liên kết giữa các Nơ ron và độ nhạy của mỗi synapse được xác định bởi quá trình hóa học phức tạp. Một số cấu trúc của Nơ ron được xác định trước lúc sinh ra. Một số cấu trúc được phát triển thông qua quá trình học.
Nơ ron sinh học hoạt động theo cách thức: nhận tín hiệu đầu vào, xử lý các tín hiệu này và cho ra một tín hiệu output.

NỘI DUNG:

Chương I. CƠ SỞ LÝ THUYẾT ................................................................................ 4
1. 1. Tổng quan về mạng Nơ ron sâu. ..................................................................... 4
1.1.1. Mô tả Nơ–ron sinh học
1.1.2. Mạng Nơ–ron nhân tạo (ANN) ................................................................. 5
1.1.2.1. Cấu trúc mạng Nơ ron nhân tạo ......................................................... 5
1.1.2.2. Mạng được phân lớp .......................................................................... 6
1.1.2.3. Ứng dụng của mạng Nơ ron nhân tạo ................................................ 8
1.1.3. Lĩnh vực học sâu ....................................................................................... 8
1.1.3.1. Perceptrons: Thuật toán học sâu sơ khai ............................................ 8
1.1.3.2. Mạng Nơ ron truyền thẳng cho việc học sâu ................................... 12
1.1.3.3. Một số khái niệm chính về học sâu [17] ........................................ 21
1.1.3.4. Lịch sử lĩnh vực học sâu .................................................................. 23
1.1.3.5. Học sâu trong mạng Nơ ron nhân tạo [16] .................................... 26
1.1.3.6. Các kiến trúc học sâu ....................................................................... 29
1.1.4. Mạng Nơ ron sâu .................................................................................... 29
1.1.4.1. Tổng quan về mạng Nơ ron sâu ....................................................... 29
1.1.4.2. Mạng nơ ron sâu cho mô hình âm học trong nhận dạng tiếng nói[12]29
1.1.4.3. Huấn luyện mạng Nơ ron sâu
1.2. Hệ thống nhận dạng tiếng nói [20] .............................................................. 36
1.2.1. Cấu trúc của một hệ thống nhận dạng tiếng nói...................................... 37
1.2.2. Phân loại hệ thống nhận dạng tiếng nói .................................................. 38
1.2.3. Các phương pháp nhận dạng tiếng nói .................................................... 39
1.2.4. Các ứng dụng của nhận dạng tiếng nói ................................................... 41
Chương II. PHƯƠNG PHÁP THỰC HIỆN VÀ CÔNG CỤ SỬ DỤNG................ 42
2.1. Phương pháp thực hiện đề tài ........................................................................ 42
2.2. Kỹ thuật trích chọn đặc trưng MFCC [3] .................................................... 42
2.3. Mô hình GMM ............................................................................................... 46
2.4. Bộ công cụ nhận dạng tiếng nói Kaldi
2.4.1. Giới thiệu................................................................................................. 47
2.4.2. Cấu trúc bộ công cụ Kaldi
2.5. Ngôn ngữ lập trình Shell ................................................................................ 51
2.6. Ngôn ngữ lập trình Perl ................................................................................. 52
2.7. Ngôn ngữ lập trình Python............................................................................. 52
Chương III. NHẬN DẠNG TIẾNG VIỆT NÓI TRÊN NỀN BỘ CÔNG CỤ KALDI
TÍCH HỢP MẠNG NƠ RON SÂU .......................................................................... 54
3.1. Các bước thực hiện xây dựng hệ thống nhận dạng tiếng nói trên nền bộ công
cụ Kaldi ................................................................................................................. 54
3.2. Chuẩn bị dữ liệu ............................................................................................. 55
3.2.1. Thu âm tiếng nói ..................................................................................... 55
3.2.2. Chuẩn bị dữ liệu văn bản ........................................................................ 56
3.2.3. Một số quy tắc ......................................................................................... 57
3.2.4. Xây dựng các âm vị và tạo từ điển phát âm cho hệ thống nhận dạng..... 58
3.3. Bộ công cụ nhận dạng tiếng nói Kaldi [2] .................................................. 63
3.3.1. Thự hiện download và cài đặt ................................................................. 63
3.3.2. Mô hình thư mục làm việc trong Kaldi ................................................... 64
3.3.3. Mô hình hệ thống nhận dạng tiếng Việt nói với bộ công cụ Kaldi ......... 65
3.3.4. Mạng Nơ ron sâu trong Kaldi
3.3.4.1. Mô hình âm học với DNN ............................................................... 66
3.3.4.2. Công thức DNN ............................................................................... 67
3.3.5. Mô hình GMM ........................................................................................ 68
3.4. Huấn luyện mô hình âm học .......................................................................... 68
3.4.1. Kịch bản mô hình âm học ....................................................................... 68
3.4.2. Chuẩn bị thư mục .................................................................................... 70
3.4.3. Tạo mô hình ngôn ngữ ............................................................................ 72
3.4.4.Tạo các tập tin cho lang_prep/local/dict và lang_prep/local/lang ........... 72
3.4.5. Tạo các tập tin cho lang_prep/lang ......................................................... 75
3.4.6. Thiết lập huấn luyện song song............................................................... 75
3.4.7. Tạo tập tin mfcc.conf trong thư mục common........................................ 76
3.4.8. Trích chọn tham số MFCC...................................................................... 77
3.4.9. Sắp xếp và huấn luyện Monophone ........................................................ 77
3.4.10. Sắp xếp và huấn luyện Triphone (Tri1) ................................................ 79
3.4.11. Huấn luyện với mạng nơ ron sâu (tri4_DNN) ...................................... 81
3.5. Xây dựng đồ thị giải mã
3.6. Giải mã
3.7. Tính WER và SER ........................................................................................ 86
CHƯƠNG IV. KẾT QUẢ THỬ NGHIỆM ............................................................. 88
4.1. Kết quả thực hiện với các mô hình huấn luyện ............................................. 88
4.2. Kết quả thực hiện với các trọng số mô hình ngôn ngữ khác nhau ................ 89
KẾT LUẬN ............................................................................................................... 90
TÀI LIỆU THAM KHẢO ......................................................................................... 92

LINK DOWNLOAD
M_tả

No comments: