1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt

63 1,1K 4
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 1,01 MB

Nội dung

Tài liệu tham khảo công nghệ thông tin Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt

Trang 1

LỜI NÓI ĐẦU

Xử lý ngôn ngữ tự nhiên nói chung và phân tích cú pháp ngôn ngữ tự nhiên nói riêng là những vấn đề quan trọng của trí tuệ nhân tạo, được nhiều nhà khoa học trên thế giới quan tâm nghiên cứu trong suốt 50 năm qua Các ứng dụng trong lĩnh vực này rất phong phú Ta có thể điểm qua một số ứng dụng chính như dịch máy, kiểm tra và chữa lỗi văn bản, chuyển giao diện người – máy sang ngôn ngữ tự nhiên, nhận dạng chữ viết, thiết kế người máy có khả năng hiểu và nói được tiếng của con người…

Bài toán phân tích cú pháp ngôn ngữ tự nhiên bằng máy tính là bài toán lớn và phức tạp Với tiếng Việt - một ngôn ngữ rất phức tạp thì dường như bài toán này lại càng khó khăn hơn Chúng ta đã có một số công trình nghiên cứu về xử lý tiếng Việt và đã đạt được một số thành công nhất định Tuy nhiên, cho đến nay bài toán phân tích cú pháp tiếng Việt vẫn chưa được giải quyết triệt để Một trong những lý do chính là vì chúng ta chưa nghiên cứu một cách có hệ thống ngữ pháp tiếng Việt và cơ sở lý thuyết về xây dựng những trình phân tích cú pháp cho tiếng Việt còn tương đối ít và chưa hoàn chỉnh

Các mô hình văn phạm phi ngữ cảnh và mạng chuyển được sử dụng rộng rãi trong mô tả cú pháp không chỉ của các ngôn ngữ lập trình mà cả các ngôn ngữ tự nhiên Trong khoá luận này, em sẽ tập trung nghiên cứu việc vận dụng các mô hình này cho bài toán cụ thể là phân tích cú pháp tiếng Việt Ngôn ngữ Việt có nhiều điểm khác so với các ngôn ngữ phổ biến, đã được nghiên cứu nhiều như tiếng Anh hay tiếng Pháp Do đó, chúng ta không thể áp dụng hoàn toàn những kết quả đã đạt được đối với các ngôn ngữ này vào tiếng Việt

Khoá luận trình bày các vấn đề sau: • Khái quát vấn đề phân tích văn bản

• Vận dụng các mô hình văn phạm phi ngữ cảnh và mạng chuyển đệ quy để mô tả ngôn ngữ tự nhiên

• Nghiên cứu các thuật toán phân tích đối với các văn phạm phi ngữ cảnh và các mạng chuyển

• Nghiên cứu một cách hệ thống các đặc điểm của ngữ pháp tiếng Việt • Xây dựng một trình phân tích câu tiếng Anh đơn giản

• Xây dựng một trình phân tích câu tiếng Việt đơn giản

Trang 2

• Đánh giá kết quả đã đạt được và hướng phát triển

Để thực hiện được đề tài này, em đã vận dụng những kiến thức được học trong giai đoạn đại cương và chuyên ngành, đồng thời học hỏi và nghiên cứu thêm lĩnh vực ngôn ngữ học và tiếng Việt Để tạo ra một sản phẩm phần mềm tương đối khả quan cần có sự nghiên cứu lâu dài và có hệ thống trên cả ba lĩnh vực toán học, tin học và ngôn ngữ học Nếu chỉ có những kiến thức tin học thì sản phẩm tạo ra sẽ không thể mang ứng dụng trong thực tế Vì vậy, việc đồng thời trau dồi những kiến thức toán học, tin học và ngôn ngữ học là rất cần thiết

Những công việc em đã thực hiện mới chỉ là bước đầu trong việc xử lý các văn bản tiếng Việt Em rất mong muốn tiếp tục nhận được sự hỗ trợ và chỉ bảo tận tình của các thầy cô giáo, các nhà chuyên môn cùng toàn thể các bạn sinh viên quan tâm, yêu thích công việc xử lý ngôn ngữ tự nhiên, vốn rất khó khăn và phức tạp, cần có lòng kiên trì và say mê cao độ

Em xin được bày tỏ lòng cảm ơn sâu sắc tới TS Lương Chi Mai và ThS Nguyễn Thị Minh Huyền đã tận tình hướng dẫn và giúp đỡ, tạo mọi điều kiện thuận lợi về tài liệu và phương tiện để em hoàn thành khoá luận này

Trong quá trình thực hiện khoá luận, em còn nhận được sự ủng hộ, giúp đỡ và động viên của các anh chị ở Phòng Nhận dạng và Công nghệ Tri thức, Viện Công nghệ Thông tin, Trung tâm Khoa học Tự nhiên và Công nghệ Quốc gia, nơi em thực tập trong thời gian qua Em xin chân thành cảm ơn

Em xin chân thành cảm ơn các thầy cô giáo trong và ngoài Khoa Toán-Cơ-Tin học đã truyền đạt cho em những kiến thức, trang bị cho em những hành trang quý giá trước khi em ra trường Em xin chân thành cảm ơn các thầy cô giáo trong Bộ môn Tin học đã tạo điều kiện cho em được thực hiện một số xêmina khoa học liên quan đến đề tài, và đóng góp nhiều ý kiến quý báu, kịp thời Xin cảm ơn các bạn sinh viên đã động viên, giúp đỡ tôi thực hiện đề tài này

Hà Nội, ngày 10 tháng 5 năm 2002

Sinh viên

Lê Hồng Phương

Trang 3

1.1 Tổng quan về vấn đề phân tích văn bản 7

1.2 Bài toán phân tích cú pháp 7

1.3 Nội dung khoá luận 8

Chương 2 Văn phạm phi ngữ cảnh 9

2.1 Văn phạm và ngôn ngữ sinh bởi văn phạm 9

2.2 Văn phạm phi ngữ cảnh 10

2.3 Biểu diễn cấu trúc câu 11

2.4 Phân tích từ trên xuống 14

2.5 Phân tích từ dưới lên 15

2.6 Đánh giá hai phương pháp phân tích trên 20

3.4 Phân tích từ trên xuống cho mạng chuyển đệ quy 34

Chương 4 Xây dựng văn phạm tiếng Việt 37

4.1 Xây dựng tập từ loại tiếng Việt 37

4.2 Xây dựng văn phạm tiếng Việt 38

Trang 4

4.2.1 Danh ngữ 39

4.2.2 Động ngữ 41

4.2.3 Tính ngữ 44

4.2.4 Câu đơn hai thành phần 45

4.2.5 Văn phạm tiếng Việt 47

Chương 5 Cài đặt chương trình 49

5.1 Cấu trúc dữ liệu 49

5.2 Cài đặt thuật toán 51

5.3 Thể hiện kết quả phân tích 52

Trang 5

Danh mục hình

Hình 1 Phân loại văn phạm của Chomsky 11

Hình 2 Cây biểu diễn câu John ate the cat 14

Hình 3 Biểu đồ sau khi tìm thấy một ADJ tại vị trí 2 16

Hình 4 Sau khi phân tích can là NOUN 18

Hình 5 Biểu đồ sau khi thêm hold 19

Hình 6 Biểu đồ sau khi tìm được tất cả các NP 19

Hình 7 Biểu đồ cuối cùng 20

