THÀNH PHẦN PHÁT SINH CÂU TRUY VẤN SQL

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin phương pháp xử lý một số dạng câu hỏi tiếng việt cho công cụ tìm kiếm thư viện điện tử (Trang 65 - 85)

D. Các câu hỏi về sách

4.4.THÀNH PHẦN PHÁT SINH CÂU TRUY VẤN SQL

H. Các câu hỏi về sách và năm xuất bản

4.4.THÀNH PHẦN PHÁT SINH CÂU TRUY VẤN SQL

Bước này thực hiện các công việc sau: - Tìm cấu trúc phù hợp trong hệ thống. - Phát sinh và thực thi câu lệnh SQL.

4.4.1 T m cấu tr c phù hợp

Trong hệ thống đã khai báo sẵn tập các dạng câu hỏi mà hệ thống hỗ trợ. Tuy hệ thống triển khai trong phạm vi hẹp nhưng cũng có rất nhiều dạng câu hỏi cần phải xử lý.

Để nâng cao tốc độ xử lý hệ thống thì trước khi đối chiếu để tìm ra cấu trúc câu phù hợp, cần giới hạn lại phạm vi tìm kiếm dựa trên các yếu tố như số tham số thu được và động từ của câu. Kiểm tra câu hỏi với các cấu trúc đã được giới hạn của hệ thống để tìm ra cấu trúc tương ứng. Có 2 tình huống xảy

ai vieets sachs Algorithm s

trong nawm 2008 ? wtitle(type:write) book_type book_name pre_time year

verb(type:write) book time question q1

ra như sau:

a) Tìm được cấu trúc tương ứng với câu truy vấn của người sử dụng. Cấu trúc này nếu có là duy nhất do trong khi khai báo các dạng câu hỏi đã loại bỏ sự nhập nh ng giữa các cấu trúc.

b) Không tìm được cấu trúc tương ứng với câu truy vấn của người sử dụng. Khi đó lại có 2 khả năng cần xem xét:

 Tìm được cấu trúc gần nghĩa với câu truy vấn: giải pháp cho vấn đề này là thực hiện các phép toán hợp nhất và tổng quát giữa các cấu trúc. Kết quả thực hiện sẽ dem so sánh với câu hỏi ban đầu, nếu giữa chúng không quá khác biệt thì sẽ được xem như gần nghĩa.

 Không Tìm được cấu trúc gần với câu truy vấn

Trong trường hợp không tìm được cấu trúc tương ứng thì sẽ bỏ qua bước phát sinh và thực thi câu lệnh SQL.

4.4.2 Phát sinh và thực thi câu l nh SQL

Nếu ở bước trên tìm ra cấu trúc tương ứng thì sẽ dựa trên cây cú pháp để phát sinh câu lệnh SQL như sau:

- Từ thành phần what và verb sẽ xác định mệnh đề SELECT.

- Từ thành phần book, time, title, topic sẽ xác định mệnh đề WHERE.

Hình 4.6: Phát sinh câu lệnh SQL

Cây cú pháp trên sẽ tạo ra câu lệnh: SELECT AuthorName

FROM Authors INNER JOIN AuBooks

ON Authors.AuthorID = AuBooks. AuthorID INNER JOIN Books ON AuBooks.BookID = Books.BookID

WHERE BookName = ‘Algorithms’ AND CopyrightYear = 2008; Việc gọi thực thi câu lệnh SQL chỉ đơn thuần về mặt kỹ thuật, phụ thuộc vào hệ quản trị cơ sở dữ liệu và ngôn ngữ lập trình mà hệ thống sử dụng.

4.5 THÀNH PHẦN XỬ LÝ KẾT QUẢ TRUY VẤN

Đây là bước cuối cùng của hệ thống hỏi đáp. Tùy thuộc vào kết quả ở các bước trên mà hê thống sẽ đưa ra câu trả lời tương ứng. Kết quả nhận được là 1 trong 4 trường hợp sau:

ai vieets sachs Algorithm

s

trong nawm 2008 ?

wtitle(type:write) book_type book_name pre_time year

verb(type:write) book time question q1

what(type:write)

SELECT WHERE (adsbygoogle = window.adsbygoogle || []).push({});

- Có câu lệnh SQL và câu lệnh trả về giá trị.

- Có câu lệnh SQL và câu lệnh không trả về giá trị. - Chỉ tìm được cấu trúc gần đúng.

- Không tìm được cấu trúc gần đúng.

4.5.1 Câu l nh SQL trả về giá trị

Tùy thuộc vào câu truy vấn mà cấu trúc dữ liệu nhận được có thể khác nhau. Việc xử lý kết quả để đưa ra câu trả lời sẽ phải căn cứ vào cấu trúc dữ liệu và số lượng kết quả nhận được. Ví dụ như với câu truy vấn:

- Tác giả “Hillson Susan” viết sách gì?

Kết quả trả về là một danh sách các tài liệu. Nhưng với câu hỏi:

- Có phải tác giả “Hillson Susan” viết sách “Algorithms” không? Thì câu trả lời chỉ là một khẳng định.

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

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ó 2 khả năng xảy ra là:

- Tham số đưa vào sai (hoặc là một khẳng định sai). - Thư viện chưa có thông tin về vấn đề được hỏi. Vậy thì câu trả lời cũng sẽ dựa trên 2 khả năng trên.

4.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à:

- Thiếu thành phần bắt buộc trong câu.

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

Chương trình 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.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.6 CÀI ĐẶT CHƯƠNG TRÌNH

Mục này sẽ trình bày các phần mềm và ngôn ngữ lập trình được sử dụng để xây dựng hệ thống. Giao diện hỏi đáp của chương trình cũng được giới thiệu.

4.6.1 C ng ngh s d ng

Hệ thống hỏi đáp b ng ngôn ngữ tự nhiên tiếng Việt dùng cho thư viện điện tử được cài đặt thử nghiệm trên các nền tảng sau:

- Hệ điều hành: hệ thống hiện tại được cài đặt trên hệ điều hành Microsoft Windows 7 Ultimate. Tuy nhiên các hệ điều hành của Microsort từ phiên bản Windows XP trở về sau đều hỗ trợ đầy đủ cho hệ thống.

- Hệ quản trị CSDL: CSDL của thư viện điện tử được quản trị bởi Microsoft SQL Server 2005.

- Nền tảng lập trình:

o Chương trình của đề tài được xây dựng trong môi trường Visual C# 2005.

o Các câu truy vấn biểu diễn b ng ngôn ngữ prolog được xử lý dựa trên thư viện liên kết động của ứng dụng SWI-Prolog Version 5.11.18.

4.6.2 Cài đặt và s d ng h thống

Trước hết cần cài đặt hệ quản trị CSDL SQL Server 2005 trên nền hệ điều hành Microsoft Windows (Windows XP hoặc mới hơn) và đưa CSDL quản lý thư viện điện tử vào SQL Server. Để chạy chương trình lập trình b ng Visual C# 2005, cần cài gói Microsoft .NET Framework 2.0 hoặc mới hơn. Việc đóng gói và cài đặt chương trình được thực hiện dễ dàng thông qua công cụ đóng gói của visual.

Hình 4.7 là giao diện chương trình khi nhận một câu hỏi đúng cú pháp định nghĩa trước và câu truy vấn có kết quả trả về. (adsbygoogle = window.adsbygoogle || []).push({});

Tiếp theo là giao diện chương trình khi nhận một câu hỏi không đúng cú pháp định nghĩa trước, khi đó chương trình sẽ thử tìm câu hỏi thay thế theo thông tin nhận được từ câu hỏi.

Hình 4.8 – Giao diện khi nhận câu hỏi gần đúng

Chương trình cũng cần hướng dẫn người sử dụng cách đặt câu hỏi sao cho phù hợp với các cú pháp định nghĩa sẵn trong hệ thống. Công việc này thể hiện ở Hình 4.9. Các trường hợp khác là nhận được câu hỏi hoàn toàn khác biệt so với các dạng câu hỏi khai báo sẵn trong hệ thống (Hình 4.10), hoặc câu hỏi đúng cú pháp nhưng không có kết quả truy vấn dữ liệu (Hình 4.11) cũng được tính đến.

Hình 4.9 – Giao diện liệt kê các dạng câu hỏi

CHƯƠNG 5 KẾT LUẬN

5.1 ĐÁNH GIÁ HỆ THỐNG

Từ tập các luật sinh trong bảng 3.2, chúng tôi đã tiến hành xây dựng 64 luật cú pháp để đáp ứng tập 72 câu hỏi chuẩn xác định được khi khảo sát, và thiết lập chương trình dựa trên tập luật cú pháp nêu trên.

Khi kiểm tra lại hệ thống với tập 72 câu hỏi chuẩn, hệ thống chạy ổn định, không phát sinh bất kỳ lỗi nào và cho kết quả đạt độ chính xác 100%. Kết quả này cho thấy hệ thống đã đáp ứng đầy đủ mục tiêu đề ra.

Ngoài ra chúng tôi còn tiến hành thử nghiệm hệ thống với 120 câu hỏi kiểm tra ngẫu nhiên. Sau khi kiểm tra hệ thống với các câu hỏi thử nghiệm, chúng tôi có những đánh giá như sau:

- Các câu hỏi được đề cập trực tiếp, n m trong những dạng thức đã

được xác định trong hệ thống đều được xử lý chính xác.

