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
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
Thực hiện: Nguyễn Đình Liên
Lƣơng Quốc Sơn
Nguyễn Bình Trọng
ĐỒNG NAI, THÁNG 5/2012
MỤC LỤC
DANH MỤC TỪ VIẾT TẮT
DANH MỤC HÌNH
CHƢƠNG 1: TỔNG QUAN................................................................................ 1
1.1 Mục tiêu của đề tài ........................................................................................ 1
1.1.1 Đặt vấn đề ............................................................................................... 1
1.1.2 Mục tiêu của đề tài.................................................................................. 2
1.2 Phạm vi nghiên cứu ...................................................................................... 3
1.3 Phương pháp nghiên cứu ............................................................................. 4
1.3.1 Các nội dung cần triển khai .................................................................... 4
1.3.2 Điểm mới của đề tài ................................................................................ 5
1.3.3 Kết quả dự kiến đạt được của đề tài ....................................................... 5
1.4 Bố cục của đề tài .......................................................................................... 5
CHƢƠNG 2: KIẾN TRÚC HỆ THỐNG ........................................................... 7
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
3.2.2.5 Định nghĩa thành phần “tên” hoặc “giá trị” cho một đối tượng
trong câu hỏi. ..............................................................................................45
3.2.2.6 Định nghĩa các thành phần WHERE. .............................................47
3.2.2.7 Định nghĩa các thành phần mặc định .............................................47
3.2.2.8 Định nghĩa các thành phần SELECT .............................................47
3.2.2.9 Định nghĩa các thành phần sử dụng chung của các câu hỏi ...........48
3.2.2.10 Các thành phần chung khác ..........................................................49
3.2.2.11 Định nghĩa thành phần đại diện chung cho đối tượng nghi vấn ..50
3.3 Cú pháp các câu hỏi sử dụng trong hệ thống ..............................................51
CHƢƠNG 4: XÂY DỰNG CHƢƠNG TRÌNH ...............................................52
4.1 Các thành phần trong hệ thống ...................................................................52
4.2 Thành phần dữ liệu .....................................................................................52
4.3 Thành phần xử lý ........................................................................................54
4.3.1 Tiền xử lý câu hỏi .................................................................................54
4.3.1.1 Loại bỏ các ký tự thừa ....................................................................55
4.3.1.2 Chuyển mã tiếng việt......................................................................55
4.3.2 Phân tích cú pháp câu hỏi .....................................................................57
4.3.4 Tổng hợp dữ liệu để tiến hành truy vấn CSDL ....................................58
4.3.4.1 Tổng hợp các nút lá lại trên mỗi nút WHERE ...............................59
4.3.4.2 Phát sinh câu truy vấn SQL ............................................................62
4.3.5 Xử lý kết quả trả lời ..............................................................................63
4.3.5.1 Câu lệnh SQL trả về giá trị.............................................................64
4.3.5.2 Lệnh SQL không trả về giá trị ........................................................64
4.3.5.3 Tìm được cấu trúc gần đúng ...........................................................64
4.3.5.4 Khơng tìm được cấu trúc gần đúng ................................................65
4.3.6 Ví dụ mô tả lại các bước của thành phần xử lý ....................................65
4.4 Thành phần giao diện người dùng ..............................................................67
4.4.1 Các công nghệ và nền tảng mà hệ thống sử dụng ................................67
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
Hình 2.5: Cơng đoạn tổng hợp dữ liệu và truy vấn dữ liệu. ................................13
Hình 2.6: Cơng đoạn hiển thị kết quả. .................................................................13
Hình 3.1 Cây cú pháp câu hỏi ..............................................................................16
Hình 3.2 Cây cú pháp câu hỏi – dạng cây thứ nhất. ............................................17
Hình 3.3 Cây cú pháp câu hỏi – dạng cây thứ hai ...............................................18
Hình 3.4 Cây cú pháp câu hỏi – dạng cây thứ ba.................................................18
Hình 3.5 Cây cú pháp câu hỏi – dạng cây thứ tư .................................................19
Hình 3.6 Cây cú pháp câu hỏi. .............................................................................24
Hình 3.7 Cây truy vấn của câu hỏi. .....................................................................30
Hình 3.8 Cây truy vấn của câu hỏi – đã được tối ưu..........................................32
Hình 3.9 Cây truy vấn của câu hỏi. .....................................................................37
Hình 3.10 Cây truy vấn của câu hỏi. ...................................................................39
Hình 4.1 Các thành phần trong hệ thống .............................................................52
Hình 4.2 Mơ hình cơ sở dữ liệu của hệ thống. .....................................................53
Hình 4.3 Mơ hình quy trình xử lý cơng việc của hệ thống. .................................54
Hình 4.6 Cây truy vấn của câu hỏi. ......................................................................59
Hình 4.7 Kết quả trả về dưới dạng một danh sách. ..............................................69
Hình 4.8 Trả lời cho dạng câu hỏi “có/khơng”. ...................................................69
Hình 4.9 Khi câu hỏi nhập vào với tham số xác định bị sai. ...............................70
Hình 4.10 Thơng báo khi khơng phân tích được câu hỏi. ....................................70
Hình 4.11 Gợi ý những câu hỏi liên quan đến từ được nhập. ..............................71
1
CHƢƠNG 1: TỔNG QUAN
1.1 Mục tiêu của đề tài
1.1.1 Đặt vấn đề
Thông tin tuyển sinh của các trường đại học đều được phổ biến rộng rãi
trên internet ở một số tờ báo mạng, diễn đàn và được đưa lên website chính của
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 chun 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
dựa trên từ khố hay cụm từ, do đó sẽ khơng trả về nội dung chứa từ khố hay
cụm từ đó, mà sẽ nhận một câu hỏi bằng tiếng Việt do người dùng nhập vào
phân tích, xử lý để trả về câu trả lời chính xác đối với câu hỏi đặt ra.
Hệ thống cho phép người dùng đặt ra các câu hỏi bằng tiếng Việt để tìm
kiếm thơng tin về tuyển sinh. Đó là các câu hỏi đơn liên quan đến những thông
tin mô tả về ngành học, khoa, điểm chuẩn, khối thi, chuẩn đầu ra, chuyển ngành,
...
Câu hỏi đặt cho hệ thống phải thỏa những điều kiện sau:
- Là câu hỏi đơn liên quan đến vấn đề tuyển sinh như: thông tin về trường,
ngành, khoa, điểm chuẩn, chuẩn đầu ra, học phí, ...
- Câu hỏi phải đúng chuẩn cú pháp của ngôn ngữ tự nhiên không chứa các
từ viết tắt.
- Hệ thống không xử lý câu hỏi đa nghĩa hoặc các câu hỏi có nhiều điều
kiện lọc kết hợp “OR” với nhau.
Việc hỗ trợ người dùng tìm kiếm các thông tin tuyển sinh bằng các câu
truy vấn dưới dạng ngơn ngữ tự nhiên có những thuận lợi sau:
- Người dùng dễ dàng đưa ra các câu hỏi ở mức đơn giản phù hợp với nhu
cầu hiện tại của bản thân.
- Các câu hỏi bằng ngơn ngữ tự nhiên có thể diễn đạt được các thông tin
3
cần tìm kiếm chính xác hơn việc dùng các từ khóa.
- Câu trả lời hệ thống đưa ra đáp ứng đúng theo yêu cầu của câu hỏi đặt ra
ban đầu.
- Tập các câu hỏi liên quan đến lĩnh vực tuyển sinh được tác giả tham khảo
tại [15], [16], [18], [19], ... Dưới đây là số ví dụ về các câu hỏi mà hệ thống sẽ
xử lý:
Trường đại học Lạc Hồng có bao nhiêu ngành?
Trường đại học Lạc Hồng có dạy Ngành cơng nghệ Thơng tin khơng?
Đ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 tố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 hệ thống trả lời tự động bằng ngôn ngữ tự nhiên tiếng Việt
cho các câu hỏi liên quan đến vấn đề tuyển sinh như yêu cầu đặt ra, đề tài thực
hiện những nội dung cụ thể sau:
- Khảo sát các câu hỏi đơn liên quan đến vấn đề tuyển sinh nhằm xác định
chính xác các thơng tin, từ đó sẽ tiến hành xây dựng một CSDL để lưu trữ các
thông tin cung cấp cho câu trả lời của hệ thống.
- Dựa vào thông tin khảo sát trên tiến hành xây dựng tập các câu hỏi tự
nhiên bằng tiếng Việt phù hợp với thông tin lưu trữ trong CSDL
- Dựa trên tập câu hỏi đã xác định được, tiến hành định nghĩa một bộ văn
phạm cú pháp hạn chế dựa trên DCG nhằm phân tích đầy đủ và chính xác tập
câu hỏi đã đề ra.
- Nghiên cứu các giải pháp tiền xử lý câu hỏi nhằm tách các thành phần
của câu, đồng thời giải quyết các vấn đề phát sinh khi hệ thống xử lý tiếng Việt.
- Phân tích kết quả trả về sau khi phân tích cú pháp, từ đó tiến hành tổng
hợp dữ liệu và truy vấn CSDL để tìm ra câu trả lời.
- Xử lý dữ liệu trả về sau khi truy vấn CSDL, phát sinh câu trả lời cùng các
thông tin liên quan, phù hợp với câu hỏi người dùng đặt ra.
5
1.3.2 Điểm mới của đề tài
Đề tài phát triển hệ thống tra cứu các dữ liệu liên quan quan đến tuyển sinh
với một số đặc thù riêng:
- Xây dựng mới hồn tồn bộ văn phạm phân tích cú pháp cho các câu hỏi
trong phạm vi ứng dụng là các thông tin mô tả về vấn đề tuyển sinh của trường.
Bộ văn phạm được định nghĩa dựa trên DCG thay vì UBG hay CFG như các hệ
thống khác có chức năng trả lời tự động tương tự.
- Sử dụng ngôn ngữ Prolog để biểu diễn bộ văn phạm được xây dựng bằng
DCG ở trên.
- 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 hồ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
hồ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.
- Phần tài liệu tham khảo và phụ lục.
7
CHƢƠNG 2: KIẾN TRÚC HỆ THỐNG
2.1 Mơ hình chức năng của hệ thống
Với tập cú pháp được định nghĩa trước, hệ thống tiếp nhận câu hỏi tiếng
việt từ người dùng thơng qua giao diện chương trình(Web). Tiến hành phân tích
cú pháp để hiểu được nội dung người dùng muốn hỏi, sau đó sẽ truy vấn CSDL
để tìm ra kết quả và hiển thị lên cho người dùng.
Đặt câu hỏi
Nhận câu trả lời
Trả về kết quả
Hình 2.1: Mơ hình chức năng của hệ thống.
Hệ thống chỉ hỗ trợ xử lý những câu hỏi đơn và “thuần” với ngôn ngữ tự
nhiên. Những câu hỏi mà hệ thống hỗ trợ được là các câu hỏi đơn về thông tin
của trường đại học, khoa, ngành học, thông tin về điểm chuẩn, về khối thi, về
chuẩn đầu ra,...
Ví dụ một số câu hỏi sử dụng hỏi đáp trong hệ thống:
- Trường đại học Lạc Hồng có những ngành nào?
- Ngành cơng nghệ thơng tin thi khối nào?
- Chuẩn đầu ra ngành xxxx của trường yyyy là gì?
- Điểm chuẩn của ngành xxx của trường yyyy là bao nhiêu điểm?
Ngoài chức năng cơ bản là trả lời câu hỏi của người dùng. Hệ thống còn hỗ
trợ đưa ra những lời gợi ý gần giống với câu hỏi sai cú pháp và một số chức
năng khác hỗ trợ tốt cho việc nhập lại câu hỏi cũ, xem những câu hỏi mà nhiều
người khác quan tâm,...
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
MoTaKhoa
Giới thiệu khái quát về khoa
Bảng: tblNganh
NganhID
Mã của ngành
TenNganh
Tên của ngành
TenTat
Tên viết tắt
MoTaNganh
Giới thiệu khái quát về ngành
Bảng: tblKhoiThi
KhoiID
Mã của khối thi
TenKhoi
Tên của khối thi
Bảng: tblHeDaoTao
9
HeDaoTaoID
Mã của hệ đào tạo
TenHeDaoTao
Tên của hệ đào tạo
Bảng: tblMonHoc
MonHocID
Mã mơn học
TenMH
Tên mơn học
HeSo
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
Các thông tin về chuẩn đầu ra của một ngành của một hệ
ChuanDauRa
đào tạo
Điểm chuẩn của một ngành của một hệ bậc đào tạo tại một
DiemChuan
năm nào đó.
Số lượng sinh viên đầu vào của một ngành của một hệ bậc
ChiTieu
đào tạo trong một năm
....
.....
Bảng 2.1: Bảng mơ tả các trường dữ liệu.
Ngồi những thơng tin cơ bản trên, trong CSDL cịn có những Filed khác
chứa các thông tin về cơ sở vật chất của trường, các mối quan hệ giữa các
10
ngành, mối quan hệ giữa các ngành với hệ đào tạo, ngành với khối thi, ....
2.2.2 Thành phần xử lý
Đây là thành phần quan trọng nhất của hệ thống. Bao gồm các thành phần
chi tiết sau:
- Một tập các khai báo cú pháp cho các dạng câu hỏi liên quan đến vấn đề
tuyển sinh được xây dựng dựa trên văn phạm DCG.
- Một trình biên dịch của Prolog hỗ trợ phân tích câu hỏi do người dùng
nhập với tập cú pháp đã được định nghĩa trước. Kết quả trả về là một cây truy
vấn nếu câu của người dùng nhập trùng khớp với cú pháp. Trả về False nếu
người dùng nhập sai cú pháp đã định nghĩa trước đó.
- Một cơng cụ hỗ trợ nhúng trình biên dịch của Prolog vào trong C#. Để từ
đó có thể phân tích cú pháp lấy được dữ liệu cần thiết rồi truy vấn dữ liệu và
hiển thị kết quả cho người dùng.
- Trước khi đưa vào phân tích cú pháp, câu hỏi phải qua một công đoạn tiền
xử lý để đưa câu hỏi do người dùng nhập về gần đúng với cú pháp của ngôn ngữ
tự nhiên. Tức là loại bỏ những ký tự đặc biệt, loại bỏ những khoảng trắng thừa,
... có trong câu hỏi.
2.2.3 Thành phần giao tiếp ngƣời dùng.
- 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
Câu hỏi
Tiền
xử lý
Câu hỏi
Phân tích
câu hỏi
“chuẩn”
Hiển thị
kết quả
Cây
Tổng hợp
dữ liệu
truy vấn
Kết quả
truy vấn
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”.
Câu hỏi
Loại bỏ các
ký tự đặc
biệt và
khoảng trắng
thừa
Chuyển ký
tự có dấu
thành mã
VNI
Hình 2.3: Cơng đoạn tiền xử lý.
Câu hỏi
“chuẩn”
12
2.3.2 Phân tích câu hỏi
Ở cơng đoạn này cơng việc được đưa lại cho trình biên dịch của prolog xử
lý. Với tập cú pháp được định nghĩa trước đó, các câu hỏi sẽ được phân tách ra
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.
Câu hỏi
“chuẩn”
Tách câu
hỏi ra thành
danh sách
So sánh
danh sách
và tập cú
pháp
Trình biên dịch của Prolog
Cây truy
vấn
False
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.
13
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
Với các cây truy vấn nhận được từ công đoạn trên, tác giả tiến hành tổng
hợp các nút lá lại để được dữ liệu hoàn chỉnh, sau đó phát sinh câu truy vấn
SQL tự động dựa trên các nút WHERE và SELECT.
Cây
truy vấn
Tổng hợp
dữ liệu trên
các nút lá
Phát sinh
câu truy vấn
SQL
Truy vấn
dữ liệu
Hình 2.5: Cơng đoạn tổng hợp dữ liệu và truy vấn dữ liệu.
2.3.4 Nhận kết quả và hiển thị lên cho ngƣời dùng
- Tiếp nhận và kiểm tra kết quả: tùy thuộc vào câu truy vấn mà cấu trúc dữ
liệu trả về có thể khác nhau, do đó việc xử lý kết quả cũng sẽ phải khác nhau.
Cần lưu ý tới trường hợp kết quả trả về là rỗng.
- Đưa ra câu trả lời tương ứng với kết quả: các câu trả lời cũng có sự khác
biệt tùy thuộc vào dạng câu hỏi mà người dùng đặt ra cho hệ thống.
Xử kết quả
truy vấn
Truy vấn
Kết quả
dữ liệu
truy vấn
Hiển thị
kết quả
Hình 2.6: Cơng đoạn hiển thị kết quả.