Đăng ký Đăng nhập
Trang chủ Trình bày lý thuyết về Web có ngữ nghĩa, ontology và các thế hệ phát triển của W...

Tài liệu Trình bày lý thuyết về Web có ngữ nghĩa, ontology và các thế hệ phát triển của World Wide Web

.DOC
127
263
147

Mô tả:

MỤC LỤC MỞ ĐẦU............................................................................................................................1 CHƯƠNG 1. WEB CÓ NGỮ NGHĨA VÀ ONTOLOGY...............................................4 1.1. Các thế hệ Web.......................................................................................................4 1.1.1. Web 1.0............................................................................................................4 1.1.2. Web 2.0............................................................................................................5 1.1.3. Web có ngữ nghĩa (Semantic Web).................................................................6 1.1.4. Web 3.0 – Web xã hội có ngữ nghĩa................................................................8 1.2. Web có ngữ nghĩa (Semantic Web)........................................................................8 1.2.1. Kiến trúc Semantic Web..................................................................................8 1.2.2. Siêu dữ liệu....................................................................................................11 1.2.3. Các môi trường phát triển Semantic Web......................................................12 1.2.4. Semantic Web Portal......................................................................................14 1.3. Ontology................................................................................................................14 1.3.1. Định nghĩa......................................................................................................14 1.3.2. Vai trò của ontology đối với Web có ngữ nghĩa............................................16 1.3.3. Các thành phần của ontology.........................................................................16 1.3.4. Phân loại ontology.........................................................................................17 1.3.5. Các công cụ xây dựng ontology.....................................................................19 1.3.6. Các ngôn ngữ xây dựng ontology..................................................................20 1.3.7. Phương pháp xây dựng ontology...................................................................23 1.3.8. Một số ontology phổ biến..............................................................................26 1.3.9. Tạo siêu dữ liệu ngữ nghĩa dựa trên Ontology..............................................29 1.4. Kết chương............................................................................................................30 CHƯƠNG 2: CÁC HỆ THỐNG THÔNG TIN GIÁO DỤC ỨNG DỤNG ONTOLOGY...................................................................................................................31 2.1. Giới thiệu..............................................................................................................31 2.2. GEM......................................................................................................................31 2.2.1. Giới thiệu........................................................................................................31 2.2.2. Cấu trúc ontology trong GEM.......................................................................32 2.3. Connexions............................................................................................................35 2.3.1. Giới thiệu........................................................................................................35 2.3.2. Cấu trúc ontology của Connexions................................................................36 2.4. POOL....................................................................................................................36 2.4.1. Giới thiệu........................................................................................................36 2.4.2. Cấu trúc của giao thức CanCore....................................................................37 2.5. Edutella.................................................................................................................39 2.5.1. Giới thiệu........................................................................................................39 2.5.2. Cấu trúc ontology của Edutella......................................................................40 2.6. PIP.........................................................................................................................40 2.6.1. Giới thiệu........................................................................................................40 2.6.2. Cấu trúc Ontology trong PIP..........................................................................41 2.7. TANGRAM..........................................................................................................42 2.7.1. Giới thiệu........................................................................................................42 2.7.2. Cấu trúc Ontology trong TANGRAM...........................................................44 2.8. Áp dụng các kỹ thuật xử lý ontology từ các hệ thống trên...................................47 2.8.1. Kỹ thuật tích hợp và truy vấn trên nhiều ontology từ PIP.............................47 2.8.2. Kỹ thuật tạo siêu dữ liệu của TANGRAM....................................................50 2.9. Kết chương............................................................................................................52 CHƯƠNG 3: KIẾN TRÚC ONTOLOGY TỔNG QUÁT CHO CÁC HỆ THỐNG HỖ TRỢ GIÁO DỤC CỘNG ĐỒNG....................................................................................53 3.1. Giới thiệu..............................................................................................................53 3.2. Cổng thông tin giáo dục cộng đồng BKEduPortal...............................................53 3.2.1. Kiến trúc cổng thông tin BKEduPortal..........................................................54 3.2.2. Hệ quản trị nội dung.......................................................................................55 3.2.3. Chia sẻ tài liệu học tập và tri thức..................................................................56 3.2.4. Thông tin giáo dục và đào tạo........................................................................60 3.2.5. Phân hệ ứng dụng Tư vấn giáo dục...............................................................62 3.2.6. Mạng cộng đồng về giáo dục.........................................................................63 3.2.7. Đặc điểm của các phân hệ ứng dụng trong BKEduPortal.............................65 3.3. Kiến trúc ontology cho các cổng thông tin giáo dục cộng đồng..........................66 3.3.1. Vai trò của ontology trong các cổng thông tin giáo dục cộng đồng..............66 3.3.2. Thiết kế kiến trúc ontology tổng quát............................................................68 3.4. Kết chương............................................................................................................74 CHƯƠNG 4: THIẾT KẾ ONTOLOGY CHO CỔNG THÔNG TIN GIÁO DỤC BKEDUPORTAL............................................................................................................75 4.1. Mô hình biểu diễn ontology..................................................................................75 4.1.1. Mô hình biểu diễn..........................................................................................75 4.1.2. Các kỹ thuật biểu diễn và ứng dụng mô hình................................................78 4.2. Ontology tổng quát - BKOnto..............................................................................83 4.2.1. Lớp Person.....................................................................................................85 4.2.2. Lớp Documentation.......................................................................................86 4.2.3. Lớp Topic.......................................................................................................87 4.3. Các ontology cho ứng dụng chia sẻ tài liệu học tập.............................................88 4.3.1. Xây dựng ontology cho ứng dụng chia sẻ tài liệu học tập.............................88 4.3.2. Ontology ứng dụng – BKDoc........................................................................89 4.3.3. Ontology lĩnh vực BKICT.............................................................................91 4.3.4. Một kịch bản ứng dụng tìm kiếm tài liệu học tập..........................................92 4.4. Kết chương............................................................................................................94 CHƯƠNG 5. GIAO DIỆN LẬP TRÌNH (API) DỰA TRÊN JENA.............................95 5.1. Mục tiêu................................................................................................................95 5.2. Jena API Framework.............................................................................................95 5.2.1. Mô hình phân cấp Jena API...........................................................................95 5.2.2. Xử lý Ontology Model...................................................................................96 5.2.3. Xử lý lớp........................................................................................................97 5.2.4. Xử lý thuộc tính.............................................................................................97 5.2.5. Xử lý thể hiện.................................................................................................98 5.2.6. Truy vấn với Jena...........................................................................................98 5.2.7. Suy diễn..........................................................................................................99 5.2.8. Gắn ontology vào cơ sở dữ liệu...................................................................100 5.3. Mở rộng Jena API...............................................................................................100 5.3.1. Lý do cần mở rộng Jena API.......................................................................100 5.3.2. Thiết kế các Jena API mở rộng....................................................................101 5.4. Kết chương..........................................................................................................106 KẾT LUẬN....................................................................................................................107 DANH MỤC CÁC TỪ VIẾT TẮT STT 1 2 3 4 5 Từ viết tắt OWL RDF RDFS API URL Từ đầy đủ Web Ontology Language Resource Description Language RDF Schema Application Programming Interface Uniform Resource 6 7 8 9 10 11 12 13 14 15 Locator URI RSS XML FOAF SOAP HTML GEM LO CMS ICT Uniform Resource Identifier Really Simple Syndication Extensible Markup Language Friend of a Friend Simple Object Access Protocol HyperText Markup Language Gateway to Educational Materials Learning Object Content Management System Information and Communication Technology DANH MỤC CÁC BẢNG BIỂU Bảng 1.1: Các thuộc tính trong từ vựng Dublin Core........................................................27 Bảng 1.2: Từ vựng FOAF. Các lớp (chữ cái hoa) và thuộc tính (chữ thường)..................27 Bảng 2.1: Các thuộc tính mô tả tài nguyên........................................................................32 Bảng 2.2: Level 1 và Level 2 của lĩnh vực Giáo dục công nghệ.......................................34 Bảng 2.3: Các thành phần của CanCore(www.cancore.ca/schema.html)..........................38 Bảng 3.1: Phân nhóm các lĩnh vực.....................................................................................56 Bảng 3.2: Các thông tin cần thiết trong hồ sơ người sử dụng............................................63 Bảng 4.1: Các Namespace trong BKOnto..........................................................................84 Bảng 4.2: Các lớp và thuộc tính trong BKOnto.................................................................84 Bảng 4.3: Các thuộc tính trong lớp Person.........................................................................85 Bảng 4.4: Các thuộc tính trong lớp Documentation...........................................................87 Bảng 4.5: Các thuộc tính trong lớp Topic..........................................................................88 Bảng 4.6: Các namespace trong phân hệ chia sẻ tài liệu học tập.......................................89 Bảng 4.7: Các bộ ba mô tả tài liệu học tập.........................................................................92 Bảng 5.1: Các cấu trúc được suy diễn trong Jena..............................................................99 Bảng 5.2: Lớp giao tiếp cơ sở dữ liệu..............................................................................106 DANH MỤC HÌNH VẼ Hình 1.1: Biểu diễn nội dung web 1.0..................................................................................................................4 Hình 1.2: Sự phát triển của Web 2.0....................................................................................................................5 Hình 1.3: Kết quả tìm theo từ khóa Paris - sử dụng Google Image Search.........................................................6 Hình 1.4: Phát triển Web (hình bên phải) có ngữ nghĩa từ Web 1.0 (bên trái)....................................................7 Hình 1.5: Các chủ đề liên quan đến Semantic Web.............................................................................................8 Hình 1.6: Xu hướng phát triển của thế hệ Web mới............................................................................................8 Hình 1.7: Kiến trúc phân tầng của Semantic Web (Berners_Lee – 2006)...........................................................9 Hình 1.8: Các kiểu siêu dữ liệu..........................................................................................................................12 Hình 1.9: Phân loại ontology theo Guarino........................................................................................................18 Hình 1.10: Phân loại ontology theo Lassila và Mc Guiness..............................................................................19 Hình 1.11: RDF Schema và RDF.......................................................................................................................22 Hình 1.12: Tiến trình xây dựng ontology...........................................................................................................23 Hình 1.13: Ví dụ diễn giải nội dung dựa trên ontology.....................................................................................29 Hình 2.1: Lược đồ ontology GEM.....................................................................................................................33 Hình 2.2: Phân cấp lớp trong từ vựng Resource Type.......................................................................................34 Hình 2.3: Các thành phần trong Level 1............................................................................................................34 Hình 2.4: Kiến trúc Connexions.........................................................................................................................35 Hình 2.5: Hoạt động như “nhà máy tri thức”..........................................................................................................35 Hình 2.6: Kiến trúc POOL.................................................................................................................................37 Hình 2.7: Tạo và lưu trữ siêu dữ liệu dựa trên CanCore...................................................................................38 Hình 2.8: Kiến trúc tích hợp nội dung Edutella.................................................................................................39 Hình 2.9: Các Agent trong PIP...........................................................................................................................41 Hình 2.10: Cấu trúc Ontology PEOnto..............................................................................................................41 Hình 2.11: Kiến trúc TANGRAM......................................................................................................................43 Hình 2.12: Các module trong TANGRAM........................................................................................................43 Hình 2.13: Lược đồ Ontology cấu trúc..............................................................................................................45 Hình 2.14: Lược đồ ontology Content Type......................................................................................................45 Hình 2.15: Lược đồ Domain Ontology..............................................................................................................46 Hình 2.16: Diễn giải nội dung LO trên nhiều ontology....................................................................................50 Hình 2.17: Lược đồ siêu dữ liệu RDF Binding..................................................................................................51 Hình 2.18: File RDF diễn giải 1 trang slide.......................................................................................................52 Hình 3.1: Kiến trúc cổng thông tin BKEduPortal..............................................................................................55 Hình 3.2: Phân cấp chủ đề trong lĩnh vực Công nghệ thông tin........................................................................57 Hình 3.3: Giao diện thư mục phân cấp...............................................................................................................61 Hình 3.4: Minh họa 3 khối và các quan hệ.........................................................................................................71 Hình 4.1: Biểu diễn 3 mức và 3 khối của ontology............................................................................................75 Hình 4.2: Biểu diễn ontology tổng quát BKOnto...............................................................................................80 Hình 4.3: Ontology cho phân hệ ứng dụng Chia sẻ tài liệu học tập...................................................................82 Hình 4.4: Các lớp trong BKDoc.........................................................................................................................90 Hình 4.5: Phân cấp lĩnh vực ICT dựa trên ACM...............................................................................................92 Hình 5.1: Mô hình phân cấp com.hp.hpl.jena.ontology.....................................................................................96 Hình 5.2: Ontology model..................................................................................................................................96 Hình 5.3: Mô hình phân cấp Jena API mở rộng...............................................................................................102 Hình 5.4: Biểu đồ đặc tả các ca sử dụng..........................................................................................................103 Hình 5.5: Quá trình thêm một lớp vào BKOnto...............................................................................................104 Hình 5.6: Xóa một lớp Topic khỏi ontology....................................................................................................104 Hình 5.7: Quá trình xóa một thuộc tính...........................................................................................................105 Hình 5.8: Quá trình tạo một thuộc tính mới.....................................................................................................105 MỞ ĐẦU Đặt vấn đề Trong những năm qua, công nghệ thông tin, đặc biệt là Internet, đã góp phần rất lớn vào việc xây dựng và đổi mới các hệ thống hỗ trợ giáo dục với các khóa học trực tuyến, các kho chứa tài liệu học tập, đáp ứng được những tiêu chí giáo dục mới: học mọi nơi, mọi lúc, học theo sở thích, … Tuy nhiên, các hệ thống giáo dục đang gặp phải một số khó khăn như: (i) thiết kế, phát triển, quản lý, chia sẻ các tài nguyên giáo dục; (ii) phân phối các dịch vụ giáo dục và tài liệu học tập cho từng cá nhân dựa trên nhu cầu, sở thích, … Do các tài nguyên học tập phân tán trên nhiều nguồn và được đặc tả theo nhiều dạng thông tin và từ vựng khác nhau, việc quản lý tài nguyên trở nên vô cùng khó khăn và tốn kém. Để chia sẻ, trao đổi tài liệu học tập, một số tiêu chuẩn mô tả tài nguyên được đề xuất như LOM, IMS, Dublin Core, ... nhưng các chuẩn này chỉ đơn thuần tạo siêu dữ liệu với các trường mô tả đơn giản như tiêu đề, bản quyền, tác giả, .. và tập từ vựng riêng biệt còn hạn chế. Do đó các chuẩn vẫn chưa đủ khả năng diễn giải, kết hợp tài nguyên theo ngữ nghĩa nội dung, và không cho phép chia sẻ hoặc tái sử dụng các tài nguyên giáo dục một cách dễ dàng. Semantic Web là sự mở rộng của World Wide Web bằng cách thêm vào các mô tả ngữ nghĩa của thông tin dưới dạng mà chương trình máy tính có thể “hiểu” và do vậy cho phép xử lý thông tin hiệu quả hơn [1]. Cơ chế cho phép diễn giải, chia sẻ và trao đổi ngữ nghĩa của thông tin là ontology. Theo [2], trong các hệ thống hỗ trợ giáo dục, ontology được sử dụng chủ yếu cho 3 mục đích: (i) xây dựng cấu trúc, diễn giải ngữ nghĩa, đánh chỉ mục, tìm kiếm tài nguyên học tập; (ii) biểu diễn và lưu trữ tri thức về các lĩnh vực cũng như các đối tượng cần thiết trong ứng dụng; và (iii) xây dựng các phương pháp giảng dạy, các hoạt động học tập ứng với mục tiêu, sở thích, năng lực của từng cá nhân. Hiện nay đã có nhiều hệ thống hỗ trợ giáo dục được xây dựng theo cách tiếp cận sử dụng ontology và các công nghệ Web có ngữ nghĩa. Dựa trên các tính năng của hệ thống mà ta có thể phân loại chúng thành 3 nhóm chủ yếu sau: (i) các hệ thống chia sẻ tài nguyên giáo dục trực tuyến; (ii) các mạng chia sẻ ngang hàng về tài nguyên giáo dục; và (iii) các hệ thống E-Learning dựa trên ontology. Xu hướng phát triển của các hệ thống này trong tương lai là hướng về cộng đồng người sử dụng và áp dụng kết hợp các công nghệ của Web xã hội 2.0 và công nghệ Web có ngữ nghĩa. 1 Nội dung của luận văn đề cập đến một cách tiếp cận mới trong việc xây dựng các hệ thống hỗ trợ giáo dục cộng đồng dựa trên nguyên tắc của một mạng xã hội. Trong đó cộng đồng người sử dụng đóng vai trò hạt nhân, cung cấp các nguồn tài nguyên cũng như tri thức được chia sẻ. Người sử dụng không chỉ đơn thuần “thụ động” sử dụng tài nguyên mà còn là nguồn cung cấp tài nguyên chính cho hệ thống. Có như vậy thì nguồn tài nguyên mới phong phú và đa dạng. Ontology được áp dụng trong các hệ thống này với 3 mục đích sau: (i) mô hình hóa tri thức chia sẻ trong cộng đồng về một lĩnh vực; (ii) tổ chức đánh chỉ mục hỗ trợ tìm kiếm theo ngữ nghĩa các tài nguyên học tập; (iii) mô hình hóa một mạng xã hội thể hiện sự đóng góp chia sẻ của các cá nhân trong cộng đồng. Mục tiêu, nhiệm vụ: Mục tiêu của luận văn là xây dựng một kiến trúc ontology tổng quát có thể áp dụng cho các hệ thống hỗ trợ giáo dục cộng đồng. Trong các hệ thống này, cộng đồng người sử dụng đóng vai trò quyết định cho sự tồn tại và phát triển. Qua việc phân tích, đánh giá một số hệ thống hỗ trợ giáo dục phổ biến hiện đang được ứng dụng và dựa trên kinh nghiệm phân tích, mô hình hóa một cổng thông tin giáo dục cộng đồng tên là BKEduPortal, xem xét áp dụng công nghệ Web 2.0 và các công nghệ Web có ngữ nghĩa, đặc biệt là ontology để đưa ra một kiến trúc ontology tổng quát cho việc xây dựng BKEduPortal nói riêng và các hệ thống hỗ trợ giáo dục cộng đồng nói chung. Các phương pháp giải quyết: Qua việc phân tích, đánh giá các phân hệ ứng dụng trong BKEduPortal và một số các hệ thống hỗ trợ giáo dục khác, luận văn đã xây dựng một kiến trúc ontology tổng quát áp dụng cho các hệ thống hỗ trợ giáo dục cộng đồng. Kiến trúc ontology tổng quát được thiết kế theo nguyên tắc phân tầng và phân chia nhiều thành phần (module), gồm các ontology thành phần được kết hợp với nhau: tầng thứ nhất là một ontology tổng quát (upper-level ontology) và ở tầng thứ hai gồm một số ontology ứng dụng, lĩnh vực phát triển từ ontology tổng quát tùy theo yêu cầu của ứng dụng cụ thể. Luận văn trình bày một số kỹ thuật thiết kế và ứng dụng kiến trúc ontology đã đề xuất như tiến trình thiết kế ontology, kỹ thuật tích hợp các ontology thành phần, kỹ thuật tạo siêu dữ liệu RDF và kỹ thuật truy vấn dữ liệu trên nhiều ontology. Luận văn cũng xây dựng và phát triển một mô hình ontology áp dụng cho cổng thông tin giáo dục cộng đồng BKEduPortal. Ngoài ra, luận văn đã mở rộng các lớp giao diện Jena API theo kiến trúc ontology tổng quát để trình ứng dụng Semantic Web của người sử dụng có thể giao tiếp 2 dễ dàng với ontology hơn. Cấu trúc luận văn: Nội dung luận văn gồm phần mở đầu, năm chương nội dung, phần kết luận, các phụ lục và tài liệu tham khảo. Các bước phân tích giải quyết vấn đề được trình bày trong luận văn theo trình tự sau:  Chương I: Trình bày lý thuyết về Web có ngữ nghĩa, ontology và các thế hệ phát triển của World Wide Web.  Chương II: Khảo sát một số hệ thống giáo dục có sử dụng ontology và công nghệ Web có ngữ nghĩa và rút ra một số kỹ thuật có thể áp dụng trong việc thiết kế ontology và xây dựng cổng thông tin giáo dục.  Chương III: Kiến trúc ontology tổng quát cho các hệ thống hỗ trợ giáo dục cộng đồng. Qua việc phân tích đánh giá các hệ thống giáo dục và một mô hình kiến trúc cổng thông tin giáo dục cộng đồng BKEduPortal, thiết kế một kiến trúc ontology tổng quát áp dụng cho các hệ thống giáo dục cộng đồng.  Chương IV: Xây dựng ontology cho Cổng thông tin BKEduPortal. Đề xuất một mô hình biểu diễn ontology dựa trên ngôn ngữ OWL Full.  Chương V: Giao diện lập trình (API) dựa trên Jena API Framework.  Kết luận. Tổng kết lại các kết quả đã thực hiện. Đưa ra hướng phát triển của luận văn trong tương lai.  Phụ lục: Một số đoạn mã nguồn OWL của ontology tổng quát. Tác giả luận văn bày tỏ lòng kính trọng và biết ơn sâu sắc tới TS. Tạ Tuấn Anh Người thầy đã tận tình hướng dẫn và tạo điều kiện cho tác giả thực tế tại các hội thảo, dự án để tác giả có thể hoàn thành luận văn. Tác giả xin chân thành cảm ơn các Thầy Cô, bè bạn và người thân đã động viên và giúp đỡ trong quá trình thực hiện đề tài. Do trình độ có hạn nên luận văn không tránh khỏi sai sót. Tác giả kính mong nhận được những góp ý để hoàn thiện luận văn. Hà Nội, tháng 10 năm 2008 3 CHƯƠNG 1. WEB CÓ NGỮ NGHĨA VÀ ONTOLOGY 1.1. Các thế hệ Web Mục tiêu đầu tiên của những người tiên phong xây dựng Internet là nhằm kết nối các nhà nghiên cứu và các máy tính của họ với nhau để có thể chia sẻ thông tin hiệu quả. Khi bổ sung World Wide Web năm 1990, Tim Berners-Lee cũng nhằm mục tiêu tạo phương tiện cho phép người dùng tự do đưa thông tin lên Internet và dễ dàng chia sẻ với mọi người. Tuy nhiên, sau đó Web đã phát triển theo hướng hơi khác với mục đích ban đầu. 1.1.1. Web 1.0 Web 1.0 chủ yếu gồm các website “đóng” của các hãng thông tấn hoặc các công ty nhằm mục đích tiếp cận độc giả hay khách hàng hiệu quả hơn và đóng vai trò là phương tiện phát tin hơn là phương tiện chia sẻ thông tin. Hình 1.1: Biểu diễn nội dung web 1.0 Web 1.0 bao gồm tài liệu (nội dung trang web) và liên kết giữa các tài liệu (hình 1.1). Một trang Web có thể được truy cập theo 1 URL (uniform resource locator) thông qua giao thức truyền thông (HTTP) và trình duyệt web (Internet Explorer, Netscape, Mozilla, ...). Hiện nay tài liệu của Web 1.0 chủ yếu được viết bởi ngôn ngữ HTML, một ngôn ngữ hữu dụng cho biểu diễn, trang trí và hiển thị tài liệu trên trình duyệt web. Thời kỳ cực thịnh của Web 1.0 là những năm 1995-2004. Các đặc điểm của Web 1.0 là: 4  Các trang Web 1.0 đều ở dạng tĩnh: gần như chỉ cho phép đọc (read-only web).  Website 1.0 không có tính tương tác: người dùng chỉ có thể ghé thăm trang web nhưng không thể đóng góp gì vào nội dung trang web.  Ứng dụng trên Web 1.0 đều có bản quyền. 1.1.2. Web 2.0 Tim Berners-Lee, trong bài phỏng vấn, nhấn mạnh rằng: web mà ông tạo ra mặc nhiên đã là web 2.0 vì web chính là quan hệ “người-với-người”. Khi nói tới web 2.0 người ta nhấn mạnh tới ảnh hưởng về xã hội của web hơn là các yếu tố kỹ thuật. Do đó Web 2.0 còn được gọi là Web xã hội (Social Web) [3]. Web 2.0 tạo cơ hội cho người dùng sử dụng web không còn là những người tiếp nhận thông tin thụ động mà là người tham gia tạo và đóng góp nội dung Web. Đó là các trang web có thể “đọc và viết” (readand-write), tất nhiên phải hiểu theo nghĩa rộng của từ “viết” bao gồm cả hình ảnh, video và nhiều thứ khác tạo nên các nội dung web đa phương tiện ngày nay (xem hình 1.2). Hình 1.2: Sự phát triển của Web 2.0 Hàng loạt công nghệ mới được phát triển nhằm làm cho ứng dụng trên web "mạnh" hơn, nhanh hơn và dễ sử dụng hơn, được xem là nền tảng của Web 2.0. Kiến trúc công nghệ của Web 2.0 hiện vẫn đang phát triển nhưng cơ bản bao gồm: phần mềm máy chủ, cơ chế cung cấp nội dung, giao thức truyền thông, trình duyệt và ứng dụng. Nhưng công nghệ chỉ là "bề nổi" của Web 2.0, chính cộng đồng người dùng mới là yếu tố nền tảng tạo nên thế hệ web mới. Việc chuyển từ "duyệt và xem" sang "tham gia" là cuộc cách mạng thực sự, dĩ nhiên nhờ có sự phát triển công nghệ giúp hiện thực khả năng này nhưng ở đây muốn nhấn mạnh đến hành vi của người dùng đối với Web. Về cơ bản, Web 2.0 trao quyền nhiều hơn cho người dùng và tạo nên môi trường liên 5 kết chặt chẽ các cá nhân với nhau. Giờ đây có nhiều ví dụ cho thấy cộng đồng người dùng có thể đóng góp thông tin giá trị khi họ có phương tiện thích hợp. Wikipedia có lẽ là ví dụ nổi tiếng nhất. Ngoài ra còn có những ví dụ khác như các site Reddit và Digg để cho người dùng quyết định thông tin gì là quan trọng, hay del.icio.us cho phép mọi người chia sẻ những địa chỉ web hay. 1.1.3. Web có ngữ nghĩa (Semantic Web) Với nhiều tỷ trang Web phân bố trên hầu hết các quốc gia, World Wide Web (WWW) là môi trường tốt cho việc biểu diễn và truy cập thông tin dạng số. Tuy nhiên, lượng thông tin khổng lồ đó cũng tạo ra những khó khăn lớn trong việc tìm kiếm, chia sẻ thông tin trên WWW. Hiện nay, thông tin trên WWW được biểu diễn chủ yếu dưới dạng ngôn ngữ tự nhiên với mục đích hiển thị và trang trí cho người đọc (các trang Web trên ngôn ngữ HTML). Nhưng con người chỉ có thể xử lý được một phần rất nhỏ trong lượng thông tin khổng lồ trên WWW, nên cần máy tính hỗ trợ xử lý và phân tích nội dung Web. Tuy nhiên, cách biểu diễn thông tin trên Web hiện tại chỉ phù hợp với con người và gây ra nhiều khó khăn cho các chương trình làm nhiệm vụ hỗ trợ, tìm kiếm, chia sẻ và trao đổi thông tin. Trong các cơ chế tìm kiếm theo từ khóa như Google, Yahoo hay AltaVista, kết quả thông tin trả về rất lớn và độ chính xác thấp. Ví dụ, muốn tìm ảnh về thủ đô Paris, một số kết quả được tìm bởi Google Image Search như trong hình 1.3. Hình 1.3: Kết quả tìm theo từ khóa Paris - sử dụng Google Image Search Dễ thấy rằng cơ chế tìm kiếm không phân biệt được ngữ nghĩa nội dung của kết quả: một số ảnh liên quan đến thủ đô Paris, còn một số khác lại là ảnh chụp ca sĩ Paris Hilton. Vấn đề cần giải quyết là san lấp lỗ hổng tri thức giữa máy tính và con người: những gì máy tính hiểu và có thể thực hiện thì hạn chế rất nhiều so với tri thức của con người. Chương trình máy tính không xử lý và biên dịch được thông tin và dữ liệu về ngữ nghĩa theo cách biểu diễn dưới dạng ngôn ngữ tự nhiên thích hợp với con người. 6 Một trong số các lý do là các trang Web không chứa thông tin mô tả nội dung, ví dụ như chủ đề, lĩnh vực liên quan đến thông tin trên Web. Để giải quyết vấn đề trên, nhiều tổ chức nghiên cứu và kinh doanh đã phối hợp nghiên cứu và phát triển Web có ngữ nghĩa (Semantic Web). Theo định nghĩa của Tim Berners Lee, giám đốc tổ chức World Wide Web Consortium (http://www.w3c.org), đồng thời là cha đẻ của WWW, Web có ngữ nghĩa là sự mở rộng của WWW hiện tại bằng cách thêm vào các mô tả ý nghĩa (hay ngữ nghĩa) của thông tin dưới dạng mà chương trình máy tính có thể “hiểu” và do vậy cho phép xử lý thông tin hiệu quả hơn [1]. Nói cách khác, Web có ngữ nghĩa là Web thế hệ mới, biểu diễn thông tin không chỉ với mục đích hiển thị, mà còn xử lý tự động, tích hợp và tái sử dụng trong nhiều ứng dụng. Như vậy, Web có ngữ nghĩa sẽ bao gồm các thông tin (trang Web) được biểu diễn theo cách truyền thống cùng với ngữ nghĩa của các thông tin này được biểu diễn một cách tường minh. Việc bổ sung phần ngữ nghĩa nhằm cung cấp thêm tri thức cho các chương trình (agent), giúp nâng cao chất lượng phân loại, tìm kiếm, trao đổi thông tin. Hình 1.4 minh họa sự phát triển Semantic Web từ WWW. Hình 1.4: Phát triển Web (hình bên phải) có ngữ nghĩa từ Web 1.0 (bên trái) Các chủ đề liên quan đến Semantic Web bao gồm công nghệ, khái niệm (ngữ nghĩa) và ứng dụng (hình 1.5). Các chủ đề quan trọng nhất là metadata (siêu dữ liệu), ontology và các ngôn ngữ, công cụ, phương thức phát triển. Trong đó ontology được xem là trục xương sống (backbone) của Semantic Web. 7 Hình 1.5: Các chủ đề liên quan đến Semantic Web 1.1.4. Web 3.0 – Web xã hội có ngữ nghĩa Web xã hội có ngữ nghĩa (Social Semantic Web) là sự kết hợp của các công nghệ Web 2.0 và Web có ngữ nghĩa [3] (hình 1.6). Sử dụng công nghệ Web có ngữ nghĩa để xây dựng các dịch vụ hỗ trợ cộng đồng trực tuyến. Ngược lại, cộng đồng trực tuyến đóng góp dữ liệu cho Web có ngữ nghĩa thông qua các dịch vụ Web ngữ nghĩa hướng cộng đồng như các dịch vụ mạng xã hội. Hình 1.6: Xu hướng phát triển của thế hệ Web mới 1.2. Web có ngữ nghĩa (Semantic Web) 1.2.1. Kiến trúc Semantic Web Semantic Web bao gồm tập hợp các công nghệ, công cụ và tiêu chuẩn, hình thành một cơ sở hạ tầng để hỗ trợ xây dựng Web kết hợp ngữ nghĩa. Kiến trúc Semantic Web được hình thành bởi một dãy các chuẩn nhóm vào một cấu trúc và biểu diễn mỗi quan hệ giữa các chuẩn này. Hình 1.7 minh họa các tầng riêng biệt trong kiến trúc Semantic Web. Tiến trình phát triển Semantic Web được thực hiện theo từng bước, mỗi bước thuộc về một tầng trong kiến trúc, và được xây dựng dựa trên tầng liền kề bên dưới. 8 Hình 1.7: Kiến trúc phân tầng của Semantic Web (Berners_Lee – 2006) 1.2.1.1. Tầng Unicode và URI Thành phần Unicode đảm bảo việc sử dụng tập ký tự quốc tế và thành phần URI (Uniform Resource Identifier) cung cấp phương tiện nhằm định danh các đối tượng trong Semantic Web. URI đơn giản chỉ là một định danh Web giống như các chuỗi bắt đầu bằng “http” hay “fpt”. Ví dụ, có một quyển sách với tiêu đề “Oracle Database Management”, có URI như sau: “http://www.cs.bris.ac.uk/home/book/title#Oracle_Database_Management”. Một dạng thức của URI là URL (Uniform Resource Locator). Một URL là địa chỉ cho phép thăm một trang Web, như: http://www.w3.org/owl/. 1.2.1.2. Tầng XML, XML Schema và Namespace XML là ngôn ngữ cho phép viết tài liệu Web có cấu trúc với một từ vựng được định nghĩa bởi người sử dụng cuối. XML đặc biệt phù hợp cho việc gửi tài liệu trên Web và chuyển đổi dữ liệu giữa các ứng dụng có cùng cấu trúc tài liệu. Cấu trúc XML là một cây cân bằng với tập các thẻ mở và đóng và giá trị. Ưu điểm của XML là cấu trúc đơn giản, mềm dẻo, dễ xây dựng tài liệu với cấu trúc tùy ý. Nhưng chính tính mềm dẻo này lại làm chương trình máy tính xử lý khó khăn. XML không cung cấp ngữ nghĩa cho các thẻ, như trong ví dụ trên, máy tính không hiểu tên thẻ firname_name hay phone có nghĩa là gì. XML Schema là ngôn ngữ mô tả cấu trúc của tài liệu XML. Đặc điểm của XML Schema là cú pháp của nó dựa trên chính XML, và có thuận lợi là không chỉ tăng khả năng đọc, mà còn cho phép tái sử dụng công nghệ và cải tiến lược đồ cấu trúc XML đã có. Một trong số điểm nổi bật của XML là có thể truy cập thông tin từ nhiều nguồn khác nhau; về mặt kỹ thuật, một tài liệu XML có thể sử dụng nhiều lược đồ cấu trúc. Nhưng vì mỗi cấu của tài liệu được phát triển độc lập, do đó xảy ra xung đột về tên. 9 Nếu lược đồ A và B cùng định nghĩa một kiểu phần tử có tên là e theo cách khác nhau, bộ phân tích sẽ không xác định được phần tử e thuộc về lược đồ nào. Giải pháp để tránh sự nhập nhằng này rất đơn giản: sử dụng hai namespace khác nhau cho mỗi lược đồ. Namespace khai báo theo hình thức: xmlns:prefix = “location” 1.2.1.3. RDF và RDF Schema RDF là mô hình dữ liệu cơ bản, tương tự mô hình quan hệ - thực thể (entity – relationship) để viết các phát biểu về tài nguyên Web. Mô hình dữ liệu RDF không phụ thuộc vào XML nhưng sử dụng cú pháp dựa trên XML. Tuy nhiên, do RDF chỉ đơn thuần mô tả các phát biểu về tài nguyên Web mà không mô tả ngữ nghĩa của các thành phần trong phát biểu. Do đó một ngôn ngữ lược đồ định nghĩa thuật ngữ trong mô hình dữ liệu RDF gọi là RDF Schema. RDF Schema là mô hình khởi đầu cho việc tổ chức phân cấp các đối tượng Web. Các thành phần chính trong RDF Schema là lớp, thuộc tính, lớp con, thuộc tính con và các giới hạn về lĩnh vực (domain) và giá trị (range). Ngôn ngữ RDF Schema cho phép xây dựng từ vựng mô tả các lớp và thuộc tính của tài nguyên RDF. RDF Schema sử dụng cú pháp của RDF. 1.2.1.4. Tầng Ontology Do RDF Schema có một số hạn chế khi biểu diễn các khái niệm trong lĩnh vực, ví dụ, không biểu diễn được 2 lớp tách rời (disjoint), không kết hợp được nhiều lớp như hợp, giao, lấy phần bù, .... nên cần các ngôn ngữ ontology mạnh hơn để mở rộng RDF Schema và cho phép biểu diễn các mối quan hệ phức tạp hơn giữa các đối tượng Web. Ontology có thể đáp ứng các hạn chế của RDF Schema. Ontology là một tập các khái niệm và quan hệ giữa các khái niệm được định nghĩa cho một lĩnh vực nào đó nhằm mục đích biểu diễn và trao đổi thông tin. Thông thường, quan hệ bao gồm sự phân cấp giữa các lớp. Sự phân cấp xác định nếu lớp C là lớp con của lớp C’ thì mỗi đối tượng trong C cũng thuộc về C’. Ngoại trừ phân cấp lớp, ontology còn chứa thông tin như thuộc tính của lớp, các phép tính toán logic trên các lớp, quan hệ giữa các lớp, … Trong ứng dụng Semantic Web, ontology hỗ trợ chia sẻ và tái sử dụng tri thức về một miền lĩnh vực. 1.2.1.5. Tầng Logic Tầng Logic được sử dụng để tăng cường cho ngôn ngữ ontology bằng cách khai 10 báo các nguyên tắc logic và cho phép chương trình máy tính suy diễn dựa trên những nguyên tắc này. Ví dụ, một công ty quyết định nếu nhân viên bán được hơn 100 sản phẩm thì sẽ là thành viên của Super Salesman Club. Chương trình máy tính thông minh có thể hiểu luật logic này để tạo diễ dịch đơn giản “John đã bán 102 sản phẩm, do đó John là thành viên của Super Salesman Club”. 1.2.1.6. Tầng Proof Tầng Proof gồm tiến trình suy luận cũng như biểu diễn kiểm chứng trong các ngôn ngữ Web (từ các tầng thấp hơn) và xác nhận việc kiểm chứng đó. 1.2.1.7. Tầng Trust Tầng Trust được sử dụng cho xác nhận chữ ký điện tử và một số kiểu tri thức khác trong dịch vụ Semantic Web, dựa trên tư vấn hoặc đánh giá về độ tin cậy dịch vụ của agent. 1.2.2. Siêu dữ liệu Siêu dữ liệu có thể được định nghĩa là “dữ liệu mô tả dữ liệu” [5]. Mục đích của việc kết hợp siêu dữ liệu với các nguồn dữ liệu là hỗ trợ tìm kiếm dữ liệu và thông tin liên quan. Có một số mức siêu dữ liệu được kết hợp để biểu diễn nhiều mặt của dữ liệu bao gồm cú pháp, cấu trúc và ngữ nghĩa theo ngữ cảnh. Trong Semantic Web, tài liệu được đánh dấu với thẻ siêu dữ liệu ngữ nghĩa, để máy tính có thể hiểu nội dung tài liệu. 1.2.2.1. Siêu dữ liệu cú pháp (syntactic metadata) Hình thức đơn giản nhất của siêu dữ liệu là siêu dữ liệu cú pháp, mô tả thông tin không ngữ cảnh về nội dung và đưa ra thông tin rất chung chung như kích thước, ngày tạo, nơi chứa tài liệu. Siêu dữ liệu cú pháp gắn thẻ hoặc nhãn vào dữ liệu. Ví dụ: = “report.pdf” = “30-09-2005” = “15-10-2005” = 2048 1.2.2.2. Siêu dữ liệu cấu trúc (structure metadata) Siêu dữ liệu cấu trúc tạo thông tin về cấu trúc của nội dung. Số lượng kiểu siêu dữ liệu này biến đổi rất lớn, phụ thuộc vào kiểu tài liệu. Siêu dữ liệu cấu trúc mô tả cách nhóm và đặt dữ liệu theo cách sắp xếp có thứ tự với dữ liệu khác. Trong ví dụ dưới đây, cấu trúc DTD mô tả một tài liệu XML: 11 1.2.2.3. Siêu dữ liệu ngữ nghĩa (semantic metadata) Siêu dữ liệu ngữ nghĩa bổ sung các quan hệ, luật và ràng buộc vào siêu dữ liệu cú pháp và cấu trúc, mô tả thông tin liên quan ngữ cảnh hoặc về lĩnh vực cụ thể của nội dung dựa trên một mô hình siêu dữ liệu. Trong Semantic Web, mô hình siêu dữ liệu chính là ontology. Siêu dữ liệu ngữ nghĩa hỗ trợ tìm kiếm có độ chính xác cao, và quan trọng hơn, cho phép kết hợp giữa nhiều nguồn dữ liệu không đồng nhất. Siêu dữ liệu ngữ nghĩa được sử dụng để đưa ngữ nghĩa vào các thành phần dữ liệu đã được mô tả bởi siêu dữ liệu cú pháp và cấu trúc. Các thành phần siêu dữ liệu này cho phép các chương trình máy tính “hiểu” được ngữ nghĩa của dữ liệu. Sau khi tạo mô hình siêu dữ liệu về dữ liệu và các quan hệ, có thể thực hiện suy diễn để đưa ra kết luận logic dựa trên mô hình siêu dữ liệu đó. Hình 1.8 mô tả các kiểu siêu dữ liệu. Hình 1.8: Các kiểu siêu dữ liệu 1.2.3. Các môi trường phát triển Semantic Web Hiện nay sẵn có một số framework hỗ trợ xử lý các ontology OWL. Luận văn chỉ giới thiệu ngắn gọn ba framework phổ biến nhất đang được cộng đồng phát triển sử dụng là Jena framework, Protégé-OWL API và WonderWeb OWL API [5]. Cả ba framework trên đều được phát triển dựa trên ngôn ngữ lập trình Java. Các framework là mã nguồn mở, hỗ trợ tích hợp dễ dàng hơn các thành phần của Semantic Web vào các dự án (project). 1.2.3.1. Jena API Jena là một Java framework xây dựng các ứng dụng Semantic Web, được phát triển bởi HP Lab Semantic Web Programme. Jena tạo ra môi trường lập trình cho RDF, RDFS và OWL, bao gồm một mô tơ suy diễn trên cơ sở các luật và ngôn ngữ truy vấn vào tài liệu RDF gọi là RDQL. Jena cung cấp các hàm giao diện API xử lý ontology 12 được viết trên các ngôn ngữ như RDFS, DAML+OIL, OWL. Jena OWL API hỗ trợ cả 3 ngôn ngữ OWL là OWL Lite, OWLFull, OWL DL. Sau khi xác định URI cho OWL ontology, Jena phân tích và tạo ra một model cho ontology. Với model này, có thể xử lý ontology như tạo ra các lớp, thuộc tính hoặc thể hiện mới. Việc phân tích tài liệu OWL có thể tiêu tốn tài nguyên, đặc biệt với ontology lớn. Để khắc phục vấn đề này, Jena cung cấp một kỹ thuật lưu trữ và triệu gọi ontology model từ cơ sở dữ liệu. Có 3 cơ chế suy diễn với mức độ suy diễn khác nhau có thể được gắn vào một ontology model. Một tính chất thú vị của Jena là cho phép người phát triển có thể viết các luật suy diễn của riêng họ để xác định chính xác nhất những gì họ mong muốn. Cũng có thể kết hợp Jena với các mô tơ suy diễn khác như RACER, FaCT và Pellet. 1.2.3.2. Protégé OWL API Protégé OWL API là một thư viện Java nguồn mở cho RDFS và OWL, cung cấp cho cộng đồng người sử dụng các công cụ thích hợp để xây dựng các model lĩnh vực và ứng dụng dựa trên cơ sở tri thức và ontology. Các hàm API trong thư viện là các lớp và phương thức nạp, lưu trữ các file OWL, truy vấn và xử lý mô hình OWL và cuối cùng là xử lý suy diễn. Protégé API là một phần thuộc Protégé OWL Plug-in, mở rộng Protégé Core System, cho phép người sử dụng phát triển OWL plug-in hoặc các trình ứng dụng Semantic Web. Protégé OWL API sử dụng Jena framework để phân tích và suy diễn trong các ontology OWL, và cung cấp giao diện lập trình dựa trên thư viện Java Swing. Kiến trúc OWL Protégé API theo khuôn mẫu model-view, cho phép người sử dụng viết GUI (view) biểu diễn ontology (model). 1.2.3.3. WonderWeb OWL API WonderWeb OWL API là một API cung cấp các dịch vụ lập trình xử lý ontology OWL. WonderWeb API cũng có thể suy diễn ra tri thức mới sau khi gắn mô tơ suy diễn vào ontology model. Một số dự án đã sử dụng thành công WonderWeb API như Swoop (SWOOP 2006) và Smore (SMORE 2006), cho thấy WonderWeb API đủ khả năng phát triển ứng dụng Semantic Web. Nhược điểm chính của WonderWeb là thiếu tài liệu hướng dẫn sử dụng và ví dụ trên Web. 1.2.4. Semantic Web Portal Cũng như Semantic Web là sự mở rộng của Web, Semantic Web Portal được phát triển từ Web Portal. Theo [6, 7], hiện tại có một số loại Web Portal như sau:  Web Portal là web site thu thập thông tin phục vụ cho một nhóm người có cùng mối quan tâm.  Semantic Web Portal là một Web Portal được xây dựng trên công nghệ 13 Semantic Web.  Community Semantic Web Portal là Semantic Web Portal, được duy trì bởi một cộng đồng người sử dụng. Bản chất phân tán, không đồng nhất của Web dẫn tới nhu cầu phải có Web Portal, các web site hỗ trợ tập hợp các dịch vụ Web từ nhiều nơi và cung cấp chức năng tìm kiếm thông tin. Tương tự, Semantic Web Portal có thể được xem như nơi tập hợp các nguồn tài nguyên tri thức phân tán trên nhiều vùng. Tuy nhiên, khác với Web Portal, Semantic Web Portal “thông minh hơn”, và thực hiện suy luận thông minh dựa trên các điều kiện. Semantic Portal cung cấp các dịch vụ gồm trình duyệt web dựa trên ngữ nghĩa, tìm kiếm ngữ nghĩa và trả lời câu hỏi thông minh. Trình duyệt web ngữ nghĩa xác định các siêu dữ liệu và tập trung vào giao diện point-and-click từ việc kết hợp thông tin liên quan. Tìm kiếm ngữ nghĩa tăng cường các cơ chế tìm kiếm hiện tại với ngữ nghĩa, chuyển từ việc tìm kiếm dựa trên so khớp từ khóa đến việc thêm vào thông tin ngữ nghĩa, cho phép dễ dàng loại bỏ thông tin không liên quan từ tập kết quả. Trả lời câu hỏi thông minh là kỹ thuật đưa ra câu trả lời chính xác cho câu hỏi cụ thể. Ví dụ, đưa ra câu hỏi “Quốc gia nào có tỉ lệ lạm phát cao nhất năm 2004?”, hệ thống sẽ trả lời ngay tên quốc gia đó. Tất cả các dịch vụ trên phải nằm ở đỉnh các chức năng như truy cập vào thông tin ngữ nghĩa. Có thể xem Semantic Web Portal là nơi tập hợp các dịch vụ Semantic Web, các dịch vụ ngữ nghĩa suy luận trong hậu cảnh (background) dựa trên nhu cầu cá nhân, trái ngược với việc người dùng phải tự tìm kiếm thủ công theo cách truyền thống. 1.3. Ontology 1.3.1. Định nghĩa Từ “ontology” bắt nguồn từ tiếng Hy Lạp là ontos, có nghĩa là “đang tồn tại”, và logos, nghĩa là “từ”. Trong triết học, ontology là sự nghiên cứu, phân loại những sự vật, hiện tượng đang tồn tại trong lĩnh vực cụ thể. Trong lĩnh vực Web có ngữ nghĩa, đã có một số định nghĩa về ontology. Tuy nhiên, có sự nhất trí trong cộng đồng nghiên cứu về vai trò của ontology: đưa ra sự hiểu biết chung về một lĩnh vực nào đó. Một số định nghĩa đầy đủ nhất của ontology như sau:  [Uschold and Jasper, 1999] phát biểu rằng, mặc dù mang một số hình thức, ontology luôn chứa một từ vựng và một số đặc tả về ngữ nghĩa. Ontology chứa các định nghĩa và quan hệ giữa các khái niệm, hình thành một cấu trúc lĩnh vực và giới hạn ngữ nghĩa của thuật ngữ trong từ vựng. 14
- Xem thêm -

Tài liệu liên quan

Tài liệu vừa đăng