Hình 8 Vị trí và biểu đồ ban đầu 22

Hình 9 Biểu đồ sau khi phân tích cụm NP đầu tiên 24

Hình 10 Sau khi phân tích khả năng thứ hai của NP đầu tiên 25

Hình 11 Sau khi tìm kiếm một S theo quy tắc 1 bị thất bại 25

Hình 12 Cấu trúc của câu cần phân tích 26

Hình 13 Mạng chuyển đệ quy làm ví dụ trong phân tích từ trên xuống 35

Hình 14 Giao diện chương trình phân tích cú pháp tiếng Anh 53

Hình 15 Phương pháp xây dựng ôtômát âm tiết 59

Hình 16 Phương pháp xây dựng ôtômát từ vựng 59

Hình 17 Một tình huống nhập nhằng 60

Hình 18 Các phương án phân tích cho một câu tiếng Việt nhập nhằng 62

Hình 19 Cây phân tích ứng với cách tách từ đúng 62

Danh mục bảng Bảng 1 Phân tích từ trên xuống, ưu tiên chiều sâu cho văn phạm phi ngữ cảnh 15

Bảng 2 Một văn phạm phi ngữ cảnh đơn giản 20

Bảng 3 Quá trình phân tích từ trên xuống 35

Bảng 4 Phân tích từ trên xuống kết hợp quay lui cho mạng chuyển đệ quy 36

Trang 6

Bảng 5 Tập luật của văn phạm tiếng Việt 48 Bảng 6 Tập luật của văn phạm tiếng Anh 50

Trang 7

Chương 1 Mở đầu

1.1 Tổng quan về vấn đề phân tích văn bản

Phân tích và kiểm tra tính chính xác của văn bản là một vấn đề lớn và phức tạp Quá trình này thường được chia thành 4 giai đoạn chính: phân tích từ vựng, phân tích cú pháp, phân tích ngữ nghĩa và phân tích thực chứng

• • •

Phân tích từ vựng Là quá trình phân tích hình thái các từ vựng tạo nên văn

bản, từ đó kiểm tra được tính đúng đắn của âm tiết và từ

Phân tích cú pháp Là quá trình đưa ra mô tả quan hệ về vai trò ngữ pháp của

các từ, các cụm từ (hoặc ngữ) trong câu, từ đó xây dựng cấu trúc câu

Phân tích ngữ nghĩa Mục đích của phân tích ngữ nghĩa là kiểm tra ý nghĩa của

câu có mâu thuẫn với ý nghĩa cả đoạn hay không Dựa trên mối liên hệ logic về nghĩa giữa các cụm từ trong câu và mối liên hệ giữa các câu trong đoạn, hệ thống sẽ xác định được một phần ý nghĩa của câu trong ngữ cảnh của cả đoạn

Phân tích thực chứng Là quá trình phân tích nhằm xác định ý nghĩa của câu

dựa trên mối liên hệ của câu với hiện thực Ý nghĩa thực tế của câu phụ thuộc rất nhiều vào ngữ cảnh diễn ra lời nói Do vậy, quá trình phân tích này rất khó thực hiện được bằng máy tính Thường thì việc phân tích câu chỉ dừng ở phân tích ngữ nghĩa, còn việc phân tích thực chứng do người dùng tự quyết định

1.2 Bài toán phân tích cú pháp

Phân tích cú pháp đưa ra mô tả về quan hệ và vai trò ngữ pháp của các từ, các cụm từ (hoặc ngữ) trong câu, đồng thời đưa ra hình thái của câu Đầu vào của giai đoạn này là câu đã được phân tách từ, trong đó mỗi từ có đặc điểm hình thái xác định Quá trình kiểm tra cú pháp tiến hành phân tích và tổ hợp các từ ở đầu vào, dựa trên các luật cú pháp để loại bỏ các trường hợp bất quy tắc và từng bước dựng lên cấu trúc cú pháp (cây phân tích) của câu Kết quả cần đạt được là hình thái của câu

Cú pháp là chủ đề nghiên cứu của hai cộng đồng gồm những người làm ngôn ngữ và những người làm tin học Với những người làm ngôn ngữ thì ngôn ngữ là đối tượng nghiên cứu, cú pháp là một trong các cấp độ phải mô tả Với những người làm tin học thì cần làm cho máy tính phân tích được cú pháp với hai mục tiêu là xây dựng các ứng dụng, qua đó phục vụ việc nghiên cứu ngôn ngữ; đối tượng nghiên cứu của họ là các hệ hình thức và các thuật toán

Trang 8

Khi xét về cấu trúc cú pháp có hai khía cạnh, một là thứ tự của các từ, trong đó có

những ràng buộc về cấu tạo câu đúng và chức năng của các thành phần trong câu (chủ ngữ, vị ngữ ); hai là những biến tố (về hình thái, ví dụ các thì, số ít, số nhiều, giống ) quy định ràng buộc về cấu tạo và chức năng ngữ pháp Với tiếng Việt, không có khía cạnh thứ hai

Để phân tích cấu trúc của một câu ta cần đến hai thứ: Thứ nhất là ngữ pháp của ngôn ngữ, là đặc tả hình thức cấu trúc của ngôn ngữ và thứ hai là các kỹ thuật phân

tích, là các phương thức phân tích để tìm ra cấu trúc ngữ pháp của câu, hoặc kết luận

câu sai ngữ pháp Để đặc tả ngữ pháp, người ta đưa ra các mô hình cú pháp của ngôn ngữ

1.3 Nội dung khoá luận

Khoá luận gồm hai nội dung chính

Nội dung thứ nhất là trình bày hai mô hình truyền thống dùng để phân tích cú pháp của ngôn ngữ tự nhiên, gồm các văn phạm phi ngữ cảnh và các mạng chuyển đệ quy Trong khuôn khổ của khoá luận, em chỉ thực hiện phần nghiên cứu, cài đặt các thuật toán phân tích cho văn phạm phi ngữ cảnh và mạng chuyển đệ quy nhằm nắm chắc và làm chủ các kỹ thuật phân tích, các phần khác là triển vọng nghiên cứu trong

tương lai gần Có ba kỹ thuật phân tích được nghiên cứu là phân tích từ trên xuống,

phân tích từ dưới lên và phân tích tổng hợp Ðể tiện trong việc trình bày, toàn bộ các

thuật toán được giải thích và minh hoạ trên bộ văn phạm đơn giản của tiếng Anh Nội dung thứ hai là xây dựng tập từ loại và văn phạm đơn giản cho tiếng Việt, thiết kế cấu trúc dữ liệu và cài đặt các thuật toán phân tích, đánh giá kết quả Vì khuôn khổ của khoá luận có hạn, nên em chỉ trình bày phần cài đặt thuật toán phân tích từ trên xuống cho văn phạm phi ngữ cảnh Kết quả cần đạt được là hoàn thiện một chương trình phân tích cú pháp tiếng Việt đơn giản viết bằng ngôn ngữ lập trình Java, thể hiện kết quả phân tích bằng giao diện đồ hoạ dạng cây

Phần phụ lục của khoá luận trình bày bài toán tách từ vựng tiếng Việt - vấn đề tiền xử lý quan trọng trước khi bước vào phân tích cú pháp

Trang 9

Chương 2 Văn phạm phi ngữ cảnh 2.1 Văn phạm và ngôn ngữ sinh bởi văn phạm

