1. Trang chủ
  2. » Công Nghệ Thông Tin

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

21 1K 10

Đ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 21
Dung lượng 887,2 KB

Nội dung

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

Trang 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)

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN

Trang 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

Trang 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ừ 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 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

Trang 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

1.2.2 Các từ loại trong tiếng Anh

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

np2, np3, np4 Noun phrase Cụm danh từ

Trang 6

padj Adjective Phrase Cụm tính từ

q_adj Quantity adjective Tính từ chỉ số lượng

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:

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

Ông ấy mới mua np1

Ô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

Trang 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”:

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:

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:

Trang 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

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

Trang 10

1.3.5 Cú pháp tổng quát cho 2 câu

Trang 11

Từ việc sử dụng luật cho các câu ban đầu, ta có thể sử dụng thêm các luật để sinh ra các biến thể đúng cú pháp (ví dụ: ông ấy mới mua một con két, con két rất thông minh, ông ấy rất đẹp, con ông ấy đẹp, căn nhà ông ấy có con két…) và kiểm soát các biến thể đúng cú pháp nhưng vô nghĩa (ví dụ: con 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

Trang 12

Phần 2 CÂY 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 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)

Ví dụ:

Để 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 trình Prolog là:

học bài

Trang 13

Sau khi chạy truy vấn ta đƣợc danh sách node, dựa vào node tiến hành vẽ cây Parse Tree:

2.2 Chương trình minh họa

2.2.1 Giao diện chương trình

Trang 14

2.2.2 Hướng dẫn sử dụng chương trình

2.2.2.1 Giớ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.2 Bộ file đi kèm chương trình:

Demo.exe File chương trình chính (nằm trong thư mục bin)

Prolog.exe File chương trình chính (nằm trong thư mục bin)

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

Trang 15

Bước 3 Nhập câu truy vấn cần thực hiện hoặc chọn câu có sẵn trong combobox

Bước 4 Nhấn nút chạy để chương trình phân tích cú pháp và vẽ cây Parse tree

2.2.3 Phân tích một số câu

2.2.3.1 Phân tích các câu đơn

Câu 1: Ông ấy rất đẹp

Kết quả: s(np(n(ông),nc(ấy)),vp(adv1(rất),v1(đẹp)))

Trang 16

Câu 2: ông ấy mới mua một con két rất thông minh

Kết quả:

s(np(n(ông),nc(ấy)),vp(adv(mới),v(mua),np1(q_adj(một),np3(un(con),n(két)),padj(adv1(rất),adj1(thông minh)))))

Câu 3: ông mới có một căn nhà đẹp

Kết quả:

s(np(n(ông)),vp(adv(mới),v(có),np1(q_adj(một),np3(un(căn),n(nhà)),padj(adj1(đẹp)))))

Trang 17

Câu 4: căn nhà rất thông minh

Kết quả: FALSE! đây là câu vô nghĩa

Câu 5: Con két có ông ấy

Kết quả: đây là câu vô nghĩa

2.2.3.2 Phân tích các câu phức tạp, ghép

Câu 1: con ông ấy có một con két rất đẹp

Trang 18

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”

Trang 19

Câu 4: con két đẹp có một căn nhà mới rất đẹp

Câu 5: căn nhà ông ấy mới mua mua một con két mới rất đẹp

Trang 20

KẾT LUẬN

Tiểu luận đã trình bày chi tiết 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 Parse tree còn một số hạn chế, chưa mở rộng với các trường hợp sô câu lớn, phức tạp, Phần mềm chỉ chạy trên một lõi xử lý đơn (single core), chưa hiện thực được 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

Trang 21

TÀI LIỆU THAM KHẢO

[1] T Smith, "Parsing and Semantics", AIPP, 2004

[2] Nhiều tác giả, “Tập quy tắc cú pháp tiếng Việt (SP8.5 – Đề tài

KC.01.01.05/06-10)”, 2009

[3] http://vlsp.vietlp.org:8080/demo/?page=resources

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

TỪ KHÓA LIÊN QUAN

w