Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 86 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
86
Dung lượng
3,36 MB
Nội dung
ỌC TRƢỜN N N I HỌC SƢ P NGUYỄN THỊ P ƢƠN M T ẢO PHÁT TRIỂN MƠ HÌNH TRUY VẤN DỮ LIỆU TÙY CHỌN DỰA TRÊN NGỮ N ĨA CỦA CÂU TRUY VẤN NL2SQL-SPARQL: TRƢỜNG HỢP CÂU TRUY VẤN INSERT, UPDATE LU N V N T C SĨ HỆ THỐNG THÔNG TIN N n - Năm 2017 ỌC N N I HỌC SƢ P TRƢỜN NGUYỄN THỊ P ƢƠN M T ẢO PHÁT TRIỂN MƠ HÌNH TRUY VẤN DỮ LIỆU TÙY CHỌN DỰA TRÊN NGỮ N ĨA CỦA CÂU TRUY VẤN NL2SQL-SPARQL: TRƢỜNG HỢP CÂU TRUY VẤN INSERT, UPDATE C M nn ố LU N V N T N ƣờ ƣớn n n : Hệ thống thông tin : 61.49.01.04 C SĨ HỆ THỐNG THÔNG TIN o ọ : TS HOÀNG THỊ THANH HÀ N n - Năm 2017 i LỜ CAM OAN Tôi cam đoan công trình nghiên cứu riêng tơi Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tác giả luận văn Nguyễn Thị Phƣơng Thảo ii MỤC LỤC DANH MỤC CÁC CHỮ VIẾT TẮT iv DANH MỤC CÁC BẢNG .v DANH MỤC CÁC HÌNH vi MỞ ẦU 1 Lý chọn đề tài Mục tiêu nghiên cứu đề tài Đối tƣợng phạm vi nghiên cứu Phƣơng pháp nghiên cứu Đóng góp luận văn .3 Kết dự kiến .4 Bố cục luận văn C ƢƠN TỔNG QUAN VỀ CÁC MƠ ÌN CƠ SỞ DỮ LIỆU 1.1 CƠ SỞ DỮ LIỆU LÀ GÌ? 1.2 PHÂN LOẠI CÁC MƠ HÌNH CƠ SỞ DỮ LIỆU .7 1.2.1 Cơ sở liệu ngữ nghĩa .7 1.2.2 Cơ sở liệu quan hệ 1.2.3 Cơ sở liệu hƣớng đối tƣợng 13 1.3 KẾT CHƢƠNG 14 C ƢƠN NGÔN NGỮ TRUY VẤN CƠ SỞ DỮ LIỆU QUAN HỆ VÀ CƠ SỞ DỮ LIỆU NGỮ N ĨA 15 2.1 NGÔN NGỮ TRUY VẤN TRONG Cơ sở liệu quan hệ 15 2.1.1 Giới thiệu 15 2.1.2 Câu truy vấn SQL .16 2.2 NGÔN NGỮ TRUY VẤN TRONG Cơ sở liệu ngữ nghĩa 31 2.2.1 Giới thiệu 31 2.2.2 Mơ hình RDF 31 2.2.3 RDF Dataset .33 iii 2.3 KẾT CHƢƠNG 36 C ƢƠN PHÁT TRIỂN HỆ THỐNG TRUY VẤN DỮ LIỆU TÙY CHỌN DỰA TRÊN NGỮ N ĨA CỦA CÂU TRUY VẤN 38 3.1 ĐẶT VẤN ĐỀ 38 3.2 MƠ HÌNH CHUYỂN ĐỔI CÂU TRUY VẤN NNTN SANG SQL VÀ SPARQL 39 3.2.1 Cấu trúc câu truy vấn NNTN kỹ thuật xử lý .41 3.2.2 Chuyển đổi sang câu truy vấn Insert 43 3.2.3 Chuyển đổi câu truy vấn UPDATE 46 3.3 GIỚI THIỆU VỀ FRAMEWORK APACHE OPENNLP VÀ GENERAL SQL PARSER 50 3.3.1 Framework Apache Opennlp 50 3.3.2 General SQL Parser 53 3.4 CÀI ĐẶT MÔ HÌNH ĐÃ ĐỀ XUẤT 56 3.5 KẾT QUẢ CHƢƠNG TRÌNH 57 3.5.1 Cơ sở liệu dùng cho thực nghiệm 57 3.5.2 Hệ thống thực nghiệm NL2SQL-SPARQL 57 3.5 KẾT CHƢƠNG 65 KẾT LU N V ƢỚNG PHÁT TRIỂN .66 TÀI LIỆU THAM KHẢO QUYẾT ỊN AO Ề TÀI LU N V N (bản sao) iv DAN MỤC CÁC TỪ V ẾT TẮT Từ viết tắt Ýn ĩ NNTN Ngôn ngữ tự nhiên AST Abstract syntax tree MT Machine translation CSDL Cơ sở liệu SQL Structured Query Language SPARQL SPARQL Protocol And RDF Query Language SBD Sentence boundary disambiguation POS Part of Speech NLP Natural Language Process v DAN Số hiệu MỤC CÁC BẢN Tên bảng bảng Trang 3.1 Danh sách từ giá trị tƣơng thành phần câu INSERT 43 3.2 Danh sách từ giá trị tƣơng thành phần câu SELECT 46 3.3 Danh sách từ kết tƣơng ứng toán tử so sánh logic 47 vi DAN MỤC CÁC Số hiệu ÌN Tên hình hình Trang 1.1 Vị trí CSDL hệ thống 1.2 Kiến trúc lớp Web ngữ nghĩa 2.1 Các nút nút AST 16 2.2 Thuộc tính phụ sql:clause 17 2.3 Vị từ SQL 18 2.4 Toán tử SQL 18 2.5 Hàm SQL 19 2.6 Danh mục đối tƣợng 19 2.7 Sơ đồ câu lệnh SELECT 20 2.8 Sơ đồ cú pháp câu lệnh INSERT sử dụng mệnh đề VALUES 25 2.9 Sơ đồ cú pháp câu lệnh INSERT sử dụng biểu thức SELECT 26 2.10 Sơ đồ cấu trúc câu lệnh UPDATE 28 2.11 Sơ đồ cấu trúc giá trị biểu thức câu lệnh UPDATE 28 2.12 Sơ đồ cấu trúc câu lệnh DELETE 29 3.1 Mơ hình hệ thống tổng quan 40 3.2 Tên đầy đủ ký hiệu viết tắt từ loại Tiếng Anh 42 3.3 Cây phân tích cú pháp 53 3.4 Kiến trúc General SQL Parser 54 3.5 Sơ đồ dịch câu truy vấn sang phân tích cú pháp có định dạng 55 3.6 Luồng liệu General SQL Parser 55 3.7 Sơ đồ cài đặt mô hình chi tiết 56 3.8 Sơ đồ ca sử dụng chƣơng trình 58 3.9 Giao diện cấu hình sở liệu mySQL 59 vii Số hiệu hình Tên hình Trang 3.10 Giao diện cấu hình sở liệu RDF 59 3.11 Giao diện chuyển đổi sang SQL 60 3.12 Giao diện chuyển đổi sang SQL 61 3.13 Giao diện chuyển đổi sang SPARQL 62 3.14 Giao diện chuyển đổi sang SQL với câu lệnh Update 63 3.15 Giao diện chuyển đổi sang SPARQL 64 3.16 Giao diện kiểm tra lại liệu 64 MỞ ẦU Lý o ọn đề t Workflow hay tiến trình q trình tự động hóa cơng việc, phần tồn Trong q trình đó, tài liệu, thông tin hay nhiệm vụ đƣợc truyền từ đối tƣợng tham gia sang đối tƣợng khác để hành động tuân theo tập hợp quy tắc định Một vấn đề đặt nghiên cứu tiến trình lập liệu cá nhân việc thực thi phân tán tiến trình bao gồm nhiều cơng cụ thực thi cục bộ, đƣợc gọi máy thực thi Nguyên tắc cô lập không cho phép truy cập vào liệu cá nhân máy thực thi ngƣời khác Lấy ví dụ lĩnh vực y tế, xem xét tiến trình điều trị bệnh tim mạch, tiến trình có nhiều đối tƣợng tham gia nhƣ bệnh nhân, bác sĩ điều trị, bác sĩ phẩu thuật, trung tâm xét nghiệm, trung tâm chẩn đốn hình ảnh Các đối tƣợng khơng tập trung địa điểm, không chia sẻ hạ tầng thơng tin liệu điều trị họ phân tán Dữ liệu điều trị nằm nhiều địa điểm khác dƣới nhiều hình thức khác nhau, ví dụ nhƣ có sở liệu MySQL, liệu ngữ nghĩa RDF, hay tổ chức MongoDB Nhiều hình thức sở liệu gây khó khăn cho hệ thống ngƣời dùng muốn truy vấn vào kho liệu mà họ cần tra cứu, chẳng hạn bác sĩ điều trị muốn truy vấn liệu từ trung tâm xét nghiệm chẳng hạn Để giúp ngƣời dùng truy vấn cách dễ dàng với mơ hình sở liệu, mà phổ biến sở liệu ngữ nghĩa sở liệu quan hệ, [5] tác giả đề xuất mơ hình truy vấn liệu tùy chọn dựa ngữ nghĩa câu truy vấn, mơ hình đề xuất giải pháp truy vấn hai mơ hình CSDL CSDL quan hệ CSDL ngữ nghĩa với câu truy vấn ngôn ngữ tự nhiên Tuy nhiên báo [5] phát triển mơ hình với từ điển ngữ nghĩa giới hạn cho câu truy vấn SELECT, để mở rộng khả ứng dụng mơ hình thực tế, tơi đề xuất lựa chọn đề tài: 63 Hình 3.14 Giao diện chuyển đổi sang SQL với câu lệnh Update PREFIX contact: DELETE ?x contact:name ?name INSERT ?x contact:name 'Hoa' WHERE{ ?x contact:email 'nguyenphuongthao2012@gmail.com'} 64 Hình 3.15 Giao diện chuyển đổi sang SPARQL Kiểm tra lại liệu Hình 3.16 Giao diện kiểm tra lại liệu 65 3.5 KẾT C ƢƠN Chƣơng luận văn trình bày toán yêu cầu đặt việc thực truy vấn INSERT, UPDATE dựa ngữ nghĩa câu truy vấn, đề xuất mơ hình tổng quan để giải toán đặt Từ câu truy vấn ngơn ngữ tự nhiên có cấu trúc, phân tích tạo câu truy vấn SQL, từ câu truy vấn SQL chuyển đổi sang câu truy vấn SPARQL Đồng thời luận văn trình bày framework Apache OpenNLP framework General SQL Parser, áp dụng framework vào trình xử lý hệ thống nhƣ mơ tả Hình 3.7 Và liệt kê hàm xử lý đƣợc cài đặt chƣơng trình 66 KẾT LU N V ƢỚN P ÁT TR ỂN Kết đạt đƣợc Mục tiêu đề tài phát triển hồn thiện mơ hình NL2SQLSPARQL để thực thi truy vấn INSERT, UPDATE truy vấn ngôn ngữ tự nhiên Để thực mục tiêu đề ra, tiến hành tìm hiểu hệ thống chuyển đổi câu truy vấn ngôn ngữ tự nhiên sang câu truy vấn SQL chuyển đổi câu truy vấn SQL sang câu truy vấn SPARQL để tìm bƣớc thực chung hệ thống Từ bƣớc thực chung đó, phát triển mơ hình hệ thống truy vấn liệu tùy chọn dựa ngữ nghĩa câu truy vấn để thực thi truy vấn INSERT, UPDATE Luận văn tiến hành xây dựng hệ thống cài đặt ngôn ngữ Java, đồng thời sử dụng công cụ Apache OpenNLP để hỗ trợ việc thực bƣớc phân tích NNTN Sau đó, sử dụng kỹ thuật từ điển để tìm từ tƣơng ứng để xây dựng câu truy vấn SQL cho CSDL quan hệ Trong trƣờng hợp ngƣời dùng muốn chuyển đổi câu truy vấn NNTN thành câu truy vấn SPARQL cho CSDL ngữ nghĩa, mơ hình sử dụng tích hợp General SQL Parser để hỗ trợ việc phân tích câu truy vấn SQL, sau xây dựng câu truy vấn cho CSDL ngữ nghĩa Mơ hình đƣợc thực nghiệm hệ thống NL2SQL-SPARQL NL2SQLSPARQL thử nghiệm thành công việc sinh câu truy vấn INSERT, UPDATE sang mơ hình CSDL quan hệ sang CSDL ngữ nghĩa ƣớng phát triển củ đề tài Hệ thống NL2SQL-SPARQL sử dụng kỹ thuật từ điển, hiệu hệ thống phụ thuộc nhiều vào từ vựng từ điển, khó khăn lớn vấn đề hệ thống xử lý ngôn ngữ tự nhiên Việc mở rộng từ điển phân tích sâu ngữ nghĩa câu truy vấn NNTN hƣớng nghiên cứu luận văn Hệ thống thực chuyển đổi câu truy vấn ngôn ngữ tự nhiên sang 67 câu truy vấn SQL dạng đơn giản câu lệnh INSERT, UPDATE Vì vậy, hƣớng tới tơi khắc phục hạn chế khả chuyển đổi câu truy vấn từ ngôn ngữ tự nhiên sang câu truy vấn SQL Mở rộng từ điển áp dụng NL2SQL-SPARQL cho loại câu truy vấn lại Cuối cùng, việc mở rộng mơ hình để hỗ trợ thêm nhiều loại mơ hình CSDL khác ngồi CSDL quan hệ CSDL ngữ nghĩa, đồng thời hỗ trợ câu truy vấn NNTN tiếng Việt hƣớng phát triển phát triển khác luận văn Trong tƣơng lai, cố gắng cải thiện hạn chế, mở rộng chức để áp dụng hệ thống vào thực tế, nhằm phục vụ cho phát triển hệ thống chuyển đổi câu truy vấn ngơn ngữ tự nhiên có cấu trúc sang dạng câu truy vấn thích hợp với hệ thống sở liệu 68 T L ỆU T AM K ẢO Tiếng Việt [1] Nguyễn Kim Anh, Phạm Thị Thu Hồi (2006), "Truy vấn ngơn ngữ tự nhiên khơng hồn chỉnh sở liệu quan hệ", Hội nghị Khoa học lần thứ 20 - Đại học Bách Khoa Hà Nội, 117–122 [2] Ngô Xuân Bách (2016), "Xử lí ngơn ngữ tự nhiên - Những điều cần biết", FPT TechInsight,, 06/02/2016 [3] Hoàng Nguyễn Tuấn Minh, Hồng Hữu Hạnh (2011), "Các ngơn ngữ truy vấn RDF: Đánh giá tổng quan so sánh đặc tính ngơn ngữ", Tạp chí Khoa học - Đại học Huế, (65), 131–145 [4] Nguyễn Văn Tin (2016), "Nghiên cứu xây dựng hệ thống truy vấn liệu tùy chọn dựa ngữ nghĩa câu truy vấn", luận văn thạc sĩ kỹ thuật Đại học Đà Nẵng Tiếng Anh [4] Alexander R., Rukshan P., Mahesan S (2013), "Natural Language Web Interface for Database (NLWIDB)", Proceedings of the Third International Symposium [5] Androutsopoulos I., Ritchie G.D., Thanisch P (1995), "Natural Language Interfaces to Databases - An Introduction", Journal of Natural Language Engineering [6] Deepshikha, Devi K (2015), "A Survey of Natural Language Query Builder Interface to Database", International Journal of Advanced Research in Computer Science and Software Engineering, 5(4), 890–895 [7] Follenfant C., Corby O (2014), "SQL Abstract Syntax Trees Vocabulary", Inria, [8] Gudu Software (2012), "Gudu Software General SQL Parser User Guide", Gudu Software, 69 [9] Hernandez M.J., Viescas J.L (2007), SQL Queries for Mere Mortals: A Hands-On Guide to Data Manipulation in SQL, Addison-Wesley Professional, Boston [10] Jurafsky D.S., Martin J.H (2000), Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, Alan Apt, New Jersey [11] Kaur S., Bali R.S (2012), "SQL generation and execution from natural language", International Journal of Computing & Business Research [12] Mali R., Toge P., Gargote P., Mali S., Bajpai S (2015), "Natural Language to Relational Query by Using Parsing Compiler", International Journal of Computer Science and Mobile Computing, 4(3), 485–494 [13] Ramanujam S., Gupta A., Khan L., Thuraisingham B., Seida S (2009), "R2D: A framework for the relational transformation of RDF data", International Journal of Semantic Computing, 3(4), 471–498 [14] Reese R.M (2015), Natural language processing with JAVA, Packt Publishing, Birmingham [15] Silberschatz A., Korth H.F., Sudarshan S (2011), Database System Concepts, McGraw-Hill Companies, New York [16] Unger C., Cimiano P (2011), "Pythia: Compositional meaning construction for ontology-based question answering on the semantic web", Lecture Notes in Computer Science, 6716, 153–160 D~ HQC DA.NANG TRUONGD~IHQCSUPH~M CONG HoA xA HOI cau NGIDA vrer NAM DQc I~p - Tl}'do - H~nh phuc BIEN BAN HQP HOI DONG CHAM LU~ VAN TH~C st Ten d6 tai: Phdt trien rna hinh truy veindie lieu ticy chon dua tren ngie nghia cua cdu truy win NL2SQL - SPARQL: Truong hop cdu truy win INSERT, UPDATE Chuyen nganh: H~ thong thong tin Theo Quyet dinh l~p H9i d6ng cham Iuan van thac S1 s6 723 /QD-DHSP 07/7/2017 Ngay h9P H(>i d6ng: 30 thang ndm 2017 Danh sikh cac vien Hoi d6ng: STT HQvATEN CUONG vr TRONG HOI DONG GS.TS Nguyen Thanh Thuy Chu tich H9i d6ng TS Nguyen Hoang Hai Tlnr kY H9i d6ng TS Nguyen Tdn Quoc Vinh Uy vien Phan bi~n TS Nguyen Quang Thanh Uy vien Phan bien PGS.TSKH TrfuI QU6c Chi~n a Thanh vien co mat: -=-!) Uy vien _ b Thanh vien vang m?t: - ,L Tlur ky Hoi d6ng bao cao qua trinh h9C tap, nghien CUu cua h9C vien cao hoc va doc Iy lich khoa hoc (co van ban kern theo) H9C vien cao hoc trinh bay luan van Cac phan bien doc nhan xet va neu cau hoi (co van ban kern theo) H9c vien cao h9C tni lai cac diu hoi cua vien H(>i d6ng 10 H(>i d6ng h9P rjeng dS danh gia 11 Truong ban kiern phieu cong b6 ket qua 12 K~t Iuan cua Hoi d6ng a) KSt luan chung: fli - b) Yeu c~u chinh, c) Cae cit! 111/ sua vS noi '" IA 'B