Một tập hợp Χ ≠ φ (vô hạn hoặc hữu hạn) các đối tượng được gọi là một bảng chữ

cái Mỗi phần tử thuộc tập Χ được gọi là một chữ cái hay một ký hiệu Ví dụ, bảng

chữ cái tiếng Việt là Σ = {a, b, c, , y}

Mỗi dãy ký hiệu các phần tử của Χ: α = ai1ai2 ait, aij ∈ Χ, 1 ≤ j ≤ t được gọi là

một từ hay một xâu trên bảng chữ cái Χ Ví dụ ba, ca, con, Tổng số vị trí của tất cả

các ký hiệu xuất hiện trong từ α được gọi là độ dài của α, ký hiệu là |α| Từ có độ dài

bằng 0 được gọi là từ rỗng (trống), được ký hiệu là ε

Gọi Σ* là tập hợp gồm tất cả các từ trên bảng chữ cái Σ, kể cả từ rỗng Mỗi một tập con của tập Σ* được gọi là một ngôn ngữ trên bảng chữ cái Σ Tập rỗng cũng là một ngôn ngữ trên bảng chữ cái tuỳ ý, được ký hiệu bằng φ

Giả sử có bảng chữ cái Σ, một văn phạm là một bộ bốn G = (Σ, V, σ, P), trong đó: ¾ Σ là bảng chữ cái chính hay bảng chữ cái từ hay tập ký hiệu kết

¾ V là bảng chữ cái phụ hay bảng chữ cái làm việc hay tập ký hiệu không kết

¾ σ ∈ V là một ký hiệu phụ, gọi là tiền đề hay ký hiệu xuất phát hay ký hiệu

khởi đầu

¾ P = {ϕ → ψ⎪ϕ∈(Σ ∪V)*\{e}, ψ ∈(Σ ∪V)*, → ∉ (Σ ∪V)} gọi là tập quy

tắc sinh hay tập quy tắc thế của văn phạm G r = ϕ → ψ là một quy tắc sinh hay quy tắc thế của văn phạm G, ϕ, ψ theo thứ tự được gọi là vế trái và vế phải của quy tắc r

Ví dụ, G = ({a, b, c}, {S, A, B}, S, P), trong đó P là

AA → BcBa BcB → Aab

Trang 10

Từ xâu ban đầu α = ΑΒ, bằng các quy tắc sinh đã cho ta có α = AB → β = BAA → γ = BBcBa Ta nói rằng xâu α dẫn trực tiếp ra xâu β, dẫn gián tiếp ra xâu γ và viết là α ⇒ β Tổng quát, giả sử α = α1ϕα2, β = α1ψα2, ϕ → ψ ∈ P thì ta nói rằng xâu α dẫn trực tiếp ra xâu β hoặc xâu β được dẫn trực tiếp từ xâu α

Một dãy từ ω0, ω1, , ωi, ωi+1, , ωm được gọi là một dẫn xuất trong văn phạm G

nếu ∀i, ωi ⇒ ωi+1

Ta nói rằng xâu α dẫn gián tiếp ra xâu β hay xâu β được dẫn gián tiếp từ α trong

văn phạm G, và viết là α β nếu hoặc α = β hoặc tồn tại một dẫn xuất ω mà từ đầu

tiên là α và từ cuối cùng là β

Tập {x ∈ Σ* | σ x} gồm tất cả các từ thuộc bảng chữ cái chính mà mỗi từ này

được dẫn gián tiếp từ tiền đề gọi là ngôn ngữ sinh bởi văn phạm G, ký hiệu là L(G)

Để việc trình bày được ngắn gọn và phân biệt ý nghĩa của các ký hiệu trong văn phạm, ta quy ước: dùng các chữ cái in hoa để chỉ các ký hiệu không kết, các chữ cái thường để chỉ các ký hiệu kết và dùng các ký tự Hy Lạp để chỉ các xâu

2.2 Văn phạm phi ngữ cảnh

Theo cách phân loại của Chomsky, văn phạm được chia thành ba loại, gồm

¾ Văn phạm cảm ngữ cảnh, hoặc văn phạm biến đổi Độ dài của xâu α

bên trái mỗi quy tắc phải nhỏ hơn hoặc bằng độ dài của xâu β bên vế phải của quy tắc đó Nghĩa là mọi sản xuất đều có dạng λAρ → λαρ, trong đó λ và ρ là các xâu bất kỳ (có thể rỗng) λ và ρ có thể coi như vế trái và vế phải của văn cảnh ở đó ký hiệu không kết A được viết lại thành xâu không rỗng α, chính vì vậy nên văn phạm loại này được gọi là cảm ngữ cảnh Các quy tắc sinh cảm ngữ cảnh có thể dùng để chuyển một câu từ dạng chủ động sang dạng bị động tương ứng

¾ Văn phạm phi ngữ cảnh, hay văn phạm cấu trúc cụm Mọi quy tắc đều

có dạng A → α, trong đó A là ký hiệu không kết và α là xâu bất kỳ

¾ Văn phạm chính quy, hay văn phạm tuyến tính phải Mọi quy tắc đều

có một trong hai dạng sau: A → t hoặc A → tN, trong đó A và N là các ký hiệu không kết, t là ký hiệu kết Các văn phạm chính quy không đủ mạnh để mô tả ngôn ngữ tự nhiên (thậm chí cả các ngôn ngữ lập trình) Chúng thường được dùng để mô tả các bộ phận của ngôn ngữ và có thế mạnh là tốc độ phân tích nhanh

Trang 11

Hình 1 Phân loại văn phạm của Chomsky

Các quy tắc sinh của văn phạm phi ngữ cảnh G có thể được chuẩn hoá theo hai

cách mà không làm thay đổi khả năng sinh của nó, gồm dạng chuẩn Chomsky và dạng chuẩn Greibach Trong dạng chuẩn Chomsky, các quy tắc có dạng A → BC hoặc A → a Với dạng chuẩn Greibach, các qui tắc có dạng A → aα

Cây dẫn xuất của văn phạm là một cây được đánh dấu bởi các ký hiệu kết thúc hoặc không kết thúc sao cho mỗi nút mẹ là vế trái của một qui tắc sinh mà vế trái của qui tắc đó lập nên bởi dãy các kí hiệu của các nút con

Hầu hết các ngôn ngữ lập trình đều được mô tả bằng văn phạm phi ngữ cảnh Chẳng hạn, câu lệnh lặp while được mô tả bởi các quy tắc phi ngữ cảnh sau:

WhileStatement → while Condition do StatementList end

StatementList → Statement

StatementList → Statement ; StatementList

Văn phạm phi ngữ cảnh cũng được lựa chọn để biểu diễn cấu trúc cú pháp của các ngôn ngữ tự nhiên bởi hai lý do:

¾ Nó đủ mạnh để mô tả hầu hết những cấu trúc của ngôn ngữ tự nhiên ¾ Nó vừa đủ hạn chế để xây dựng những trình phân tích câu hiệu quả

Sau đây ta đi vào tìm hiểu việc vận dụng các văn phạm phi ngữ cảnh và các thuật toán phân tích để biểu diễn ngôn ngữ tự nhiên và xây dựng các trình phân tích cú pháp

2.3 Biểu diễn cấu trúc câu

