Lệnh SQL không trả về giá trị

Một phần của tài liệu Hệ thống trả lời tự động tiếng việt cho công tác tuyển sinh báo cáo nghiên cứu khoa học giáo viên (Trang 71)

Trong trường hợp này thì rõ ràng câu hỏi có cú pháp đúng nhưng không có kết quả. Có các khả năng xảy ra là:

- Giá trị của mệnh đề WHERE trong câu SQL bị sai.

- Câu hỏi dạng “có/không” khi mang giá trị là “không”.

- Trong hệ thống chưa xây dựng lưu trữ vấn đề đang được hỏi.

Do vậy, hiển thị câu trả lời cũng tùy thuộc vào các trường hợp đã liệt kê ở trên và được đặt trong thẻ “P”.

4.3.5.3 Tìm đƣợc cấu trúc gần đúng

Câu truy vấn trong trường hợp này là không đúng cú pháp của hệ thống đặt ra. Có 2 khả năng xảy ra là:

- Hoặc chứa thành phần thừa (làm phức tạp câu hỏi).

Hệ thống sẽ liệt kê các câu hỏi có cấu trúc gần với câu truy vấn để cho người dùng lựa chọn câu hỏi phù hợp.

4.3.5.4 Không tìm đƣợc cấu trúc gần đúng

Câu truy vấn trong trường hợp này không đúng và cũng không gần với tập cú pháp của hệ thống. Giải pháp đưa ra là đề nghị người dùng xem xét và nhập lại câu hỏi đồng thời gợi ý cho người dùng đọc qua các dạng câu hỏi mà hệ thống hỗ trợ.

4.3.6 Ví dụ mô tả lại các bƣớc thực hiện của thành phần xử lý

Xét ví dụ: “Ngành công nghệ thông tin của trường đại học lạc hồng có chuẩn đầu ra như thế nào

Việc phân tích, xử lý câu hỏi được thực hiện qua các bước cụ thể sau:  Công đoạn tiền xử lý:

nga2nh,co6ng,nghe65,tho6ng,tin,cu3a,tru7o72ng,d9a5i,ho5c,la5c ,ho62ng,co1,chua63n,d9a62u,ra,nhu7,the61,na2o

 Phân tích cú pháp:

