C ƢƠN 3 PHÁT TRIỂN HỆ THỐNG TRUY VẤN DỮ LIỆU TÙY
3.5. KẾT QUẢ CHƢƠNG TRÌNH
3.5.2. Hệ thống thực nghiệm NL2SQL-SPARQL
Tác nhân: Ngƣời dùng. Ca sử dụng
- Truy vấn CSDL bằng NNTN có cấu trúc: khi ngƣời dùng muốn truy vấn dữ liệu, ngƣời dùng nhập câu truy vấn bằng NNTN và chọn mơ hình CSDL.
- Truy vấn dữ liệu mySQL: khi ngƣời dùng muốn truy vấn CSDL mySQL. - Truy vấn dữ liệu RDF: khi ngƣời dùng muốn truy vấn CSDL RDF.
- Cấu hình CSDL mySQL: muốn kết nối tới CSDL mySQL, ngƣời dùng cần cấu hình các thơng số nhƣ: hostname, username, password, database name
- Cấu hình CSDL RDF: cấu hình đƣờng dẫn tới tập tin lƣu trữ CSDL RDF. - Tạo câu truy vấn SQL: ca sử dụng thực hiện phân tích câu truy vấn NNTN có cấu trúc để sinh câu truy vấn SQL.
- Tạo câu truy vấn SPARQL: ca sử dụng thực hiện phân tích câu truy vấn SQL để sinh câu truy vấn SPARQL.
- Kết nối CSDL mySQL: thực hiện kết nối tới CSDL mySQL dựa trên các thơng tin đã đƣợc cấu hình.
- Kết nối CSDL RDF: thực hiện kết nối tới CSDL RDF dựa trên đƣờng dẫn đã đƣợc cấu hình.
Trƣớc khi chƣơng trình đƣợc thực thi cần một vài tham số để thiết lập kết nối tới CSDL mySQL và CSDL RDF.
- Thiết lập các thông tin dùng để kết nối mySQL: hostname, cổng kết nối, tên CSDL, username, password để kết nối cơ sở dữ liệu.
Hình 3.9. Giao diện cấu hình cơ sở dữ liệu mySQL
- Thiết lập đƣờng dẫn tới file dữ liệu RDF.
Giao diện chính của NL2SQL-SPARQL nhƣ trong Error! Reference source not found. chứa:
- Một nhóm nút cho phép chọn kết quả sinh ra của câu truy vấn NNTN là SQL hoặc SPARQL, khi chọn một trong hai nút sẽ hiện ra thơng tin cấu hình CSDL tƣơng ứng;
- Giao diện nhập câu truy vấn bằng NNTN, có chứa một số mẫu câu truy vấn có sẵn. Bên cạnh có một danh sách chứa các từ khóa gợi ý cho ngƣời dùng để nhập câu truy vấn bằng NNTN;
- Giao diện chứa câu kết quả câu truy vấn đƣợc sinh ra; - Bảng chứa kết quả truy vấn CSDL;
- Các nút thực thi.
add "contact" with "Last Name" = "Thảo", "First Name" is "Nguyễn Phƣơng", "Email" = nguyenphuongthao2012@gmail.com
INSERT INTO contact (name, prename, email) VALUES ('Thảo', 'Nguyễn Phƣơng', 'nguyenphuongthao2012@gmail.com')
Hình 3.12. Giao diện chuyển đổi sang SQL
PREFIX contact: <http://www.semanticweb.org/itc/ontologies/2016/3/contact#> INSERT DATA {
contact:contact9 contact:name 'Thảo';
contact:prename 'Nguyễn Phƣơng';
contact:email 'nguyenphuongthao2012@gmail.com'. }
Hình 3.13. Giao diện chuyển đổi sang SPARQL
update "contact" for "Email" is "nguyenphuongthao2012@gmail.com" set "Last Name" is "Hoa"
UPDATE contact SET name = 'Hoa' WHERE email = 'nguyenphuongthao2012@gmail.com'
Hình 3.14. Giao diện chuyển đổi sang SQL với câu lệnh Update
PREFIX contact: <http://www.semanticweb.org/itc/ontologies/2016/3/contact#> DELETE ?x contact:name ?name INSERT ?x contact:name 'Hoa' WHERE{ ?x contact:email 'nguyenphuongthao2012@gmail.com'}
Hình 3.15. Giao diện chuyển đổi sang SPARQL
Kiểm tra lại trong dữ liệu
3.5. KẾT C ƢƠN
Chƣơng này luận văn đã trình bày về bài toán yêu cầu đặt ra trong việc thực hiện truy vấn INSERT, UPDATE dựa trên ngữ nghĩa của câu truy vấn, và đã đề xuất mơ hình tổng quan để giải quyết bài tốn đặt ra. Từ câu truy vấn ngôn ngữ tự nhiên có cấu trúc, phân tích tạo ra 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 về framework Apache OpenNLP và framework General SQL Parser, và áp dụng các framework này vào quá trình xử lý trong hệ thống nhƣ đã mơ tả ở Hình 3.7. Và liệt kê các hàm xử lý chính đƣợc cài đặt trong chƣơng trình.
KẾT LU N V ƢỚN P ÁT TR ỂN 1. Kết quả đạt đƣợc
Mục tiêu chính của đề tài là phát triển và hồn thiện mơ hình NL2SQL- SPARQL để có thể thực thi các truy vấn INSERT, UPDATE khi truy vấn bằng ngôn ngữ tự nhiên.
Để thực hiện mục tiêu đã đề ra, tơi đã tiến hành tìm hiểu hệ thống chuyển đổi câu truy vấn bằng ngôn ngữ tự nhiên sang câu truy vấn SQL và chuyển đổi câu truy vấn SQL sang câu truy vấn SPARQL để tìm các bƣớc thực hiện chung của các hệ thống đó. Từ các bƣớc thực hiện chung đó, phát triển mơ hình hệ thống truy vấn dữ liệu tùy chọn dựa trên ngữ nghĩa của câu truy vấn để có thể thực thi các truy vấn INSERT, UPDATE.
Luận văn đã tiến hành xây dựng hệ thống và cài đặt bằng ngôn ngữ Java, đồng thời sử dụng bộ công cụ Apache OpenNLP để hỗ trợ trong việc thực hiện các bƣớc phân tích NNTN. Sau đó, sử dụng kỹ thuật từ điển để tìm ra các 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 bộ tích hợp General SQL Parser để hỗ trợ trong 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 này đã đƣợc thực nghiệm bằng hệ thống NL2SQL-SPARQL. NL2SQL- SPARQL đã thử nghiệm thành công việc sinh câu truy vấn INSERT, UPDATE sang
mơ hình CSDL quan hệ và sang CSDL ngữ nghĩa.
2. ƣớng phát triển củ đề tài
Hệ thống NL2SQL-SPARQL sử dụng kỹ thuật từ điển, cho nên hiệu quả của
hệ thống phụ thuộc rất nhiều vào từ vựng trong bộ từ điển, đây là khó khăn lớn nhất và là vấn đề cơ bản của bất kỳ hệ thống xử lý ngôn ngữ tự nhiên nào. Việc mở rộng từ điển và phân tích sâu hơn ngữ nghĩa của câu truy vấn bằng NNTN sẽ là một trong những hƣớng nghiên cứu tiếp theo của luận văn.
câu truy vấn SQL ở dạng đơn giản và chỉ trên câu lệnh INSERT, UPDATE. Vì vậy, hƣớng sắp tới tôi sẽ khắc phục những hạn chế về khả năng 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 bộ từ điển và áp dụng
NL2SQL-SPARQL cho các loại câu truy vấn cò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ệ và CSDL ngữ nghĩa, đồng thời hỗ trợ câu truy vấn NNTN bằng tiếng Việt cũng là một trong những hƣớng phát triển phát triển khác của luận văn.
Trong tƣơng lai, tôi sẽ cố gắng cải thiện các hạn chế, mở rộng các chức năng để có thể áp dụng hệ thống vào thực tế, nhằm phục vụ cho sự phát triển của hệ thống chuyển đổi câu truy vấn bằng 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 các hệ thống cơ sở dữ liệu.
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 đối với các cơ sở dữ 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ơ Xn Bách (2016), "Xử lí ngơn ngữ tự nhiên - Những điều cần biết", FPT TechInsight,<http://tech.fpt.com.vn/chuyen-gia-viet/xu-li-ngon-ngu-tu- nhien-nhung-dieu-can-biet-nd498023.html>, 06/02/2016.
[3] Hồ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 và so sánh các đặ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 và xây dựng hệ thống truy vấn dữ liệu tùy chọn dựa trên ngữ nghĩa củ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, <http://ns.inria.fr/ast/sql/index.html>.
[8] Gudu Software (2012), "Gudu Software General SQL Parser User Guide",
[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.
BIEN BAN
HQP HOI DONG CHAM LU~ VAN TH~C st
1.Ten d6 tai: Phdt trien rna hinh truy vein die lieu ticy chon dua tren ngie nghia cua cdu truy win NL2SQL - SPARQL: Truong hop cdu truy win INSERT, UPDATE.
2. Chuyen nganh: H~thong thong tin
3.Theo Quyet dinh thanh l~p H9i d6ng cham Iuanvan thac S1 s6723/QD-DHSP ngay 07/7/2017
4. Ngay h9P H(>id6ng: ngay 30thang 7ndm 2017
5. Danh sikh cac thanh vien Hoi d6ng:
STT HQvATEN CUONG vr TRONG HOI DONG
1. GS.TS. Nguyen Thanh Thuy Chu tich H9i d6ng
2. TS.Nguyen Hoang Hai TlnrkYH9i d6ng
3. TS.Nguyen Tdn Quoc Vinh Uy vien Phan bi~n 1
4. TS.Nguyen Quang Thanh Uy vien Phan bien 2
5. PGS.TSKH. TrfuIQU6cChi~n Uy vien
a. Thanh vien comat: -=-!) _ b.Thanh vien vang m?t: -__,L. __
6. TlurkyHoi 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)
7. H9C vien cao hoc trinh bayluan van
8. Cac phan bien doc nhan xetva neu cau hoi (covan ban kern theo)
9. H9c vien cao h9C tni lai cac diuhoi cua thanh vien H(>i d6ng
a) KSt luan chung:
fli - 111/ cit! IA'B<?'" -
b) Yeu c~u chinh, sua vSnoi dung:
c) Cae ykiSn khac:
d) Di€m danh gia: BAng s6: '(])j, B ~ng chtt: __ .L..;;)S;__IJ1fA,-f--,-_..:_o~'-><-!._7 !____/
!.4 '/,
13. Tac gia ludn van phat biSuy kiSn 14. Chu tich H<)id6ng tuyen b6 bS mac
THV KY nor DONG
CHU TJCH HOI DONG
/Vj~u.- 1((1.7 ~ I
NIlAN D:T LUAN VAN THAC SI• • •
(Dung cho nggOiph';" /HIlt)
HQva ten nguoi nhan xet
HQcham
Chuyen nganh Co quan cong tac
:Nguyen TrfuIQuocVinh
HQcvi :Ti~n 81
: Congnghethong tin
: Khoa Tin hoc, Truong Dai hoc Su pham, . Dai hoc Da NfuIg
HQva ten hoc vien cao hoc :Nguyin Th] Phuong Thiio
Ten d~tai:Phtit triin ma hinh truy win dii lifu tuychon dlpl tren ngii nghia ciia truy van NL2SQL-SPARQL: Truimg hpp cdu truy van insert, upllate
YKIENN~D:T
1)v~Iy do chen diw:
Thao tac va truy van dfr li~u bing ngon ngft nr nhien Ia van d~ r~t quan trong va dli duoc quan Him til r~t lau. Kha nang truy van tren nhieu loai hinh CSDL khac nhau va tfch hop k~t qua ding la
cfuIthi&t. Cac cong trinh truce day chu y~u quan tim lenh troy v~ dfr li~u (SELECT), chua quan
tam nhi8u d8nthao uic dit li~u.VI. thS, d8UliJac~p thi~t.
2)vi chit hrqng ditai:
Bao cao lu~ van bao gam 3 chuang, rna .dAuva k~t lu~; bao gam trong 66 trang.
Nhln chung, d8 tMalid~t duqc cac rn\lc tieu d~ ra, dap Ung cac yeu cAu ddi v6i lu~ van th~c 81. Tuy nhien, vfuJ.tan t~ rnQt sd h~ ch~.
V~ hinh thuc: • Nhi~u 16i diM d~g.
• NhiSu 16i<;:hfnhta (thira/thi~u d~u cach, vi~t hoa ... ). • NhiSu khoang triing Ian kh6ng r6 m\lc dfch.
VS nQi dung:
• M\lc I\lc chua dUng quy diM·
• M\lc tieu trong phfuI rna dAu chua thvc Sl,!chufuI rnvc vS diu chu. • NQi dung tf,ng quan trong phfuI rna dAu chua d~t yeu cAu.
• Nhi~u n(>i dung 19 thuy~t qua co ban, khong phu hqp de dua vao bao cao lucP:lvan th~c 81
(VD:m\lc 1.1. .. ).
• NhiSu n(>i dung 19 thuy~t qua dai nhung l~i khong m~y lien quan trl,Ic ti~p d~n dS tai (VD: 1.2.2,nQi dung vS cau l~nh SELECT ...).
• B6 cue chua thuc SI! hop ly,chua can bang gitta 3 chuang.
• Chua Vi~t hoa trier d~. • Nhieu 16i danh s6 hinh anh.
• Tac gia co trfch dfuI tai li~u tham khao, tuy nhien, chua th€ hien ro dong gop cua 11$1 van.
3)vikit qua d~t dllq'c:
Tac gia dff tim hieu vS cau l~nh insert va update trong ngon ngfr SQL; tim hieu vS truy v§n
ngtt nghia tren dfr lieu RDF; tim hi€u vSkythuat ~u19ngon ngu nr nhien. Tirdo, tac gia ap dung cac nen tang Apache OpenNLP va General SQL Parser d€ xay dung chuang trinh thuc hien bien dich lenh insert/update bang ngon ngfr nr nhien co celu tnic sang SQL va SPARQL.
4)viy nghia khoa hoc,.mg dyng thY'ctiin vahllOug Il1.O'r9Dgd~tai,: Co th€ duqc su dl,lllgd~ tham khao.
YKIEN DE NGHJ
- f)~nghi tae gia th\IC hi~n diSu chinh bao cao lu~ van thea cac yki~n atren va trlnh phan bi~n
xct duy~t.
- Cac k~t qua dl;lt ctuqc dam bao cac yeu du d6i vcYilu~ van thl;lcs1ky th~~t, dS nghi cho hQc vien bao v~ trucYch<)id6ng chfun lu~ van.
Da Nang, ngay 28thdng 7nam 2017
Ngllm nh~n xet
NHAN. xET PHAN BIEN LUAN VAN.. THAC. SY
HQva ten ngum nh~n xet: Nguyen Quang Thanh
HQcvj: Ti€n sy
Chuyen nganh:Toan - Tin
CO'quan cong tac: SO'Thong tin va Truyen thong Da N£ng
HQva ten hoc vien cao hoc: Nguyen Thi Phuong Thao
Ten d~ tai lu~n van: Phat trien mo hinh troy vfrn dfr li~u my chon dua tren ngfr
nghia cua cau troy vfrn NL2SQL-SPARQL: Truong hap cau troy vfuJ INSERT, UPDATE.
YKIEN~NxET
1.Ynghla khoa hoc cua d~ tai:
.Ngay nay, khi rna rno hinh co so dil' lieu huang d6i nrong truyen thong
khong phu hop voi thuc te boi vi thong tin v€ cac d6i urong trong th€ gioi thuc thuong c6 tinh rna h6, khong ch~c ch~, khong d§y duoD~ giai quy€t vfin d€ d~t ra trong thuc t€ rno hinh troy van dfr li~u dua tren ngfr nghia duQ'cd€ xufit nh~rn
bieu di€n va xu IyduQ'ccac d6i tuQ'Ilgrna cac thong tin v€ chung co the hi rna h6
va khong ch~c ch~n. Vi V?y,khi troy vftn dfr li~u trong CSDL HDT v&ithong tin rna va khong ch~c ch~n thi vfrn d€ quan trQng nhfrt la lam th6 nao tim ra rn9t phuong phap xu ly cac gia tr! rna d~ tir d6 xay dl!ng phuong phap so sanh gifra
chung. Vftn de nay, co nhieu cach ti€p c?n d~ xu ly cac gia tri rna dugc cac hie
gia trong va ngoai nu&c quan tam nghien CUu: Eiter va c9ng Sl! (2001) da:gi&i thi~u rn9t rno hinh cO'sO'd6i tuqng xac suftt gQi la POB (Probabilistic Object Base). Day la rno hinh rna f9ng rno hinh CSDL HDT xac sufit eua Komatzky va Shimony (1994) v&i cac chi€n lugc k€t hqp xac suftt d~ bi~u di€n , tuy khong phai la chu d€ rn&isong Iuon thu hut duQ'cSl,l'quan tam cila cac nhil quan ly va gi&ihQcthu?t. Chinh vi V?y, lu?n van co y nghia v€ rn~t khoa hQCva kha. nang
(mg dl,lIlgtrong thvc t6.
nghia cua cau truy van NL2SQL-SPARQL: Truong hap cau truy v§n INSERT,
UPDATE" va cac v§n de diroc trinh bay trong lu~n van phil hop voi chuyen
nganh dao tao ve H~ th6ng thong tin.
3.KSt qua:
Luan van dircc t6 clnrc g6m:
Ngoai phAn rna d§u va k~t luan lu~n van diroc b6 C\lCg6m 3 chuang:
Trong chuang 1,voi 10 trang, hoc vien trinh bay t6ng quan ve khai niem
CSDL va phan loai cac mo hinh CSDL.
Trong chuang 2, voi 12 trang, tac gia trinh bay cac biroc phan tich cac
thong tin lien quan d€n ngon ngu truy v§n CSDL quan h~ va ngon ngtt truy v§n
CSDL ngtr nghia, til do mo ta mo hinh RDF va cac v§n de lien quan d€n mf
hinh nay.
Trong chuang 3, voi 29 trang, tac gia trinh bay ve H~ thong truy v§n dfr
lieu my chQn d\Ia tren ngfr nghIa cua cau truy v§n NL2SQL-SPARQL: TruOng