Văn phạm phi ngữ cảnh khi được sử dụng để biểu diễn cấu trúc cú pháp thì các ký hiệu kết thúc tương ứng với các từ trong ngôn ngữ, các ký hiệu không kết thúc tương ứng với các phân loại cú pháp (hay từ loại) Tiên đề biểu diễn phân loại "câu" Các quy tắc sinh biểu diễn các quy tắc ngữ pháp Ta có thể chia chúng thành các qui tắc từ

Trang 12

vựng (chứa ít nhất một ký hiệu kết thúc) và các qui tắc ngữ đoạn (không chứa ký hiệu kết thúc nào) Với mỗi từ trong từ vựng có một tập các qui tắc sinh chứa từ này trong vế phải Một cây dẫn xuất cũng được gọi là cây cú pháp cho một phân tích của một ngữ đoạn thành các thành phần kế tiếp

Với lớp câu kể đơn giản nhất trong tiếng Anh, ta dùng bộ quy tắc sinh sau đây:

hiệu không kết Mỗi ký hiệu kết biểu diễn một từ loại Thông thường, một từ có nhiều

kiểu từ loại khác nhau, ví dụ, từ can có thể là VERB hoặc NOUN

Có hai phương pháp điển hình dùng để phân tích văn phạm phi ngữ cảnh, là phân

tích từ trên xuống và phân tích từ dưới lên

¾ Phân tích từ trên xuống: Xuất phát từ ký hiệu đầu S, áp dụng các suy dẫn tiến hành từ trái qua phải thử tạo ra câu cần phân tích

¾ Phân tích từ dưới lên: Xuất phát từ chính câu vào, áp dụng thu gọn các suy dẫn phải, tiến hành từ phải qua trái để đi tới ký hiệu đầu

Ví dụ, xét câu "John ate the cat" Phân tích từ trên xuống như sau S → NP VP

→ NAME VP → John VP

→ John VERB NP → John ate NP

→ John ate ART NOUN→ John ate the NOUN → John ate the cat

Phân tích từ dưới lên thì ngược lại

Một văn phạm rộng hơn dùng cho lớp câu kể của tiếng Anh là

Trang 13

1 S → NP VP 2 NP → ART NOUN 3 NP → NAME 4 PP → PREP NP 5 VP → VERB 6 VP → VERB NP 7 VP → VERB NP NP8 VP → VERB PP

Trong đó, các ký hiệu và từ loại tương ứng được cho trong bảng sau:

Ký hiệu Từ loại tương ứng

NP cụm danh từ VP cụm động từ PP cụm giới từ NOUN danh từ ART mạo từ VERB động từ NAME tên riêng

Theo văn phạm này thì một số câu như

¾ John saw the cat by the pond ¾ The dog barked in the house

là chấp nhận được, nhưng nó cũng chấp nhận những câu không có nghĩa như ¾ The dog allows the house

¾ John barked the cat by the pond

Với câu John ate the cat, ta có cây phân tích như Hình 2

Trang 14

Hình 2 Cây biểu diễn câu John ate the cat

2.4 Phân tích từ trên xuống

Bây giờ ta xây dựng trình phân tích từ trên xuống cho văn phạm phi ngữ cảnh Để mô tả một trạng thái của trình phân tích ta dùng hai thông tin:

¾ Vị trí hiện tại Lưu lại phần nào của câu đã được phân tích rồi

¾ Trạng thái hiện tại Là một xâu các ký hiệu sinh ra từ các quy tắc của văn

phạm

Ở mỗi bước, trình phân tích xét ký hiệu nằm bên trái nhất của danh sách Nếu nó có tên là một từ loại của từ kế tiếp thì xoá ký hiệu này và cập nhật lại vị trí hiện tại một cách thích hợp Sử dụng văn phạm tiếng Anh gồm 8 quy tắc đã nêu ở phần trước, để tiện theo dõi, ta viết lại ở đây:

1 S → NP VP 5 VP → VERB 2 NP → ART NOUN 6 VP → VERB NP 3 NP → NAME 7 VP → VERB NP PP 4 PP → PREP NP 8 VP → VERB PP

Ta có phân tích từ trên xuống của câu

1 The 2 dogs 3 cried 4như trên Bảng 1

Bước Trạng thái hiện tại Trạng thái lưu Vị trí Nhận xét

3 (ART NOUN VP) 1 viết lại NP theo các quy tắc 2, 3

Trang 15

vì VERB so khớp với cried, và lúc này, danh sách các ký hiệu của văn phạm là rỗng, câu cần phân tích rỗng

Bảng 1 Phân tích từ trên xuống, ưu tiên chiều sâu cho văn phạm phi ngữ cảnh

Chú ý rằng trình phân tích đưa các trạng thái được sao lưu vào một ngăn xếp

2.5 Phân tích từ dưới lên

Ðiểm khác nhau chủ yếu giữa phân tích từ trên xuống và phân tích từ dưới lên là cách sử dụng các quy tắc sinh Ví dụ, xét quy tắc

NP → ART ADJ NOUN

Trong phân tích từ trên xuống, khi gặp NP, ta thay nó bằng dãy ART ADJ NOUN Trong phân tích từ dưới lên, ta sử dụng quy tắc này theo cách ngược lại, tức nếu gặp dãy ART ADJ NOUN thì ta thay nó bằng NP Như vậy, công việc cơ bản của phân tích từ dưới lên là lấy ra một dãy các ký hiệu và so sánh nó với vế phải của các quy

tắc Việc so khớp luôn được xem xét từ một ký hiệu, gọi là khoá Ðể tìm ra những quy

tắc khớp với một xâu gồm cả khoá, ta tìm những quy tắc bắt đầu bằng khoá này, hoặc tìm những quy tắc bắt đầu bằng các khoá trước đó và cần khoá hiện tại để hoàn thành quy tắc hoặc thác triển quy tắc Ví dụ, xét văn phạm sau:

1 S → NP VP

2 NP → ART ADJ NOUN3 NP → ART NOUN 4 NP → ADJ NOUN

Trang 16

5 VP → AUX VERB NP 6 VP → VERB NP

Nếu ta bắt đầu bằng khoá ART thì các quy tắc 2 và 3 là khớp Ta ghi lại điều này cho bước xử lý tiếp theo, các quy tắc 2, 3 có thể đi tiếp được ở sau điểm ART Ta biểu diễn điều này bằng cách viết lại các quy tắc đó cùng với dấu chấm tròn (ο) chỉ rằng ta đã đi đến đâu:

Nếu khoá sau đó là ADJ thì có thể có quy tắc 4 và quy tắc 2' được thác triển tiếp như sau:

2'' NP → ART ADJ ο NOUN

Các trạng thái trong phân tích từ dưới lên được lưu dưới dạng một cấu trúc gọi là

biểu đồ (chart) Biểu đồ là một bản ghi vị trí của các từ và các cấu trúc mới phát sinh

từ câu đang phân tích Các cung trên biểu đồ lưu giữ các quy tắc đã so khớp trước đó nhưng chưa hoàn thiện Ví dụ, sau khi đã biết một ART và sau đó là một ADJ trong ví dụ trên, ta sẽ có biểu đồ sau (Hình 3):

Hình 3 Biểu đồ sau khi tìm thấy một ADJ tại vị trí 2

Có hai thành phần: ART1, ADJ1 và 4 cung hoạt động; 2 NP bắt đầu bằng ART từ 1 đến 2, 1 NP bắt đầu bằng ART ADJ từ 1 đến 3, 1 NP bắt đầu bằng ADJ từ 2 đến 3