- Các câu hỏi có tính gián tiếp hoặc có chứa ẩn ý, hỏi vòng vèo sẽ không trả về kết quả.

- Các câu hỏi không xác định được rõ ràng tham số tìm kiếm cũng sẽ không trả về kết quả.

5.2 ĐỊNH HƯỚNG PHÁT TRIỂN

Từ những kết quả đạt được của đề tài, chúng tôi có một số nhận định về việc định hướng phát triển đề tài trong tương lai:

- Nghiên cứu cải tiến các qui tắc cú pháp linh hoạt hơn.

- Bổ sung thêm các dạng câu hỏi để nâng cao mức đáp ứng của hệ thống, mở rộng các thông tin truy vấn.

- Tìm kiếm các giải pháp để phát hiện các tham số trong câu hỏi một cách thông minh hơn.

- Xây dựng công cụ kiểm tra tiếng Việt tích hợp vào chương trình để cảnh báo nếu người dùng nhập sai cú pháp.

- Lưu lại các câu hỏi không đúng cú pháp và sẽ thông báo đến người quản trị nếu một dạng câu hỏi được lặp lại nhiều lần để bổ sung vào hệ thống.

TÀI LIỆU THAM KHẢO

Ti ng Vi t

[1] Báo cáo khoa học nghiệm thu đề tài NCKH cấp Đại học Quốc gia TP.

HCM, Xây dựng công cụ tra cứu kho học liệu mở Việt nam với chức

năng hỏi-đáp bằng tiếng Việt, mã số: B2009-26-01. Hội đồng nghiệm thu đề tài ngày 16/08/2010, tại Trường Đại học Công nghệ thông tin. Chủ nhiệm đề tài: TS. Nguyễn Tuấn Đăng.

[2] Lương Quý Tịnh Hà, 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. HCM, 2009.

[3] Nguyễn Vũ Huy, 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, 2010.

[4] Lý Thiên Trang, 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. HCM, 2009. (adsbygoogle = window.adsbygoogle || []).push({});

Ti ng Anh

[5] Dang Tuan Nguyen, Ha Quy-Tinh Luong, "A framework for building Vietnamese language query processing components in e-library searching systems", International Conference on Information Technology (ICIT 2009), October 28-30, 2009, Venice, Italy.

Proceedings of World Academy of Science, Engineering and Technology, pp. 1354-1358, vol. 58, October 2009. ISBN: 2070-3724.

[6] Dang Tuan Nguyen, Ha Quy-Tinh Luong, Tuyen Thi-Thanh Do,

"Building a Vietnamese language query processing framework for e- library searching systems", International Journal of Computer Science and Information Security (IJCSIS), pp. 092-096, vol. 6, no. 1, October 2009. ISSN: 1947-5500.

[7] Dang Tuan Nguyen, Ha Quy-Tinh Luong,"Document searching system

based on natural language query processing for Vietnam Open Courseware library", International Journal of Computer Science Issues (IJCSI), pp. 7-13, vol. 6, no. 2, November 2009. ISSN (online): 1694- 0784, ISSN (print): 1694-0814.

[8] Dang Tuan Nguyen, Tuan Ngoc Pham, Quoc Tan Phan, "A Semantic Model for Building the Vietnamese Language Query Processing Framework in e-Library Searching Application", Proceedings of the 2nd International Conference on Machine Learning and Computing (ICMLC 2010), pp. 179-183, February 9-11, 2010, Bangalore, India. ISBN: 978-0-7695-3977-5. Editions IEEE.

[9] Dang Tuan Nguyen, Huy Vu Nguyen, Quoc Tan Phan, "Using the Vietnamese Language Query Processing Framework to Build a Courseware Searching System", The 2010 International Conference on Telecom Technology and Applications (ICTTA 2010), Proceedings of the 2010 Second International Conference on Computer Engineering and Applications, vol. 2, pp. 117-121, March 19 - 21, 2010, Bali Island, Indonesia. ISBN: 978-0-7695-3982-9. Editions IEEE.

[10] Dang Tuan Nguyen, Ha Quy-Tinh Luong, Quoc Tan Phan, "An e- Library Searching System Based on the Vietnamese Language Query Processing Framework", The 2010 International Conference on Information and Emerging Technologies (ICIET 2010), Proceedings of the 2010 Second International Conference on Computer Engineering and Applications, vol. 2, pp. 517-520, March 19 - 21, 2010, Bali Island, Indonesia. ISBN: 978-0-7695-3982-9. Editions IEEE.

[11] Dang Tuan Nguyen, An Hoai Vo, Phuc Tri Nguyen, "Semantic Model

for Representing Vietnamese Questions in OpenCourseWare Retrieval System", Proceedings of the 2011 3rd International Conference on Machine Learning and Computing (ICMLC 2011), vol. 4, pp. 331-335, February 26-28, 2011, Singapore. ISBN: 978-1-4244-9252-7. Editions IEEE.

