phân tích cú pháp theo phương pháp Earley

18 2.6K 11
phân tích cú pháp theo phương pháp Earley

Đ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

Gi¸o viªn h ng dÉn: TS. Hµ ChÝ Trungướ Nhãm th c hi n:ự ệ 1/ V ng Th Tuy nươ ị ế 2/ L u Th Th như ị ả 3/ Nguy n Huy Linhễ KHOA CNTT H C VI N KTQS– Ọ Ệ NHãM 6 TIN HäC 9A– O0O ÁN M¤N H C: ĐỒ Ọ AUTOMATA Vµ NG¤N NG÷ H×NH THøC PH N T CH Có PH PÂ Í Á THEO PH NG PH P EARLEYƯƠ Á Ngµy hoµn thµnh: 11/01/2013 N I DUNG BÁO CÁOỘ Đặt vấn đề Mục đích của việc giải bài toán được giao Lý thuyết Các lý thuyết liên quan tới bài toán Sơ đồ thuật toán Thuật toán làm việc của bài toán Chương trình Các giao diện chính của chương trình 1 2 5 3 4 Cấu trúc chương trình Cấu trúc chương trình Ví dụ Ví dụ minh họa 6 Kết luận Các nhận xét 7 Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY Tài liệu tham khảo Tài liệu tham khảo trong quá trình làm đồ án 8 Giải thuật Earley là một giải thuật cơ bản, được sử dụng tương đối rộng rãi trong các hệ thống phân tích pháp. Tuy nhiên, giải thuật này vẫn còn hạn chế như sinh ra quá nhiều luật dư thừa trong quá trình phân tích. Trong bài này, chúng em xin phép được đề xuất ra phương pháp phân tích pháp theo giải thuật Earley. • Đặt vấn đề (1/4) Mục đích của việc giải bài toán được giao 1/8 Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY Giải thuật Earley là một trong những giải thuật được sử dụng phổ biến trong việc xây dựng các hệ thống phân tích pháp. Giải thuật này sử dụng chiến lược phân tích kiểu trên-xuống (top-down), bắt đầu với một ký hiệu không kết thúc đại diện cho câu và sử dụng các luật khai triển cho đến khi thu được câu vào. Hạn chế của cách tiếp cận này là không chú trọng nhiều đến các từ đầu vào. Vì vậy, trong quá trình phân tích, giải thuật Earley sản sinh ra rất nhiều luật dư thừa. • Đặt vấn đề (2/4) Mục đích của việc giải bài toán được giao 1/8 Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY Ngoài ra, giải thuật Earley được xây dựng cho tiếng Anh nên khi áp dụng cho tiếng Việt sẽ có hạn chế: Mỗi câu vào tiếng Anh chỉ có một cách tách từ, trong khi với tiếng Việt, mỗi câu vào có thể có nhiều cách tách từ khác nhau. Với đặc điểm đầu vào của giải thuật Earley chỉ là một câu với một cách tách, bộ phân tích pháp sẽ phải thực hiện lặp đi lặp lại giải thuật này cho từng trường hợp tách từ đối với tiếng Việt. • Đặt vấn đề (3/4) Mục đích của việc giải bài toán được giao 1/8 Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY Để giải quyết vấn đề này, khi xem xét các tài liệu, chúng em nhận thấy trong các cách tách từ Việt tồn tại các cặp cách tách giống nhau ở danh sách các từ loại đầu tiên và chỉ khác nhau ở phần đuôi của chúng. • Đặt vấn đề (4/4) Mục đích của việc giải bài toán được giao 1/8 Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY Giải thuật Earley cơ bản được phát biểu như sau: Đầu vào: Văn phạm G = (N, T, S, P), trong đó: N: tập kí hiệu không kết thúc. T: tập kí hiệu kết thúc. S: kí hiệu không kết thúc bắt đầu. P: tập luật pháp. Xâu vào w = a 1 a 2 a n . Đầu ra: Phân tích đối với w hoặc "sai". Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY • Lý thuyết (1/3) Lý thuyết về giải thuật Earley 2/8 Kí hiệu:  α, β, γ biểu diễn xâu chứa các kí hiệu kết thúc, không kết thúc hoặc rỗng.  X, Y, Z biểu diễn các kí hiệu không kết thúc đơn.  a biểu diễn kí hiệu kết thúc. Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY • Lý thuyết (2/3) Lý thuyết về giải thuật Earley 2/8  Earley sử dụng cách biểu diễn luật thông qua dấu chấm “•” X→ α • β có nghĩa là: Trong P có một luật sản xuất X→ α β. α đã được phân tích. β đang được chờ phân tích.  Khi dấu chấm “•” được chuyển ra sau β có nghĩa rằng đây là một luật hoàn thiện. Thành phần X đã được phân tích đầy đủ, ngược lại nó là một luật chưa hoàn thiện.  Đối với mỗi từ thứ j của xâu đầu vào, bộ phân tích khởi tạo một bộ có thứ tự các trạng thái S(j).  Mỗi bộ tương ứng với một cột trong bảng phân tích. Mỗi trạng thái có dạng (X → α • β, i), thành phần sau dấu phẩy xác định rằng luật này được phát sinh từ cột thứ i. Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY • Lý thuyết (3/3) Lý thuyết về giải thuật Earley 2/8 Các hàm trong chương trình: Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY 3/8 • Cấu trúc chương trình Cấu trúc chương trình 1) void nhapDanhTu(map<string, unsigned int> &TL) 2) void nhapNoiDongTu(map<string, unsigned int> &TL) 3) void nhapNgoaiDongTu(map<string, unsigned int> &TL) 4) void nhapTinhTu(map<string, unsigned int> &TL) 5) void nhapGioiTu(map<string, unsigned int> &TL) 6) void nhapMaoTu(map<string, unsigned int> &TL) 7) void nhapDaiTu(map<string, unsigned int> &TL) 8) void nhapTroDongTu(map<string, unsigned int> &TL) 9) void nhapDanhSachLuat(vector<int> Luat[], int &iNumRule) 10) void nhapCauInput(vector<string> &Cau) 11) void thuatToan(vector<string> Cau, vector<int> Luat[], map<string, unsigned int> &TuLoai, int iNumRule, vector<vector<int> > Table[]) 12) void testTableOutput(vector<vector<int> > Table[], int iNumWord) [...]... từ Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY 5/8 • Ví dụ (2/3) Ví dụ minh họa Phân tích câu “học sinh học sinh học”: Do câu trên có nhiều cách tách từ, trong khi đầu vào của giải thuật Earley chỉ là một câu với một cách tách từ nên em minh họa giải thuật Earley với cách tách từ trong trường hợp câu được phân tích là: học sinh, học, sinh học Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY 5/8... •học sinh, 0 N •sinh học, 0 V •học, 0 Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY 6/8 • Chương trình Các giao diện chính của chương trình Kết quả: chương trình: Giao diện Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY 7/8 • Kết luận Các nhận xét  Người ta gọi giải thuật Earley là thuật toán tổng hợp hay thuật toán vạn năng vì chúng có thể phân tích ngữ pháp cho một văn phạm bất kỳ Tuy nhiên do... án  http://Wikipedia.com  Ngôn ngữ hệ thống và chương trình dịch (Học viện KTQS)  Đồ án automata khóa 8 Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY BÀI THUYẾT TRÌNH CỦA CHÚNG EM ĐẾN ĐÂY KẾT THÚC KÍNH CHÚC THẦY, CÔ GIÁO SỨC KHỎE, HẠNH PHÚC! Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY ... đó thêm (Y → α X • β, k) vào S(j) 3  Ở mỗi bộ S(j) phải kiểm tra xem trạng thái đã có chưa trước khi thêm vào để tránh trùng lặp Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY 5/8 • Ví dụ (1/3) Ví dụ minh họa Phân tích câu “học sinh học sinh học” với tập luật pháp như sau: S → N VP S → P VP S → N AP S → VP AP VP → V N VP → V NP NP → N N NP → N A AP → R A N → học sinh N → sinh học V → học V → sinh... vạn năng của chúng cho nên nói chung là phương pháp này không hiệu quả với một văn phạm cụ thể nào,vì lý do trên ,người ta ít sử dụng chúng để viết các chương trình dịch (complier)  Trong bài em chưa thực hiện viết được trên giao diện winform để trình bày cho dễ hiểu, chúng em sẽ cố gắng thực hiện trong thời gian tới Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY Tài liệu tham khảo 8/8 Tài liệu tham... thuật Earley với cách tách từ trong trường hợp câu được phân tích là: học sinh, học, sinh học Đồ án: PHÂN TÍCH PHÁP THEO PHƯƠNG PHÁP EARLEY 5/8 • Ví dụ (3/3) Ví dụ minh họa Phân tích câu “học sinh học sinh học”: Bảng phân tích cho cách tách này như sau: Cột 0 1 2 3 ROOT • S, 0 N học sinh•, 0 V học•, 1 N sinh học•, 2 S •N VP, 0 S N •VP, 0 VP V •N, 1 VP V N•, 1 S •P VP, 0 S N •AP, 0 VP V •NP, 1 NP... đồ thuật toán 4/8 Thuật toán làm việc của bài toán Đối với mỗi bộ S(j), thuật toán phân tích thực hiện 3 bước: (1) Dự đoán (Predictor): 1 Với mọi trạng thái trong S(j): (X → α • Y β, i), ta thêm trạng thái (Y → • γ, j) vào S(j) nếu có luật sản xuất Y → γ trong P (2) Duyệt (Scanner): 2 Nếu a là kí hiệu kết thúc tiếp theo Với mọi trạng thái trong S(j): (X → α • a β, i), ta thêm trạng thái (X → α a • . tích cú pháp theo giải thuật Earley. • Đặt vấn đề (1/4) Mục đích của việc giải bài toán được giao 1/8 Đồ án: PHÂN TÍCH CÚ PHÁP THEO PHƯƠNG PHÁP EARLEY Giải thuật Earley là một trong những giải. thuật Earley sản sinh ra rất nhiều luật dư thừa. • Đặt vấn đề (2/4) Mục đích của việc giải bài toán được giao 1/8 Đồ án: PHÂN TÍCH CÚ PHÁP THEO PHƯƠNG PHÁP EARLEY Ngoài ra, giải thuật Earley. diễn kí hiệu kết thúc. Đồ án: PHÂN TÍCH CÚ PHÁP THEO PHƯƠNG PHÁP EARLEY • Lý thuyết (2/3) Lý thuyết về giải thuật Earley 2/8  Earley sử dụng cách biểu diễn luật thông qua dấu chấm “•” X→ α •

Ngày đăng: 13/05/2014, 20:51

Từ khóa liên quan

Mục lục

  • Slide 1

  • NỘI DUNG BÁO CÁO

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

Tài liệu cùng người dùng

Tài liệu liên quan