Biểu diễn không gian tìm kiếm

Một phần của tài liệu MÔ HÌNH ôtômát hữu hạn TRONG hệ THỐNG DỊCH tự ĐỘNG ANH VIỆT (Trang 47 - 51)

a. Trạng thái

Một trạng thái tìm kiếm sẽ gồm bốn thuộc tính: paths, node, input và trans, được định nghĩa như sau:

paths: Danh sách các chuỗi trạng thái so khớp(sau đây gọi tắt là đường đi) một phần.

node: Đỉnh của đồ thị từ biểu thị rằng quá trình so khớp đã được thực hiện đến đỉnh đó.

48

trans: Chỉ dẫn về các toán tử được dùng tại trạng thái đó.

Một phép khớp hoàn toàn, thay thế, chèn và xóa trong một chuỗi so khớp của danh sách đường đi được biểu diễn thành một bản ghi gồm một nhãn và một từ hay các từ, lần lượt là: (E, word), (S, graph word, input word), (I, input word) và (D, graph word) với word là từ trùng nhau ở cả câu đầu vào và đồ thị từ (sau đây gọi tắt

là đồ thị), input word là từ trong câu đầu vào, graph word là từ ở đồ thị.

Chi phí của một trạng thái là chi phí của một đường đi bất kỳ trong danh sách đường đi, do các đường đi trong danh sách đều có chi phí như nhau. Chi phí của một chuỗi so khớp là tổng chi phí các bản ghi của nó. Chi phí của bản ghi được định nghĩa bằng 0 với bản ghi E, 1 với bản ghi I hoặc D. Chi phí của bản ghi S được định nghĩa bằng hai lần khoảng cách ngữ nghĩa giữa các từ trong bản ghi đó, trừ trường hợp nó là một giá trị dương rất nhỏ khi khoảng cách bằng 0. Giá trị nhỏ đó cũng cho biếtchi phí tối thiểu của bản ghi S.

b. Toán tử

Một trạng thái được mở rộng ra thành các trạng thái kế tiếp bởi một toán tử. Có năm toán tử được định nghĩa sau đây, trong khi các toán tử T và I được áp dụng cho một trạng tháithì mỗi toán tử E, S, và D được áp dụng cho tổ hợp gồm một trạng thái và một cạnh của đồ thị.

Ở phần trình bày tiếp theo, mỗi toán tử được áp dụng cho một trạng thái s, và nếu

có, cùng với cạnh e, và s được mở rộng thành trạng thái kế tiếp s’. Mỗi toán tử sẽ

được nêu rõ điều kiện áp dụng và kết quả của việc mở rộng là trạng thái kế tiếp s’.

 Toán tử T:

o Ý nghĩa: Chuyển đổi giữa các chỉ dẫn toán tử.

o Điều kiện: s.trans là E hoặc S.

o Kết quả:

s’.trans = Phép chọn giữa toán tử S và NIL (định nghĩa

phía dưới) nếu s.trans là E, NIL nếu s.trans là S.

 Các thuộc tính khác của s’ giống hệt như của s.

49

o Ý nghĩa: Thực hiện phép khớp hoàn toàn khi tại đỉnh hiện tại của đồ thị có một cạnh có nhãn giống hệt như từ đầu tiên trong phần còn lại của câu đầu vào chưa được xử lý. Trạng thái kế tiếp được sinh ra bằng cách đi theo cạnh đó của đồ thị.

o Điều kiện:

s.trans là E.

s.input không rỗng.

e.source là s.node.

e.label và đầu của s.input giống hệt nhau.

o Kết quả:

s’.paths được sinh bằng cách thêm vào một bản ghi E sau

mỗi phần tử của s.paths.

s’.node = e.destination.

s’.input được sinh bằng cách xóa đi phần đầu của s.input.

s’.trans = (định nghĩa phía dưới).

 Toán tử S:

o Ý nghĩa: Thực hiện phép thay thế khi tại đỉnh hiện tại của đồ thị có một cạnh có nhãn là một từ nội dung có từ loại giống từ đầu tiên trong phần còn lại của câu đầu vào chưa được xử lý. Trạng thái kế tiếp được sinh ra bằng cách đi theo cạnh đó của đồ thị.

o Điều kiện:

s.trans là S.

s.input không rỗng.

e.source là s.node.

e.label và đầu của s.input là các từ nội dung có cùng nhãn

từ loại nhưng không giống hệt nhau và khoảng cách ngữ nghĩa giữa chúng nhỏ hơn 1.

50

s’.paths được sinh bằng cách thêm vào một bản ghi S sau

mỗi phần tử của s.paths.

s’.node = e.destination.

s’.input được sinh bằng cách xóa đi phần đầu của s.input.

s’.trans = Phép chọn giữa toán tử E, S và NIL.

 Toán tử I:

o Ý nghĩa: Thực hiện phép chèn. Trạng thái kế tiếp được sinh ra có đỉnh giống như trạng thái trước.

o Điều kiện:

s.trans là NIL.

s.input không rỗng.

o Kết quả:

s’.paths được sinh bằng cách thêm vào một bản ghi I sau

mỗi phần tử của s.paths.

s’.node = s.node.

s’.input được sinh bằng cách xóa đi phần đầu của s.input.

s’.trans = Phép chọn giữa toán tử E, S và NIL.

 Toán tử D:

o Ý nghĩa: Thực hiện phép xóa.

o Điều kiện:

s.trans là NIL.

s.paths chứa một đường đi có bản ghi cuối cùng không

phải là bản ghi I.

s.node là e.source.

o Kết quả:

s’.paths được sinh bằng cách từs.paths: đầu tiên các đường

đi có bản ghi cuối cùng là bản ghi I được xóa bỏ; tiếp theo một bản ghi D được thêm vào mỗi đường đi còn lại.

51

s’.input =s.input.

s’.trans = Phép chọn giữa toán tử E, S và NIL.

Ở định nghĩa phía trên, phép chọn giữa toán tử S và NILsẽ cho kết quả là S nếu như có khả năng rằng toán tử S sẽ được áp dụng cho s’, ngược lại kết quả là

NIL. Khả năng này được đánh giá là tồn tại nếu đầu của s’.input là một từ nội dung, và có một cạnh có đỉnh đầu là s’.node và nhãn là từ có cùng nhãn từ loại nhưng

không giống hệt đầu của s’.input. Phép chọn giữa toán tử E, S và NILsẽ cho kết quả là E nếu như có một cạnh có đỉnh đầu là s’.node và nhãn là đầu của s’.input, ngược cho kết quả giống phép chọn giữa toán tử S và NIL. Toán tử T không thực sự thực hiện quá trình so khớp nhưng nó điều kiển thứ tự áp dụng các toán tử khác thông qua thuộc tính trans.

Điều kiện áp dụng thứ hai của toán tử D ngăn chặn việc thêm bản ghi D vào sau bản ghi I. Nó có nghĩa là ta áp dụng một quy tắc phải đặt bản ghi D lên trước bản ghi I trong một chuỗi so khớp của I và D nhằm tránh dư thừa do sự xuất hiện nhiều lần của cùng một chuỗi so khớp về bản chất.

c. Trạng thái xuất phát và trạng thái kết thúc

Trong trạng thái xuất phát thuộc tính paths là một danh sách của một chuỗi so khớp rỗng, thuộc tính node chính là đỉnh xuất phát, thuộc tính input là toàn bộ chuỗi từ trong câu đầu vào và thuộc tính trans là toán tử E.

Một trạng thái kết thúc là một trạng thái mà thuộc tính node là đỉnh kết thúc và thuộc tính input là rỗng.

Một phần của tài liệu MÔ HÌNH ôtômát hữu hạn TRONG hệ THỐNG DỊCH tự ĐỘNG ANH VIỆT (Trang 47 - 51)