Xây dựng Mini Parser trên Prolog Xử lý ngôn ngữ tự nhiên

  • Số trang: 18 |
  • Loại file: PDF |
  • Lượt xem: 49 |
  • Lượt tải: 0
tailieuonline

Đã đăng 27700 tài liệu

Mô tả:

Ket-noi.com ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ---------------  --------------- Môn học: XỬ LÝ NGÔN NGỮ TỰ NHIÊN Đề tài: XÂY DỰNG MINI PARSER TRÊN PROLOG Sinh viên thực hiện: HUỲNH QUANG KHIÊM - 12520201 Giảng viên hướng dẫn: NGUYỄN TUẤN ĐĂNG NGUYỄN TRỌNG CHỈNH Ket-noi.com MỤC LỤC I. Giới thiệu ............................................................................................ 2 II. Các bước tạo mini parser.................................................................... 2 1. Vẽ cây cú pháp .................................................................................... 2 a. Nam có nhà ở quê. ................................................................................ 3 b. Gia đình của Nam sống ở quê. ............................................................... 3 c. Nam học ở thành phố. ........................................................................... 4 d. Nam cũng mua một căn nhà ở thành phố................................................ 4 e. Căn nhà đó rất đẹp. ............................................................................... 5 f. Nó đang học Toán................................................................................. 5 g. Nó thường về quê.................................................................................. 5 h. Nam rất thích sống ở quê....................................................................... 6 i. Anh ấy đã đi về quê. ............................................................................. 6 2. Chuyển sang văn phạm DCG từng câu............................................... 7 a. Nam có nhà ở quê. ................................................................................ 7 b. Gia đình của Nam sống ở quê ................................................................ 7 c. Nam học ở thành phố ............................................................................ 8 d. Nam cũng mua một căn nhà ở thành phố................................................ 9 e. Căn nhà đó rất đẹp. ............................................................................... 9 f. Nó đang học Toán............................................................................... 10 g. Nó thường về quê ............................................................................... 11 h. Nam rất thích sống ở quê..................................................................... 11 i. Anh ấy đã đi về quê. ........................................................................... 12 3. Gộp văn phạm DCG.......................................................................... 13 III. Một vài demo câu mở rộng. ........................................................... 14 IV. Lưu ý khi xây dựng mini pasrer .................................................... 15 1. Cú pháp............................................................................................. 15 2. Ngữ pháp........................................................................................... 16 V. Kết luận............................................................................................. 17 1 Giới thiệu Prolog là một ngôn ngữ lập trình. Tên gọi Prolog được xuất phát từ cụm từ tiếng Pháp Programmation en logique, nghĩa là "lập trình theo lô gích". Xuất hiện từ năm 1972 (do Alain Colmerauer và Robert Kowalski thiết kế), mục tiêu của Prolog là giúp người dùng mô tả lại bài toán trên ngôn ngữ của logic, dựa trên đó, máy tính sẽ tiến hành suy diễn tự động dựa vào những cơ chế suy diễn có sẵn (hợp nhất, quay lui và tìm kiếm theo chiều sâu) để tìm câu trả lời cho người dùng. Prolog được sử dụng nhiều trong các ứng dụng của trí tuệ nhân tạo và ngôn ngữ học trong khoa học máy tính (đặc biệt là trong ngành xử lý ngôn ngữ tự nhiên vì đây là mục tiêu thiết kế ban đầu của nó). Cú pháp và ngữ nghĩa của Prolog đơn giản và sáng sủa, nó được người Nhật coi là một trong những nền tảng để xây dựng máy tính thế hệ thứ năm mà ở đó, thay vì phải mô tả cách giải quyết một bài toán trên máy tính, con người chỉ cần mô tả bài toán và máy tính sẽ hỗ trợ họ nốt phần còn lại. Và với môn học Xử lý ngôn ngữ tự nhiên này, em sẽ sử dụng ngôn ngữ lập trình Prolog để tạo ra một mini parser. I. Các bước tạo mini parser - Vẽ cây cú pháp + Nam có nhà ở quê. + Gia đình của Nam sống ở quê. + Nam học ở thành phố. + Nam cũng mua một căn nhà ở thành phố. + Căn nhà đó rất đẹp. + Nó đang học Toán. + Nó thường về quê. + Nam rất thích sống ở quê. + Anh ấy đã đi về quê. + Nó đang ở trường. - Chuyển sang văn phạm DCG từng câu. - Gộp văn phạm DCG để tạo mini paser hoàn chỉnh. 1. Vẽ cây cú pháp Ta tiến hành vẽ cây cú pháp cho từng câu II. 2 a. Nam có nhà ở quê. b. Gia đình của Nam sống ở quê. 3 c. Nam học ở thành phố. d. Nam cũng mua một căn nhà ở thành phố. 4 e. Căn nhà đó rất đẹp. f. Nó đang học Toán. g. Nó thường về quê. 5 h. Nam rất thích sống ở quê. i. Anh ấy đã đi về quê. j. Nó đang ở trường. 6 2. Chuyển sang văn phạm DCG từng câu. a. Nam có nhà ở quê. Văn phạm DCG: Kết quả phân tích câu: b. Gia đình của Nam sống ở quê 7 Văn phạm DCG: Kết quả phân tích câu: c. Nam học ở thành phố Văn phạm DCG: Kết quả phân tích câu: 8 d. Nam cũng mua một căn nhà ở thành phố Văn phạm DCG: Kết quả phân tích câu: e. Căn nhà đó rất đẹp. Văn phạm DCG: 9 Kết quả phân tích câu: f. Nó đang học Toán Văn phạm DCG: Kết quả phân tích câu: 10 g. Nó thường về quê Văn phạm DCG: Kết quả phân tích câu: h. Nam rất thích sống ở quê. Văn phạm DCG: 11 Kết quả phân tích câu: i. Anh ấy đã đi về quê. Văn phạm DCG: Kết quả phân tích câu: j. Nó đang ở trường. Văn phạm DCG: 12 Kết quả phân tích câu: 3. Gộp văn phạm DCG. Từ những văn phạm của các câu trên, ta tiến hành gộp chúng lại để tạo thành 1 mini paser hoàn chỉnh.(những khai báo giống nhau chỉ ghi lại 1 lần) Ta có văn phạm DCG hoàn chỉnh như sau: 13 III. Một vài demo câu mở rộng. Phân tích câu “Gia đình của Nam mua căn nhà ở quê”. Phân tích câu “Nam thích nhà ở quê”. 14 Phân tích câu “Gia đình của nó rất thích ở thành phố”. Phân tích câu “Nó đang học toán ở trường”. Phân tích câu “Anh ấy thường sống ở thành phố”. IV. Lưu ý khi xây dựng mini pasrer 1. Cú pháp - Sử dụng văn phạm DCG khi khai báo thuộc tính np,vp,….. thì ta phải khai báo cái này xong, rồi mới được khai báo cái khác. VD: Đúng! Sai! 15 - Ta thấy lệnh np(np(PP))-->pp(PP). phải nằm sau np(np(NN))-->nn(NN). nhưng ở đây lệnh này lại nằm sau pp(pp(IN,NP))-->in(IN),np(NP). Nên trình biên dịch sẽ báo lỗi: 2. Ngữ pháp. - Tùy vào vị trí trong câu mà 1 từ thuộc ngữ pháp khác nhau. Ví Dụ ở câu a: “Nam có nhà ở quê.” - Văn phạm DCG: - Kết quả phân tích câu “Nam có nhà ở quê”: 16 Ket-noi.com - Ta thấy từ “ở” nếu được đặt ở sau từ “nhà” thì nó là một giới từ nên có văn phạm là: in(in(ở))-->[ở]. - Nhưng nếu ta ngắt bỏ bớt các từ không cần thiết để tạo thành 1 câu mới như “Nam ở quê” - Thì từ “ở” ở đây không còn là giới từ nữa, mà nó là một động từ nên có văn phạm là: vb(vb(ở))-->[ở]. - Kết quả phân tích câu “Nam ở quê”: - Điều này lý giải tại sao trong 1 văn phạm, 1 từ nhưng có nhiều ngữ pháp khác nhau. V. Kết luận. Môn học Xử lý ngôn ngữ tự nhiên với đồ án Xây dựng một mini parser trên Prolog. Đồ án giúp cho em một lần nữa hệ thống lại được những kiến thức mà em đã học, giúp cho mỗi sinh viên chúng em hiểu sâu sắc hơn về lập trình trên Prolog . Đồ án cũng đã tạo điều kiện cho em có thể viết các chương trình cơ bản trong Prolog cũng như phát triển thành phần mềm liên quan đến xử lý ngôn ngữ tự nhiên,… Do thời gian làm đồ án có hạn nên không tránh khỏi những thiếu sót. Em rất mong được sự thông cảm, góp ý của Thầy để em nắm bắt thêm những kiến thức được sâu rộng hơn, hoàn thiện hơn. Em xin chân thành cảm ơn! 17
- Xem thêm -