4.5. Nhận dạng dựa trên phân tích từ vựng
Để tăng tốc thuật tốn nhận dạng, chúng tơi cải tiến thuật toán nhận dạng dựa trên từ điển trong phần giới thiệu bằng thuật toán nhận dạng dựa trên sơ đồ chuyển trạng thái tuyến tính (linear state transition diagram) hay thuật tốn nhận dạng dựa trên bộ phân tích từ vựng (scanner-based recognizer) và chúng tôi tổ chức lại từ điển mẫu.
Từ điển mẫu sẽ được tổ chức thành sơ đồ chuyển trạng thái tuyến tính (xem [12] và [6]) trong đó các trạng thái đóng vai trị khớp nối, các đường chuyển từ trạng thái này đến trạng thái khác được đánh nhãn bằng một véc tơ. Các trạng thái cuối cùng của một mẫu chứa một từ hoặc danh sách từ tương ứng với mẫu. Cách tổ chức này vừa tiết kiệm do chia sẻ được các phần giống nhau của các mẫu và phù hợp với thuật tốn nhận dạng mẫu chúng tơi sẽ trình bày bên dưới. Chúng ta xem hình ảnh dưới đây về một sơ đồ chuyển trạng thái tuyến tính tương ứng với từ điển. Trong đó các từ được ghi trong ngoặc kép và các véc tơ đặc trưng được ký hiệu đơn giản thành các ký tự để cho người đọc cảm thấy gần gũi
Sơ đồ chuyển trạng thái tuyến tính Từ in mu
0 t 1 2 3 tôi o i 4 d 5 7 đi d i c 8 c 9 d 10 chơi e 11 ch 6 i t o i : tôi d d i i : đi c c d : chơi c c e : chợ
Hình 4-4. Sơ đồ chuyển trạng thái tuyến tính
Q trình nhận dạng sẽ được thực hiện bằng cách tìm kiếm mẫu trong tập tin đầu vào dựa vào sơ đồ chuyển trạng thái tuyến tính. Tập tin đầu vào sẽ được tải lên cấu trúc trung gian gọi là đồ thị chuyển hình trạng (configuration transtion graph).
Cấu trúc này phát triển dài ra trong khi tập tin còn lại ngắn dần. Dưới đây là thuật tốn nhận dạng dựa trên phân tích từ vựng
void recognize(speakingfile inf, writingfile outf, lstategraph kbf) {
confgraph conf;
init_graph(conf, get_first_state(kbf) ); while( ! is_end_of(inf) ) {
vect = get_vector(inf);
sym = shift_vector(conf, vect);
if( sym != NULL) print_symbol(outf, sym); }
}