Thuật toán phân tích cụ thể như sau: Có hai cấu trúc dữ liệu là biểu đồ và danh

Trang 17

Ta coi mỗi ký hiệu của quy tắc tương đương với một thành phần của cung Như vậy ta nói ART, ADJ, NOUN là 3 thành phần của cung

Việc đưa một thành phần C vào giữa hai vị trí p1 và p2 trên biểu đồ gồm các bước sau:

1 đưa C vào giữa p1 và p2;

2 nếu C bắt đầu một quy tắc r của văn phạm thì thêm một cung biểu diễn quy tắc r từ p1 đến p2;

3 với mỗi cung A đi từ p0 đến p1 (điểm bắt đầu của C), nếu C là thành phần con

kế tiếp của A thì thêm một cung từ p0 đến p2 biểu diễn quy tắc A đã cập nhật 4 nếu một cung nào đó trong số các cung được thêm vào tại các bước 2, 3 là một

quy tắc đã hoàn chỉnh thì thêm vào danh sách khoá một thành phần mới có tên là vế trái của quy tắc đó

Ví dụ, xét thuật toán này với câu cần phân tích là

The large can can hold the water, với từ điển sau:

the ART large ADJ

can AUX, NOUN, VERBhold NOUN, VERB water NOUN, VERB

Ban đầu danh sách khoá là rỗng, do đó từ the được đọc và thành phần ART1 được đặt vào danh sách

• Vào ART1: (the từ 1 tới 2) Thêm cung NP → ART ο ADJ NOUN từ 1 tới 2, thêm cung NP → ART ο NOUN từ 1 tới 2;

Cả hai cung này được thêm vào tại bước 2 của thuật toán Sau đó từ large được đọc, tạo ra thành phần ADJ1

• Vào ADJ1: (large từ 2 tới 3) Thêm cung NP → ADJ ο NOUN từ 2 tới 3 (bước 2), thêm cung NP → ART ADJ ο NOUN từ 1 tới 3 (bước 3); ở đây, cung thứ

Trang 18

hai được thêm vào là do sự thác triển của cung đầu tiên tại bước 3 của thuật toán Lúc này, ta được biểu đồ như trên Hình 3

Với từ tiếp theo can, có 3 thành phần được tạo ra là NOUN1, AUX1, và VERB1 • Vào NOUN1: (can từ 3 đến 4) Không có cung nào được thêm vào

trong bước 2, song có hai cung được hoàn thiện ở bước 3 vì NOUN1 sinh ra 2 NP, 2NP này được đưa danh sách khoá ở bước 4, NP thứ nhất từ 1 đến 4 được xây dựng từ quy tắc 2, NP thứ hai từ 2 đến 4 được xây dựng từ quy tắc 4 Hai NP này bây giờ nằm trên đỉnh của ngăn xếp các khoá

• Vào NP1: NP từ 1 tới 4 Thêm cung S → NP ο VP từ 1 tới 4

• Vào NP2: NP từ 2 tới 4 Thêm cung S → NP ο VP từ 2 tới 4 Bây giờ biểu đồ có dạng như Hình 4

Hình 4 Sau khi phân tích can là NOUN

Bây giờ xét tới các từ loại khác của can

• Vào AUX1: (can từ 3 đến 4) Thêm cung VP → AUX ο VERB NP từ 3 tới 4 • Vào VERB1: (can từ 3 đến 4) Thêm cung VP → VERB ο NP từ 3 tới 4 Từ tiếp theo lại là can và NOUN2, AUX2, VERB2 được tạo ra

• Vào NOUN2: (can từ 4 đến 5) Không cung nào được thêm vào

• Vào AUX2: (can từ 4 đến 5) Thêm cung VP → AUX ο VERB NP từ 4 tới 5 • Vào VERB2: (can từ 4 đến 5) Thêm cung VP → VERB ο NP từ 4 tới 5, thêm cung VP → AUX VERB ο NP từ 3 tới 5

Từ tiếp theo là hold và NOUN3, VERB3 được tạo ra

• Vào NOUN3: (hold từ 5 đến 6) Không cung nào được thêm vào

Trang 19

• Vào VERB3: (hold từ 5 đến 6) Thêm cung VP → VERB ο NP từ 5 tới 6, thêm cung VP → AUX VERB ο NP từ 4 tới 6 Ta được biểu đồ như Hình 5

Hình 5 Biểu đồ sau khi thêm hold

• Vào ART2: (the từ 6 đến 7) Thêm cung NP → ART ο ADJ NOUN từ 6 tới 7, thêm cung NP → ART ο NOUN từ 6 tới 7

• Vào NOUN4: (water từ 7 đến 8) Không có cung nào được thêm vào trong bước 2, một NP, NP3 từ 6 tới 8 được đẩy vào danh sách khoá do hoàn thành cung NP → ART ο NOUN từ 6 tới 7

• Vào NP3: (the water từ 6 đến 8) Một VP, VP1 từ 4 tới 8 được đẩy vào danh sách khoá do hoàn thành quy tắc VP → AUX VERB ο NP từ 4 tới 6; một VP, VP2 từ 5 tới 8 được đẩy vào danh sách khoá do hoàn thành quy tắc VP → VERB ο NP từ 5 tới 6 Ðồ thị tiếp theo của giai đoạn này như Hình 6 (chỉ vẽ những cung sử dụng trong phân tích tiếp theo)

Hình 6 Biểu đồ sau khi tìm được tất cả các NP

• Vào VP2 (hold the water từ 5 đến 8) Không cung nào được thêm vào

Trang 20

• Vào VP1 (can hold the water từ 4 đến 8) Một S, S1 từ 1 tới 8 được thêm vào danh sách khoá bởi hoàn thiện cung S → NP ο VP từ 1 tới 4, một S, S2 từ 2 tới 8 được thêm vào danh sách khoá bởi hoàn thiện cung S → NP ο VP từ 2 tới 4

Vì ta đã thu được S gồm toàn bộ câu cần phân tích, nên việc phân tích là thành công Nếu muốn tìm tất cả các cách phân tích câu có thể thì cần tiếp tục phân tích cho tới khi danh sách khoá là rỗng Biểu đồ cuối cùng như Hình 7

Hình 7 Biểu đồ cuối cùng

2.6 Đánh giá hai phương pháp phân tích trên

Phân tích từ dưới lên và phân tích từ trên xuống đều có những ưu nhược điểm riêng Với phân tích từ trên xuống, ưu điểm là ta không cần quan tâm rằng trong câu đúng cú pháp không thể có những từ loại nằm sai vị trí Nguyên nhân của ưu điểm này là do trình phân tích bắt đầu từ một từ loại và kiểm tra xem từ hiện tại có đúng là thuộc vào lớp từ loại đó hay không Ví dụ, nếu sử dụng văn phạm

2 S → NP AUX VERB 6 NP → ADJ NOUN

4 NP → ART NOUN 8 VP → VERB NP

Bảng 2 Một văn phạm phi ngữ cảnh đơn giản

thì trình phân tích từ trên xuống của câu The can fall sẽ cho rằng câu S bắt đầu bằng một NP, NP bắt đầu bằng ART, sau đó là ADJ hoặc NOUN Vì can là NOUN, nên nó tìm thấy một NP và do đó các nghĩa AUX hoặc VERB của can không bao giờ được xét

