Bài viết Xây dựng ontology cho hệ thống truy vấn dữ liệu tùy chọn trình bày giải pháp xây dựng một ontology phục vụ cho hệ thống truy vấn dữ liệu tùy chọn. Dựa trên ontology này, hệ thống sẽ phân tích ngữ nghĩa của câu truy vấn bằng ngôn ngữ tự nhiên và gợi ý câu truy vấn tương ứng với loại cơ sở dữ liệu được lựa chọn.
Nguyễn Thanh Tuấn, Hoàng Thị Thanh Hà 128 XÂY DỰNG ONTOLOGY CHO HỆ THỐNG TRUY VẤN DỮ LIỆU TÙY CHỌN BUILDING ONTOLOGIES FOR SYSTEM OF OPTIONAL DATA QUERY Nguyễn Thanh Tuấn1, Hoàng Thị Thanh Hà2 Trường Đại học Sư phạm - Đại học Đà Nẵng; nttuan@ued.udn.vn Trường Đại học Kinh tế - Đại học Đà Nẵng; ha.htt@due.edu.vn Tóm tắt - Hệ thống truy vấn liệu tùy chọn hệ thống cho phép người sử dụng ngôn ngữ tự nhiên truy vấn vào sở liệu biểu diễn mơ hình khác sở liệu ngữ nghĩa, sở liệu quan hệ… mà khơng cần biết hình thức, cấu trúc hay nội dung sở liệu 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 phát triển, việc phân tích ngữ nghĩa câu truy vấn nhiều hạn chế Bài báo trình bày giải pháp xây dựng ontology phục vụ cho hệ thống truy vấn liệu tùy chọn Dựa ontology này, hệ thống phân tích ngữ nghĩa câu truy vấn ngôn ngữ tự nhiên gợi ý câu truy vấn tương ứng với loại sở liệu lựa chọn Abstract - A system of optional data query is a system that allows users by natural language to query the databases represented by different models such as semantic databases, relational databases without knowing their form, structure, or content A system of optional data query model based on the semantics of the query has been developed, but analysis of semantics of the query is still limited This paper presents a measure to construct an ontology for the system of the optional query Based on this ontology, the system will analyze the semantics of the query in natural language and suggests the query corresponding to the type of database selected Từ khóa - ontology; truy vấn liệu tùy chọn; sở liệu quan hệ; sở liệu ngữ nghĩa; ngôn ngữ tự nhiên Key words - ontology; query optional data; relational database; semantic databases; natural language Đặt vấn đề Thông tin đóng vai trị quan trọng sống chúng ta, nguồn thông tin chủ yếu mà thơng tin lưu trữ biểu diễn sở liệu (CSDL) CSDL cơng nghệ CSDL đóng vai trị quan trọng phát triển công nghệ thông tin, gần tất ứng dụng máy tính lưu trữ nhận thơng tin từ CSDL Có nhiều hình thức phương pháp biểu diễn CSDL khác mà phổ biến CSDL quan hệ Ngoài ra, hình thức biểu diễn CSDL đóng vai trị quan trọng phát triển hệ web mới, web ngữ nghĩa, CSDL ngữ nghĩa Việc truy cập vào CSDL thường phải thông qua ngôn ngữ truy vấn CSDL ngôn ngữ SQL CSDL quan hệ hay SPARQL CSDL ngữ nghĩa, nhiên khơng phải viết truy vấn nắm cấu trúc CSDL Vì nhiều phương pháp kỹ thuật nghiên cứu phát triển giúp việc truy vấn CSDL trở nên dễ tiếp cận hơn, điển hình tiếp cận sử dụng ngơn ngữ tự nhiên (NNTN) để truy vấn CSDL Hệ thống truy vấn liệu tùy chọn hệ thống cho phép người sử dụng NNTN truy vấn vào CSDL biểu diễn mơ hình khác CSDL ngữ nghĩa, CSDL quan hệ… mà không cần biết hình thức, cấu trúc hay nội dung CSDL 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 phát triển giới thiệu [1], tác giả trình bày hướng tiếp cận cho phép người dùng đưa lựa chọn truy vấn liệu mong muốn từ hai loại CSDL phổ biến CSDL quan hệ CSDL ngữ nghĩa Dựa việc phân tích ngữ nghĩa câu truy vấn NNTN loại CSDL lựa chọn, hệ thống đề xuất câu truy vấn tương ứng cho phép người dùng kiểm tra trước đồng ý thực thi Tuy nhiên, mô hình này, việc phân tích ngữ nghĩa câu truy vấn thực từ điển từ khóa ngôn ngữ truy vấn cấu trúc CSDL từ điển xây dựng cách thủ cơng Bài báo trình bày giải pháp mở rộng mơ hình trên, xây dựng ontology phục vụ cho hệ thống truy vấn liệu tùy chọn Dựa ontology này, hệ thống phân tích ngữ nghĩa câu truy vấn NNTN gợi ý câu truy vấn tương ứng với loại CSDL lựa chọn Các cơng trình liên quan 2.1 Hệ thống CSDL thông minh giao diện NNTN cho CSDL Các ý tưởng sử dụng NNTN thay cho câu lệnh truy vấn phát triển kiểu xử lý gọi hệ thống giao diện NNTN cho CSDL Ý tưởng không phục vụ cho người dùng cuối, người khơng hiểu biết sâu cơng nghệ thơng tin, mà cịn bước trung gian để nhiều mơ-đun chương trình khác nhau, mà sử dụng nhiều mơ hình CSDL khác nhau, truy xuất liệu Đây bước đầu để phát triển hệ thống CSDL thông minh giúp người dùng thực việc truy vấn CSDL dễ dàng [2] Hệ thống CSDL thông minh hệ thống quản lý liệu quản lý số lượng lớn liệu, áp dụng nhiều hình thức suy luận khác để tạo thêm liệu thông tin Hệ thống bao gồm kỹ thuật biểu diễn kiến thức, kỹ thuật suy luận giao diện người dùng thông minh, giao diện mở rộng Ngồi cách tiếp cận ngơn ngữ truy vấn truyền thống sử dụng NNTN để truy vấn CSDL hệ thống giao diện NNTN Hệ thống giao diện NNTN vấn đề nghiên cứu mở với mục tiêu chấp nhận truy vấn tiếng Anh hay NNTN khác, hiểu chúng chuyển đổi chúng thành truy vấn CSDL, sau tiến hành thực thi câu truy vấn Các hệ thống có ưu, nhược điểm sau: Ưu điểm: • Không sử dụng ngôn ngữ nhân tạo, sử dụng ngơn ngữ truy vấn hình thức SQL khó để học, khó để ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 11(120).2017-Quyển 129 thành thạo dễ mắc sai sót, với người khơng chun • Đơn giản, dễ sử dụng • Diễn đạt truy vấn tốt • Có thể chấp nhận lỗi ngữ pháp nhỏ • Dễ sử dụng cho CSDL nhiều bảng Nhược điểm: • Phạm vi ngơn ngữ khơng rõ ràng, hệ thống giới hạn tập NNTN không dễ dàng định nghĩa tập • Khơng giải lỗi ngơn ngữ ngữ nghĩa • Khơng giống kỳ vọng người dùng, người dùng đưa truy vấn ý tưởng phức tạp, phán đốn suy luận mà hệ thống khơng thể trả lời Một số hệ thống giao diện NNTN cho truy vấn CSDL phát triển [2], số hệ thống phổ biến là: • NALIX (Natural Language Interface for an XML Database) [3] hệ thống giao diện NNTN phát triển Đại học Michigan cho CSDL XML sử dụng XPATH làm ngôn ngữ truy vấn • PRECISE [4] hệ thống phát triển Đại học Washington cho CSDL quan hệ sử dụng SQL làm ngơn ngữ truy vấn • WASP (Word Alignment-based Semantic Parsing) [5] hệ thống phát triển Đại học Texas, hệ thống xây dựng với cách tiếp cận máy học nhằm mục đích biểu diễn NNTN, nhiên áp dụng lĩnh vực xây dựng giao diện NNTN cho truy vấn CSDL Ngoài ra, số tác giả đề xuất giải pháp xây dựng giao diện NNTN cho truy vấn CSDL theo hướng ontology Một ontology định nghĩa thuật ngữ quan hệ chúng, bao gồm từ vựng miền chủ đề quy tắc để kết hợp thuật ngữ với quan hệ để định nghĩa phần mở rộng cho từ vựng [6] Ontology nghiên cứu áp dụng nhiều lĩnh vực khác nhau, đặc biệt công nghệ phần mềm, ontology tham gia vào tất pha quy trình phát triển phần mềm Trong [7], tác giả giới thiệu hệ thống {ASKME*}, hệ thống giao diện NNTN độc lập với CSDL sử dụng mẫu, hệ thống phân tích cú pháp ngữ nghĩa câu truy vấn để chuyển đổi sang SQL Cách tiếp cận phân tích cấu trúc CSDL để xây dựng ontology {ASKME*} giải pháp nhóm tác giả lựa chọn để xây dựng từ điển hệ thống truy vấn liệu tùy chọn 2.2 Mô hình hệ thống truy vấn liệu tùy chọn Phần lớn hệ thống giao diện NNTN cho truy vấn CSDL thực theo bước: Phân tích câu truy vấn NNTN có cấu trúc Chuyển đổi thành câu truy vấn SQL hay loại ngôn ngữ truy vấn khác Phân tích câu truy vấn Kết nối với CSDL tùy chọn thực câu truy vấn, trả kết cho người dùng Với bước trên, tác giả [1] đề xuất mơ hình truy vấn CSDL tùy chọn Hình Hình Mơ hình hệ thống truy vấn CSDL tùy chọn NNTN [1] Trong mơ hình này, tác giả đề xuất cách tiếp cận cho phép chuyển đổi truy vấn NNTN sang truy vấn SQL SPARQL, từ thực thi CSDL quan hệ truy vấn CSDL ngữ nghĩa Mơ hình diễn giải sau: a Quy trình chuyển đổi câu truy vấn NNTN có cấu trúc sang câu truy vấn SQL bao gồm bước: phân tích câu truy vấn (cú pháp, ngữ nghĩa xác định loại câu truy vấn, thành phần câu truy vấn đó), từ tạo thành câu truy vấn SQL b Quy trình chuyển đổi từ câu truy vấn SQL sang câu truy vấn SPARQL: phân tích câu truy vấn SQL, ánh xạ sang câu truy vấn SPARQL c Tích hợp hai quy trình vào mơ hình để giải vấn đề truy vấn CSDL tùy chọn (chọn mơ hình CSDL quan hệ mơ hình CSDL ngữ nghĩa) dựa ngữ nghĩa câu truy vấn Có thể thấy mơ hình này, yếu tố quan trọng ảnh hưởng đến toàn hệ thống việc xây dựng từ điển, mà xây dựng cách thủ công Các từ điển giúp hệ thống hiểu chuyển đổi từ vựng tương ứng câu truy vấn NNTN sang câu truy vấn SQL hiểu từ vựng liên quan đến cấu trúc CSDL Tiếp tục với kết từ [1], nhóm tác giả đề xuất giải pháp xây dựng từ điển mơ hình hệ thống truy vấn liệu tùy chọn với hướng tiếp cận ontology Giải pháp bao gồm việc xây dựng ontology từ cấu trúc CSDL sử dụng Wordnet [8] để mở rộng ngữ nghĩa cho thành phần ontology phục vụ cho xử lý NNTN Mơ hình hệ thống truy vấn liệu tùy chọn với tiếp cận hướng ontology 3.1 Phương pháp xây dựng ontology từ CSDL Ontology sử dụng rộng rãi nhiều lĩnh vực khác nhau, đặc biệt, với phát triển web ngữ nghĩa, nhiều kỹ thuật công cụ phát triển cho việc trình bày, xử lý tự động chia sẻ ontology, mà kỹ thuật áp dụng cho lĩnh vực khác Nguyễn Thanh Tuấn, Hoàng Thị Thanh Hà 130 Với CSDL ngữ nghĩa, vốn lưu trữ dạng file OWL hay RDF, việc truy vấn ngữ nghĩa dạng CSDL hoàn toàn tự nhiên dễ dàng Ở đây, nhóm tác giả tập trung vào vấn đề xây dựng ontology cho CSDL quan hệ, mà cụ thể CSDL MySQL Quá trình xây dựng bao gồm hai nội dung chính: Xây dựng ngân hàng từ khóa câu lệnh truy vấn từ ngôn ngữ truy vấn Xây dựng ontology từ cấu trúc CSDL Ở nội dung thứ 1: Các từ khóa ngơn ngữ SQL tổ chức dạng RDF [9] Đối với SPARQL, ngôn ngữ truy vấn CSDL ngữ nghĩa, [10] tác giả xây dựng cấu trúc RDF mô tả từ vựng ngơn ngữ Vì hệ thống nhóm tác giả xây dựng, từ khóa trích xuất từ file RDF Để mở rộng tập ngôn ngữ hệ thống truy vấn NNTN, nhóm tác giả sử dụng WordNet để xây dựng ngữ nghĩa cho từ khóa câu lệnh truy vấn Bộ từ điển tổ chức dạng XML Bảng số kết q trình Bảng Các từ khóa tương đương tạo WordNet Từ khóa SQL DELETE SELECT INSERT UPDATE nghĩa cho từ khóa ngơn ngữ truy vấn dễ dàng nhiều so với cho từ khóa cấu trúc CSDL, tên bảng, trường CSDL đặt theo cách thức riêng nên khó tạo ngữ nghĩa cho từ khóa cách tự động Vì thế, việc xây dựng hiệu chỉnh bán thủ công cho ngữ nghĩa yêu cầu bắt buộc Bảng Chuyển đổi thành phần CSDL sang ontology Thành phần CSDL Bảng Trường Thơng tin trường Thành phần OWL Lớp (Class) Thuộc tính (Property) Các ràng buộc thuộc tính OWL Ví dụ, với bảng có tên Doctor, từ tương đương tiếng Anh mà WordNet tìm doc, physician, MD, Dr., medico, từ thay từ Doctor sử dụng câu truy vấn NNTN 3.2 Ontology mơ hình hệ thống truy vấn liệu tùy chọn Từ giải pháp xây dựng ontology trên, nhóm tác giả xây dựng lại mơ hình hệ thống truy vấn liệu tùy chọn theo hướng ontology (Hình 3) Từ khóa tương ứng tạo WordNet delete, erase, cancel prime, take, pick_out, select, choose, choice, prize, quality insert, infix, enter, introduce update Ở nội dung thứ 2, nhóm tác giả thực việc phân tích cấu trúc CSDL sau thực xây dựng ontology mơ tả CSDL dựa cấu trúc Hình Mơ hình hệ thống truy vấn liệu tùy chọn theo hướng ontology Quá trình chia thành hai giai đoạn theo bước sau: Hình Các bước xây dựng ontology từ CSDL Các bước thực sơ đồ hóa Hình 2, bao gồm nội dung: Kết nối với CSDL: Hệ thống kết nối với CSDL để đọc cấu trúc thông tin cần thiết khác Phân tích mơ hình CSDL: Hệ thống phân tích mơ hình CSDL để lấy danh sách bảng, trường, ràng buộc Xây dựng ontology ghi lại thực thể như: bảng, trường, quan hệ, ràng buộc Lưu trữ ontology dạng file OWL: ontology tạo lưu trữ dạng OWL để thuận tiện cho việc truy vấn Kết hợp với WordNet để xây dựng từ điển (dưới định dạng XML) phục vụ cho xử lý NNTN Việc chuyển đổi từ mơ hình CSDL sang mơ hình ontology thực theo Bảng Ở đây, nhóm tác giả sử dụng WordNet để hỗ trợ xây dựng từ điển cho CSDL Việc xây dựng từ điển ngữ • Bước A: Xây dựng ontology (A1) Kết nối với CSDL để lấy cấu trúc chúng (A2) Xây dựng ontology cho cấu trúc CSDL (A3) Sử dụng WordNet để tạo từ điển ngữ nghĩa cho từ khóa ngơn ngữ truy vấn cấu trúc CSDL • Bước B: Xử lý truy vấn CSDL NNTN (B1) Đọc vào câu truy vấn NNTN từ người dùng kiểu CSDL mà người dùng lựa chọn (B2) Phân tích ngữ nghĩa câu truy vấn NNTN sử dụng từ điển (B3) Chuyển đổi thành câu truy vấn SQL hay loại ngơn ngữ truy vấn khác (B4) Phân tích câu truy vấn (B5) Thực câu truy vấn, trả kết cho người dùng Khi kết thúc bước A - xây dựng ontology, bước xử lý truy vấn NNTN cung cấp từ điển: từ điển từ khóa câu lệnh truy vấn, từ điển diễn giải cấu trúc CSDL như: bảng, trường… Cài đặt thử nghiệm 4.1 CSDL minh họa ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 11(120).2017-Quyển Để thử nghiệm chương trình, nhóm tác giả sử dụng CSDL mẫu Hình Hình CSDL thử neghiệm CSDL gồm hai bảng Bệnh nhân (patient) Bác sĩ (doctor), Bệnh nhân có Bác sĩ Từ CSDL này, chương trình NL2Query thực việc xây dựng ontology thực thi chương trình 4.2 Cài đặt mơ hình So với phiên chương trình NL2Query cài đặt [1], phiên nhóm tác giả bổ sung thêm chức xây dựng ontology từ CSDL tạo từ điển từ ontology Giao diện chương trình Hình Để xây dựng ontology cho CSDL nhóm tác giả sử dụng thư viện Jena [11], thư viện giúp xây dựng web ngữ nghĩa Cấu trúc ontology, lưu trữ dạng file OWL, tạo từ chương trình kết nối với CSDL có dạng sau: Hình Giao diện chương trình ]> Ontology biểu diễn dạng đồ thị trực quan Hình take pick_out Kết luận Như vậy, từ kết báo [1], nhóm tác giả phát triển, bổ sung vào mơ hình truy vấn liệu tùy chọn theo hướng ontology, ontology xây dựng từ cấu trúc CSDL kết hợp với ontology mô tả ngôn ngữ truy vấn, từ điển ngữ nghĩa tạo để phục vụ xử lý câu truy vấn NNTN Mơ hình phát triển, cài đặt thực nghiệm, hệ thống NL2Query phát triển Java, sử dụng thư viện Jena để xây dựng, xử lý ontology JWI để truy cập WordNet Hệ thống thực nghiệm với CSDL đơn giản cho kết yêu cầu Tuy nhiên, khả hệ thống phụ thuộc vào tính xác từ điển khả phân tích sâu ngữ nghĩa câu truy vấn NNTN, hướng nghiên cứu tiếp tục báo TÀI LIỆU THAM KHẢO Hình Biểu diễn trực quan ontology CSDL Từ ontology sinh ontology mô tả ngôn ngữ SQL [9], SPARQL chương trình xây dựng từ điển, từ điển người dùng điều chỉnh trình thực thi chương trình Cấu trúc file từ điển có dạng sau: prime [1] N T Tuấn, H T T Hà, N V Tin, L T Nhân, 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, Kỷ yếu Hội nghị khoa học công nghệ quốc gia lần thứ IX Nghiên cứu ứng dụng CNTT - FAIR’9, Cần Thơ, 2016ISBN: 978-604-913-472-2, trang 340–351 [2] N Nihalani, S Silakari, and M Motwani, “Natural language Interface for Database: A Brief review”, Ijcsi, Vol 8, No 2, 2011, pp 600–608 [3] Y Li, H Yang, and H Jagadish, Constructing a generic natural language interface for an XML database, International Conference on Extending Database Technology, Vol 3896, 2006, pp 737–754 [4] A.-M Popescu, A Armanasu, O Etzioni, D Ko, and A Yates, Modern natural language interfaces to databases: Composing Statistical Parsing with Semantic Tractability Ana-Maria, Proc 20th Int Conf Comput Linguist - COLING ’04, 2004, pp 141–es [5] Y W Wong, Learning for Semantic Parsing Using Statistical Machine Translation Techniques, Artif Intell Lab, University of Texas at Austin, October 2005 [6] U Aßmann, S Zschaler, and G Wagner, Ontologies for Software Engineering and Software Technology, 2006 [7] M Llopis and A Ferrández, “How to make a natural language interface to query databases accessible to everyone: An example”, Computer Standards & Interfaces, Vol 35, Issue 5, 2013, pp 470-481 [8] About WordNet, https://wordnet.princeton.edu/ [Accessed: 29-Jul-2017] [9] SQL Abstract Syntax Trees Vocabulary, http://ns.inria.fr/ast/sql/index.html [Accessed: 25-Jul-2017] [10] M Ceriani and A Vaisman, An RDF vocabulary for metaprogramming with SPARQL algebra, in CEUR Workshop Proceedings, 2016, Vol 1644 [11] Apache Jena - Home, https://jena.apache.org/ [Accessed: 25-Jul-2017] (BBT nhận bài: 18/10/2017, hoàn tất thủ tục phản biện: 31/10/2017) ... dựng ontology {ASKME*} giải pháp nhóm tác giả lựa chọn để xây dựng từ điển hệ thống truy vấn liệu tùy chọn 2.2 Mơ hình hệ thống truy vấn liệu tùy chọn Phần lớn hệ thống giao diện NNTN cho truy vấn. .. dụng câu truy vấn NNTN 3.2 Ontology mơ hình hệ thống truy vấn liệu tùy chọn Từ giải pháp xây dựng ontology trên, nhóm tác giả xây dựng lại mơ hình hệ thống truy vấn liệu tùy chọn theo hướng ontology. .. mơ hình truy vấn CSDL tùy chọn Hình Hình Mơ hình hệ thống truy vấn CSDL tùy chọn NNTN [1] Trong mơ hình này, tác giả đề xuất cách tiếp cận cho phép chuyển đổi truy vấn NNTN sang truy vấn SQL