ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ
MINH TRƯỜNG ĐẠI HỌC SÀI GỊN
KHOA CƠNG NGHỆ THƠNG TIN
BÁO CÁO TIỂU LUẬN CUỐI KỲ MÔN HỌC
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
TÊN ĐỀ TÀI:
XÂY DỰNG PARSER DỰA TRÊN VĂN PHẠM DCG (DEFINITE
CLAUSE GRAMMAR) ĐỂ PHÂN TÍCH CÚ PHÁP
TÊN GIẢNG VIÊN: THẦY NGUYỄN TUẤN ĐĂNG
NĂM HỌC: 2022 – 2023
SINH VIÊN THỰC HIỆN:
HỒNG BÌNH MINH
MSSV: 3120410318
I. Văn phạm DCG và cây được vẽ ra từ văn ngữ liệu gốc cho trước
:- use_rendering(svgtree).
s(s(X,Y))-->np(X),vp(Y).
np(np(X))-->propn(X).
np(np(X))-->n(X).
np(np(X))-->nom(X).
np(np(X,Y))-->pp(X),n(Y).
np(np(X,Y))-->n(X),propn(Y).
np(np(X,Y))-->n(X),n(Y).
np(np(X,Y))-->n(X),pp(Y).
np(np(X,Y))-->pp(X),np(Y).
np(np(X,Y))-->n(X),adjp(Y).
np(np(X,Y))-->det(X),nom(Y).
np(np(X,Y))-->nom(X),adjp(Y).
np(np(X,Y,Z))-->n(X),adjp(Y),adjp(Z).
vp(vp(X,Y,Z))-->advp(X),vp(Y),pp(Z).
vp(vp(X,Y))-->v(X),vp(Y).
vp(vp(X,Y))-->v(X),np(Y).
vp(vp(X,Y,Z))-->v(X),np(Y),pp(Z).
vp(vp(X,Y,Z))-->v(X),vp(Y),pp(Z).
vp(vp(X,Y))-->v(X),pp(Y).
vp(vp(X,Y,Z))-->v(X),np(Y),np(Z).
vp(vp(X,Y,Z))-->v(X),np(Y),vp(Z).
vp(vp(X,Y,Z))-->v(X),np(Y),advp(Z).
vp(vp(X,Y))-->advp(X),pp(Y).
vp(vp(X,Y))-->advp(X),vp(Y).
vp(vp(X,Y,Z))-->advp(X),vp(Y),pp(Z).
vp(vp(X,Y))-->adjp(X),np(Y).
det(det(X))-->cd(X).
nom(nom(X,Y))-->un(X),n(Y).
nom(nom(X,Y))-->n(X),n(Y).
nom(nom(X,Y,Z))-->un(X),n(Y),adjp(Z).
nom(nom(X,Y,Z,T))-->un(X),n(Y),adjp(Z),adjp(T).
pp(pp(X))-->p(X).
pp(pp(X,Y))-->p(X),np(Y).
adjp(adjp(X,Y))-->advp(X),adj(Y).
adjp(adjp(X))-->adj(X).
advp(advp(X,Y))-->cc(X),adv(Y).
advp(advp(X))-->adv(X).
advp(advp(X,Y))-->adv(X),vp(Y).
propn(propn(nam))-->[nam].
propn(propn(lan))-->[lan].
n(n(sach))-->[sach].
n(n(thu,vien))-->[thu,vien].
n(n(truong))-->[truong].
n(n(nha))-->[nha].
n(n(nha,sach))-->[nha,sach].
n(n(nha,truong))-->[nha,truong].
v(v(doc))-->[doc].
v(v(thich))-->[thich].
v(v(o))-->[o].
v(v(tang))-->[tang].
v(v(den))-->[den].
v(v(mua))-->[mua].
p(p(o))-->[o].
p(p(cua))-->[cua].
p(p(gan))-->[gan].
cc(cc(rat))-->[rat].
adv(adv(thuong))-->[thuong].
adv(adv(rat))-->[rat].
adv(adv(moi))-->[moi].
adv(adv(hay))-->[hay].
adj(adj(moi))-->[moi].
adj(adj(hay))-->[hay].
cd(cd(mot))-->[mot].
un(un(cuon))-->[cuon].
a) Nam thường đến thư viện.
b) Nam thích đọc sách ở thư viện.
c) Nhà của Nam ở gần trường.
d) Nam mới mua một cuốn sách mới.
e) Nam tặng Lan một cuốn sách rất hay.
II. Những trường hợp phát sinh từ những câu trong văn phạm
a) Nam thường đến thư viện.
Câu phát sinh:
Nam đến thư viện
b) Nam thích đọc sách ở thư viện
Câu phát sinh:
Nam đọc sách
Nam thích đọc sách
Nam đọc sách ở thư viện
Nam thích sách
Nam thích sách ở thư viện
Nam thích ở thư viện
Nam thích thư viện
c) Nhà của Nam ở gần trường.
Câu phát sinh:
Nhà Nam ở gần trường
Nhà của Nam ở trường
Nam ở gần trường
Trường của Nam ở gần nhà
Nam ở nhà
Nam ở trường
d) Nam mới mua một cuốn sách mới
Câu phát sinh:
Nam mới mua cuốn sách
Nam mua cuốn sách mới
Nam mới mua sách
Nam mua sách mới
Nam mới mua sách mới
Nam mua một cuốn sách mới
e) Nam tặng Lan một cuốn sách rất hay.
Câu phát sinh:
Nam tặng Lan một cuốn sách
Nam tặng Lan một cuốn sách hay
Cuốn sách rất hay Nam tặng Lan
Nam tặng một cuốn sách
Lan tặng một cuốn sách
Nam tặng Lan cuốn sách hay
III. Câu phát sinh từ tồn bộ văn phạm
Từ tập ngữ liệu phía trên, ta ghép được những câu ghép nối khác:
Nam thường đọc sách ở thư viện
Nam thường đọc sách ở trường
Nam thường đến đọc sách ở thư viện
Nam thường ở thư viện đọc sách
Nam thường đọc sách
Nam thường ở thư viện
Nam thường ở gần trường
Nam thường ở trường
Nam thường mua một cuốn sách mới
Nam thường mua một cuốn sách
Nam thường mua sách
Nam thường mua sách mới
Nam thường mua cuốn sách mới