Nhưng phân tích từ trên xuống lại có thể tốn nhiều thời gian bởi những công việc tương tự nhau có khi phải lặp lại nhiều lần Giả sử ta cần phân tích câu The bird sang cũng với văn phạm trên Ban đầu, trình phân tích sử dụng quy tắc 1 tìm ra một NP the bird, sau đó sử dụng quy tắc 8 cho VP, nó tìm thấy VERB, nhưng sau đó

Trang 21

phải là NP thì không thoả mãn Do đó nó quay lại và thử tìm một phân tích khác của S Trình phân tích thử dùng quy tắc 2 và NP the bird lại được phân tích lại, nhưng lần này không tìm thấy AUX, nó quay lại lần nữa để thử với quy tắc 3 Lần này thì thành công và như vậy việc phân tích NP the bird được thực hiện 3 lần

Nhược điểm này được khắc phục trong phân tích từ dưới lên Trong ví dụ trên, NP the bird chỉ được xây dựng một lần và đối với câu này, chỉ quy tắc 3 là phù hợp Nhưng trình phân tích từ dưới lên lại phải xem xét tất cả các từ loại có thể có của một từ và xây dựng những cấu trúc có thể không hợp lệ Ví dụ, trong phần trước, khi phân tích câu The large can can hold the water, ta có biểu đồ cuối cùng như Hình 7 Ở đây, có nhiều cấu trúc không thể xảy ra, chẳng hạn, theo biểu đồ này thì từ vị trí 2 đến vị trí 7 có thể coi là một câu, nhưng thực tế không thể có câu nào có dạng ART S

2.7 Phương pháp phân tích tổng hợp

Ta sẽ thiết kế một trình phân tích vừa có những ưu điểm của hai kỹ thuật phân tích từ trên xuống và từ dưới lên lại không có những nhược điểm như trên Phương pháp là vừa xây dựng một trình phân tích từ trên xuống vừa bổ sung từng thành phần vào biểu đồ Trong quá trình phân tích, trước khi ta viết lại một ký hiệu để lấy ra những thành phần mới, ta kiểm tra xem thành phần đó đã nằm trong biểu đồ hay chưa Nếu nó đã nằm trong biểu đồ thì ta dùng luôn mà không phải sử dụng các quy tắc của văn phạm để viết lại thành phần đó nữa Ðể thực hiện được điều đó, ta chỉ cần sửa đổi lại tí chút thuật toán phân tích từ trên xuống

Xét câu

1 The 2 green 3 water 4 evaporated 5,

trong đó green có thể là ADJ hoặc NOUN, water là NOUN hoặc VERB Trạng thái khởi đầu như sau

Trạng thái hiện tại Trạng thái lưu Vị trí

Trang 22

Ðể ghi lại NP, ngay khi một ký hiệu được viết lại, trình phân tích đánh dấu ký hiệu đó và đưa nó vào một danh sách, đồng thời ghi lại vị trí bắt đầu của cụm từ Ví dụ, nếu cụm NP được viết lại ở vị trí 1, trình phân tích sẽ đặt một cấu trúc mới [NP1],

gọi là cờ dựng vào trong danh sách Sau đó, trong quá trình phân tích, nếu phải quay

lại [NP1] thì nó nhận thấy rằng cấu trúc NP bắt đầu từ vị trí 1 đã được thực hiện Thuật toán trên được viết lại cụ thể để xử lý một vị trí nào đó như sau:

1 Nếu ký hiệu bên trái nhất của trạng thái hiện tại là tên của một điểm vào trong biểu đồ, thì sinh ra một (hay nhiều) trạng thái mới bằng cách xoá ký hiệu đó đi và cập nhật lại vị trí hiện tại trong câu thành (các) vị trí sau (các) điểm vào của biểu đồ Ví dụ, cho vị trí và biểu đồ sau đây

Trạng thái hiện tại Trạng thái lưu Vị trí

Hình 8 Vị trí và biểu đồ ban đầu

Trang 23

Trên biểu đồ có hai NP và sinh ra hai trạng thái mới Một trở thành trạng thái hiện tại mới, trạng thái còn lại được lưu Vậy, ta có kết quả

Trạng thái hiện tại Trạng thái lưu Vị trí

2 Nếu như ký hiệu bên trái nhất là một cờ dựng, chẳng hạn [NP1], thì thêm một thành phần NP vào biểu đồ trải từ vị trí bắt đầu (1) cho tới vị trí hiện tại Chẳng hạn, cho vị trí hiện tại của trạng thái ([NP2] VP) là 5, ta sẽ thêm một NP vào biểu đồ từ vị trí 2 tới vị trí 5

3 Ngược lại, nếu ký hiệu đó là một ký hiệu kết, thì thêm một cờ dựng vào vị trí đó và viết lại ký hiệu này theo các quy tắc của văn phạm Ví dụ, cho trạng thái (NP VP) tại vị trí 1 và một biểu đồ trống, theo văn phạm ở trên, ta sẽ sinh ra ba trạng thái mới là: (ART NOUN [NP1] VP), (ART ADJ NOUN [NP1] VP), và (ADJ NOUN [NP1] VP), tất cả đều ở vị trí 1

4 Nếu không xảy ra các trường hợp trên thì trạng thái này không thoả, một trạng thái lưu được lấy ra làm trạng thái hiện tại

Bây giờ, sử dụng thuật toán này, ta xét lại quá trình phân tích câu The green water evaporated Nếu ta bắt đầu bằng ký hiệu S và vị trí 1, viết lại ký hiệu này, ta được

Trạng thái hiện tại Trạng thái lưu Vị trí

(NP AUX VERB [S1]) 1 (NP VERB [S1]) 1

Viết lại NP theo bước 4 trong thuật toán, ta được

Trang 24

Ta kiểm tra thấy câu vào có một ART và một NOUN là đúng đắn Sau thao tác này trạng thái hiện tại là ([NP1] VP [S1]) tại vị trí 3 Theo bước 2 của thuật toán, cờ dựng [NP1] được xử lý, bằng việc thêm một cấu trúc NP là [NP1] vào biểu đồ từ vị trí 1 tới vị trí 3 Khi đó, ta thu được trạng thái của quá trình phân tích và biểu đồ như sau:

(ADJ NOUN [NP1] VP [S1]) 1 (NP AUX VERB [S1]) 1

Hình 9 Biểu đồ sau khi phân tích cụm NP đầu tiên

Viết lại VP sẽ có trạng thái sau

(VERB NP [VP4] [S1]) 3

(ADJ NOUN [NP1] VP [S1]) 1 (NP AUX VERB [S1]) 1

Ta không chấp nhận trạng thái hiện tại vì water không phải là một AUX Trạng thái lưu đầu tiên trở thành trạng thái hiện tại, trường hợp này mặc dù water là một VERB, nhưng sau đó vì không có NP nào theo sau VERB nên trạng thái này cũng bị loại Trạng thái lưu tiếp theo được lấy ra làm trạng thái hiện tại Câu cần phân tích có ART (the) ở vị trí 1, ADJ (green) ở vị trí 2, và NOUN (water) ở vị trí 3 nên sinh ra một NP thứ hai Ta có tình huống và biểu đồ sau:

Trạng thái hiện tại Trạng thái lưu Vị trí

Trang 25

(ADJ NOUN [NP1] VP [S1]) 1 (NP AUX VERB [S1]) 1

Hình 10 Sau khi phân tích khả năng thứ hai của NP đầu tiên

