Phân tích cú pháp đồ thị cho ngữ pháp ngữ cảnh tự do (CFG

Một phần của tài liệu Nghiên cứu về nhận dạng tiếng nói tiếng việt và ứng dụng thử nghiệm trong điều khiển máy tính luận văn thạc sĩ (Trang 71 - 73)

(CFG - Context Free Grammars):

Thuật toán này được sử dụng rộng rãi trong các hệ thống hiểu ngôn ngữ nói tiên tiến.

Từ trên xuống hay từ dưới lên:

Phân tích cú pháp là một trường hợp đặc biệt của vấn đề tìm kiếm một cách tổng quát bắt gặp trong nhận dạng tiếng nói. Thủ tục tìm kiếm có thể bắt đầu từ nút gốc của cây với ký hiệu S, ngoài ra có thể bắt đầu từ các từ trong câu nhập vào và xác định một câu từ sao cho khớp một vài ký hiệu không kết thúc. Thủ tục từ dưới lên có thể được nhắc lại với các ký hiệu phân tích từng phần cho đến khi nút gốc của cây hoặc ký hiệu bắt đầu S được xác định.

Một phương pháp từ trên xuống bắt đầu với S, sau đó tìm kiếm thông qua những cách khác để viết lại các ký hiệu cho đến khi câu nhập vào được tạo ra, hay đến khi tất cả xác suất được kiểm tra. Một dạng ngữ pháp được nói đến chấp nhận một câu nếu có một câu của các qui tắc cho phép chúng ta viết lại ký hiệu bắt đầu trong câu. Một câu của các qui tắc viết lại có thể được minh họa như sau:

S

NP VP (viết lại S sử dụng sNP)

 NAME VP (viết lại NP sử dụng NPNAME)  Mary VP (viết lại NAME sử dụng NAMEMary) …

Một cách thay đổi, chúng ta có thể lấy cách tiếp cận từ dưới lên để bắt đầu với những từ trong câu nhập vào và sử dụng qui tắc ghi lại phía sau để giảm câu của các ký hiệu cho đến khi nó trở thành S. Phía bên tay trái hay mỗi qui tắc được sử dụng để ghi lại ký hiệu trên phía bên tay phải như sau:

 NAME loves that person (ghi lại Mary sử dụng NAMEMary)  NAME V that person (ghi lại loves sử dụng Bloves)

 NP VP (ghi lại NP sử dụng SNP VP)

 S

Một thuật toán phân tích cú pháp phải được tổ chức có hệ thống với mọi trạng thái có khả năng mà biểu diễn nút trung gian trên cây phân tích cú pháp. Nếu có một lỗi xảy ra sớm trong việc lựa chọn quo tắc ghi lại S, các kết quả phân tích cú pháp trung gian có thể rất lãng phí nếu số các qui tắc trở nên càng lớn.

Phân tích cú pháp đồ thị từ dưới lên: Thuật toán:

Bước 1: khởi tạo: định nghĩa một danh sách được gọi là biểu đồ để lưu trữ các hình cung và một danh sách đã gọi danh sách một số vấn đề để lưu các thành phần cho đến khi chúng được thêm vào biểu đồ.

Bước 2: lặp lại từ bước 2 đến bước 7 đến khi không còn dữ liệu đầu vào. Bước 3: thêm vào và lấy ra từ danh sách: nếu danh sách là rỗng, tìm kiếm từ tiếp theo trong đầu vào và thêm chúng vào danh sách. Lấy thành phần C từ danh sách. Nếu C tương ứng với vị trí từ wiđến wj của câu nhập vào, chúng ta chi biểu thị nó C[i, j].

Bước 4: thêm C[i, j] vào biểu đồ.

Bước 5: thêm hình cung đánh dấu vào biểu đồ. Với mỗi qui tắc trong ngữ pháp dạng XC Y , them vào đồ thị một hình cung dạng X[i, j]oCY, trong đó o cho biết vị trí quan trọng gọi là khóa biểu thị mọi thứ trước o có thể nhìn thấy, nhưng sau o chưa được liên kết.

Bước 6: di chuyển o qua: cho bất cứ hình cung có hiệu lực của dạng

X[1,j]Y…oC…Z (trước wi) trong đồ thị, them một hình cung mới có dạng

X[1,j]Y…oC…Z vào đồ thị.

Bước 7: thêm thành phần mới vào danh sách: với mỗi hình cung dạng

X[1,j]Y…#C thêm thành phần mới vào danh sách X[1,j].

Bước 8: kết thúc: nếu S[1,n] ở trong đồ thị, trong đó n là chiều dài của câu nhập vào, chúng ta có thể thoát một cách thành công nếu chúng ta không muốn

tìm tất cả cách hiểu có khả năng của câu. Đồ thị này có thể bao gồm nhiều cấu trúc S chứa toàn bộ tập các vị trí.

Một phần của tài liệu Nghiên cứu về nhận dạng tiếng nói tiếng việt và ứng dụng thử nghiệm trong điều khiển máy tính luận văn thạc sĩ (Trang 71 - 73)