$CFG_FINAL_NUM_DENSITIES = 8;
Số lượng senones phụ thuộc vào độ lớn của bộ từ vựng cũng như tập tin âm thanh huấn luyện, số lượng senone thích hợp có thể tra cứu trong (Bảng 4 Các thông số tương ứng với độ lớn của bộ huấn luyện). Các thông số trong bảng trên chỉ mang tính chất tham khảo, thực tế chúng ta có thể thực nghiệm bộ huấn luyện với các mức senones khác nhau để mang lại kết quả cao nhất.
# Number of tied states (senones) to create in decision-tree clustering $CFG_N_TIED_STATES = 1000;
Công đoạn cuối cùng là thực hiện mã huấn luyện sau:
Đối với Sphinxtrain từ bản 1.0.7 về trước
./scripts_pl/make_feats.pl -ctl etc/an4_train.fileids ./scripts_pl/make_feats.pl -ctl etc/an4_test.fileids ./scripts_pl/RunAll.pl
Đối với Sphinxtrain bản snapshot
sphinxtrain run
Trong quá trình huấn luyện nếu xảy ra lỗi chủ yếu là do file chuẩn bị (phone, transcript, fileid,..) chưa đúng, các lỗi được ghi lại cụ thể trong 1 file log có tên [task_folder_name].html nằm trong thực mục task folder.
Phần cài đặt và hướng dẫn huấn luyện được trình bày chi tiết trong tài liệu [12].
4.5. Sử dụng Sphinx trong chương trình Java
Sphinxtrain là bộ công cụ dùng để xây dựng mộ hình âm học (Acoustic Model), Mô hình này bao gồm các các file tham số HMM để sử dụng trong quá trình nhận dạng. Ta có thể sử dụng mô hình này để thiết kế một ứng dụng nhận dạng. CMU Sphinx cung cấp nhiều lựa chọn đa dạng đề ta có thể xây dựng ứng dụng. Nếu ta muốn xây dựng ứng dụng trên các thiết bị di động (mobile, tablet,..) ta có thể dùng gói pocketsphinx để triển khai. Ngược lại, để xây dựng một ứng dụng trên nền tảng PC, ta sẽ dùng Sphinx4. Sphinx4 được viết với ngôn ngữ Java, nhằm mục đính thiết kế ứng dụng có thể chạy được trên các nền tảng hệ điều hành khác nhau. Đề xây dựng ứng dụng sử dụng mô hình âm học vừa được huấn luyện tao có thể làm theo các bước trong hướng dẫn [15].
4.6. Cài đặt HTK
4.6.1. Hướng dẫn cài đặt HTK framework:
Hướng dẫn này được thực hiện trên Linux và HTK version 3.4 Chuẩn bị: HTK-3.4.1.tar.gz
Copy source code trên vào thư mục cài đặt. Ở đây lấy ví dụ giải nén tại thu mục home của linux.
Các bước cài đặt:
Giải nén HTK-3.4.1.tar.gz ra thư mục nào đó. Chuyển tới thư mục home thực hiện câu lệnh giải nén sau:
tar -xvzf HTK-3.4.1.tar.gz
Sau đó ta được thư mục HTK trong home.Chuyển đến thư mục HTK thực hiện các lệnh sau:
#$./configure –prefix=/home/”yourusername”/htk #make all
#make install
Các lệnh trên sẽ biên dịch source code thành các file trong thư mục bin
Việc tiếp theo là phải thực hiện set path của linux tới thư mục bin này để chúng ta có thể thực chạy các tool của HTK trong cửa sổ Terminal của linux:
-Mở file “.profile” trong thư mục “home”
-Thêm dòng sau vào cuối file “.profile” rồi save lại PATH="$PATH:/home/hoavo/HTK/htk/bin"
-Kiểm tra xem đã set path đúng chưa bằng cách gõ lệnh HInit trong cửa sổ Terminal.
4.6.2. Chuẩn bị các thư mục cần thiết cho quá trình training
hmm0 – hmm15: các thư mục chứa các file hmm ở các bước huấn luyện cfg (config): chứa các file config cho một số lệnh trogn qua trình training. ins (instruction): chứa các file .hed và .led.
mlf (master label file): chứa các file .mlf. ph (phones): chứa các file phones: mono, tri. pl (Perl script): chứa các file script viết bằng Perl.
txt (other files): chứa các file linh tinh như từ điển, danh sách file, wdnet, gram, train…
wave: chứa các file Wave. Mfc : Chứa các file mfc
Chuẩn bị các file để huấn luyện:
a. Chuẩn bị file từ điển dict.txt
Trong file từ điển gồm 2 phần: phần từ và cách phiên âm tương ứng của từ đó.Chúng ta đặc biệc coi trọng cách phiên âm để nâng cao hiệu quả nhận dạng. Fifle này được tạo bằng tay và tuy biến cách phát âm sao cho đạt hiệu quả cao nhất.
Lưu ý: Vì trong câu nói chung ta thường có khoảng lặng giữa các từ nên để nhận diện cho hiệu quả, trong bộ từ điển ta định nghĩa thêm phần phiên âm cho các từ
# dict.txt anh a nh ba b a barn b ar n bary b ar y bawsn b aws n beejnh b eej nh boosn b oos n caf c af car c ar chaajm ch aaj m