Viết lại VP ở vị trí 4 trong trạng thái hiện tại sinh ra tình huống mới sau Trạng thái hiện tại Trạng thái lưu Vị trí

(VERB NP [VP3] [S1]) 4 (ADJ NOUN [NP1] VP [S1]) 1 (NP AUX VERB [S1]) 1

Vì không có AUX ở vị trí 4 nên trạng thái hiện tại không được chấp nhận Trạng thái lưu thứ nhất cũng không thoả mãn, vì tuy có một VERB ở vị trí 4 nhưng sau đó lại không có NP Trạng thái tiếp theo (ADJ NOUN [NP1] VP [S1]) cũng bị loại do the không phải là một ADJ Chỉ còn lại hai trạng thái và biểu đồ như sau:

Trạng thái hiện tại Trạng thái lưu Vị trí

(NP VERB [S1]) 1

Hình 11 Sau khi tìm kiếm một S theo quy tắc 1 bị thất bại

Bây giờ ta đã kết thúc mọi phân tích có thể từ việc bắt đầu bằng S, viết lại nó theo quy tắc 1 Bây giờ là lúc những thành phần mà biểu đồ đã lưu lại trước đó được mang

Trang 26

ra để sử dụng Thay vì áp dụng các quy tắc để viết lại NP tại vị trí 1, trình phân tích sử dụng hai NP đã có trên biểu đồ, sinh ra

Trạng thái hiện tại Trạng thái lưu Vị trí

(AUX VERB [S1]) 4 (NP VERB [S1]) 1

Trạng thái hiện tại bị loại, do không có AUX nào tại vị trí 3 Tương tự, trạng thái lưu đầu tiên cũng không được chấp nhận, bởi không có AUX nào ở vị trí 4 cả Trạng thái (NP VERB [S1]) là trạng thái cho phân tích đúng đắn duy nhất Một lần nữa, dùng 2 NP đã có trên biểu đồ, sinh ra hai trạng thái sau:

Trạng thái hiện tại Trạng thái lưu Vị trí

(VERB [S1]) 4

Trạng thái hiện tại sinh ra một cấu trúc S từ vị trí 1 đến vị trí 4 nhưng lại bỏ sót evaporated Trạng thái lưu còn lại sinh ra phân tích mong muốn, câu cần phân tích có cấu trúc như sau:

Hình 12 Cấu trúc của câu cần phân tích

Rõ ràng, chiến lược phân tích kết hợp từ trên xuống và từ dưới lên ưu việt hơn cả hai phương pháp phân tích đơn thuần nói trên; so với cách phân tích từ trên xuống thì cách phân tích này chỉ có một hạn chế là biểu đồ cần nhiều ô nhớ hơn Nhưng trong phần lớn các trường hợp, so với lợi thế về thời gian phân tích thì phần ô nhớ mất thêm này là không đáng kể

Trang 27

Chương 3 Các mạng chuyển

Ngoài các hệ văn phạm, các mô hình mạng chuyển, nhất là các mạng chuyển đệ quy cũng được sử dụng rộng rãi để mô tả các cấu trúc cú pháp của ngôn ngữ tự nhiên Các mạng chuyển có cơ sở là các máy trừu tượng, chúng được coi là những thiết bị nhận dạng văn phạm Chính vì vậy, trước khi đi vào phần trình bày về các mạng chuyển, em trình bày khái quát về các máy trừu tượng, từ đơn giản nhất tới tổng quát nhất

3.1 Văn phạm và ôtômát

Văn phạm một mặt có thể coi là những định nghĩa cho các câu của một ngôn ngữ, mặt khác còn có thể coi là sự mô tả của một máy trừu tượng có khả năng đoán nhận hoặc sinh những xâu nằm trong ngôn ngữ đó Những máy này được gọi (một cách

trừu tượng) là các ôtômát, và độ phức tạp của những máy này tương ứng với độ phức

tạp của các quy tắc sinh trong văn phạm

Mỗi máy có thể xem là một tập các trạng thái, một thiết bị vào có khả năng truy nhập mỗi lần một ký hiệu vào, và một đơn vị điều khiển có khả năng kiểm tra và đọc đầu vào, chuyển máy sang trạng thái khác Ngoài ra, những máy này có thể có bộ nhớ, được đơn vị điều khiển truy nhập để lưu giữ hoặc kiểm tra các ký hiệu Yếu tố quyết định năng lực tính toán của máy là độ phức tạp của bộ nhớ và những thao tác trên bộ nhớ

Những ôtômát đơn giản nhất là các máy hữu hạn trạng thái hay các ôtômát hữu

hạn trạng thái (Finite State Automata FSA), các ngôn ngữ mà chúng đoán nhận gọi

là các ngôn ngữ chính quy Ngôn ngữ chính quy có đầy đủ các tính chất của ngôn ngữ

phi ngữ cảnh và do đó luôn có thể đoán nhận được bằng một ôtômát với số trạng thái hữu hạn Các máy hữu hạn trạng thái không có bộ nhớ trong, nên mọi thao tác hoàn toàn được quyết định bởi ký hiệu hiện đang được đọc và trạng thái hiện tại của máy

Để minh hoạ sự vận hành của các máy nói trên, ta xét văn phạm đơn giản sau: S → aB

B → c

Văn phạm này sinh ra ngôn ngữ chính quy abnc Ôtômát tương đương với nó thường được biểu diễn bằng một sơ đồ trạng thái như hình vẽ sau:

Trang 28

trong đó các nút biểu diễn các trạng thái và các cung biểu diễn các bước chuyển Nút vuông chỉ rằng đó là trạng thái kết Với ôtômát này, việc chuyển từ những quy tắc sinh sang sơ đồ trạng thái là: ký hiệu không kết chuyển thành trạng thái, ký hiệu kết chuyển thành bước chuyển

Sự hoạt động của ôtômát này như sau: việc tính toán bắt đầu từ một trạng thái được xác định trước gọi là trạng thái khởi đầu, ở đây là S; ký hiệu đầu tiên của xâu vào được kiểm tra xem có cung chuyển nào khớp với nó hay không; nếu có thì máy theo cung này chuyển tới trạng thái kế tiếp và tiêu thụ ký hiệu đó, đọc tiếp ký hiệu đứng sau Quá trình này được tiếp tục cho tới khi máy bị dừng, ví dụ khi không cung chuyển nào là khớp nữa Nếu máy dừng tại một trạng thái kết và xâu vào đã được tiêu thụ thì ta nói xâu đó đã được đoán nhận

Nếu ta thêm bộ nhớ hoạt động theo nguyên lý của danh sách vào sau ra trước (LIFO) vào ôtômát (ví dụ một ngăn xếp đẩy xuống), cùng với một số quy tắc điều

khiển thì FSA sẽ chuyển thành ôtômát đẩy xuống (Push Down Automaton PDA)

Các PDA chỉ có thể đoán nhận những ngôn ngữ phi ngữ cảnh

Nếu bỏ đi hạn chế về tổ chức ngăn xếp trong bộ nhớ trong, chỉ áp dụng ràng buộc quy định kích thước bộ nhớ là hàm tuyến tính theo độ dài của xâu vào, thì ta tạo ra

