1. Trang chủ
  2. » Luận Văn - Báo Cáo

Truy vấn tri thức bằng đồ thị ý niệm

95 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 95
Dung lượng 1,72 MB

Nội dung

Lời cám ơn Trước hết, xin gửi lời cảm ơn sâu sắc đến thầy Cao Hoàng Trụ, người trực tiếp hướng dẫn tơi hồn thành luận văn Nếu không nhờ hướng dẫn chu đáo tận tình thầy tài liệu quý giá thầy cung cấp có lẽ luận văn khơng hồn thành có kết hôm Tôi xin chân thành cảm ơn tất thầy cô Khoa Công Nghệ Thông Tin, thầy Phịng Đào Tạo Sau đại học trường Đại Học Bách Khoa Tp.Hồ Chí Minh giúp đỡ, tạo điều kiện cho tơi hồn thành khóa học cao học Tôi xin gửi lời cảm ơn đến tất người thân, bè bạn, người động viên, khích lệ tinh thần, giúp tơi vượt qua khó khăn sống để đạt kết ngày hơm Luận văn hồn thành thời gian hạn hẹp nên không tránh khỏi thiếu sót, mong góp ý q thầy bạn Học viên Võ Hoàng Hải Abstract The Resource Description Framework (RDF) is considered to be the most relevant standard for data representation and exchange on the Semantic Web With the aim of building a user-friendly query language for RDF documents, we stress both the visualization of language and best practices from query language for RDF Our approach is to combine the research on Sesame RDF Query Language (SeRQL), a practical language for RDF document, with the exploitation of the expressive power of conceptual graph, a readable graphic representation, but formal design and specification language Then, we contruct and describe the components of our conceptual graph query language (CGQL) We also implement a RDF query application which use this language in interface module to prove the feasibility Tóm tắt Resource Desription Framework (RDF) thừa nhận chuẩn biểu diễn thơng tin tri thức cho Web ngữ nghĩa Nó cho phép máy tính “hiểu” ngữ nghĩa thơng tin Web để từ ứng dụng xử lý trao đổi thông tin Cùng với phát triển Web có ngữ nghĩa RDF, nhiều ngôn ngữ truy vấn liệu RDF xây dựng đề nghị chưa có ngôn ngữ chấp nhận chuẩn sử dụng Trong ngôn ngữ truy vấn liệu RDF, Sesame RDF Query Language.(SeRQL) ngôn ngữ kết hợp nhiều đặc tính hiệu ngơn ngữ truy vấn RDF khác Tuy nhiên với cú pháp tương tự ngôn ngữ truy vấn liệu SQL truyền thống, SeRQL phức tạp người sử dụng đầu cuối Trong đó, đồ thị ý niệm ngôn ngữ biểu diễn tri thức trực quan, gần gũi với người Do ánh xạ vào ngôn ngữ tự nhiên cách trực tiếp, đồ thị ý niệm dùng làm ngôn ngữ trung gian để chuyển đổi qua lại ngôn ngữ tự nhiên ngơn ngữ hình thức sử dụng cho máy tính Với mục tiêu xây dựng phát triển ngôn ngữ truy vấn tri thức biểu diễn RDF thân thiện với người sử dụng, tiếp cận cách xây dựng ngôn ngữ truy vấn đồ thị ý niệm dựa ngôn ngữ SeRQL Phương pháp thực sau Trước hết, nghiên cứu thành phần ngôn ngữ SeRQL để nắm rõ cấu trúc cách truy vấn liệu RDF ngôn ngữ Sức mạnh diễn đạt suy luận đồ thị ý niệm khai thác để xây dựng thành phần tương ứng ngôn ngữ truy vấn tri thức RDF bước Cuối cùng, xây dựng công cụ chuyển đổi từ ngôn ngữ đồ thị ý niệm truy vấn sang ngôn ngữ SeRQL thực hệ thống truy hồi tri thức RDF dùng đồ thị ý niệm phần giao diện -i- Mục lục DANH MỤC HÌNH v CHƯƠNG 1: MỞ ĐẦU U 1.1 Giới thiệu 1.1.1 Resource Desription Framework 1.1.2 Ngôn ngữ truy vấn RDF 1.1.3 Hệ thống Sesame 1.1.4 Đồ thị ý niệm 1.2 Mục đích, phương pháp, tóm tắt kết 1.3 Cấu trúc luận văn CHƯƠNG 2: NGÔN NGỮ SeRQL 11 2.1 Giới thiệu 11 2.2 Hằng, Biến, Định danh tài nguyên Biểu thức đường dẫn 12 2.2.1 Hằng, Biến, Định danh tài nguyên 12 2.2.2 Biểu thức đường dẫn 13 2.2.3 Cây phân cấp lớp quan hệ RDF&RDFS 16 2.3 Mệnh đề điều kiện luận lý WHERE 17 2.3.1 Các toán tử luận lý 17 2.3.2 Mệnh đề WHERE lồng điều kiện tùy chọn 18 2.3.3 Các hàm kiểm tra luận lý khác SeRQL 19 2.4 Các tính nâng cao tùy chọn khác 19 2.4.1 Truy vấn lồng 19 2.4.2 Các phép toán tập hợp 21 2.4.3 Các mệnh đề OFFSET LIMIT 21 2.5 Kết luận 22 Chương 3: NGÔN NGỮ ĐỒ THỊ Ý NIỆM TRUY VẤN TRI THỨC 23 3.1 Giới thiệu 23 - ii - 3.2 Ánh xạ thành phần từ SeRQL sang đồ thị ý niệm 24 3.2.1 Ánh xạ hằng, biến, định danh tài nguyên 24 3.2.2 Ánh xạ biểu thức đường dẫn 24 3.2.3 Ánh xạ điều kiện luận lý 25 3.2.4 Ánh xạ truy vấn lồng 26 3.2.5 Ánh xạ phép toán quan hệ 28 3.3 Đồ thị ý niệm truy vấn tri thức 29 3.3.1 Đồ thị ý niệm truy vấn tri thức đơn giản 29 3.3.2 Đồ thị ý niệm truy vấn tri thức 31 3.3.3 Đồ thị ý niệm truy vấn tri thức mở rộng 34 3.4 Kết luận 38 CHƯƠNG 4: HIỆN THỰC HỆ THỐNG TRUY VẤN TRI THỨC 39 4.1 Giới thiệu 39 4.2 Tổng quan hệ thống truy vấn tri thức xCGQL 40 4.3 Công cụ soạn thảo đồ thị ý niệm truy vấn 41 4.3.1 Truy vấn Ontology 43 4.3.2 Soạn thảo đỉnh khái niệm 45 4.3.3 Soạn thảo đỉnh quan hệ: 50 4.3.4 Kiểm tra tính hợp lệ đồ thị ý niệm truy vấn 51 4.4 Chuyển đổi đồ thị ý niệm truy vấn xCGQL thành câu truy vấn SeRQL 55 4.4.1 Cơ chế quản lý đối tượng 55 4.4.2 Phương pháp thực chuyển đổi từ xCGQL thành SeRQL 57 4.4.3 Các thuật toán chuyển đổi chi tiết 60 4.5 Bộ thực thi truy vấn hiển thị kết 68 4.6 Kết luận 68 CHƯƠNG 5: KẾT LUẬN 69 5.1 Tổng kết 69 5.2 Hướng phát triển 70 - iii - TÀI LIỆU THAM KHẢO 71 PHỤ LỤC 74 A HƯƠNG DẪN SỬ DỤNG CHƯƠNG TRÌNH XCJGraphpad Query Editor 74 A.1 Cài đặt 74 A.2 Giao diện công cụ 74 B A.2.1 Tạo đỉnh khái niệm 75 A.2.2 Thiết lập thuộc tính cho đỉnh khái niệm: 76 A.2.3 Tạo đỉnh quan hệ đỉnh khái niệm: 78 A.2.4 Thiết lập đỉnh truy vấn 80 A.2.5 Chuyển đổi từ ngôn ngữ truy vấn đồ thị ý niệm sang SeRQL 81 A.2.6 Truy vấn máy chủ 82 CÚ PHÁP BNF CỦA SeRQL 84 BẢNG THUẬT NGỮ ANH VIỆT 87 - iv - DANH MỤC HÌNH Hình 1.1: Ví dụ đồ thị RDF .2 Hình 1.2: Ví dụ đồ thị ý niệm Hình 1.3: Ví dụ liên kết đồng tham chiếu Hình 1.4: Ví dụ đồ thị ý niệm truy vấn liệu quan hệ Hình 1.5: Ví dụ đồ thị truy vấn liệu quan hệ có điều kiện luận lý .7 Hình 1.6: Ví dụ đồ thị truy vấn liệu quan hệ rút gọn Hình 3.1: Ví dụ đường dẫn 24 Hình 3.2: Ví dụ câu truy vấn dân số > 1000000 25 Hình 3.3: Ví dụ câu truy vấn dân số > 1000000 26 Hình 3.4: Truy vấn “Tìm tên người tác giả” 27 Hình 3.5: Truy vấn “Tìm tên sở thích người có trùng tên với tên tác giả có tác phẩm” 28 Hình 3.6: Ví dụ truy vấn với phép toán tập hợp 29 Hình 3.7 Ví dụ mở rộng thuộc tính 31 Hình 3.8 Biểu diễn chi tiết cho đỉnh khái niệm mở rộng 32 Hình 3.9: Truy vấn đỉnh mở rộng có điều kiện 34 Hình 3.10: Đỉnh truy vấn quan hệ 35 Hình 4.1: Hệ thống truy vấn tri thức đồ thị ý niệm 40 Hình 4.2: Hệ thống truy vấn tri thức chi tiết 41 Hình 4.3: Cấu trúc soạn thảo 42 Hình 4.4: Soạn thảo Đỉnh khái niệm 45 Hình 4.5: Soạn thảo Kiểu khái niệm 46 -v- Hình 4.6: Soạn thảo ràng buộc điều kiện 47 Hình 4.7: Ví dụ giao diện soạn thảo đồ thị ý niệm 48 Hình 4.8: Ví dụ giao diện soạn thảo liên kết đồng tham chiếu 49 Hình 4.9: Soạn thảo đỉnh quan hệ .50 Hình 4.10: Cây phân cấp kiểu quan hệ 51 Hình 4.11: Cây ràng buộc điều kiện thuộc tính .53 Hình 4.12: Các mức truy vấn lồng 55 Hình 4.13: Cấu trúc quản lý đối tượng .56 Hình 4.14: Chuyển đổi câu truy vấn sang SeRQL .67 Hình 4.15: Giao diện kết chuyển đổi 68 Hình A.1 : Giao diện chương trình 75 Hình A.2: Tạo đỉnh khái niệm 76 Hình A.3: Thiết lập kiểu khái niệm tham chiếu 76 Hình A.4: Popup Menu đỉnh khái niệm .77 Hình A.5: Duyệt phân cấp kiểu khái niệm 78 Hình A.6: Thiết lập ràng buộc giá trị thuộc tính 78 Hình A.7: Tạo mối quan hệ .79 Hình A.8: Thiết lập đỉnh quan hệ .79 Hình A.9: Thiết lập đỉnh truy vấn 80 Hình A.10: Xem kết truy vấn 83 - vi - CHƯƠNG 1: MỞ ĐẦU 1.1 Giới thiệu Chúng ta trao đổi thơng tin tồn cầu từ Web thơng qua máy tính Dữ liệu Web ngày lớn dần người ngày bị q tải thơng tin Mặc dù xử lý truyền tải thông tin giúp người máy tính chưa “hiểu” liệu Web theo cách người Và vậy, người khó tự động hóa cơng việc Web nhờ vào máy tính Cụ thể lĩnh vực truy vấn, tìm kiếm thông tin hệ Web tại, máy tính hỗ trợ tìm kiếm theo từ khóa tức theo cú pháp nên kết tìm kiếm thường nhiều khơng người mong muốn Web có ngữ nghĩa hình thức mở rộng web tại, thơng tin thích ngữ nghĩa giúp cho giao tiếp người máy tính tốt hay giúp cho máy tính “hiểu” ngữ nghĩa thông tin [17] 1.1.1 Resource Desription Framework Trên Web có ngữ nghĩa, máy tính giúp người thực công việc tự động nhanh hơn, xác nhờ vào thơng tin ngữ nghĩa Dữ liệu thơng tin Web có ngữ nghĩa, đó, khơng ký tự ngơn ngữ tự nhiên mà lưu trữ dạng có cấu trúc để dễ “hiểu” với máy tính Cấu trúc biểu diễn thơng tin tri thức có dạng câu mơ tả mối quan hệ hai đối tượng Ví dụ câu “A mẹ B” hay “A có mẹ B” mô tả quan hệ “là mẹ” hay “có mẹ là” hai đối tượng “A B” Hiện nay, Resource Desription Framework (RDF) thừa nhận chuẩn biểu diễn chuyển đổi thông tin tri thức cho Web có ngữ nghĩa dựa cấu trúc biểu diễn [4] Cấu trúc biểu thức RDF ba bao gồm chủ ngữ, vị từ đối tượng, đó, vị từ xác định mối quan hệ chủ ngữ đối tượng Cách thức biểu diễn thông tin RDF cho phép máy tính giao tiếp với theo ngữ nghĩa đối tượng, cú pháp ba RDF không dễ đọc hiểu người RDF Primer tiếp cận theo hướng diễn đạt mô hình RDF cách trực quan đồ thị Trong đồ thị RDF, chủ ngữ, đối tượng ba RDF biểu diễn đỉnh đồ thị, vị từ biểu diễn cung có hướng Tập hợp ba gọi đồ thị RDF [4] Chủ ngữ ba RDF tài nguyên xác định định danh tài nguyên Web (URI), đối tượng tài nguyên hay giá trị xác định vị từ quan hệ chủ ngữ với đối tượng Cũng hiểu vị từ thuộc tính đối tượng giá trị thuộc tính chủ ngữ Hình 1.1: Ví dụ đồ thị RDF [14] LIBBY MILLER, ANDY SEABORNE, RDF Query Survey, W3C, November 2003, http://www.w3.org/2001/11/13-RDF-Query-Rules/ [15] O CORBY, R DIENG, CÉDRIC HÉBERT, A Conceptual Graph Model for W3C Resource Description Framework In Proceedings of ICCS 2000, Darmstadt, Germany, August 2000 [16] PATRICK HAYES, RDF Semantics W3C Recommendation, 10 February 2004, http://www.w3.org/TR/rdf-semantics/ [17] TIM BERNERS-LEE, J HENDLER, AND O LASSIA, The Semantic Web In Scientific American, Vol 284, No 5:35, May, 2001 [18] TIM BERNERS-LEE, Conceptual Graphs and the Semantic Web http://www.w3.org/DesignIssues/CG.html [19] The SeRQL query language, User Guide for Sesame, Sesame release 1.2.3, http://www.openrdf.org/doc/sesame/users/ch06.html 73 A PHỤ LỤC HƯƠNG DẪN SỬ DỤNG CHƯƠNG TRÌNH XCJGraphpad Query Editor A.1 Cài đặt Để sử dụng XCJGraphpad, chắn máy bạn có cài đặt phần mềm Java Runtime Enviroment (JRE) Nếu chưa có, bạn download đây: http://java.com/en/download/index.jsp (thời điểm phiên Java Runtime Enviroment Version 5.0 Update 7) Với phiên XCJGraphpad tại, có JRE, bạn cần copy file thư viện xcgraph.jar Fsesame.jar vào thư mục Nhấp đúp chuột trái lên file xcgraph.jar để chạy chương trình Để duyệt Ontology server VN-KIM, bạn phải copy thêm file concept.xml, conceptFile.dtd, relation.xml relationFile.dtd vào thư mục chứa file thư viện A.2 Giao diện công cụ Để bắt đầu sử dụng, bạn bấm vào nút New 74 Hình A.1 : Giao diện chương trình A.2.1 Tạo đỉnh khái niệm Click chọn công cụ, vẽ vào cửa sổ Conceptual Graph Query 75 Hình A.2: Tạo đỉnh khái niệm A.2.2 Thiết lập thuộc tính cho đỉnh khái niệm: Kiểu đỉnh khái niệm tham chiếu thiết lập cách nhấp đúp trỏ chuột vào mở hộp hội thoại thiết lập thuộc tính Hình A.3: Thiết lập kiểu khái niệm tham chiếu Chương trình cho phép người dùng mở hộp hội thoại thiết lập thuộc tính tương ứng cho đỉnh khái niệm cách click vào thiết lập kiểu khái niệm tham chiếu mở popup menu đỉnh khái niệm Right-click chọn Properties 76 Hình A.4: Popup Menu đỉnh khái niệm Trong hộp hội thoại thiết lập thuộc tính cho đỉnh khái niệm, người dùng duyệt phân cấp kiểu khái niệm Ontology tham khảo quan hệ liên quan thẻ Concept Type 77 Hình A.5: Duyệt phân cấp kiểu khái niệm Tùy theo kiểu khái niệm đỉnh khái niệm chọn, người dùng thiết lập điều kiện ràng buộc giá trị thuộc tính thẻ Concept Properties Hình A.6: Thiết lập ràng buộc giá trị thuộc tính A.2.3 Tạo đỉnh quan hệ đỉnh khái niệm: Click chọn công cụ vẽ từ đối tượng qua đối tượng khác 78 Hình A.7: Tạo mối quan hệ Sau tạo mối quan hệ, bạn cần thiết lập mối quan hệ chúng, mối quan hệ gì? Nhấp đúp chuột lên hình elipse vừa tạo, chọn mối quan hệ Hình A.8: Thiết lập đỉnh quan hệ 79 A.2.4 Thiết lập đỉnh truy vấn Để tạo đỉnh truy vấn con, click chọn công cụ kéo thả (drag- drop) để tạo đỉnh truy vấn Nội dung đỉnh truy vấn tạo công cụ tạo đỉnh khái niệm đỉnh quan hệ công cụ đặt vùng bao phủ đỉnh truy vấn Quan hệ đỉnh khái niệm đỉnh truy vấn thiết lập việc tạo đỉnh quan hệ khái niệm Hình A.9: Thiết lập đỉnh truy vấn 80 A.2.5 Chuyển đổi từ ngôn ngữ truy vấn đồ thị ý niệm sang SeRQL Người dùng click chọn công cụ để chuyển đổi từ ngôn ngữ đồ thị sang câu truy vấn SeRQL tương ứng Nội dung câu truy vấn hiển thị cửa sổ SeRQL Query Cũng click chọn công cụ công cụ chung để thực thi chuyển đổi ngôn ngữ truy vấn đồ thị ý niệm sang SeRQL thực thi tìm kiếm kết máy chủ sau Khi có nội dung câu truy vấn cửa sổ SeRQL, người dùng chỉnh sửa thực thi câu truy vấn SeRQL click chọn công cụ cửa sổ SeRQL 81 A.2.6 Truy vấn máy chủ Sau hoàn tất thiết lập truy vấn, bạn click chọn thành công cụ, để tiến hành query server Nếu thành công bạn nhận thông báo trạng thái Finish executing in x seconds, exact matching with y result(s) found Bạn bấm vào thẻ Default Query Result để xem kết bấm vào thẻ SeRQL Query để xem cấu trúc lệnh truy vấn 82 Hình A.10: Xem kết truy vấn 83 B CÚ PHÁP BNF CỦA SeRQL Sau cú pháp BNF SeRQL phiên 1.2: Query ::= Table_query_set (Namespace_list)? | Graph_query_set (Namespace_list)? Namespace_list Namespace ::= "using" "namespace" Namespace ("," Namespace)* ::= "=" Table_query_set Table_query ::= Table_query (Set_operator Table_query_set)? ::= "(" Table_query_set ")" | Select_query Graph_query_set Graph_query ::= Graph_query (Set_operator Graph_query_set)? ::= "(" Graph_query_set ")" | Construct_query Set_operator ::= "union" | "minus" | "intersect" Select_query ::= "select" ("distinct")? Projection ("from" Graph_pattern)? ("limit" )? ("offset" )? Projection ::= "*" | Projection_elem ("," Projection_elem)* Projection_elem ::= Var_or_value ("as" )? Construct_query ::= "construct" ("distinct")? Construct_clause ("from" Graph_pattern)? ("limit" )? ("offset" )? Construct_clause ::= "*" | Path_expr_list Graph_pattern ::= Path_expr_list ("where" Boolean_expr)? Path_expr_list Path_expr ::= ::= | Path_expr_head ::= Path_expr_tail ::= | Boolean_expr)? "]" Path_expr ("," Path_expr)* Path_expr_head ((";")? Path_expr_tail)? "[" Graph_pattern "]" Node Edge Node Edge Node ((";")? Path_expr_tail)? "[" Edge Node ((";")? Path_expr_tail)? ("where" Edge Var Uri "{" (Node_elem_list)? "}" Node_elem ("," Node_elem)* Var Uri Node Node_elem_list Node_elem ::= | ::= ::= ::= | (";" Path_expr_tail)? 84 Reified_stat | | | ::= Boolean_expr And_expr Boolean_elem ::= ::= ::= | | | | | Table_query_set ")" | | | | | | | BNode Literal Reified_stat Node Edge Node And_expr ("or" Boolean_expr)? Boolean_elem ("and" And_expr)? "(" Boolean_expr ")" "true" "false" "not" Boolean_elem Var_or_value Comp_op Var_or_value Var_or_value Comp_op ("any"|"all") "(" Var_or_value "like" Var_or_value "in" "(" Table_query_set ")" "exists" "(" Table_query_set ")" "isResource" "(" Var ")" "isURI" "(" Var ")" "isBNode" "(" Var ")" "isLiteral" "(" Var ")" Comp_op ::= "=" | "!=" | "=" Var_or_value ::= Var | Value Var Value ::= ::= | | | | | | | | Uri ::= | BNode ::= Literal ::= | | | Uri BNode Literal "null" "datatype" "(" Var ")" "lang" "(" Var ")" "label" "(" Var ")" "namespace" "(" Var ")" "localname" "(" Var ")" (* A SeRQL literal, see section on literals *) ::= "" ::= ":" * ::= "_:" ::= "+"? [0-9]+ ::= "-" [0-9]+ ::= ("+"|"-")? [0-9]* "." [0-9]+ 85 ::= '"' (* zero or more (encoded) characters *) '"' ::= * | "_" + NCNameChar *) ::= (|"_") * ::= (* see http://www.w3.org/TR/REC-xml-names/#NT::= (* see http://www.w3.org/TR/REC-xml/#NT-Letter *) 86 BẢNG THUẬT NGỮ ANH VIỆT STT 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 TỪ TIẾNG VIỆT Biểu thức đường dẫn Biểu thức rẽ nhánh Bộ ba Đối tượng Chủ ngữ Dàn phân cấp Định danh tài nguyên thống Đỉnh nhiều giá trị Đồ thị phân đôi Đồ thị tồn Đồ thị ý niệm Đồng tham chiếu Đường dẫn tùy chọn Kí hiệu cá thể Kiểu khái niệm Kiểu quan hệ Khái niệm Mệnh đề Phép chiếu Quan hệ Tài nguyên Tham chiếu Thuộc tính Vị từ TỪ TIẾNG ANH path-expression branched-path expression triple object subject hierarchy lattice uniform resource identifier multi-value node bipartile graph existance graph conceptual graph co-reference optional match individual markers concept type relation type concept statement projection relation resource reference property predicate 87 ... vấn tri thức 29 3.3.1 Đồ thị ý niệm truy vấn tri thức đơn giản 29 3.3.2 Đồ thị ý niệm truy vấn tri thức 31 3.3.3 Đồ thị ý niệm truy vấn tri thức mở rộng 34 3.4 Kết luận... dụ truy vấn với phép toán tập hợp 3.3 Đồ thị ý niệm truy vấn tri thức Đến đây, thành phần đồ thị ý niệm xây dựng Mục đặc tả hình thức đồ thị ý niệm từ thành phần đề cập 3.3.1 Đồ thị ý niệm truy. .. trúc hệ thống truy vấn tri thức đồ thị xCGQL bao gồm thành phần sau: HỆ THỐNG TRUY VẤN TRI THỨC BẰNG ĐỒ THỊ Ý NIỆM SOẠN THẢO ĐỒ CHUYỂN ĐỔI THỰC THI TRUY THỊ Ý NIỆM xCGQL VẤN VÀ HIỂN THỊ xCGQL SANG

Ngày đăng: 16/04/2021, 04:20

w