ChuanDauRa(

where(nganh(ten(co6ng, ten(nghe65, ten(tho6ng, ten(tin)))))),

where(truong(ten(d9a5i, ten(ho5c, ten(la5c, ten(ho62ng)))))),

where(heDaoTao(hedaotaoMD)),

 Phát sinh câu truy vấn SQL: Tổng hợp dữ liệu trên các nút lá:

ChuanDauRa(

where(nganh(co6ng, nghe65, tho6ng, tin),

where(truong(d9a5i, ho5c, la5c, ho62ng),

where(heDaoTao(hedaotaoMD)),

select(chuandaura(chuandaura)))

Tách thành các chuỗi con:

o ChuanDauRa(

o (nganh(co6ng, nghe65, tho6ng, tin),

o truong(d9a5i, ho5c, la5c, ho62ng),

o heDaoTao(hedaotaoMD)), (adsbygoogle = window.adsbygoogle || []).push({});

o chuandaura(chuandaura)))

Hoàn thành các mệnh đề con:

o nganh=công nghệ thông tin,

o truong=đại học lạc hồng,

o heDaotao=HeDaoTaoMD

o chuandaura

Thay thế các giá trị mặc định:

o nganh=N’công nghệ thông tin’

o truong=N’đại học lạc hồng’

o heDaotao=N’đại học’

o chuandaura

Tự phát sinh câu truy vấn SQL:

Với các mệnh đề con đã được xác định ở trên và dựa vào định nghĩa mối quan hệ giữa các table, từ đó sẽ phát sinh ra được câu truy vấn SQL sau:

select chuandaura

from tblNganh ng

inner join tblKhoa k

on ng.KhoaID=k.KhoaID inner join tblTruong tr

on k.TruongID=tr.TruongID inner join tblHeDaoTaoNganh hdtn

on ng.NganhID=hdtn.NganhID inner join tblHeDaoTao hdt

on hdtn.HeDaoTaoID =hdt.HeDaoTaoID

where ng.TenNganh=N'công nghệ thông tin'

and tr.TenTruong=N'đại học lạc hồng' and hdt.TenHeDaoTao=N'đại học'

 Truy vấn cơ sở dữ liệu và xử lý kết quả hiện thị lên cho người dùng: Kết quả sau khi truy vấn cơ sở dữ liệu sẽ là một danh sách các tiêu chuẩn đầu ra của ngành công nghệ thông tin thuộc trường đại học lạc hồng. Kết quả sẽ được tác giả trình bày lồng ghép trong thẻ <table>.

4.4 Thành phần giao diện ngƣời dùng

Hệ thống được xây dựng trên Web. Do đó người dùng giao tiếp với hệ thống qua mộ trình duyệt web, bao gồm các trình duyệt web thông dụng như: FireFox, Internet Explorer,...

Việc chi tiết xây dựng nên thành phần giao diện thì tùy thuộc vào kỹ thuật lập trình, các nền tảng cũng như các công nghệ mà hệ thống sử dụng.

4.4.1 Các công nghệ và nền tảng mà hệ thống sử dụng

Hệ thống được xây dựng thử nghiệm dựa trên các nền tảng và công nghệ sau:

Về lập trình:

- Hệ thống được xây dựng trên môi trường Microsoft Studio 2010. (adsbygoogle = window.adsbygoogle || []).push({});

- Sử dụng thư viện JQuery trong việc xử lý phía client, làm giảm công việc cho web server.

- Sử dụng công nghệ AJAX để truy xuất giữa web browser và web browser giúp cho trang web hiển thị được mượt mà và ổn định hơn.

- Việc định nghĩa cú pháp câu hỏi được dựa trên văn phạm DCG và được viết bằng ngôn ngữ lập trình Prolog.

- Prolog được nhúng vào trong C# được thực hiện thông qua thư viện liên kết động của ứng dụng SWI-Prolog Version 5.11.18.

Về phía Server:

- Có thể dùng chung một server vừa làm web server và database server hoặc có thể xây dựng 2 server khác nhau. Ở đây tác giả sử dụng một server để vừa làm web server và database server.

- Hệ điều hành trên server là Microsoft Windows 2003 Server.

- Bộ phân giải web IIS 7.0.

- Hệ quản trị cơ sở dữ liệu là Microsoft SQL Server 2008. Về phía client:

- Chỉ cần trang bị một máy tính có thể duyệt web.

4.4.2 Giao diện của hệ thống

Hệ thống được thiết kế giao diện bao gồm các thành phần chính sau:

- Một ô TextBox dùng để nhập câu hỏi của người dùng.

- Bên trái có hai danh sách. Danh sách phía trên lưu lại các câu hỏi do người dùng vừa nhập. Danh sách ở dưới liệt kê các câu hỏi được hỏi nhiều nhất.

- Ở phần chính giữa là phần hiển thị kết quả trả lời. Có hai tab, tab thứ nhất để hiển thị kết quả trả lời của hệ thống. Tab thứ hai để hiển thị kết quả tìm

được trên google.com.vn với nội dung câu hỏi được gõ ở TextBox. Sau đây là một số hình ảnh của hệ thống:

Hình 4.7 Kết quả trả về dưới dạng một danh sách.

Hình 4.9 Khi câu hỏi nhập vào với tham số xác định bị sai.

Hình 4.11 Gợi ý những câu hỏi liên quan đến từ được nhập.

4.5 Thử nghiệm và đánh giá

4.5.1 Một số câu hỏi thử nghiệm trong hệ thống

Tập câu hỏi của hệ thống bao gồm các chủ đề sau: - Các thông tin cơ bản về trường.

- Thông tin về Trường – Khoa – Ngành.

- Thông tin về ngành mũi nhọn của Khoa và của Trường. - Điểm chuẩn của Ngành – Khoa – Trường.

- Chỉ tiêu tuyển sinh của Ngành – Khoa – Trường - Chuẩn đầu ra của Ngành – Khoa – Trường. - Thời gian đào tạo của Ngành – Khoa – Trường. - Thông tin về Khối – Ngành – Trường.

- Thông tin về chuyển ngành trong trường. - Thông tin về tổ chức thi hay xét tuyển. - Thông tin về bảo lưu.

- Thông tin về học phí và miễn giảm học phí. - Các thông tin về giảng viên của trường. Số lượng các câu hỏi chuẩn là : 340.

Số lượng các câu hỏi tương đương là: 1048.

Nội dung các câu hỏi của hệ thống được trình bày chi tiết trong phụ lục 4 của báo cáo.

4.5.2 Đánh giá hệ thống (adsbygoogle = window.adsbygoogle || []).push({});

Qua quá trình kiểm thử, tác giả đưa ra một số đánh giá sau: Tính ổn định và chính xác:

- Hệ thống cho câu trả lời chính xác trong tập 340 câu hỏi chuẩn và 1048 câu hỏi có nghĩa tương đương.

- Hệ thống chạy ổn định trên web với các giao tác giữa client và server được thực hiện ngầm nên giữ cho giao diện mượt mà khi thực thi ứng dụng.

Thời gian xử lý:

Để kiểm tra tốc độ phân tích cú pháp, ngoài kết quả của đề tài là một ứng dụng trên web, tác giả đã xây dựng thêm một ứng dụng trên windows để kiểm thử độ chính xác cũng như để đo thời gian xử lý các câu hỏi.

Với ứng dụng trên windows:

Với 1048 câu hỏi phát sinh ra từ bộ cú pháp của hệ thống, thời gian duyệt qua, phân tích và nhận kết quả truy vấn là 10 phút 27 giây tương đương với 627 giây. Vậy thời gian trung bình để xử lý một câu hỏi là 0,598.

Với 1243 câu hỏi phát sinh ra từ bộ cú pháp của hệ thống, thời gian duyệt qua, phân tích và nhận kết quả truy vấn là 12 phút 05 giây tương đương với 725 giây. Vậy thời gian trung bình để xử lý một câu hỏi là 0,583.

Với 1500 câu hỏi bao gồm các câu hỏi phát sinh từ hệ thống và các câu hỏi ngẫu nhiên thì kết quả trả về là 13 phút 55 giây, tương đương với 835 giây. Tính trung bình là 0,56 giây trên một câu hỏi.

Với ứng dụng trên web:

Do hệ thống được viết trên nền Web nên tốc độ xử lý để cho ra kết quả còn phụ thuộc vào nhiều yếu tố như: máy client, máy server, băng thông internet,... Nhưng về cơ bản, thời gian trung bình cho ra một kết quả là khoảng 0.8 - 1.2s trên một câu hỏi.

CHƢƠNG 5: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 5.1 Kết quả đạt đƣợc của hệ thống

Về xây dựng cú pháp:

Sau quá trình xây dựng bộ cú pháp cho các câu hỏi liên quan đến vấn đề tuyển sinh, tác giả đưa ra một số nhận định chủ quan sau:

- Xây dựng bộ cú pháp sử dụng văn phạm DCG trên ngôn ngữ lập trình Prolog.

- Xây dựng các thành phần chung để sử dụng lại cho nhiều câu hỏi.

- Xây dựng các thành phần mặc định hỗ trợ trong trường hợp câu hỏi đầu vào bị khuyết những thành phần này.

- Xây dựng bộ cú pháp phát sinh trực tiếp ra cây truy vấn. Từ cây truy vấn phát sinh trực tiếp ra câu truy vấn SQL không qua trung gian là cây cú pháp.

Về ứng dụng:

Sau khi kiểm tra hệ thống với các câu hỏi thử nghiệm, tác giả đưa ra một số nhận định chủ quan sau:

- Với những câu hỏi bằng ngôn ngữ tự nhiên có nội dung liên quan đến những vấn đề tuyển sinh thì hệ thống luôn cho kết quả đúng.

- Với những câu hỏi nhập thiếu các thành phần lọc dữ liệu, hệ thống tự đề xuất giá trị mặc định và hiển thị kết quả chính xác.

- Hệ thống linh động trong các trường hợp nhập thiếu những thành phần phụ, giúp cho người dùng có tâm lý thoải mái khi thao tác trên hệ thống.

- Trình bày kết quả trả lời hợp lý, gợi mở nhiều thông tin liên quan giúp cho người dùng biết nhiều thông tin với số lượng ít câu hỏi.

- Hệ thống lưu trữ lại những câu hỏi câu hỏi chưa xử lý được từ người dùng để tiếp tục phân tích cú pháp nhằm hoàn thiện hệ thống sao cho tốt nhất.

- Trong trường hợp không phân tích được cú pháp, hệ thống sẽ tự đề xuất các câu hỏi liên quan đến vấn đề mà người dùng đang quan tâm.

5.2 Những điểm hạn chế của hệ thống

Trong quá trình thực hiện đề tài, tác giả đã rút ra được những mặt hạn chế của đề tài sau:

- Số lượng tập cú pháp còn ít chưa đáp ứng hết được phạm vi rộng của lĩnh vực tuyển sinh.

- Chưa đáp ứng được những câu hỏi phức tạp hoặc câu hỏi có các điều kiện “OR” với nhau. (adsbygoogle = window.adsbygoogle || []).push({});

- Chưa trả lời được cho những câu hỏi liên quan đến nhiều đối tượng trong một câu hỏi.

5.3 Hƣớng phát triển

Qua các phân tích ở trên, có một số vấn đề cần được chỉnh sửa, thêm mới để cho hệ thống hoàn thiện hơn. Đó cũng chính là những hướng phát triển của đề tài:

- Cập nhật thêm thông tin của nhiều trường khác vào CSDL để cho hệ thống có thể đáp ứng cho các trường đại học.

- Xây dựng thêm tập cú pháp câu hỏi để có thể đáp ứng tất cả các câu hỏi liên quan đến lĩnh vực tuyển sinh.

- Chuẩn hóa lại cú pháp một số thành phần trong một số câu hỏi.

- Nghiên cứu cách viết cú pháp cho các trường hợp kết hợp điều kiện bằng toán tử “OR”.

- Nghiên cứu thêm cách viết cú pháp cho phép hỏi nhiều đối tượng trong cùng một câu hỏi.

- Tiếp tục hoàn thiện cú pháp để cho người dùng thật thoải mái sử dụng hệ thống với cách tự nhiên nhất.

TÀI LIỆU THAM KHẢO TIẾNG VIỆT

[1]. Võ Hoài An, Nguyễn Trí Phúc (2011), Mô hình xử lý cú pháp và ngữ nghĩa

cho các chuỗi câu hỏi tiếng Việt trong hệ thống tìm kiếm thư viện, Khóa

luận tốt nghiệp đại học, hệ Cử nhân Tài năng, ngành Khoa học máy tính, Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh.

[2]. Trương Quốc An, Trương Lê Hưng (2011), Mô hình tìm kiếm lộ trình xe bus

b ng truy v n tiếng Việt v i t nh năng chỉ dẫn trực quan trên bản đồ,

Khóa luận tốt nghiệp đại học, hệ Cử nhân Tài năng, ngành Khoa học máy tính, Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh.

[3]. Lương Quý Tịnh Hà (2009), Xây dựng công cụ tìm kiếm tài liệu học tập b ng

các truy v n ngôn ngữ tự nhiên trên kho học liệu mở Tiếng Việt, Luận

văn Thạc sỹ ngành Công nghệ thông tin, Trường Đại Học Công nghệ thông tin, Đại học quốc gia TP. Hồ Chí Minh.

[4]. Nguyễn Vũ Huy (2010), Một số phương pháp và kỹ thuật nâng cao hiệu quả xử lý các dạng câu hỏi tiếng Việt đơn giản cho công cụ tìm kiếm thư viện

học liệu mở, Khóa luận tốt nghiệp đại học, hệ Cử nhân Tài năng, ngành

Khoa học máy tính, Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh.

[5]. Nguyễn Văn Lễ (2011), Tìm kiếm thông tin theo ngữ nghĩa: ứng dụng trong

lĩnh vực du lịch, Luận văn Thạc sỹ ngành Truyền dữ liệu và mạng máy

tính, Học Viện Công nghệ Bưu chính Viễn thông.

[6]. Nguyễn Khoa Hải Long (2011), Hệ thống hỏi đáp thông tin về địa điểm du

Khoa học máy tính, Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh.

[7]. Nguyễn Khắc Mẫn, Ngô Ngọc Thơ (2011), Phương pháp trả lời các truy v n

tiếng Việt cho hệ thống tìm kiếm thư viện phim, Khóa luận tốt nghiệp đại

học, hệ Cử nhân Tài năng, ngành Khoa học máy tính, Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh. (adsbygoogle = window.adsbygoogle || []).push({});

[8]. Vũ Thị Phương (2010), Công cụ tìm kiếm thông tin lịch trình các chuyến du

lịch b ng truy v n tiếng Việt, Khóa luận tốt nghiệp Đại học ngành Khoa

học máy tính, Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh.

[9]. Lý Thiên Trang (2009), Mô hình công cụ tìm kiếm b ng truy v n tiếng Việt

ứng dụng cho thư viện trường đại học, Luận văn Thạc sỹ ngành Công

nghệ thông tin, Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh.

TIẾNG ANH

[10] John E. Hopcroft, Jeffrey D.Ullman (1979), Introduction to Automata Theory,

Languages and Computation, Addison, Wesley Publishing Company,

Inc.

[11] Fernando C. N. Pereira and Stuart M. Shieber (2002), Prolog and Natural-

Language Analysis.

[12] Patrick Blackburn, Johan Bos, Kristina Striegnitz (2001), Learn Prolog now. [13] Tim Smith (2004), Artificial IntelligenceProgramming in Prolog

TRỰC TUYẾN

[14] http://ebook.edu.net.vn/resources/iportal/ebook/uploads/File/DHCantho /thlthuyet/Chng%20Vstand.pdf

[15] http://lhu.edu.vn/?CID=40 [16] http://thi.moet.gov.vn/?page=1.18 [17] http://www.sachdientu.edu.vn/down-load/lap-trinh-40/ngon-ngu-phi-ngu- canh-6043.html [18] http://thongtintuyensinh.vn/Thong-tin-tuyen-sinh_C220_D5038.htm [19] http://www.webtuyensinh.vn/danh-sach-truong/truong-dai-hoc/

PHỤ LỤC 1: ĐỊNH NGHĨA CÚ PHÁP CHO CÁC THÀNH PHẦN CỦA CÂU HỎI

Định nghĩa về từ đơn tu_Truong72-->[tru7o72ng]. tu_Khoa-->[khoa]. tu_Nganh2-->[nga2nh]. tu_Nam8-->[na8m]. tu_Khoi61-->[kho61i]. tu_Thi2-->[thi2]. tu_Vao2-->[va2o]. tu_Cap61-->[ca61p]. tu_Bac65-->[ba65c]. tu_He65-->[he65]. tu_Day5-->[da5y]. tu_Co1-->[co1]. tu_Thuoc65-->[thuo65c]. tu_O73-->[o73]. tu_Gi2-->[gi2]. tu_Nao2-->[na2o]. tu_Trong-->[trong]. tu_Tai5-->[ta5i]. tu_Dang9-->[d9ang]. tu_Nhung74-->[nhu74ng]. tu_Ma2-->[ma2]. tu_Duoc975-->[d9u7o75c].

tu_Cua3-->[cu3a]. tu_La2-->[la2]. tu_Thi-->[thi]. tu_Tuyen63-->[tuye63n]. tu_Lay61-->[la61y]. tu_Diem963-->[d9ie63m]. tu_Nguoi72-->[ngu7o72i]. tu_Dau965-->[d9a65u]. tu_Chuan63-->[chua63n]. tu_Hoc5-->[ho5c]. tu_Xong-->[xong]. tu_Khong6-->[kho6ng]. tu_Chuyen63-->[chuye63n]. tu_De963-->[d9e63]. tu_Khac1-->[kha1c]. tu_Xet1-->[xe1t]. tu_Ma4-->[ma4]. tu_Hay-->[hay]. tu_Hoac85-->[hoa85c]. tu_Vay65-->[va65y]. tu_Se4-->[se4]. tu_Su75-->[su75]. tu_Va2-->[va2]. tu_Vo6-->[vo6]. tu_Khi-->[khi]. ...

Định nghĩa về tổ từ và từ ghép tu_HeDaoTao-->[he65,d9a2o,ta5o]. tu_NganhNghe-->[nga2nh,nghe62]. tu_NganhHoc-->[nga2nh,ho5c]. tu_GiangDay-->[gia3ng,da5y]. tu_DaoTao-->[d9a2o,ta5o]. tu_MuiNhon-->[mu4i,nho5n]. tu_HangDau-->[ha2ng,d9a62u]. tu_TotNhat-->[to61t,nha61t]. tu_NoiTieng-->[no63i,tie61ng]. tu_ThanhCong-->[tha2nh,co6ng]. tu_NoiBat-->[no63i,ba65t]. tu_NganhNao-->[nga2nh,na2o]. tu_DiemChuan-->[d9ie63m,chua63n].

Một phần của tài liệu Hệ thống trả lời tự động tiếng việt cho công tác tuyển sinh báo cáo nghiên cứu khoa học giáo viên (Trang 71)