Các yếu tố cơ sở của mạng chuyển đệ quy

Một phần của tài liệu thiết kế phần mềm phân tích cú pháp tiếng Việt (Trang 29 - 33)

Mạng chuyển đệ quy (recursive transition networks -- RTNs) được Wood đưa ra lần đầu tiên vào năm 1970, là một thiết bị nhận dạng các văn phạm phi ngữ cảnh.

Xét văn phạm đơn giản sau

1. (a) S → NP (Aux) V (NP) PP* 1. (b) S → Aux NP V (NP) PP*

2. NP → (Det) (Quant) Adj* N* N PP* 3. PP → Prep NP

Văn phạm này định nghĩa một ngôn ngữ phi ngữ cảnh trên bảng chữ cái {Aux, V, Det, Quant, Adj, N, Prep}. Ở đây có một mở rộng so với thông thường là các ngoặc tròn, chứa các phần tử tuỳ chọn, và dấu hoa thị dùng để chỉ ký hiệu đi kèm với nó có thể không có hoặc xuất hiện nhiều hơn một lần.

Các vế phải của các quy tắc cũng có thể được xem như định nghĩa của các biểu thức của các ngôn ngữ chính quy, hay các biểu thức chính quy, tương ứng trên các bảng chữ cái {NP, Aux, V, PP} đối với quy tắc 1, {Det, Quant, Adj, N, PP} đối với quy tắc 2 và {Prep, PP} đối với quy tắc 3 -- do đó mỗi biểu thức có thể được diễn tả bằng một ôtômát hữu hạn trạng thái tương đương. Ví dụ, sơ đồ trạng thái của các ôtômát tương ứng với các quy tắc 1.(a) và 1.(b) là:

trong đó ký hiệu JUMP chỉ các bước chuyển không có điều kiện không tiêu thụ ký hiệu.

Nhìn vào biểu diễn này, ta thấy ngay rằng biểu diễn bước chuyển của các trạng thái cho phép ta ghép các vế phải của 1.(a) và 1.(b) thành một sơ đồ duy nhất, vì hai quy tắc là giống nhau kể từ ký hiệu V trở đi. Điều này sẽ làm việc mô tả các thông tin trong hai quy tắc ngắn gọn hơn so với hình thức viết lại. Ghép hai sơ đồ A1(a) và A1(b) ta sẽ được ba sơ đồ bước chuyển tương ứng với bốn quy tắc 1-3 như sau:

Ở đây, ta gặp vấn đề với các cung chuyển NP trong A1 và A3 và PP trong A2. Để biểu diễn đúng theo máy hữu hạn trạng thái thì ta phải coi chúng như những ký hiệu kết, trong khi rõ ràng chúng là các ký hiệu không kết trong văn phạm ban đầu. Vậy nếu chúng không kết thì làm thế nào để đoán nhận được bởi các ôtômát hữu hạn trạng thái tương ứng?

Cách giải thích hiển nhiên ở đây là ta cần có cách nhìn khác đối với những cung "không kết" này, ta coi ba ôtômát A1-A3 là một hệ. Bây giờ ta không đòi hỏi A1 phải đoán nhận ký hiệu NP, mà để nó tạm thời chuyển sang A2, và quay lại với thông tin NP đó có thể đoán nhận được tại vị trí vào hiện tại hay không. Tương tự, A2 phải

chuyển trách nhiệm đoán nhận PP cho A3, đến lượt mình, A3 lại gọi A2 để đoán nhận NP. Rõ ràng là một FSA đơn thuần không thể đáp ứng được tiến trình đệ quy này, bởi nó không có cách nào để ghi nhớ đã xuất phát từ đâu và làm thế nào để quay lại đó sau khi kết thúc một quá trình trung gian. Tuy vậy, ta thấy rằng nếu ta dùng thêm một ngăn xếp để chuyển các FSA này thành một PDA thì thiết bị này hoàn toàn có khả năng quản lý mọi thao tác phụ gồm ghi nhớ và lấy lại các trạng thái.

