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ô
Trang 1MỤ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
Trang 22.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
Trang 3CHƯƠ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
Trang 4DANH MỤC CÁC TỪ VIẾT TẮT
Trang 5DANH 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
Trang 6DANH 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
Trang 8MỞ ĐẦ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ấtlớ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ựctuyế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ọcmọ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ảimộ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 nhucầ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ỉ đơnthuầ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ậycho 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ácphươ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ủatừ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áodụ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ệ
Trang 9thố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áccông nghệ của Web xã hội 2.0 và công nghệ Web có ngữ nghĩa.
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êncũ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ậythì 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ộtlĩ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ọctậ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ântrong 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ể ápdụ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 đồngngườ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ựatrê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âydự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ổngquá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ồmcác ontology thành phần được kết hợp với nhau: tầng thứ nhất là một ontology tổngquát (upper-level ontology) và ở tầng thứ hai gồm một số ontology ứng dụng, lĩnh vựcphá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ìnhbà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ìnhthiế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
Trang 10RDF 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 đồngBKEduPortal Ngoài ra, luận văn đã mở rộng các lớp giao diện Jena API theo kiến trúcontology tổng quát để trình ứng dụng Semantic Web của người sử dụng có thể giao tiếp
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ácphụ 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àytrong 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ếntrúc cổng thông tin giáo dục cộng đồng BKEduPortal, thiết kế một kiến trúc ontologytổ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
Trang 11CHƯƠ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ốicá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ệuquả Khi bổ sung World Wide Web năm 1990, Tim Berners-Lee cũng nhằm mục tiêutạ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ình1.1) Một trang Web có thể được truy cập theo 1 URL (uniform resource locator) thôngqua 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
Trang 12Các đặc điểm của Web 1.0 là:
web)
web nhưng không thể đóng góp gì vào nội dung trang web
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ặcnhiê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.0ngườ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ườidù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ườitham gia tạo và đóng góp nội dung Web Đó là các trang web có thể “đọc và viết” (read-and-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 "thamgia" 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
Trang 13khả 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ênkế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ườidù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ọingườ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ạngngô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ênngôn ngữ HTML) Nhưng con người chỉ có thể xử lý được một phần rất nhỏ trong lượngthô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 ranhiề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 đổithông tin Trong các cơ chế tìm kiếm theo từ khóa như Google, Yahoo hay AltaVista, kếtquả 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ếtquả: 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ĩ ParisHilton 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:
Trang 14nhữ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 conngườ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.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
đồ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 đượcxem là trục xương sống (backbone) của Semantic Web
Trang 15Hì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ướngcộ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ànhmộ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 SemanticWeb Tiến trình phát triển Semantic Web được thực hiện theo từng bước, mỗi bướcthuộ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
Trang 16Hì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ượngtrong 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 DatabaseManagement”, 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ỉ
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 địnhnghĩ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âycâ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àmchươ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 XMLSchema 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ồnkhá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
Trang 17Như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.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ỉ đơnthuầ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ànhphầ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épxâ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 RDFSchema 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 địnhnghĩ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ôngthườ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áclớ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
Trang 181.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 khaibá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ữngnguyê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ảnphẩ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.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ủaviệ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 tinliê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ệubao 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 tinkhông ngữ cảnh về nội dung và đưa ra thông tin rất chung chung như kích thước, ngàytạ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ụ:
<name> = “report.pdf”
<creation> = “30-09-2005”
<modified> = “15-10-2005”
<size> = 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áchnhó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:
Trang 19<!ELEMENT contacts (contact*)>
<!ELEMENT contact (name, birthdate)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT birthdate (#PCDATA)>
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ộidung dựa trên một mô hình siêu dữ liệu Trong Semantic Web, mô hình siêu dữ liệuchí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ìnhmá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ìnhsiê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 frameworktrê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)
Trang 201.2.3.1 Jena API
Jena là một Java framework xây dựng các ứng dụng Semantic Web, được pháttriể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ấnvà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đượ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 OWLontology, 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ệuOWL 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ộtontology 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ếtcá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ấpcho 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ốicùng là xử lý suy diễn Protégé API là một phần thuộc Protégé OWL Plug-in, mở rộngProté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ệnJava 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ý ontologyOWL WonderWeb API cũng có thể suy diễn ra tri thức mới sau khi gắn mô tơ suydiễ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ếutài liệu hướng dẫn sử dụng và ví dụ trên Web
Trang 211.2.4 Semantic Web Portal
Cũng như Semantic Web là sự mở rộng của Web, Semantic Web Portal đượcphát triển từ Web Portal Theo [6, 7], hiện tại có một số loại Web Portal như sau:
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ệSemantic Web
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ìmkiếm thông tin Tương tự, Semantic Web Portal có thể được xem như nơi tập hợp cácnguồ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ĩaxá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ợpthô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ớingữ 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ôngtin 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ácdị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áingượ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,
Trang 22hiệ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:
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ạnngữ nghĩa của thuật ngữ trong từ vựng
và quan hệ về một lĩnh vực mà còn chứa các luật kết hợp các thuật ngữ và quan hệ này
để mở rộng từ vựng
niệm hóa” (conceptualization) Ở đây “khái niệm hóa” về cơ bản là ý niệm về thế giớicủa một người hoặc nhóm người; “tường mình” có nghĩa là kiểu và giới hạn của cáckhái niệm được định nghĩa tường mình
trong lĩnh vực quan tâm Ontology không chỉ là phân cấp các lớp mà còn mô tả các quan hệ
ràng của các khái niệm trong một lĩnh vực, trong đó thuộc tính của mỗi khái niệm mô
tả một số tính chất của khái niệm và ràng buộc
term), bao gồm từ vựng, các quan hệ ngữ nghĩa, và một số luật suy diễn và logic vềlĩnh vực chủ đề cụ thể [15] Các thành phần quan trọng nhất trong định nghĩa này là
quan hệ ngữ nghĩa (1) và suy diễn logic (2), trong đó (1) phát biểu rằng ontology xác
định ngữ nghĩa của quan hệ giữa các khái niệm
Ngoài ra, cộng đồng nghiên cứu phân biệt các ontology dựa trên độ phức tạp của
mô hình biểu diễn ontology
Lightweight ontology: chứa các khái niệm, phân cấp khái niệm, mối quan hệ
giữa các khái niệm và các thuộc tính mô tả khái niệm
Heavyweight ontology: bổ sung vào lighweight ontology các tiền đề
(axioms) và ràng buộc (constraint)
Trong phạm vi luận văn, ontology là sự đặc tả rõ ràng, hình thức của các kháiniệm được chia sẻ trong lĩnh vực quan tâm
Trang 231.3.2 Vai trò của ontology đối với Web có ngữ nghĩa
Mục đích của Semantic Web là phát triển WWW thông qua việc sử dụng ngữnghĩa Cụ thể hơn, Semantic Web đề xuất cách diễn giải ngữ nghĩa (semanticannotation) để mô tả các thành phần thông tin trên Web và các thông báo được áp dụngcho dịch vụ Web Các chuẩn hỗ trợ diễn giải ngữ nghĩa là RDF, RDF Schema và OWL.Các siêu dữ liệu diễn giải cũng có tác dụng phát triển tính chính xác trong các ứngdụng tìm kiếm trên Web Các cơ chế tìm kiếm có thể tìm trang Web trong đó các kháiniệm chính xác từ một ontology có thể được đánh dấu thay vì thu thập tất cả các trangchứa sự nhập nhằng về từ khóa
Ontology được xem là “trục xương sống” của Semantic Web Danh mục dưới đây
sẽ phân tích vai trò của ontology trong ngữ cảnh ứng dụng Web có ngữ nghĩa
dụng chia sẻ các khái niệm chung, đặc tả của các khái niệm và từ vựng Ontology còn
hỗ trợ các hệ thống thông minh điều chuyển (mediate) giữa các hình thức tổ chức thôngtin khác nhau Khả năng này tạo thành điều kiện tiên quyết chính cho sự truy cập toàncầu vào các dịch vụ Web
ontology, nhóm khác có thể sử dụng lại cho ứng dụng của họ
người mới dễ tìm hiểu ngữ nghĩa của miền lĩnh vực
một tài liệu học tập từ nhiều thành phần theo đặc tả thì độc lập với chương trình ứngdụng làm nhiệm vụ này
việc tái sử dụng và mở rộng ontology
bài báo, Các lớp thường được tổ chức phân cấp và áp dụng kỹ thuật thừa kế Phân
Trang 24cấp lớp được biểu diễn theo cây cấu trúc Theo tính chất đa thừa kế, một lớp có thể cónhiều lớp cha (superclass) Các lớp cũng có thể là cụ thể (concrete) hoặc trừu tượng(abstract) Khác với lớp trừu tượng, lớp cụ thể có các thể hiện trực tiếp.
phân biệt với quan hệ (relation) dựa trên giá trị là một kiểu dữ liệu (string, number,boolean, )
hệ nhị phân được sử dụng để biểu diễn thuộc tính Tuy nhiên, giá trị của quan hệ khácvới giá trị của thuộc tính ở chỗ: giá trị của quan hệ là một khái niệm
lớp Các thể hiện mới có thể được tạo và gán giá trị cho thuộc tính và quan hệ Thườngtrong các công cụ đồ họa xây dựng ontology, có giao diện nhập dữ liệu khi tạoinstance
nhất đối với n-1 phần tử còn lại
để kiểm chứng sự nhất quán của ontology hoặc cơ sở tri thức
Các khái niệm, quan hệ, thuộc tính và thể hiện được sử dụng để xây dựng cácontology đơn giản (lightweight) Ontology phức tạp (Heavyweight) bổ sung thêmaxioms và function từ ontology đơn giản
1.3.4 Phân loại ontology
Một số nhóm nghiên cứu đã thực hiện phân loại ontology như: Mizogughi (1995),Van Heijist (1997), Guarino (1998) và McGuiness (2001) [8] Luận văn chỉ trình bayhai cách phân loại ontology quan trọng sẽ được áp dụng về sau, đó là phân loại củaGuarino và McGuiness
1.3.4.1 Phân loại theo Guarino
Guarino phân loại các kiểu ontology theo mức và sự phụ thuộc vào một quanđiểm hoặc tác vụ cụ thể Phân loại của Guarino như sau (hình 1.9): mức đỉnh (top-level), lĩnh vực, tác vụ và ứng dụng
Trang 25Hình 1.9: Phân loại ontology theo Guarino
trò nền tảng cho các khái niệm gốc của các ontology khác liên kết tới
Các ontology này đưa ra từ vựng về các khái niệm và các quan hệ trong lĩnh vực, vềcác hoạt động đặt trong lĩnh vực đó, và về lý thuyết, nguyên tắc điều khiển lĩnh vực
dụ, lập lịch biểu, bán hàng, chẩn đoán, …) bởi xác định các thuật ngữ trong ontology Task ontology đưa ra từ vựng thuật ngữ được sử dụng để giải quyết các vấn
top-level-đề kết hợp với tác vụ có thể thuộc hoặc không thuộc cùng một lĩnh vực
nghĩa cần thiết để lập mô hình tri thức cho một ứng dụng cụ thể Các ontology ứngdụng thường mở rộng và xác định từ vựng của domain và task ontology cho ứng dụng
1.3.4.2 Phân loại của Lassila và Mc Guiness
Lassila và Mc Guinness phân loại ontology theo thông tin cần biểu diễn và sựphong phú về cấu trúc bên trong Ontology được chia thành các loại: từ vựng giới hạn(controlled vocabulary), từ điển đồng nghĩa (thesauri), phân cấp is-a không hình thức,phân cấp is-a hình thức (formal), cấu trúc phân lớp - thuộc tính (frame), giới hạn giá trị
và ràng buộc logic tổng quát (hình minh họa 1.10)
Trang 26Hình 1.10: Phân loại ontology theo Lassila và Mc Guiness
Lassila và McGuiness phân loại các ontology từ đơn giản đến phức tạp gồm cácloại sau:
Từ vựng hạn chế (controlled cocabulary): ví dụ danh sách thuật ngữ giới hạn.
Từ điển đồng nghĩa (thesauri): đưa ra ngữ nghĩa bổ sung giữa các thuật ngữ,
ví dụ thông tin về quan hệ đồng nghĩa, nhưng không hỗ trợ phân cấp rõ ràng
Phân cấp is-a không hình thức (informal): ví dụ đặc tả phân cấp thuật ngữ
trong Yahoo, là kiểu phân cấp không ràng buộc lớp thừa kết chặt chẽ
Phân cấp is-a hình thức (formal): Trong các hệ thống này, nếu B là lớp con
của A thì một đối tượng là thể hiện của B thì cũng là thể hiện của A Sự phân cấp lớpcon chặt chẽ cần thiết để khai thác tính thừa kế
Frames: Ontology chứa các lớp và thuộc tính, có thể được thừa kế bởi các lớp
ở tầng bên dưới tầng phân cấp is-a hình thức
Ontology biểu diễn giới hạn giá trị: các ontology có thể đặt giới hạn cho giá
trị thuộc tính Ví dụ, kiểu của thuộc tính arrival date là date
Ontology biểu diễn ràng buộc logic: đây là ontology biểu cảm (expressive)
nhất, có thể xác định các ràng buộc first-order logic giữa các thuật ngữ sử dụng cácngôn ngữ ontology
1.3.5 Các công cụ xây dựng ontology
Hiện nay có nhiều công cụ hỗ trợ xây dựng ontology Thông thường, một công cụcung cấp giao diện xây dựng lớp, thuộc tính, tiền đề, ràng buộc và phân cấp lớp tương thích
Trang 27với các chuẩn phát triển phần mềm dựa trên Web Có một số công cụ phát triển ontologythông dụng như Otolingua, WebOnto, WebODE, Protégé, OntoEdit, OntoBuilder,
Luận văn chỉ giới thiệu vắn tắt công cụ tạo ontology thông dụng nhất và cũngđược áp dụng để xây dựng ontology trong luận văn là Protégé Protégé được tạo bởinhóm Standford Medical Informatics (MIS) thuộc Stanford University Hạt nhân củaứng dụng là trình biên tập với giao diện đồ họa cho phép người sử dụng xây dựng, tùybiến và tạo tự động các form nhập liệu Các ứng dụng mở rộng có thể được phát triểndựa trên các hàm API của Protégé để xây dựng và truy cập mô hình lĩnh vực Một trongcác lợi ích của Protégé là khả năng mở rộng: kiến trúc cho phép phát triển và tích hợpcác plug-in Plug-in là các module mở rộng hạt nhân của hệ thống Protégé Ontology
có thể được xuất, nhập từ Protégé sử dụng hỗ trợ của plug-in như OWL-plugin
1.3.6 Các ngôn ngữ xây dựng ontology
Các ngôn ngữ xây dựng ontology có thể được phân loại như sau [8] :
Các ngôn ngữ cổ điển như ngôn ngữ biểu diễn Cyc (Cycl), Ontolingua,LOOM, OCML, FLogic và KIF
Các ngôn ngữ chuẩn của Web như XML và RDF (Resource DescriptionFramework)
(SHOE), XML-based ontology exchange language (XOL), OIL, DAML+OIL và OWL.Trong mục này, luận văn trình bày hai loại ngôn ngữ đang được sử dụng thôngdụng nhất hiện nay là RDF, RDF Schema và OWL
1.3.6.1 RDF (Resource Description Framework) và RDF Schema
RDF là mô hình dữ liệu cơ sở, giống như mô hình quan hệ thực thể, để viết cácphát biểu (statement) đơn giản về các đối tượng Web (tài nguyên) Cấu trúc căn bảncủa phát biểu RDF rất đơn giản, gồm 3 thành phần:
Resource: chủ thể - là tài nguyên được đề cập, mô tả và xác định bởi một URI
Attribute: thuộc tính của chủ thể, cũng có thể được xác định bởi một URI.Thuộc tính là một kiểu tài nguyên đặc biệt, mô tả quan hệ giữa các tài nguyên
Value: giá trị của thuộc tính
Trang 28Ví dụ, một phát biểu RDF là:
Cách đơn giản nhất để hiểu phát biểu này là viết ra bộ ba RDF:
(“David Billington”, http://www.mydomain.org/site-owner, http://www.cit.gu.edu.au/~db).Phát biểu này được viết trong RDF như sau:
-RDF Schema là một tập các từ khóa mà qua đó cho phép người dùng định nghĩa
bộ từ vựng cụ thể cho dữ liệu RDF về một miền lĩnh vực nào đó Các thành phần cơbản là lớp và thuộc tính, lớp con và các quan hệ thuộc tính con, các giới hạn về phạm vi(domain) và giá trị (range) RDF Schema dựa trên RDF RDF Schema có thể được xem
là ngôn ngữ đầu tiên xây dựng ontology Hình 1.11 minh họa mối quan hệ giữa RDF vàRDF Schema
Trang 29Hình 1.11: RDF Schema và RDF 1.3.6.2 OWL (Ontology Web Language)
OWL là ngôn ngữ Ontology được phát triển bởi tổ chức W3C Tổ chức W3Cchia OWL theo 3 mức gồm OWL Lite, OWL DL và OWL Full Ba mức này có mứcdiễn đạt cao dần, mức cao hơn là sự mở rộng của mức thấp hơn
OWL Lite: Hỗ trợ xây dựng phân cấp lớp và các thuộc tính ràng buộc đơn giản.
Lợi ích của OWL Lite là dễ hiểu và dễ phát triển, ứng dụng hơn các phiên bản DL và Full.Điểm bất lợi của ngôn ngữ này là khả năng biểu diễn hạn chế Ví dụ, không hỗ trợ biểudiễn thuộc tính tách rời, liệt kê lớp hoặc giới hạn tập hợp chỉ có 2 phần tử 0 và 1 Các quan
OWL DL: Mở rộng OWL Lite bằng cách thêm vào các ràng buộc về tập hợp
(cardinality)
Trang 30 OWL Full: Mở rộng OWL DL bằng cách cho phép các lớp có thể đồng thời là
một tập hợp hay là các thể hiện OWL Full tính biểu diễn cao nhất và cú pháp không phụthuộc RDF nhưng lại không đảm bảo tính toán Một trong vấn đề quan trọng của OWLFull là do khả năng biểu diễn mà nó không thể ra quyết định Ngoài ra, có thể biểu diễnthuộc tính inverseFunctional, cho phép thiết lập thuộc tính như một giá trị duy nhất
1.3.7 Phương pháp xây dựng ontology
Có rất nhiều phương pháp và mô hình xây dựng, phát triển ontology đã được đềxuất như mô hình khung xương của Uschold và King, phương pháp của Gruninger vàFox, phương pháp METHODOLOGY, phương pháp On-To-Knowledge, [8, pp 117-207] Mỗi phương pháp có ưu điểm và nhược điểm riêng Nói chung không có phương phápnào hoàn toàn chính xác và việc lựa chọn phương pháp xây dựng ontology nào là tùythuộc vào ứng dụng cụ thể Luận văn sử dụng phương pháp của Noy và McGuinness [4],một phương pháp đơn giản gồm các bước lặp như sau (hình minh họa 1.12)
Hình 1.12: Tiến trình xây dựng ontology 1.3.7.1 Xác định lĩnh vực và phạm vi của ontology
Bước đầu tiên trong phương pháp là xác định mục đích phát triển ontology Cáccâu hỏi cần được trả lời tại bước này là:
Lý do xây dựng ontology?
Ontology sẽ mô tả lĩnh vực gì?
Trang 31Mục đích sử dụng của ontology?
Thông tin có trong ontology có thể trả lời được các kiểu câu hỏi nào?
Ai sẽ là người sử dụng và duy trì ontology?
Các câu trả lời có thể thay đổi trong tiến trình thiết kế ontology, nhưng sẽ hỗ trợgiới hạn phạm vi của ontology
1.3.7.2 Xem xét sử dụng lại các ontology sẵn có
Với sự phát triển rộng rãi của Semantic Web, có nhiều ontology có sẵn trên Web Hiếmkhi ontology được xây dựng ontology từ đầu mà thường sử dụng lại ontology đã có từ các tổchức khác Hiện có các thư viện trên Web chứa ontology phục vụ cho mục đích sử dụng lại Ví
dụ, có thể sử dụng thư viện Ontolingua (http://www.ksl.stanford.edu/software/ontolingua/) hoặc
1.3.7.3 Liệt kê các thuật ngữ quan trọng trong ontology
Bước đầu tiên định nghĩa các khái niệm trong ontology là liệt kê một danh sáchkhông cấu trúc toàn bộ các thuật ngữ liên quan tới lĩnh vực cần mô tả Thông thường,danh từ hình thành cơ sở cho tên lớp, và động từ (hoặc cụm động từ) là cơ sở cho tênthuộc tính
1.3.7.4 Định nghĩa các lớp (class) và phân cấp lớp
Sau khi xác định các thuật ngữ liên quan, các thuật ngữ này phải được tổ chứcthành cây phân cấp (lớp con) Điều quan trọng là phải đảm bảo phân cấp chính xác.Nếu A là lớp con của B thì mỗi thể hiện của A cũng phải là thể hiện của B
Có một số cách tiếp cận trong việc phát triển phân cấp lớp:
Tiến trình phát triển top-down bắt đầu định nghĩa các khái niệm tổng quát nhấttrong lĩnh vực và tiếp theo là đặc tả của các khái niệm này
Tiến trình phát triển bottom-up bắt đầu định nghĩa các lớp cụ thể nhất, ứng với
lá của cây phân cấp, sau đó nhóm các lớp này thành các khái niệm tổng quát hơn
Tiến trình kết hợp: là sự kết hợp của hai cách top-down và bottom-up Đầu tiênxác định các khái niệm quan trọng nhất, có thể ở mức đỉnh (top-level) hoặc ở mức lá,
và định nghĩa khái niệm này Sau đó định nghĩa các khái niệm khác liên quan và xếp
Trang 32vào cây phân cấp.
Không có cách tiếp cận nào là tốt nhất Việc chọn cách nào là tùy thuộc vào quanđiểm cá nhân về lĩnh vực
1.3.7.5 Định nghĩa thuộc tính (slot) của các lớp
Bước này là bước bổ sung cho bước trước: tất nhiên phải xác định các thuộc tínhkết nối các lớp trong khi tổ chức lớp theo cây phân cấp Ngay khi đã xác định lớp, taphải mô tả cấu trúc bên trong của khái niệm Một tính chất rất quan trọng là tất cả cáclớp con có quyền thừa kế thuộc tính của lớp cha Trong khi gắn thuộc tính vào lớp, cầnđưa ra domain và range của thuộc tính đó
1.3.7.6 Định nghĩa giới hạn vai trò (facet) của thuộc tính
Thuộc tính có thể có các giới hạn vai trò (facet) để mô tả kiểu giá trị, số lượng giátrị (tập hợp), và một số tính chất khác về giá trị của thuộc tính
Giới hạn tập hợp (cardinality): xác định số lượng giá trị mà thuộc tính có thể có.Một số hệ thống chỉ phân biệt tập đơn giá trị (có nhiều nhất một g,iá trị) và tập nhiềugiá trị Một số hệ thống khác lại cho phép mô tả số lượng cực đại và cực tiểu để mô tảchính xác thuộc tính
Các kiểu giá trị thuộc tính: thông thường lớp được mô tả bởi các thuộc tính cókiểu giá trị cụ thể như string, number, boolean, …
Thuộc tính quan hệ đặc biệt: mô tả quan hệ giữa các thuộc tính: đối xứng(symmetry), bắc cầu (transitive), nghịch đảo (inverse),
Domain và range của thuộc tính: Các lớp mà thuộc tính được gắn vào và mô tảđược gọi là domain của thuộc tính Các lớp chứa giá trị cho thuộc tính có kiểu Instanceđược gọi là range của thuộc tính đó Cần chú ý, nếu một danh sách lớp đóng vai tròrange hoặc domain của một thuộc tính, và chứa một lớp và lớp con của nó, thì phải loại
bỏ lớp con đó ra khỏi danh sách
Sau bước này trong tiến trình xây dựng ontology, có thể kiểm tra tính nhất quán
Ví dụ, sự không tương thích giữa domain và range cho các thuộc tính đối xứng, bắccầu, nghịch đảo
1.3.7.7 Tạo các thể hiện (instance) cho lớp
Trang 33Bước cuối cùng là tạo thể hiện cho các lớp trong cây phân cấp Xác định instancecủa lớp đòi hỏi (1) chọn một lớp, (2) tạo thể hiện cho lớp đó, và (3) xác định giá trị chothuộc tính
1.3.8 Một số ontology phổ biến
Hiện tại có nhiều ontology được ứng dụng phổ biến như WordNet, Yahoo!Dictionary, DMOZ, Cyc, … Luận văn giới thiệu 2 ontology phổ biến và sẽ được ápdụng cho các ứng dụng về sau là Dublin Core [9, 10] và FOAF (Friend of a Friend)[11, 12]
1.3.8.1 Từ vựng Dublin Core
Dublin Core là chuẩn dùng để mô tả dữ liệu trong các siêu dữ liệu nhằm khaithác các tài liệu trong thư viện và trên các website thông qua mạng Internet ChuẩnDublin Core gồm 15 yếu tố mang ý nghĩa của các ngành khoa học: thư viện, tin học,bảo tàng, mã hóa văn bản và các lĩnh vực khác có liên quan Các đặc điểm của từvựng Dublin Core:
càng đặc biệt phát huy tác dụng khi được sử dụng để mô tả tư liệu điện tử vốn khó xácđịnh được loại hình và nội dung các yếu tố cần thể hiện
các giao diện quen thuộc như Web
không chuyên; dễ sử dụng và rẻ nhưng mang hiệu quả lớn
ngữ Ví dụ: yếu tố <tác giả> (Creator) được gán cho người tạo lập, nhà soạn nhạc, đạodiễn, … trong đó vai trò là tác giả chính
bởi các chuyên gia bằng việc gắn kết thêm các yếu tố mở rộng
Các yếu tố trong từ vựng Dublin Core được phân loại thành 2 phần là cơ bản và
mở rộng (bảng 1.1)
Trang 34Bảng 1.1: Các thuộc tính trong từ vựng Dublin Core
1.3.8.2 Từ vựng FOAF
Ontology FOAF là hạt nhân của dự án FOAF là FOAF ontology, được xác định
đơn giản, mô tả con người và thông tin cá nhân như tên, email address, … cũng nhưcác quan hệ xã hội với người khác như bạn bè, đồng nghiệp, giao dịch kinh doanh, …
Có thể chia các đặc tả trong FOAF thành 5 loại (bảng 1.2): thông tin cơ bản,thông tin cá nhân, các tài khoản trực tuyến và IM, các dự án và nhóm làm việc, và cuốicùng là tài liệu và ảnh
Bảng 1.2: Từ vựng FOAF Các lớp (chữ cái hoa) và thuộc tính (chữ thường)
Trang 35Trung tâm của từ vựng FOAF là lớp foaf:Person, và tất cả các thông tin liên quanđến cá nhân được nhóm vào lớp này Các thuộc tính được sử dụng phổ biến là tênngười (foaf:name), địa chỉ thư điện tử (foaf:mbox), liên kết tới trang web cá nhân(foaf:homepage), mô tả (foaf:description) và đặc biệt là thuộc tính mô tả quan hệ giữacác cá nhân (foaf:knows) Sử dụng FOAF, con người và các mối quan hệ có thể được
mô tả theo các nguyên tắc sau: (i) Mỗi người được biểu diễn như một thể hiện củafoaf:Person và được gán một URI; (ii) Mỗi người có nhiều thuộc tính như tên(foaf:name), nickname (foaf:nickname) hoặc ngày sinh (foaf:birthday), ; (iii) Conngười có thể liên hệ với nhau qua thuộc tính foaf:knows
Một số tính chất và lợi ích sử dụng của ontology FOAF đối với cộng đồng trựctuyến [3]:
động” là thuật ngữ mô tả khả năng sử dụng lại hồ sơ của một người trên nhiều mạng xãhội Từ vựng FOAF biểu diễn thông tin về con người và mối quan hệ trong mạng xãhội theo cách chia sẻ và máy tính có thể xử lý về ngữ nghĩa
và đóng vai trò là nền tảng cho các ứng dụng cụ thể phát triển dựa trên đó Ví dụ, chỉ
có thuộc tính foaf:knows mô tả mối quan hệ giữa các cá nhân Nếu muốn mô tả quan
hệ chính xác hơn như bạn bè, đồng nghiệp, có thể xây dựng thuộc tính quan hệ mới
là thuộc tính con của foaf:knows
danh kiểu owl:inverseFunctionalProperty như foaf:mbox, foaf:mbox_sha1sum, làthuộc tính duy nhất thuộc về một thể hiện của lớp foaf:Person Qua việc so khớp cácgiá trị định danh duy nhất (ví dụ foaf:mbox) được định nghĩa trong từ vựng FOAF, ta
có thể thu được các quan hệ owl:sameIndividualAs giữa các cá nhân của foaf:Personđược định nghĩa trong nhiều tài liệu FOAF khác nhau, và hợp nhất các node RDF nàylại để hình thành một đồ thị mạng xã hội lớn
mạng xã hội trong cộng đồng Hai thuộc tính foaf:knows và rdfs:seeAlso được kết hợp
để liên kết các tài liệu FOAF
foaf:interest
Trang 36 Từ vựng FOAF hỗ trợ việc lọc email theo sự ưu tiên (prioritizing) cho maildựa trên các mối quan hệ cá nhân Sử dụng các cấp độ tin cậy dẫn xuất từ FOAF file,con người có thể nhận mail ưu tiên và sau đó lọc các mail với giá trị tin cậy thấp.
Hiện nay ontology FOAF được ứng dụng rất phổ biến trong các hệ thống dựa trênWeb có ngữ nghĩa Do đó có thể khai thác các FOAF để mô hình hóa cộng đồng người
sử dụng
1.3.9 Tạo siêu dữ liệu ngữ nghĩa dựa trên Ontology
Siêu dữ liệu là thể hiện của lớp trong ontology và phân loại đối tượng cần mô tảtheo các lớp Ý nghĩa của lớp được định nghĩa và phân loại bởi nhãn gắn vào lớp Ví dụlớp PhDStudent và lớp Lecturer trong ontology (hình 1.13) mô tả hai nhóm đối tượng
là nghiên cứu sinh và giảng viên
Hình 1.13: Ví dụ diễn giải nội dung dựa trên ontology
Đối tượng cần mô tả là tài nguyên web bất kỳ có thể được xác định bởi địa chỉđịnh danh URI Mỗi đối tượng sẽ được đính kèm siêu dữ liệu dựa trên các lớp trongontology Mô hình, ngôn ngữ biểu diễn siêu dữ liệu có thể là XML, RDF, tùy thuộcvào ứng dụng cụ thể
Trang 371.4 Kết chương
Chương 1 đã trình bày tổng quan về sự phát triển của các thế hệ Web, từ Web tĩnh1.0 đến Web 3.0 trong tương lai, là sự kết hợp của Web 2.0 và Web có ngữ nghĩa Luậnvăn cũng trình bày vắn tắt các công nghệ Web có ngữ nghĩa gồm kiến trúc phân tầng,các kiểu siêu dữ liệu, Semantic Web Portal Tất cả các vấn đề về công nghệ ontologyliên quan đến các chương tiếp theo của luận văn như định nghĩa, vai trò đối với Web cóngữ, cấu trúc, phân loại, các ngôn ngữ, các công cụ xây dựng, tiến trình thiết kếontology, một số ontology được ứng dụng phổ biến như Dublin Core, FOAF, vàcách tạo siêu dữ liệu ngữ nghĩa dựa trên ontology Lý thuyết trình bày trong chương 1
sẽ là cơ sở cho các chương tiếp theo trong luận văn
Trang 38CHƯƠNG 2: CÁC HỆ THỐNG THÔNG TIN GIÁO DỤC
ỨNG DỤNG ONTOLOGY
2.1 Giới thiệu
Công nghệ Web ngữ nghĩa giáo dục (Semantic Web Education) đã ảnh hưởngđến thế hệ tiếp theo của các hệ thống giáo dục [13, 14] Henze et al [2] đã đề xuất 1framework cho học tập cá nhân và sử dụng các khuôn dạng mô tả tài nguyên Web ngữnghĩa để tạo tự động các cấu trúc hypermedia Các ontology học tập (learningontology) được sử dụng để phát triển các hệ thống thông tin học tập thông minh Mộtontology học tập chứa tri thức gồm các đặc tả rõ ràng, hình thức về các khái niệm (lớp),đối tượng học tập và mối quan hệ giữa chúng
Trong các hệ thống thông tin 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ọctậ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ếttrong ứ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ốnggiáo dục được xây dựng theo cách tiếp cận sử dụng ontology
Luận văn đưa ra phân tích đánh giá một số hệ thống hiện tại dựa trên một phânnhóm sau đây:
Các hệ thống chia sẻ tài nguyên giáo dục trực tuyến: GEM [15, 16],Connexions [16, 17, 26]
Các mạng chia sẻ ngang hàng về tài nguyên giáo dục: POOL [16, 18],Edutella [16, 19]
Các ứng dụng dưới đây đã ứng dụng ontology và các chuẩn Semantic Web, cóvai trò quan trọng trong việc biểu diễn đối tượng học tập và kho chứa
2.2 GEM
2.2.1 Giới thiệu
thực hiện năm 1996 bởi NLE (National Library of Education) với mục tiêu hỗ trợ cácnhà giáo dục tìm kiếm tài nguyên giáo dục sẵn có trên Internet như kế hoạch giảng dạy,chương trình học, bài giảng, sách, tài liệu, … GEM phát hiện, tập hợp và phân loại tài
Trang 39nguyên giáo dục từ nhiều nguồn như các thư viện chính phủ, liên bang, trường đại học,các site thương mại và phi lợi nhuận, … với nhiều lĩnh vực nghiên cứu khác nhau Hiệntại GEM sử dụng các từ vựng điều khiển được xây dựng trên RDFS với các thuộc tínhnhư title, description, … để tạo siêu dữ liệu mô tả tài nguyên giáo dục
Đối tượng sử dụng GEM được phân chia thành 2 loại: (1) GEM Member gồmthành viên là các nhà giáo dục, nghiên cứu và học tập; (2) GEM Consortium gồm các
tổ chức mong muốn tham gia đóng góp tài nguyên giáo dục cho dự án Các tổ chức và
cá nhân tham gia miễn phí vào dự án và được khuyến khích chia sẻ tài nguyên
Dự án đã xây dựng phần mềm Gem Cat cho phép người dùng tạo các bản ghi siêu
dữ liệu mô tả tài nguyên giáo dục Sau đó các bản ghi này được tập hợp tại kho chứa tàinguyên và siêu dữ liệu trung tâm gọi là The Gateway Kho chứa gồm rất nhiều loại tàinguyên giáo dục, từ các hoạt động và kế hoạch giảng dạy đến các dự án thẩm định trựctuyến Để đảm chất lượng tài nguyên, các tổ chức và cá nhân phải có bản ghi về tàinguyên của họ trong Gateway tuân theo chuẩn mô tả của dự án và phải tham gia vàoThe Gateway Consortium
GEM sử dụng một cơ chế truy lục mới tên là Seamark từ Siderean Software đểtìm kiếm tài nguyên Cơ chế này được xây dựng trên cơ sở một kỹ thuật tìm kiếm gọi là
“faceted searching”, kết hợp các tiến trình tìm kiếm theo từ khóa tương tự Yahoo vàGoogle, với bản mô tả tài nguyên dựa trên những gì gọi là “facets” Kết quả là một giaodiện mới và mạnh mẽ, hỗ trợ khai thác cũng như phát hiện tài nguyên
2.2.2 Cấu trúc ontology trong GEM
GEM đã xây dựng một lược đồ mô tả tài nguyên giáo dục được phát triển dựatrên từ vựng Dublin Core Hiện tại, lược đồ được xây dựng trên RDFS và bản ghi siêu
dữ liệu mô tả tài nguyên là dữ liệu RDF Bản ghi siêu dữ liệu mô tả tài nguyên gồmcác thuộc tính trong bảng 2.1 như sau:
Bảng 2.1: Các thuộc tính mô tả tài nguyên
Trang 40Ontology trong GEM được chia thành nhiều khối, mỗi khối là một từ vựng điều khiển(controlled vocabulary), và được ghép lại thành một lược đồ thống nhất, có tác dụng hỗ trợ việctạo siêu dữ liệu mô tả tài liệu Ontology EduOnto (hình 2.1), được xây dựng trên Protégé dựatrên lược đồ RDFS của GEM (địa chỉ http://web.syr.edu/~jqin/eduonto/eduonto.html).
Hình 2.1: Lược đồ ontology GEM
Các từ vựng quan trọng trong lược đồ ontology là:
học, kỹ năng suy nghĩ và giải quyết vấn đề, các phương thức đánh giá học tập củasinh viên
trung học cơ sở, phổ thông trung học, đại học, … và các thang điểm
người ở mức trung gian, làm nhiệm vụ điều chuyển giữa người nhận lợi ích từ tàinguyên và chính tài nguyên đó
Hình 2.2 liệt kê các lớp trong từ vựng này