TRƢỜNG ĐẠI HỌC LẠC HỒNG
TRUNG TÂM THÔNG TIN TƢ LIỆU
BÁO CÁO
NGHIÊN CỨU KHOA HỌC GIÁO VIÊN
ĐỀ TÀI:
HỆ THỐNG TRẢ LỜI TỰ ĐỘNG TIẾNG VIỆT CHO
CÔNG TÁC TUYỂN SINH ĐẠI HỌC
NGUYỄN BÌNH TRỌNG
ĐỒNG NAI, THÁNG 5/2012 TRƢỜNG ĐẠI HỌC LẠC HỒNG
TRUNG TÂM THÔNG TIN TƢ LIỆU
BÁO CÁO
2.1 Mô hình chức năng của hệ thống 7
2.2 Các thành phần cơ bản của hệ thống 8
2.2.1 Thành phần dữ liệu 8
2.2.2 Thành phần xử lý 10
2.2.3 Thành phần giao tiếp người dùng. 10
2.3 Quy trình xử lý câu hỏi 11
2.3.1 Tiền xử lý câu hỏi 11
2.3.2 Phân tích câu hỏi 12
2.3.3 Tổng hợp dữ liệu trên cây truy vấn để tiến hành truy vấn CSDL 13
2.3.4 Nhận kết quả và hiển thị lên cho người dùng 13
CHƢƠNG 3: PHÂN TÍCH CÚ PHÁP CÂU HỎI DỰA TRÊN DCG 14
3.1 Cơ bản về CFG và DCG 14
3.1.1 Cơ bản về CFG 14
3.1.1.1 Định nghĩa 14 3.1.1.2 Cây cú pháp 15
3.1.1.3 Sự mơ hồ (nhập nhằng) trong văn phạm phi ngữ cảnh. 16
3.1.2 Cơ bản về DCG 20
3.1.2.1 Định nghĩa 20
3.1.2.2 Quy tắc cú pháp: 20
3.1.2.3 Đối số trong DCG. 21
3.1.2.4 Cây cú pháp trong DCG. 21
3.2 Xây dựng cú pháp các câu hỏi tuyển sinh dựa trên DCG. 21
3.2.1 Ý tưởng xây dựng cây cú pháp 21
3.2.2 Xây dựng các thành phần cơ bản cho việc xây dựng cú pháp 39
3.2.2.1 Từ điển từ đơn 40
3.2.2.2 Định nghĩa các từ tổ và từ ghép 41
3.2.2.3 Định nghĩa từ có thể “khuyết” 42
3.2.2.4 Định nghĩa nhóm từ đại diện cho các từ đồng nghĩa 43
4.4.2 Giao diện của hệ thống 68
4.5 Thử nghiệm và đánh giá 71
4.5.1 Một số câu hỏi thử nghiệm trong hệ thống 71
4.5.2 Đánh giá hệ thống 72
CHƢƠNG 5: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 74
5.1 Kết quả đạt được của hệ thống 74
5.2 Những điểm hạn chế của hệ thống 75
5.3 Hướng phát triển 75
TÀI LIỆU THAM KHẢO
PHỤ LỤC 1: ĐỊNH NGHĨA CÚ PHÁP CHO CÁC THÀNH PHẦN
CỦA CÂU HỎI
PHỤ LỤC 2: ĐỊNH NGHĨA CÚ PHÁP CHO CÁC DẠNG CÂU HỎI
TRONG HỆ THỐNG
PHỤ LỤC 3: CÁC LƢU ĐỒ XỬ LÝ TRONG HỆ THỐNG
PHỤ LỤC 4: CÁC CÂU HỎI CHUẨN CỦA HỆ THỐNG DANH MỤC TỪ VIẾT TẮT
CFG: Context Free Grammar
DCG: Definite Clause Grammar
CSDL: Cơ Sở Dữ Liệu
SQL: Structured Query Language
DANH MỤC HÌNH
Hình 2.1: Mô hình chức năng của hệ thống. 7
Hình 2.2: Quy trình xử lý câu hỏi. 11
Hình 2.3: Công đoạn tiền xử lý. 11
Hình 2.4: Công đoạn phân tích câu hỏi. 12
từng trường. Tuy nhiên, các thông tin trên các diễn đàn và các báo mạng thường
là ý kiến của nhiều người nên có thể sẽ trái chiều nhau gây ra cảm giác ngờ vực,
phân vân nơi người sử dụng. Mặt khác, cách trình bày nội dung của mỗi website
của từng trường lại khác nhau nên sẽ gây khó khăn cho người quan tâm muốn
có được câu trả lời mong muốn. Người dùng sẽ tốn nhiều thời gian và công sức
để truy cập mỗi website của từng trường, duyệt qua nội dung của các trang web
trong mỗi website đó, mong muốn tìm được câu trả lời cần thiết.
Hiện nay chưa có công cụ tìm kiếm chuyên dụng nào cho các thông tin
tuyển sinh của các trường. Học sinh và phụ huynh của học sinh muốn tìm kiếm
thông tin về trường học và ngành nghề tương lai thì có thể dùng các công cụ tìm
kiếm web để tìm kiếm thông tin. Nhưng để có được câu trả lời ưng ý cũng đòi
hỏi nhiều thời gian và công sức để duyệt qua các câu gợi ý từ những hệ thống
tìm kiếm trên.
Đề tài “Hệ thống trả lời tự động tiếng Việt cho công tác tuyển sinh đại học”
đưa ra một giải pháp cho vấn đề tìm kiếm thông tin dựa trên ngôn ngữ tự nhiên
bằng tiếng Việt nhằm giúp giải quyết cho những nhu cầu trên. Người dùng chỉ
cần đưa ra những câu hỏi bằng ngôn ngữ tự nhiên, hệ thống sẽ đáp trả lại câu trả
lời tương ứng với câu hỏi cho người dùng. Hệ thống ra đời cũng với mục đích
làm giảm công việc cho bộ phận tuyển sinh của trường đại học và cũng giúp cho
các em học sinh lớp 12 có thể tìm hiểu, lựa chọn được ngành nghề và trường
phù hợp với mình trong tương lai.
2 Việc xây dựng các hệ thống tìm kiếm ngữ nghĩa bằng tiếng việt cũng là
hướng nghiên cứu của các công trình [1], [2], [3], [4], [5], [6], [7], [8], [9].
1.1.2 Mục tiêu của đề tài
Đề tài tập trung xây dựng mô hình công cụ tìm kiếm bằng truy vấn tiếng
Việt cho các vấn đề liên quan đến tuyển sinh, áp dụng cho trường Đại học Lạc
Hồng và có thể mở rộng thêm cho nhiều trường khác. Đề tài không tìm kiếm
Điểm chuẩn của ngành công nghệ thông tin năm 2011 của trường đại
học lạc hồng ở hệ đại học là bao nhiêu điểm?
Chuẩn đầu ra của ngành công nghệ thông tin là gì?
1.2 Phạm vi nghiên cứu
Như mục tiêu của đề tài đã xác định ở trên, hệ thống chỉ giới hạn trong
việc truy vấn bằng tiếng Việt các thông tin về vấn đề tuyển sinh như: các thông
tin về trường, ngành học, điểm chuẩn, khối thi, chuẩn đầu ra, Kết quả tìm
kiếm vì vậy sẽ là một câu trả lời tương ứng với nội dung truy vấn được và các
dữ liệu có liên quan (nếu có).
Nội dung của các câu truy vấn bằng tiếng Việt phải đáp ứng được các yêu
cầu sau:
- Mỗi câu hỏi sẽ hỏi một vấn đề về trường, khoa, ngành, điểm chuẩn,
hoặc là một dạng câu hỏi khẳng định “có/không”.
- Chỉ xử lý các dạng câu hỏi được đề cập trực tiếp, không xử lý các câu hỏi
có tính gián tiếp hoặc chứa ẩn ý.
- Chỉ xử lý các câu truy vấn có cấu trúc đơn, câu không chứa nhiều thành
phần ghép với nhau bởi các liên từ như “và”, “hoặc”, “hay”, …
- Chỉ xử lý các câu truy vấn có nghĩa rõ ràng, không nhập nhằng, không
4 mơ hồ về nghĩa.
- Điều kiện lọc dữ liệu chỉ bao gồm phép toán AND đơn giản không xử lý
trong trường hợp các điều kiện OR với nhau.
Bộ văn phạm xây dựng cho hệ thống này do đó cũng chỉ được giới hạn
trong phạm vi truy tìm thông tin về vấn đề tuyển sinh và đáp ứng các câu hỏi
tuân thủ các yêu cầu đặt ra.
1.3 Phƣơng pháp nghiên cứu
1.3.1 Các nội dung cần triển khai
- Xây dựng bộ cú pháp phát sinh trực tiếp ra cây truy vấn thay vì phải phát
sinh cây cú pháp rồi mới chuyển qua cây truy vấn.
- Truy vấn trực tiếp CSDL vì vậy nên thông tin có thể tìm kiếm sẽ chính
xác và đỡ tốn thời gian cho việc duyệt kết quả tìm kiếm.
1.3.3 Kết quả dự kiến đạt đƣợc của đề tài
- Xây dựng một CSDL hoàn chỉnh chứa các thông tin cơ bản về trường,
khoa, ngành, điểm chuẩn, của một số trường đại học.
- Cài đặt CSDL và website trên server để hỗ trợ cho người dùng sử dụng
web browser truy cập đến trang web của hệ thống và đặt câu hỏi.
- Xây dựng một trang web hỗ trợ cho người dùng có thể truy vấn các thông
tin liên quan đến vấn đề tuyển sinh bằng ngôn ngữ tự nhiên.
- Cập nhật lại các câu hỏi chưa xử lý được để có thể chỉnh sửa hoặc xây
dựng thêm cú pháp để đáp ứng nhu cầu sử dụng.
1.4 Bố cục của đề tài
Đề tài được chia thành 5 chương, bố cục cụ thể như sau:
- Chương 1. Tổng quan: Giới thiệu tổng quan về đề tài như mục tiêu đạt
được, phạm vi nghiên cứu, và phương pháp nghiên cứu.
6 - Chương 2. Kiến trúc hệ thống: Trình bày tổng quát về hệ thống gồm
chức năng, kiến trúc và đề ra các giải pháp để giải quyết vấn đề đặt ra.
- Chương 3. Phân tích cú pháp câu hỏi tuyển sinh bằng DCG: Đi sâu
phân tích phương pháp xây dựng bộ văn phạm hạn chế cho hệ thống bằng văn
phạm DCG. Đây là thành phần quan trọng nhất trong các hệ thống xử lý ngôn
ngữ tự nhiên.
- Chương 4. Xây dựng chƣơng trình: Trình bày từng bước để xây dựng
hoàn thiện hệ thống. Giới thiệu chương trình thử nghiệm của hệ thống. Tiến
hành đánh giá hệ thống.
- Chương 5: Kết luận và hƣớng phát triển.
Nhận câu trả lời
Trả về kết quả
8 2.2 Các thành phần cơ bản của hệ thống
2.2.1 Thành phần dữ liệu
Sau khi tiến hành khảo sát tổng thể thành phần dữ liệu phục vụ trả lời cho
các câu hỏi liên quan đến vấn đề tuyển sinh. Thành phần dữ liệu chủ yếu cần
lưu trữ để trả lời là: các thông tin về Trường, khoa, ngành, chuyển ngành, khối
thi, điểm chuẩn, chuẩn đầu ra,
Các trường thông tin cụ thể của các đối tượng được liệt kê trong bảng:
Tên Field
Ý nghĩa
Bảng: tblTruong
TruongID
Mã của trường
TenTruong
Tên trường
DiaChi
Địa chỉ của trường
PhuongCham
Phương châm đào tạo của trường.
MoTa
Giới thiệu khái quát về trường
Bảng: tblKhoa
KhoaID
Mã của khoa
TenKhoa
Tên của khoa
Số đơn vị học trình hay số tín chỉ
LyThuyet
Số tiết lý thuyết
ThucHanh
Số tiết thực hành.
Bảng: tblGiangVien
GiangVienID
Mã của giảng viên
TenGiangVien
Tên của giảng viên
CoHuu
Là cơ hữu hay là thỉnh giảng
DiaChi
Nơi ở của giảng viên
Bảng: tblHocHamHocVi
HHHVID
Mã học hàm học vị
TenHHHV
Tên học hàm học vị
ChuyenMon
Chuyên môn của học hàm học vị
Một số Filed khác
SoNamDaoTao
Số năm đào tạo của một ngành ứng với một hệ đào tạo
ChuanDauRa
Các thông tin về chuẩn đầu ra của một ngành của một hệ
đào tạo
DiemChuan
Điểm chuẩn của một ngành của một hệ bậc đào tạo tại một
năm nào đó.
- Người dùng và hệ thống giao tiếp với nhau thông qua giao diện Web.
- Hệ thống được xây dựng dựa trên Microsoft Studio 2010 với nền .NET
Frameworks 4.0.
- Sử dụng thư viện JQuery để xử lý các thao tác trên web browser, làm
giảm công việc cho server.
- Sử dụng công nghệ AJAX để kết nối giữa web browser và server, giúp
cho giao diện được mượt mà và trơn tru hơn.
- Hệ thống hoạt động tốt trên các trình duyệt web thông dụng như: FireFox,
Internet Exploer,
11 2.3 Quy trình xử lý câu hỏi
Hình 2.2: Quy trình xử lý câu hỏi.
Quy trình xử lý câu hỏi bao gồm các công việc chính của thành phần xử lý
trong hệ thống. Quy trình này sẽ được mô tả chi tiết ở chương 4. Sau đây là
những mô tả cơ bản về từng công đoạn.
2.3.1 Tiền xử lý câu hỏi
Có nhiệm vụ loại bỏ những “rác” trong câu, đó là những khoảng trắng
thừa, những ký tự đặc biệt không phải ký tự chữ cái hoặc số. Đồng thời ở bước
này cũng xử lý chuyển mã các ký tự unicode của các từ tiếng việc có dấu thành
không dấu dưới dạng mã của kiểu gõ VNI. Ví dụ, từ “tên”= “te6n”.
Hình 2.3: Công đoạn tiền xử lý.
Hiển thị
kết quả
Tiền
thành các thành phần trong một danh sách(list) trước khi đưa vào Prolog. Sau đó
Prolog sẽ tiến hành so khớp các thành phần trong danh sách với tập cú pháp của
câu hỏi đã được định nghĩa. Kết quả trả về là một tập các cây truy vấn nếu so
khớp thành công hoặc trả về FALSE nếu không thành công. Các cây truy vấn
này có thể trùng nhau.
Hình 2.4: Công đoạn phân tích câu hỏi.
Trong trường hợp ở công đoạn trên trả về FALSE mà không trả về cây truy
vấn. Hệ thống sẽ quay lại so khớp để đề xuất ra các câu hỏi có ý gần giống với
câu hỏi do người dùng nhập vào. Tách câu
hỏi ra thành
danh sách
Cây truy
vấn
False
Câu hỏi
“chuẩn”
So sánh
danh sách
và tập cú
pháp
Trình biên dịch của Prolog
kết quả
Xử kết quả
truy vấn
Truy vấn
dữ liệu
Kết quả
truy vấn
14 CHƢƠNG 3: PHÂN TÍCH CÚ PHÁP CÂU HỎI DỰA TRÊN
DCG
3.1 Cơ bản về CFG và DCG
3.1.1 Cơ bản về CFG
Nhưng kiến thức cơ bản về CFG được tác giả tham khảo ở [10], [14], [17]
3.1.1.1 Định nghĩa
Văn phạm phi ngữ cảnh (CFG) là một hệ thống gồm bốn thành phần, ký
hiệu là văn phạm G (V, T, P, S), trong đó :
- V là tập hữu hạn các ký hiệu chưa kết thúc( non – terminal).
- T là tập hữu hạn các ký hiệu kết thúc (terminal), V ∩ T = ∅ .
- P là tập hữu hạn các luật sinh mà mỗi luật sinh có dạng A → α với A ∈
V và α ∈ (V ∪ T).
- S là ký hiệu bắt đầu văn phạm.
Ví dụ: phân tích cú pháp của câu sau: “Trường ĐH Lạc Hồng giảng dạy
sinh viên tốt”.
Ta có các luật sinh sau:
câu_đơn chủ_ngữ, vị_ngữ.
chủ_ngữ tên_riêng.
vị_ngữ động_từ, bổ_ngữ.
bổ_ngữ danh_từ, tính từ.
- Nút lá có nhãn là X thì X ∈ T.
- Nếu nút lá x là con của nút n thì nút x là con duy nhất của nút n. Nghĩa
là nút n chỉ có duy nhất một con là nút lá x.
16 - Nếu nút n có nhãn A và có các nút con theo thứ tự từ trái qua là n1, n2,
n3, nn có lần lượt các nhãn là A1, A2, A3, An thì sẽ tồn lại 1 luật sinh: A
A1,A2,A3, An ∈ P.
Ví dụ: Với ví dụ ở trên ta có cây cú pháp sau:
Hình 3.1 Cây cú pháp câu hỏi “Trường ĐH Lạc Hồng giảng dạy sinh viên
tốt”.
Phân tích cú pháp của câu chính là việc đi xây dựng cây cú pháp cho câu
đó. Tức là thông qua cây cú pháp ta có thể biết được thông tin mà câu hỏi đặt ra.
3.1.1.3 Sự mơ hồ (nhập nhằng) trong văn phạm phi ngữ cảnh.
Khi xây dựng cú pháp với CFG nếu không ràng buộc rõ ràng thì kết quả
trả về sau khi so khớp có thể là nhiều cây cú pháp. Trong đó có thể có cây cú
pháp trùng nhau và cũng có thể không trùng nhau. Mỗi cây cú pháp không trùng
nhau sẽ mang một “nghĩa” khác nhau. Đây chính là sự nhập nhằng về “nghĩa
của câu” khi xây dựng cú pháp câu dựa trên văn phạm CFG.
Ví dụ: ta sẽ xét lại ví dụ trên nhưng có thay đổi trong luật sinh.
Phân tích cú pháp của câu sau: “Trường ĐH Lạc Hồng giảng dạy sinh viên
tốt”
câu đơn
chủ_ngữ
vị_ngữ
Tên_riêng
„giảng dạy‟
bổ_ngữ
Tên_riêng
„giảng dạy‟
bổ_ngữ
động_từ
tính_từ
danh_từ
„Trường ĐH
Lạc Hồng‟
„sinh viên‟
„tốt
18
Hình 3.3 Cây cú pháp câu hỏi “Trường ĐH Lạc Hồng giảng dạy sinh viên
tốt” – dạng cây thứ hai Hình 3.4 Cây cú pháp câu hỏi “Trường ĐH Lạc Hồng giảng dạy sinh viên
tốt” – dạng cây thứ ba
câu đơn
chủ_ngữ
vị_ngữ
Tên_riêng
„giảng dạy‟
bổ_ngữ
động_từ
tính_từ
danh_từ