Huấn luyện bộ nhận dạng ở mức cú pháp thực chất là tạo ra sơ đồ chuyển trạng thái đẩy xuống và thêm các mẫu vào các từ điển cục bộ. Do đó chúng ta cần phải làm hai bước lớn để tạo ra một bộ nhận dạng. Bước thứ nhất là biên soạn một bộ văn phạm và sinh ra sơ đồ chuyển trạng thái đẩy xuống. Thuật toán sinh sơ đồ chuyển trạng thái chính là nền tảng của bước này. Bước thứ hai là dùng các cặp tập tin âm thanh và nhãn để cập nhật vào các từ điển có trong các trạng thái của sơ đồ vừa tạo ra trong bước một. Bước này khó khăn hơn so với huấn luyện độc lập. Đầu tiên chúng ta cần phân tích cú pháp tập tin nhãn để sinh ra đồ thị chuyển hình trạng. Sau đó chúng ta dựa vào đồ thị chuyển hình trạng để xác định các trạng thái cần cập nhật và mẫu cập nhật tương ứng. Cuối cùng chúng ta tiến hành cập nhật các mẫu vào các trạng thái như đối với huấn luyện độc lập. Thuật toán sinh sơ đồ chuyển trạng thái đẩy xuống đã được trình bày trong phần cơ sở toán.
Sau khi xây dựng được sơ đồ chuyển trạng thái, chúng ta có thể dùng sơ đồ đó để phân tích các tập tin nhãn và thêm các mẫu vào từ điển cục bộ. Với mỗi một cặp tập tin đưa vào huấn luyện chúng ta cần làm thủ tục sau đây
void train(labelfile labf, speakingfile wavf, pstategraph grf) { pconfgraph conf;
parse_label( labf, grf, &conf); //phân tích cú pháp để có sơđồ chuyển hình trạng
for( cf ∈ conf) if( is_const(cf) ) lex_train(wavf); //hình trạng chứa hằng thì thêm mẫu trong wavf
}
Chương 5
TRIỂN KHAI HỆ THỐNG NHẬN DẠNG
Trong phần này, chúng tôi muốn trình bày chi tiết các kết quả mà chúng tôi triển khai dựa trên phần lý thuyết mà chúng tôi đã nghiên cứu. Phần triển khai có thể được coi như tài liệu hướng dẫn sử dụng ở mức chi tiết và cũng có thể được coi như tài liệu tham khảo để triển khai hệ thống nhận dạng tương tự.