Khi điều khiển được chuyển sang một quá trình trung gian thì trạng thái hiện tại của máy được đẩy vào ngăn xếp, để khi kết thúc quá trình này máy sẽ quay lại đúng trạng thái đó. Trong thuật ngữ của RTN, việc chuyển điều khiển sang một trạng thái, giả sử NP, được gọi là PUSH NP. Khi ra khỏi trạng thái kết ta dùng một cung có nhãn POP để chỉ rằng khi quá trình kết thúc, máy quay lại trạng thái được lưu trong ngăn xếp.

Ta cũng có thể sử dụng RTN để biểu diễn từ điển, thay vì dùng tập các quy tắc viết lại dạng

Det → 'a' Det → 'the' Det → 'some'

ta có thể sử dụng dạng chuyển như sau và gắn kết quả vào mạng văn phạm tương tự như A1-A3.

Để tiện cho việc trình bày, ta có thể định nghĩa tập các hàm mà cung chuyển có thể gọi. Các hàm tìm kiếm trong từ điển hay sử dụng nhất là CAT, hàm này kiểm tra kiểu từ loại đã định nghĩa trước trong từ điển của từ hiện tại đang đọc vào. Các hàm khác được tóm lược trong bảng sau:

Các hàm Ví dụ Cách dùng

CAT noun đi qua được chỉ nếu từ loại của từ hiện tại có cùng tên WRD of đi qua được chỉ nếu từ hiện tại chính là từ này

JUMP jump luôn có thể đi qua được

POP pop chỉ việc đi qua được toàn bộ mạng chuyển

Để kết thúc mục này, ta tóm tắt sự giống và khác nhau giữa mạng chuyển RTN và các ôtômát hữu hạn trạng thái FSA và ôtômát đẩy xuống PDA như sau:

Ging nhau:

¾ RTN cũng như FSA và PDA đều có thể đoán nhận các câu sinh bởi các văn phạm cấu trúc câu.

¾ RTN tương đương với PDA về khả năng đoán nhận ngôn ngữ sinh bởi văn phạm phi ngữ cảnh (CFG) của Chomsky.

¾ Hoạt động của RTN cũng như FSA và PDA đều có thể được biểu diễn bằng các mạng chuyển.

Khác nhau:

¾ Các cung và các đỉnh (trạng thái): Trong khi các trạng thái trong mạng

chuyển của FSA có nhãn là các từ không kết thúc của văn phạm tương

đương với ôtômat, các cung có nhãn là các từ cuối (cũng như vậy với PDA, trừ các cung rỗng và cung kết thúc pop), thì các cung của RTN có nhãn là các từ không kết thúc (trừ một số cung đặc biệt cũng có nhãn là từ cuối) của văn phạm tương đương, với các trạng thái được đánh dấu tuỳ ý. ¾ Các mạng con: Các mạng chuyển của FSA và PDA là các mạng đầy đủ,

còn mạng chuyển của RTN thì được xử lý như là một tập các mạng con. Với mỗi ký hiệu có xuất hiện ở vế trái trong các qui tắc sinh của văn phạm tương đương được biểu diễn bằng một mạng con.

¾ RTN không đơn định, quá trình đoán nhận do vậy phải dùng phương pháp quay lui. (adsbygoogle = window.adsbygoogle || []).push({});

¾ Do đặc điểm của mô hình RTN là một tập các mạng chuyển con, việc đoán nhận câu trong RTN phải theo phương pháp xử lý từ trên xuống (xuất phát từ mạng con S – tức là mạng biểu diễn các quy tắc sinh có vế trái là tiên đề) và xử lý theo chiều sâu trước (phải đi qua từng mạng con trước khi chuyển sang cung tiếp theo).

Một phần của tài liệu thiết kế phần mềm phân tích cú pháp tiếng Việt (Trang 29 - 33)