Bài thu hoạch ngôn ngữ học máy tính

21 1K 10
Bài thu hoạch ngôn ngữ học máy tính

Đ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

Trong khoa học máy tính, ngôn ngữ học máy tính nghiên cứu những bổ sung cấu trúc ngôn ngữ bằng khoa học máy tính. Ngày nay, cùng với việc xử lý ngôn ngữ tự nhiên, ngôn ngữ học máy tính giúp chúng ta có thể xây dựng các ứng dụng thực tế hơn nhƣ việc kiểm tra tính chính xác của văn bản, hiểu và tóm tắt văn bản, phân loại văn bản, chuyển các văn bản thành dữ liệu có cấu trúc

Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 1 LỜI NÓI ĐẦU Trong khoa học máy tính, ngôn ngữ học máy tính nghiên cứu những bổ sung cấu trúc ngôn ngữ bằng khoa học máy tính. Ngày nay, cùng với việc xử lý ngôn ngữ tự nhiên, ngôn ngữ học máy tính giúp chúng ta có thể xây dựng các ứng dụng thực tế hơn nhƣ việc kiểm tra tính chính xác của văn bản, hiểu và tóm tắt văn bản, phân loại văn bản, chuyển các văn bản thành dữ liệu có cấu trúc. Qua môn học ngôn ngữ học máy tính, ngƣời viết đã đƣợc tìm hiểu về vấn đề phân tích cú pháp, tính toán và phân tích ngữ nghĩa. Ngƣời viết xin gửi lời cảm ơn chân thành đến TS. Nguyễn Tuấn Đăng, trƣởng bộ môn xử lý ngôn ngữ tự nhiên trƣờng Đại học Công Nghệ Thông Tin và các quí Thầy Cô đã tận tình giảng dạy, giúp đỡ để ngƣời viết hiểu thêm và hoàn thành tiểu luận này. Mặc dù đã rất nỗ lực, cố gắng nhƣng kiến thức còn hạn chế nên bài viết không thể bao quát hết những kiến thức đã học, mục đích chủ yếu tiểu luận này là để giới thiệu về các dạng văn phạm, luật dẫn xuất, xử lý 2 câu “Ông ấy mới mua một căn nhà rất đẹp”, “Ông ấy có một con két rất thông minh” theo văn phạm DCG có kiểm soát các câu sai, cùng với việc sử dụng Prolog có kết nối đến C#, ngƣời viết sẽ thực hiện việc xử lý các câu trên trên máy tính để trả về cây cú pháp (Parse tree). Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 2 NHẬN XÉT CỦA GIẢNG VIÊN Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 3 MỤC LỤC LỜI NÓI ĐẦU 1 NHẬN XÉT CỦA GIẢNG VIÊN 2 MỤC LỤC 3 Phần 1. PHÂN TÍCH CÚ PHÁP CÂU 4 1.1 Biểu diễn ngữ pháp dạng DCG 4 1.2 Từ loại 4 1.2.1 Các loại từ trong tiếng Việt 4 1.2.2 Các từ loại trong tiếng Anh 5 1.3 Phân tích cú pháp câu 5 1.3.1 Ký hiệu từ loại 5 1.3.2 Tách từ, gán nhãn từ loại và gom cụm từ 6 1.3.3 Phân tích câu theo văn phạm DCG 7 1.3.4 Văn phạm DCG kết hợp ràng buộc 8 1.3.4.1 Cách tạo một ràng buộc 8 1.3.4.2 Ràng buộc căn đi với nhà/con đi với két 8 1.3.4.3 Ràng buộc căn(nhà) đi với đẹp, con(két) đi với đẹp|thông minh 8 1.3.4.4 Ràng buộc (căn) nhà/(con) két đi với có 9 1.3.5 Cú pháp tổng quát cho 2 câu 10 Phần 2. CÂY PARSE TREE VÀ CHƢƠNG TRÌNH MINH HỌA 12 2.1 Cây parse tree 12 2.2 Chƣơng trình minh họa 13 2.2.1 Giao diện chƣơng trình 13 2.2.2 Hƣớng dẫn sử dụng chƣơng trình 14 2.2.2.1 Giới thiệu 14 2.2.2.2 Bộ file đi kèm chƣơng trình: 14 2.2.2.3 Hƣớng dẫn sử dụng 14 2.2.3 Phân tích một số câu 15 2.2.3.1 Phân tích các câu đơn 15 2.2.3.2 Phân tích các câu phức tạp, ghép 17 KẾT LUẬN 20 TÀI LIỆU THAM KHẢO 21 Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 4 Phần 1. PHÂN TÍCH CÚ PHÁP CÂU 1.1 Biểu diễn ngữ pháp dạng DCG DCG(Definite Clause Grammar) là một quy tắc cho phép diễn giải trực tiếp ngữ pháp hình thức trong Prolog. Vì DCG là văn phạm mở rộng của CFG nên cú pháp của DCG thì cơ bản giống với CFG. Ví dụ: S > PRN, VP. Trong các quy tắc này S, PRN, VP là các ký hiệu không kết thúc(non-terminal). Để diễn tả quy tắc ngữ pháp cho một ký hiệu PRN, ta có thể viết: PRN > [Nó]. Để diễn tả quy tắc ngữ pháp cho một ký hiệu VP, ta có thể viết: VP > V, N. V > [học]. N > [bài]. 1.2 Từ loại 1.2.1 Các loại từ trong tiếng Việt Từ loại Diễn giải Ví dụ Danh từ 1. Từ chuyên biểu thị ý nghĩa sự vật, đối tƣợng, thƣờng làm chủ ngữ trong câu. 2. Từ hoặc tổ hợp từ chuyên dùng để gọi tên sự vật hoặc biểu đạt khái niệm, thƣờng dùng trong lĩnh vực chuyên môn. Con két rất đẹp. Động từ Từ chuyên biểu thị hành động, trạng thái hay quá trình, thƣờng dùng làm vị ngữ trong câu. Ông mua con két. Tính từ Từ chuyên biểu thị ý nghĩa tính chất, thuộc tính, thƣờng có thể trực tiếp làm vị ngữ trong câu. Ông mua con két đẹp. Đại từ Từ dùng để chỉ một đối tƣợng, một điều đã đƣợc nói đến, hay là một đối tƣợng, một điều nào đó trong hoàn cảnh nói năng nhất định. “Tôi”, “nó”, “đây”, “ấy”, “gì”, “con” đều là đại từ. Con có con két. Phụ từ (cũng nhƣ phó từ) Từ chuyên bổ túc nghĩa cho một động từ, tính từ hoặc một phụ từ khác. “Sẽ”, “đã”, “rất”, “lắm” đều là phụ từ. Con két rất đẹp Kết từ Từ chuyên biểu thị quan hệ cú pháp, nối liền các thành phần Căn nhà đẹp Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 5 trong câu với nhau. “Do”, “của”, “và”, “để”, “bởi”, “nếu”, “thì”, … là những kết từ trong tiếng Việt. và con két thông minh Trợ từ Từ chuyên dùng để thêm vào cho câu, biểu thị thái độ của ngƣời nói, nhƣ ngạc nhiên, nghi ngờ, mỉa mai, vui mừng, v.v. “À”, “ƣ”, “nhỉ” v.v. là những trợ từ trong tiếng Việt. Cảm từ Từ dùng riêng biệt, không có quan hệ cú pháp với những từ khác trong lời nói, chuyên biểu thị sự phản ánh tình cảm, dùng làm tiếng gọi, tiếng đáp, tiếng reo vui, than vãn, nguyển rủa, chửi bới, v.v. “Ái chà”, “ôi”, “chao ôi”, “vâng”, “dạ” đều là những cảm từ trong tiếng Việt. 1.2.2 Các từ loại trong tiếng Anh Từ loại Dịch nghĩa Example Nouns Danh từ Teacher, desk, parrot Pronouns Đại từ You, them, him, who, that Adjectives Tính từ a new house, beautiful, intelligent Verbs Động từ Buy, have, get, play Adverbs Trạng từ Very, quickly Prepositions Giới từ By, at, in, on Conjunctions Liên từ And, but, because Interjections Thán từ Oh!, Ah! 1.3 Phân tích cú pháp câu 1.3.1 Ký hiệu từ loại Từ loại Dịch nghĩa Example S Sentences Câu np, np1 Noun phrase Cụm danh từ np2, np3, np4 Noun phrase Cụm danh từ N Noun Danh từ vp Verb phrase Cụm động từ Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 6 padj Adjective Phrase Cụm tính từ v, v1 Verb Động từ adj, adj1 Adjective Tính từ q_adj Quantity adjective Tính từ chỉ số lƣợng adv, adv1 Adverb Trạng từ un Uncount noun Danh từ không đếm đƣợc nc Demonstrative adjectives Tính từ chỉ thị 1.3.2 Tách từ, gán nhãn từ loại và gom cụm từ Với câu: “Ông ấy mới mua một căn nhà rất đẹp”-“Ông ấy có một con két rất thông minh” ta có thể tách câu nhƣ sau: Cụm danh từ (noun phrase-NP) = “Ông ấy”. Cụm động từ (verb phrase-VP)=”mới mua một căn nhà rất đẹp”-“có một con két rất thông minh”. Tƣơng tự ta đƣợc bảng nhƣ sau: - Câu 1: Từ ông ấy mới mua một căn nhà rất đẹp Cụm từ np vp Từ loại n nc adv v np np adv adj q_adj un n - Câu 2: Từ ông ấy có một con két rất thông minh Cụm từ np vp Từ loại n nc v np np adv adj q_adj un n Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 7 1.3.3 Phân tích câu theo văn phạm DCG Với 2 câu trên, ta có thể viết theo văn phạm DCG(chƣa biến thể các câu đúng, chƣa kiểm soát các biến thể đúng nhƣng vô nghĩa) trên prolog nhƣ sau: S > np, vp. np > n, nc. np > np, adv, adj. np > q_adj, un, n. np1 > np, adv, adj. vp > adv, v, np1. vp > v,np. n > [ông]. n > [nhà]. n > [két]. nc > [ấy]. un > [con]. un > [căn]. v > [mua]. v > [có]. q_adj > [một]. adj > [đẹp]. adj > [thông minh]. adv > [rất]. adv > [mới]. Quá trình sinh ra một dẫn xuất cho câu “ông ấy mới mua một căn nhà rất đẹp” nhƣ sau: s np vp n nc vp Ông nc vp Ông ấy vp Ông ấy adv v np1 Ông ấy mới v np1 Ông ấy mới mua np1 Ông ấy mới mua np adv adj Ông ấy mới mua np rất adj Ông ấy mới mua np rất đẹp Ông ấy mới mua q_adj un n rất đẹp Ông ấy mới mua một un n rất đẹp Ông ấy mới mua một căn n rất đẹp Ông ấy mới mua một căn nhà rất đẹp Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 8 1.3.4 Văn phạm DCG kết hợp ràng buộc 1.3.4.1 Cách tạo một ràng buộc Để thực hiện ràng buộc, ta sử dụng biến kèm theo trong quá trình sinh luật. Ví dụ ràng buộc căn đi với nhà, con đi với két sau đây cho câu “căn nhà đẹp” – “con két đẹp”: s > np, vp. np > un(X), n(X). //ràng buộc X cho căn nhà – con két vp > v. un(1) > [căn]. un(2) > [con]. n(1) > [nhà]. n(2) > [két]. v > [đẹp]. 1.3.4.2 Ràng buộc căn đi với nhà/con đi với két Khi chạy prolog nếu không kiểm soát sẽ có rất nhiều biến thể dạng căn két hoặc con nhà. Để ràng buộc này ta tạo ra biến X kèm với UN, N: np(np(UN,N,NC),T,Y,W,_) >un(UN,X,_,T,W),n(N,X,_,Y),nc(NC). %X np(np(Q_ADJ,NP2),T,Y,W,_) >q_adj(Q_ADJ),np2(NP2,_,T,Y,W). %X np(np(UN,N),T,Y,W,_) >un(UN,X,_,T,W),n(N,X,_,Y). %X … n(n(nhà),1,6,3) >[nhà]. n(n(két),2,7,3) >[két]. un(un(căn),1,4,7,8) >[căn]. un(un(con),2,_,6,_) >[con]. 1.3.4.3 Ràng buộc căn(nhà) đi với đẹp, con(két) đi với đẹp|thông minh Biến thể câu căn nhà thông minh là câu vô nghĩa, ta kiểm soát sử dụng biến Z ràng buộc căn đi với đẹp/ két đi với đẹp và thông minh: np(np(NP2,ADJ1),T,Y,W,I) >np2(NP2,Z,T,Y,W),adj1(ADJ1,Z,I). %Z np(np(NP2,ADV1,ADJ1),T,Y,W,I) >np2(NP2,Z,T,Y,W),adv1(ADV1),adj1(ADJ1,Z,I). np(np(Q_ADJ,NP2,ADJ1),T,Y,W,I) >q_adj(Q_ADJ),np2(NP2,Z,T,Y,W),adj1(ADJ1,Z,I) np(np(Q_ADJ,NP2,ADV1,ADJ1),T,Y,W,I) >q_adj(Q_ADJ),np2(NP2,Z,T,Y,W),adv1(ADV1),adj1(ADJ1,Z,I). … padj(padj(ADV1,ADJ1),Z) >adv1(ADV1),adj1(ADJ1,Z,_). padj(padj(ADJ1),Z) >adj1(ADJ1,Z,_). un(un(căn),1,4,7,8) >[căn]. Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 9 un(un(con),2,_,6,_) >[con]. adj1(adj1(đẹp),4,11) >[đẹp]. adj1(adj1('thông minh'),5,10) >[thông,minh]. 1.3.4.4 Ràng buộc (căn) nhà/(con) két đi với có Nếu không kiểm soát, ta sẽ gặp rất nhiều biến thể dạng câu căn nhà ông ấy mua con két rất đẹp hoặc con két mua căn nhà đẹp. Vì thế, tạo biến Y ràng buộc để căn nhà/con két đi với có trong trƣờng hợp căn nhà/con két làm chủ ngữ câu. np(np(NP2,N,NC),T,Y,W,_) >np2(NP2,Z,T,Y,W),n(N),nc(NC). %Y … np2(np2(UN,N),Z,T,Y,W,_) >un(UN,X,Z,T,W),n(N,X,_,Y). … vp(vp(ADV,V,NP1),T,Y,W) >adv(ADV),v(V,Y),np1(NP1,T). vp(vp(V,NP1),T,Y,W) >v(V,Y),np1(NP1,T). n(n(nhà),1,6,3) >[nhà]. n(n(két),2,7,3) >[két]. v(v(có),3) >[có]. Ví dụ: căn nhà ông ấy có con két rất đẹp. con két có căn nhà đẹp. …. Ngoài ra, còn có các ràng buộc:  Ràng buộc T để con(két) làm chủ ngữ phải đi với (căn) nhà ở vị ngữ và ngƣợc lại. o Ví dụ: con két có con két rất đẹp -> false. o Ví dụ: con két có căn nhà rất đẹp ->true.  Ràng buộc W căn nhà đi với đẹp/con két đi với đẹp|thông minh nếu đẹp|thông minh là động từ trong câu đơn. o Ví dụ: con két đẹp ->np(un(con),n(két),vp(v1(đẹp)))  Ràng buộc I không cho căn nhà đẹp rất đẹp/ con két thông minh thông minh, cho phép con két đẹp rất thông minh, căn nhà đẹp có con két đẹp/thông minh Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 10 1.3.5 Cú pháp tổng quát cho 2 câu [...]... phƣơng pháp lập trình song song trên bộ xử lý đa core, chƣa tự động cài đặt Prolog Xin chân thành cảm ơn Thầy TS Nguyễn Tuấn Đăng, giảng viên chuyên đề ngôn ngữ học máy tính đã truyền đạt những kiến thức quý báu về xử lý ngôn ngữ trên máy tính, các thu t toán PCY,… để ứng dụng trong thực tiễn GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 20 Tiểu luận: Định nghĩa văn phạm DCG để phân... tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” Thông qua việc tìm hiểu và nghiên cứu đề tài này, ngƣời viết có cái nhìn tổng quan hơn trong việc ứng dụng ngôn ngữ học máy tính vào giải quyết vấn đề thực tế Mặc dù đã rất cố gắng nhƣng do còn hạn chế về mặt thời gian cũng nhƣ kiến thức nên tiểu luận chỉ giải quyết ở mức nhất định các câu đúng và việc trình bày cây... một con két rất thông minh” Câu 2: căn nhà ông ấy mới mua có một con két mới rất đẹp Câu 3: con két mới có một căn nhà rất đẹp Kết quả: 2 Kết quả 1: “con két” chủ ngữ | vị ngữ “mới có một căn nhà rất đẹp” Kết quả 2: “con két mới” chủ ngữ | vị ngữ “có một căn nhà rất đẹp” GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 18 Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua... Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông ấy có một con két rất thông minh” 2.2.2 Hướng dẫn sử dụng chương trình 2.2.2.1Giới thiệu Chƣơng trình đƣợc viết bằng ngôn ngữ C#, trình biên dịch visual studio 2012 kết nối với Prolog sử dụng phiên bản 32 bit trên windows 32 bit Ngƣời viết đã test và chạy thử tốt với phiên bản 6.3.3 và 6.4.0 2.2.2.2Bộ file đi kèm chƣơng... cú pháp dẫn xuất DCG để chạy câu truy vấn SwiPlCs.dll Thƣ viện kết nối với Swi-Prolog 32-bit Autorun.txt File chứa các câu hợp ngữ pháp để load lên combobox w32pl633.exe Source chƣơng trình Prolog 6.3.3 32 bit DoAnDCG_KoDXuat.pl File không dẫn xuất DCG để trả về các câu đúng ngữ pháp 2.2.2.3Hƣớng dẫn sử dụng Bƣớc 1 Kết nối Prolog Khởi động chƣơng trình, phần mềm sẽ xác định đƣờng dẫn cài đặt Prolog... PARSE TREE VÀ CHƢƠNG TRÌNH MINH HỌA 2.1 Cây parse tree Cây cú pháp của DCG đƣợc sinh ra phụ thu c vào đối số mà chúng ta muốn nhận về Mỗi đối số trong một luật sinh X sẽ là một nút con của nút X Thứ tự các nút con của nút gốc có thứ tự trái qua phải tƣơng ứng với thứ tự các đối số truyền vào Một bộ phân tách ngữ pháp (parser) có thể biểu diễn một chuỗi bằng nhiều cách để thể hiện vai trò của từng thành... (parser) có thể biểu diễn một chuỗi bằng nhiều cách để thể hiện vai trò của từng thành phần trong chuỗi Một trong những cách biểu diễn trực quan là dùng cây phân tách (parse tree) S Ví dụ: VP NP PRN V N Nó học bài Để thực hiện vẽ cây Parse tree, ngƣời viết dựa vào kết quả trả về của Prolog khi ngƣời dùng thực thi câu truy vấn Ví dụ thực thi câu “Ông ấy mới mua một căn nhà rất đẹp” kết quả trả về từ chƣơng... s(np(n(ông),nc(ấy)),vp(adv(mới),v(mua),np1(np(q_adj(một),un(căn),n(nhà)),adv(rất),adj(đẹp)))) Ta tiến hành tách các từ loại ra, mỗi một từ loại là 1 Node, mỗi terminal là một Node Lớp NodeS này bao gồm các thu c tính để hỗ trợ việc vẽ cây parse tree: GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng – CH1301118 12 Tiểu luận: Định nghĩa văn phạm DCG để phân tích câu: “Ông ấy mới mua một căn nhà rất đẹp” “Ông... két mua ông ấy, căn nhà rất thông minh, con két mua một căn nhà rất đẹp, con két đẹp có con két đẹp…) Ta có cú pháp tổng quát nhƣ trên Dựa vào cú pháp tổng quát, ngƣời viết đã phân tích đƣợc các câu hợp ngữ pháp và đặt vào file Autorun.txt, khi chạy chƣơng trình file này sẽ load lên combobox với mục đích cho phép ngƣời dùng chọn lựa để thực thi nhanh GVHD: TS Nguyễn Tuấn Đăng HVTH: Nguyễn Ngọc Vọng –

Ngày đăng: 26/12/2014, 08:15

Từ khóa liên quan

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

Tài liệu liên quan