một ôtômát mạnh hơn gọi là ôtômát bị chặn tuyến tính (Linear Bounded Automaton

LBA) Nếu cần, ta có thể tổ chức bộ nhớ trong sao cho một phần bộ nhớ được tổ chức như một ngăn xếp, phần còn lại là bộ nhớ truy nhập ngẫu nhiên, khi đó sẽ giữ lại được mối liên hệ về mặt cấu trúc với lớp các PDA yếu hơn Các LBA có khả năng đoán nhận một lớp rất tổng quát của ngôn ngữ, được định nghĩa bởi các văn phạm tuyến tính theo chiều dài, các ngôn ngữ này bao gồm cả các thành phần cấu trúc ngữ pháp cảm ngữ cảnh thường gặp trong ngôn ngữ

Sau cùng, nếu ta bỏ đi ràng buộc cuối cùng đối với bộ nhớ trong, cho phép nó có kích thước không hạn chế, khi đó ta được lớp ôtômát tổng quát nhất, gọi là các máy

Turing (Turing Machines TMs) Văn phạm tương đương với nó là hệ thống viết lại

không hạn chế, trong đó, các quy tắc sinh được phép viết lại bất kỳ cái gì cũng thành

một thứ bất kỳ Các máy Turing là sự trừu tượng tương tự của các máy tính tuần tự đa nhiệm nguyên thuỷ

Trang 29

Một trong những vấn đề đầu tiên của lý thuyết các ôtômát là câu hỏi về tính quyết định, được diễn tả hình thức là: có hay không một tiên nghiệm cho phép biết được một lớp các tính toán cho trước có kết thúc trong một thời gian hữu hạn hay không Cụ thể là, bài toán đoán nhận một xâu không thuộc ngôn ngữ tương ứng với một ôtômát đã cho nói chung không thể quyết định được bởi các TM Câu hỏi này, về nguyên tắc, là có thể trả lời được đối với các lớp ôtômát yếu hơn

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

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à:

Trang 30

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

Trang 31

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:

Ngày đăng: 23/11/2012, 08:08

HÌNH ẢNH LIÊN QUAN

Hình 1. Phân loại văn phạm của Chomsky - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 1. Phân loại văn phạm của Chomsky (Trang 11)
Với câu John ate the cat, ta có cây phân tích như Hình 2. - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
i câu John ate the cat, ta có cây phân tích như Hình 2 (Trang 13)
Trong đó, các ký hiệu và từ loại tương ứng được cho trong bảng sau: - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
rong đó, các ký hiệu và từ loại tương ứng được cho trong bảng sau: (Trang 13)
như trên Bảng 1. - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
nh ư trên Bảng 1 (Trang 14)
Hình 2. Cây biểu diễn câu John ate the cat - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 2. Cây biểu diễn câu John ate the cat (Trang 14)
Bảng 1. Phân tích từ trên xuống, ưu tiên chiều sâu cho văn phạm phi ngữ cảnh Chú ý rằng trình phân tích đưa các trạng thái được sao lưu vào một ngăn xếp - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Bảng 1. Phân tích từ trên xuống, ưu tiên chiều sâu cho văn phạm phi ngữ cảnh Chú ý rằng trình phân tích đưa các trạng thái được sao lưu vào một ngăn xếp (Trang 15)
Hình 3. Biểu đồ sau khi tìm thấy một ADJ tại vị trí 2 - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 3. Biểu đồ sau khi tìm thấy một ADJ tại vị trí 2 (Trang 16)
Hình 4. Sau khi phân tích can là NOUN Bây giờ xét tới các từ loại khác của  can .  - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 4. Sau khi phân tích can là NOUN Bây giờ xét tới các từ loại khác của can . (Trang 18)
Hình 6. Biểu đồ sau khi tìm được tất cả các NP - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 6. Biểu đồ sau khi tìm được tất cả các NP (Trang 19)
Hình 5. Biểu đồ sau khi thêm hold - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 5. Biểu đồ sau khi thêm hold (Trang 19)
Hình 7. Biểu đồ cuối cùng - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 7. Biểu đồ cuối cùng (Trang 20)
Hình 8. Vị trí và biểu đồ ban đầu - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 8. Vị trí và biểu đồ ban đầu (Trang 22)
Hình 9. Biểu đồ sau khi phân tích cụm NP đầu tiên Viết lại VP sẽ có trạng thái sau  - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 9. Biểu đồ sau khi phân tích cụm NP đầu tiên Viết lại VP sẽ có trạng thái sau (Trang 24)
Hình 11. Sau khi tìm kiếm mộ tS theo quy tắc 1 bị thất bại - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 11. Sau khi tìm kiếm mộ tS theo quy tắc 1 bị thất bại (Trang 25)
Hình 12. Cấu trúc của câu cần phân tích - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 12. Cấu trúc của câu cần phân tích (Trang 26)
Hình 13. Mạng chuyển đệ quy làm ví dụ trong phân tích từ trên xuống cùng với bộ từ vựng  - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 13. Mạng chuyển đệ quy làm ví dụ trong phân tích từ trên xuống cùng với bộ từ vựng (Trang 35)
sẽ được phân tích như trên Bảng 3. - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
s ẽ được phân tích như trên Bảng 3 (Trang 35)
Bảng 4. Phân tích từ trên xuống kết hợp quay lui cho mạng chuyển đệ quy - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Bảng 4. Phân tích từ trên xuống kết hợp quay lui cho mạng chuyển đệ quy (Trang 36)
Câu đơn được phân loại dựa trên các khuôn hình, đi từ khái quát đến cụ thể. Khuôn hình cơ sở của câu đơn hai thành phần là khuôn hình chủ - vị - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
u đơn được phân loại dựa trên các khuôn hình, đi từ khái quát đến cụ thể. Khuôn hình cơ sở của câu đơn hai thành phần là khuôn hình chủ - vị (Trang 46)
Bảng băm này cũng tiện dụng khi biểu diễn các nút của cây chứa kết quả phân tích. Để biểu diễn các nút của cây phân tích, ta sử dụng lớp ParsingTreeNode - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Bảng b ăm này cũng tiện dụng khi biểu diễn các nút của cây chứa kết quả phân tích. Để biểu diễn các nút của cây phân tích, ta sử dụng lớp ParsingTreeNode (Trang 49)
Hình 14 là giao diện của chương trình và thể hiện cây phân tích của câu " The green water evaporated" nhập từ một hộp soạn thảo - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 14 là giao diện của chương trình và thể hiện cây phân tích của câu " The green water evaporated" nhập từ một hộp soạn thảo (Trang 53)
Hình 14. Giao diện chương trình phân tích cú pháp tiếng Anh - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 14. Giao diện chương trình phân tích cú pháp tiếng Anh (Trang 53)
Hình 15. Phương pháp xây dựng ôtômát âm tiết - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 15. Phương pháp xây dựng ôtômát âm tiết (Trang 59)
Ví dụ, với ba âm tiết phương, pháp, trình ta sẽ có ôtômát âm tiết như Hình 15. - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
d ụ, với ba âm tiết phương, pháp, trình ta sẽ có ôtômát âm tiết như Hình 15 (Trang 59)
Hình 17. Một tình huống nhập nhằng - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 17. Một tình huống nhập nhằng (Trang 60)
Hình 19. Cây phân tích ứng với cách tách từ đúng - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 19. Cây phân tích ứng với cách tách từ đúng (Trang 62)
Hình 18. Các phương án phân tích cho một câu tiếng Việt nhập nhằng - Luận văn tốt nghiệp Xử lý các văn bản tiếng Việt
Hình 18. Các phương án phân tích cho một câu tiếng Việt nhập nhằng (Trang 62)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w