[12] Dang Tuan Nguyen, An Hoai Vo, Phuc Tri Nguyen, "Understanding the Vietnamese Questions in OpenCourseWare Retrieval System",

Proceedings of the 2011 3rd International Conference on Machine Learning and Computing (ICMLC 2011), vol. 4, pp. 327-330, February 26-28, 2011, Singapore. ISBN: 978-1-4244-9252-7. Editions IEEE.

[13] Vlado Keselj, “Question Answering Using Unification-based Grammar”, Advances in Artificial Intelligence, 14th Biennial Conference of the Canadian Society for Computational Studies of Intelligence, AI 2001 Ottawa, Canada, June 7–9, 2001, Proceedings, Springer-Verlag London, UK ©2001. ISBN: 3-540-42144-0.

[14] Bob Neveln, Bob Alps (January 16, 2011), Unification-Based

Grammar, [Online]. http://www.proofcheck.org/.

[15] Patrick Blackburn, Kristina Striegnitz (2002), Natural Language Processing Techniques in Prolog,[Online].

PHỤ LỤC

CÁC CÂU HỎI KIỂM TRA HỆ THỐNG

Các câu hỏi về tác giả

1. Hãy cho biết quyển sách "Đồ họa máy tính" là do tác giả nào đã viết vậy?

2. Hãy cho biết quyển sách "Đồ họa máy tính" là do ai đã viết vậy? 3. Hãy cho biết là do ai đã viết quyển sách "Đồ họa máy tính" vậy? 4. Hãy cho biết là do tác giả nào đã viết quyển sách "Đồ họa máy

tính" vậy?

5. Hãy cho biết tác giả của quyển sách "Đồ họa máy tính" có tên là gì vậy?

6. Hãy cho biết ai là tác giả của quyển sách "Đồ họa máy tính" vậy? 7. Hãy cho biết tác giả của quyển sách "Đồ họa máy tính" là ai vậy? 8. Hãy cho biết quyển sách "Đồ họa máy tính" có tác giả tên là gì

vậy?

9. Hãy cho biết quyển sách "Đồ họa máy tính" có tác giả là ai vậy? 10. Hãy cho biết có những tác giả nào đã viết sách thuộc chủ đề

"Anh ngữ" vậy?

11. Hãy cho biết có những ai đã viết sách thuộc chủ đề "Anh ngữ" vậy? (adsbygoogle = window.adsbygoogle || []).push({});

12. Hãy cho biết thuộc chủ đề "Anh ngữ" có những tác giả nào đã viết sách vậy?

13. Hãy cho biết thuộc chủ đề "Anh ngữ" có những ai đã viết sách vậy?

Các câu hỏi về sách và tác giả

14. Có phải là tác giả "Hoàng Huệ" đã viết quyển sách "Xử lý nước thải" không vậy?

15. Tác giả "Hoàng Huệ" có phải là đã viết quyển sách "Xử lý nước thải" không vậy?

16. Tác giả "Hoàng Huệ" đã viết quyển sách "Xử lý nước thải" có phải không vậy?

17. Có phải là quyển sách "Xử lý nước thải" do tác giả "Hoàng Huệ" viết không vậy?

18. Quyển sách "Xử lý nước thải" có phải là do tác giả "Hoàng Huệ" viết không vậy?

19. Quyển sách "Xử lý nước thải" là do tác giả "Hoàng Huệ" viết có phải không vậy?

Các câu hỏi về tác giả và nhà xuất ản

20. Có phải là tác giả "Charles Dickens" có sách do nhà xuất bản "Lao động" phát hành không vậy?

21. Hãy cho biết sách của tác giả "Charles Dickens" có được nhà xuất bản "Lao động" phát hành không vậy?

22. Hãy cho biết sách được viết bởi tác giả "Charles Dickens" có do nhà xuất bản "Lao động" phát hành không vậy?

23. Hãy cho biết nhà xuất bản "Lao động" có phát hành sách của tác giả "Charles Dickens" không vậy?

24. Hãy cho biết nhà xuất bản "Lao động" có phát hành sách do tác giả "Charles Dickens" viết không vậy?

25. Hãy cho biết sách phát hành bởi nhà xuất bản "Lao động" có của tác giả "Charles Dickens" không vậy?

Các câu hỏi về nhà xuất ản

26. Hãy cho biết quyển sách "Tin học đại cương" là do nhà xuất bản nào đã phát hành vậy?

27. Hãy cho biết quyển sách "Tin học đại cương" là do nơi nào đã

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin phương pháp xử lý một số dạng câu hỏi tiếng việt cho công cụ tìm kiếm thư viện điện tử (Trang 65 - 85)