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

Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih

79 854 1

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 2,59 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hệ thống này có thể được coi là một giải pháp tổng thể dùng các công nghệ máy tính để quản lý: học viên, giảng dạy theo yêu cầu Lecture On Demand-LOD, các lớp học được tổ chức theo lịch

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

PHAN THỊ PHƯƠNG

TÌM HIỂU SEMANTIC WEB VÀ ỨNG DỤNG XÂY DỰNG HỆ THỐNG E-LEARNING

CHO TRƯỜNG TRUNG CẤP ESTIH

Ngành: Công nghệ thông tin

Chuyên ngành: Hệ thống thông tin

Mã số: 60.48.05

LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS PHÙNG VĂN ỔN

Hà Nội - 2013

Trang 3

MỤC LỤC

DANH MỤC HÌNH VẼ iv

DANH MỤC BẢNG v

MỞ ĐẦU 1

1.1 Giới thiệu về Web ngữ nghĩa (Semantic Web – SW) 3

1.1.1 World Wide Web và những hạn chế 3

1.1.2 Nguồn gốc của web ngữ nghĩa 3

1.1.3 Web ngữ nghĩa là gì? 4

1.1.4 Nội dung xây dựng Semantic Web 7

1.1.4.1 Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu và các siêu dữ liệu trên Web 8 1.1.4.2 Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa 8

1.1.4.3 Phát triển nâng cao Web ngữ nghĩa 8

1.1.5 Kiến trúc phân tầng của Semantic Web 9

1.2 Các ngôn ngữ và công cụ xây dựng Web ngữ nghĩa 10

1.2.1 XML (eXtensible Markup Language) – Ngôn ngữ đánh dấu mở rộng 10

1.2.2 RDF – Nền tảng của Web ngữ nghĩa 12

1.2.2.1 Giới thiệu về RDF 12

1.2.2.2 RDF là gì? 12

1.2.2.3 Mô hình RDF 13

1.2.2.4 Cấu trúc RDF/XML 16

1.2.3 XML schema và RDF schema 23

1.2.3.1 XML schema 23

1.2.3.2 RDF schema 24

1.2.4 Ontology – từ vựng biểu diễn ngữ nghĩa tài nguyên web 26

1.2.4.1 Giới thiệu về Ontology 26

1.2.4.2 Khái niệm Ontology 26

1.2.4.3 Vai trò của Ontology 27

1.2.4.4 Các thành phần của Ontology 27

1.2.4.5 Ngôn ngữ OWL 30

1.2.4.6 Các bước thiết kế một Ontology 32

1.2.4.7 Một số công cụ hỗ trợ xây dựng Ontology 35

CHƯƠNG 2: PHÂN TÍCH BÀI TOÁN ỨNG DỤNG VỀ HỆ THỐNG

E-LEARNING 36

2.1 Giới thiệu 36

2.2 Một số nghiên cứu về tình hình ứng dụng công nghệ E-learning tại Việt Nam 36 2.2.1 Tình hình phát triển và ứng dụng của E-Learning 36

2.2.1.1 Tình hình phát triển và ứng dụng của E-Learning trên thế giới 36

2.2.1.2 Tình hình phát triển và ứng dụng E-Learning ở Việt Nam 37

Trang 4

2.2.2 Lợi ích của E-learning 38

2.2.3 So sánh hình thức đào tạo truyền thống với đào tạo trực tuyến 39

2.3 E-learning và Web ngữ nghĩa [10, 16, 18] 40

2.3.1 Tính thực tế về E-Learning 40

2.3.2.Thực tế sử dụng Semantic Web 40

2.3.3 Ứng dụng E-learning dựa trên công nghệ Web ngữ nghĩa 42

2.3.4 Web ngữ nghĩa hỗ trợ E-learning 43

2.3.5 Thiết kế Ontology cho tài nguyên học 44

2.3.5.1 Dùng siêu dữ liệu mô tả nội dung tài nguyên học 45

2.3.5.2 Dùng siêu dữ liệu mô tả cấu trúc của tài nguyên học 45

2.3.4 Các loại thuộc tính 45

2.3.4.1 Thuộc tính chuẩn 45

2.3.4.2 Thuộc tính định nghĩa thêm 46

2.3.5.Cách phân loại tài liệu tìm kiếm 46

CHƯƠNG 3: ỨNG DỤNG XÂY DỰNG HỆ THỐNG E-LEARNING CHO TRƯỜNG ESTIH 48

3.1 Đặt vấn đề 48

3.1.1 Giới thiệu hoạt động 48

3.1.2 Thực trạng giáo dục và đào tạo 48

3.2 Mô tả bài toán 49

3.3 Danh sách chú giải 49

3.4 Xác định yêu cầu 50

3.4.1 Yêu cầu chức năng 50

3.4.1.1 Lưu trữ 50

3.4.1.2 Tìm kiếm 50

3.4.2 Yêu cầu phi chức năng 50

3.5 Ontology cho E-Learning 51

3.5.1 Mô tả Ontology 51

3.5.2 Sử dụng Protégé thiết kế Ontology 52

3.5.2.1 Mô hình các lớp 52

3.5.2.2 Mô hình các thuộc tính 54

3.5.2.3 Mô tả tài nguyên học ở dạng triple 55

3.5.2.4 Ánh xạ dữ liệu ở dạng triple sang RDF/XML 56

3.6 Cơ sở dữ liệu cho E-Learning 57

3.6.1 Mô hình quan niệm 57

3.6.3 Đặc tả dữ liệu và từ điển dữ liệu 57

3.6.3.1 Danh sách các bảng 57

3.6.3.2 Đặc tả dữ liệu 58

Trang 5

3.7 Mô hình Use-Case 59

3.7.1 Danh sách các Actor 59

3.7.2 Danh sách các Use-Case 59

3.7.3 Lược đồ chính của mô hình Use-Case 61

3.8 Thiết kế giao diện 64

3.8.1.Giao diện Đăng nhập tài khoản 64

3.8.2.Giao diện trang chủ của giáo viên 65

3.8.3 Giao diện thêm một tài nguyên 66

3.8.3 Giao diện hiển thị tài nguyên 67

3.8.4 Giao diện upload dữ liệu lên server 67

3.8.5 Giao diện liệt kê môn học 68

3.8.6 Giao diện cập nhật thông tin 68

3.8.7 Giao diện sinh viên tham gia môn học 69

KẾT LUẬN 70

TÀI LIỆU THAM KHẢO 71

Trang 6

DANH MỤC HÌNH VẼ

Hình 1.1: Sự hình thành và phát triển của Semantic Web 4

Hình 1.2: Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web 6

Hình 1.3: Sơ đồ phát triển tính thông minh của dữ liệu 6

Hình 1.4: Kiến trúc phân lớp của Web ngữ nghĩa 9

Hình 1.5: Ví dụ về một RDF 12

Hình 1.6: Mối quan hệ giữa các thành phần trong Triple 13

Hình 1.7: Mô tả một phát biểu đơn giản bằng đồ thị 14

Hình 1.8: Biểu diễn nhiều phát biểu cho cùng một subject 14

Hình 1.9: Plain Literal biểu diễn cho tuổi của Mr John 15

Hình 1.10: KiểuTyped Literal biểu diễn cho tuổi của Mr John 15

Hình 1.11: Typed Literal biểu diễn cho ngày tháng 16

Hình 1.12: Mô tả 1 bag container đơn giản 19

Hình 1.13: Mô tả một Alt container đơn giản 20

Hình 1.14: Mô tả một RDF: Collection 22

Hình 1.15: Một Ontology biểu diễn quan hệ của xe cộ 29

Hình 1.16: Các ngôn ngữ đánh dấu ontology 31

Hình 3.1: Ontology mô tả các tài nguyên học tập 51

Hình 3.2: Mô hình các lớp 52

Hình 3.3: Mô hình các lớp dưới dạng sơ đồ 53

Hình 3.4: Mô hình các thuộc tính 54

Hình 3.5: Mô tả tài nguyên học ở dạng triple 55

Hình 3.6: Mô hình quan niệm 57

Hình 3.7: Mô hình Use-Case Đăng nhập hệ thống (Học viên) 61

Hình 3.8: Mô hình Use-Case Đăng nhập hệ thống (Quản trị) 62

Hình 3.9: Mô hình Use-Case Đăng nhập hệ thống (Giáo viên) 63

Hình 3.10: Giao diện đăng nhập tài khoản 64

Hình 3.11: Giao diện trang chủ của giáo viên 65

Hình 3.12: Giao diện thêm một tài nguyên 66

Hình 3.13: Giao diện hiển thị tài nguyên 67

Hình 3.14: Giao diện upload dữ liệu lên Server 67

Hình 3.15: Giao diện liệt kê môn học 68

Hình 3.17: Giao diện học viên tham gia môn học 69

Trang 7

DANH MỤC BẢNG

Bảng 2.1: So sánh chức năng đào tạo truyền thống với đào tạo trực tuyến 39

Bảng 3.1: Danh sách các bảng dữ liệu 58

Bảng 3.2: TaiKhoan 58

Bảng 3.3: TaiNguyen 58

Bảng 3.4: ThaoTac 59

Bảng 3.5: Bảng các Actor 59

Bảng 3.6: Bảng các Use-Case 59

Trang 8

MỞ ĐẦU

Ngày nay, sự bùng nổ tri thức cùng với các vấn đề giao lưu hội nhập quốc tế khiến mỗi chúng ta phải biết tận dụng những thành tựu của khoa học – công nghệ Những thành tựu nổi bật nhất của công nghệ thông tin (CNTT) trong giáo dục và đào tạo hiện nay chính là dạy học trên Website Việc các ứng dụng của CNTT đặc biệt là Internet - Website học tập góp phần rèn luyện khả năng tự học Đây đã thực sự trở thành cầu nối giữa giáo viên (GV) người học (học viên)

Nhưng với sự đơn giản của Web hiện nay đã dẫn đến một số mặt hạn chế Chẳng hạn khi muốn tìm kiếm một thông tin nào đó, chúng ta có thể dễ dàng bị lạc hay phải đối đầu với một lượng lớn thông tin không hợp lý và không liên quan được trả về

từ kết quả tìm kiếm trên Web

Như vậy câu hỏi đặt ra là làm thế nào để chúng ta có được một kết quả tìm kiềm chính xác và nhanh chóng theo đúng những gì mà chúng ta mong muốn? Với kĩ thuật Web hiện nay rõ ràng đã cản trở khả năng phát triển thông tin của nó, gây khó khăn trong việc tìm kiếm, rút trích, bảo trì, và phát sinh thông tin Máy tính chỉ được dùng như những thiết bị gửi và trả thông tin, chúng không thể truy xuất được những nội dung thật sự cần và do đó chúng chỉ hỗ trợ ở một mức giới hạn nào đó trong việc truy xuất và xử lý thông tin Kết quả tất yếu là con người (người sử dụng) phải gánh trên vai trách nhiệm không những truy cập và xử lý thông tin mà còn rút trích và thông dịch mọi thông tin

Để khắc phục các yếu điểm của Web hiện tại khái niệm “Semantic Web” đã ra đời Và khái niệm này đã được Tim Berners-Lee định nghĩa như sau:

“The Semantic Web will bring structure to the meaningful content of Web pages, creating an environment where software agents roaming from page to page can readily carry out sophisticated tasks for users” (Berners-Lee et al 2001) [21]

“Semantic Web mang đến một cấu trúc ngữ nghĩa cho các trang Web, tạo ra

môi trường mà ở đó các tác nhân phần mềm có thể thao tác trên các trang web khác nhau và trả ra thông tin có sự chọn lọc tinh tế cho người dùng”

Ẩn chứa trong khái niệm này là việc tạo ra một trang web cho phép cả người sử dụng và máy tính có thể đồng thời hiểu được Máy tính có thể sử dụng các tác nhân phần mềm để trích lọc, tìm kiếm và so sánh dữ liệu giống như con người thao tác trên các trình duyệt

Như vậy Semantic Web là một mạng lưới các thông tin được liên kết theo một cách thức để máy có thể dễ dàng xử lý thông tin ở mức độ toàn cầu Chúng ta có thể hiểu đơn giản về nó như là một cách trình bày dữ liệu có hiệu quả trên mạng toàn cầu, hoặc là một cơ sở dữ liệu được kết nối toàn cầu Kỹ thuật Web hiện tại chỉ cho phép chúng ta lưu trữ thông tin và tìm kiếm thông tin trên những thông tin đã được lưu trữ Chính vì vậy mà sự ra đời của Semantic Web là một bước tiến vượt bậc so với kỹ thuật

Trang 9

Web hiện tại dựa vào khả năng làm việc với thông tin của chúng thay vì chỉ đơn thuần

là lưu trữ thông tin

Với sự lớn mạnh và khả năng lưu trữ thông tin ngữ nghĩa, Semantic Web sẽ trở thành một thế hệ Web cho tương lai, thế hệ Web mà chúng ta đang chờ đợi

Bên cạnh đó, khái niệm E-learning ra đời đã đánh dấu bước ngoặt mới trong việc áp dụng công nghệ thông tin và truyền thông vào lĩnh vực giáo dục và đào tạo Đây là một trong những ứng dụng điển hình dựa trên Web và Internet Hệ thống này

có thể được coi là một giải pháp tổng thể dùng các công nghệ máy tính để quản lý: học viên, giảng dạy theo yêu cầu (Lecture On Demand-LOD), các lớp học được tổ chức theo lịch trình đồng bộ, lớp học qua vệ tinh, các phòng lab đa phương tiện hỗ trợ thiết

kế bài giảng, thư viện điện tử, nhóm học tập (Groupwave) cho phép trao đổi thông tin giữa các học viên, giữa học viên với giáo viên và giữa các giáo viên với nhau Lúc này việc học không chỉ bó cụm cho học sinh, sinh viên ở các trường học mà dành cho tất

cả mọi người, không kể tuổi tác, không có điều kiện trực tiếp đến trường, … Đây chính là chất xúc tác đang làm thay đổi toàn bộ mô hình học tập trong thế kỉ này - cho học sinh, sinh viên, viên chức và cho nhiều loại đối tượng tiềm năng khác như bác sĩ, y

tá và giáo viên - thực tế là cho bất cứ ai mong muốn được học tập dù dưới hình thức chính thống hay không chính thống Hiện nay, E-learning được sử dụng tại rất nhiều tổ chức, công ty, trường học vì những lợi ích mà nó mang lại như: giảm chi phí tổ chức

và quản lý đào tạo; rút ngắn thời gian đào tạo; có thể học bất cứ lúc nào, tại bất kỳ nơi đâu, … [1]

Xuất phát từ xu hướng và những lợi ích kể trên tôi đã quyết định chọn đề tài luận văn thạc sỹ "Tìm hiểu Semantic Web và Ứng dụng xây dựng hệ thống E-Learning cho trường Trung cấp ESTIH"

Luận văn bao gồm các chương chính sau:

Chương 1: Tổng quan về Semantic Web

Chương 2: Phân tích bài toán ứng dụng hệ thống E-learning

Chương 3: Ứng dụng xây dựng hệ thống E-learning cho trường ESTIH

Trong luận văn này tôi đã cố gắng trình bày một cách có chọn lọc dựa vào so sánh từ các kết quả nghiên cứu một cách có hệ thống và dễ hiểu nhằm đóng một phần kiến thức có giá trị cho những ai quan tâm đến các ứng dụng dựa trên nền Semantic Web Đồng thời cũng đã mô hình hóa được một ứng dụng minh họa vào xây dựng hệ thống E-learning cho đơn vị mà tôi đang giảng dạy

Tôi hoàn thành luận văn với tinh thần học hỏi và cố gắng hết mình Tuy nhiên

do kinh nghiệm và trong một thời gian ngắn tìm hiểu nên không tránh khỏi những sai sót Tôi xin chân thành cảm ơn và trân trọng tiếp thu tất cả những ý kiến đóng góp của quý thầy cô và bạn bè để luận văn được hoàn thiện hơn

Trang 10

CHƯƠNG 1: TỔNG QUAN VỀ SEMANTIC WEB

Trong chương này, tôi trình bày những kết quả nghiên cứu tổng quan về Web ngữ nghĩa, các vấn đề liên quan đến web ngữ nghĩa như cách xây dựng, các ngôn ngữ

và công cụ sử dụng hỗ trợ

1.1 Giới thiệu về Web ngữ nghĩa (Semantic Web – SW)

1.1.1 World Wide Web và những hạn chế

Hệ thống mạng toàn cầu đã trở nên rộng khắp thông qua một loạt các tiêu chuẩn được thiết lập rộng rãi và đảm bảo được các thành phần ở các mức độ khác nhau Giao thức TCP/IP đảm bảo rằng chúng ta không phải lo lắng về việc chuyển từng bit dữ liệu thông qua hệ thống mạng nữa Tương tự như vậy, HTTP và HTML đã cung cấp các cách tiêu biểu để có thể nhận thông tin và trình diễn các tài liệu siêu văn bản

Tuy nhiên, có một khối lượng khổng lồ các tài nguyên trên Web, điều này làm nảy sinh vấn đề nghiêm trọng là làm thế nào để tìm kiếm chính xác tài nguyên mình mong muốn Dữ liệu trong các file HTML hữu ích trong một vài ngữ cảnh nhưng vô nghĩa đối với những ngữ cảnh khác Thêm vào đó HTML không thể mô tả về dữ liệu đóng gói trong nó

Ví dụ, chúng ta biết mã vùng (PostCode) và muốn tìm địa chỉ của nó Vì mỗi quốc gia có tên hệ thống mã vùng khác biệt và vì Web không biểu diễn được mối liên

hệ này, nên chúng ta không nhận được điều chúng ta mong đợi Trái lại, đối với Semantic Web, chúng ta có thể chỉ ra kiểu của mối liên hệ này Ví dụ, Zip Code tương đương với PostCode

Vì vậy, nếu như các thành phần chính yếu của dữ liệu trong Web trình bày theo dạng thức thông thường, thì thật khó sử dụng dữ liệu này một cách phổ biến Một thiếu sót của Web hiện nay là thiếu cơ cấu hiệu quả để chia sẻ dữ liệu khi ứng dụng được phát triển một cách độc lập Do dó cần phải mở rộng Web để máy có thể hiểu, tích hợp

dữ liệu, cũng như tái sử dụng dữ liệu thông qua các ứng dụng khác nhau

1.1.2 Nguồn gốc của web ngữ nghĩa

Như chúng ta đã biết Web đã trở thành một kho tàng thông tin khổng lồ của nhân loại và môi trường truyền dẫn không thể thiếu được trong thời đại công nghệ thông tin ngày nay

Các chuyên gia dự đoán, bề nổi của web (surface web) chứa khoảng 1 đến 2 tỷ trang tài liệu, trong khi, ở phần sâu của web thì chứa đến 550 tỷ trang tài liệu Có khoảng 200.000 website có tầng thông tin sâu, khoảng hơn 1/2 số thông tin này nằm trong các cơ sở dữ liệu có chủ đề riêng biệt Khoảng 95% thông tin trong các website

có tầng thông tin sâu cho phép đa số người dùng có thể khai thác miễn phí Nhưng hiện nay, hầu hết các công cụ tìm kiếm tài liệu trên web được coi là tìm kiếm hiệu quả cũng chủ yếu tìm kiếm được trên bề nổi của web Trong khi ở tầng sâu của web chứa một khối lượng thông tin khổng lồ và thường rất có giá trị cho các nhà nghiên cứu, các học giả hay đơn thuần là những người thích tìm hiểu Bên cạch đó, các trang web hiện

Trang 11

nay có rất ít đường liên kết với các trang web khác nên việc tìm kiếm là khó khăn Ngoài ra, thông tin tìm kiếm được không theo chủ đề mà chỉ là vấn đề tìm thoả theo từ khoá đơn thuần, kết quả tìm kiếm phải do con người chọn lại theo chủ đề mong muốn

Chính những vấn đề này đã thúc đẩy sự ra đời của ý tưởng Web ngữ nghĩa (Semantic Web), một thế hệ mới của Web, mà chính cha đẻ của World Wide Web là Tim Berners-Lee đề xuất vào năm 1998 Web ngữ nghĩa là sự mở rộng của Web hiện tại mà trong đó thông tin được định nghĩa rõ ràng sao cho con người và máy tính có thể cùng làm việc với nhau một cách hiệu quả hơn Mục tiêu của Web có ngữ nghĩa là

để phát triển các chuẩn chung và công nghệ cho phép máy tính có thể hiểu được nhiều hơn thông tin trên Web, sao cho chúng có thể hỗ trợ tốt hơn việc khám phá thông tin (thông tin được tìm kiếm nhanh chóng và chính xác hơn), tích hợp dữ liệu (dữ liệu liên kết động), và tự động hóa các công việc [13, pp.1-3, 30]

Hình 1.1: Sự hình thành và phát triển của Semantic Web

1.1.3 Web ngữ nghĩa là gì?

Tim Berners-Lee đã đưa ra hai vấn đề của web ngữ nghĩa, đó là tạo cho Web một môi trường cộng tác tốt hơn và vấn đề thứ hai là máy có thể hiểu và xử lý tự động các thông tin trên Web

Trên web ngữ nghĩa tồn tại các mối quan hệ giữa các tài nguyên mà trong web hiện tại không có Và chính các quan hệ này đưa vào web ngữ nghĩa là cần thiết, để máy có thể hiểu và xử lý thông tin tự động trên web Các quan hệ này được gọi là các

Web tương lai HTML, XML, RDF (Semantic Web)

Web hiện tại HTML, XML (nhiều ngữ nghĩa hơn)

Web năm 1995 HTML (ít ngữ nghĩa)

Trang 12

siêu dữ liệu Công nghệ để có được các siêu dữ liệu này là công nghệ RDF (Resource Description Framework)

Semantic Web không là Web riêng biệt nhưng là một sự mở rộng của Web hiện tại, theo cách thông tin được xác định ý nghĩa tốt hơn, nó cho phép máy tính và người cộng tác với nhau tốt hơn

Semantic Web là một mạng lưới các thông tin được liên kết sao cho chúng có thể được xử lý dễ dàng bởi các máy tính ở phạm vi toàn cầu Nó được xem là cách mô

tả thông tin rất hiệu quả trên World Wide Web, và cũng được xem là một cơ sở dữ liệu

có khả năng liên kết toàn cầu Semantic Web còn cung cấp một môi trường chia sẻ và

Với Semantic Web ta có thể giải quyết vấn đề này bằng 2 cách:

• Thứ nhất, nó sẽ mô tả chi tiết dữ liệu của nó Do đó một chương trình xử lý không cần quan tâm đến các format, hình ảnh, quảng cáo trên một trang Web để tìm ra

sự liên quan của thông tin

• Thứ hai, Semantic Web cho phép chúng ta tạo ra một file mô tả mối liên hệ giữa các tập dữ liệu khác nhau Ví dụ, ta có thể tạo một liên kết semantic giữa một cột

"zip-code" trong database với trường "zip" ở trên form nhập liệu nếu chúng có chung ý nghĩa Điều này cho phép máy tính theo các link và tích hợp dữ liệu từ nhiều nguồn khác nhau

Ý tưởng liên kết các nguồn khác nhau (tài liệu, hình ảnh, con người, khái niệm,…) cho phép chúng ta mở rộng Web thành một môi trường mới với tập các mối quan hệ mới (như hasLocation, worksFor, isAuthorOf, hasSubjectOf, dependsOn, ) giữa các nguồn dữ liệu, tạo ra các mối liên hệ ngữ cảnh (contextual relationship), điều

mà Web hiện tại chưa làm được

Trang 13

Hình 1.2: Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web

Để có thể tạo ra web có dữ liệu mà máy có thể xử lý được, trước hết phải thay đổi mô hình trong cách chúng ta nghĩ về dữ liệu Từ trước đến nay, dữ liệu bị khoá ngay trong các ứng dụng độc quyền Dữ liệu được coi như thứ yếu để xử lý dữ liệu Thái độ không đúng này bộc lộ những sai sót cơ bản trong luận cứ gốc bằng việc thiết lập sự phụ thuộc giữa xử lý và dữ liệu Hay nói cách khác, phần mềm tốt thì hoàn toàn phụ thuộc vào dữ liệu tốt Với các hệ tính toán chuyên nghiệp thì ngay khi bắt đầu thực hiện, vấn đề dữ liệu là rất quan trọng, nó phải được xác minh và bảo vệ Với Web, XML và xu thế Web ngữ nghĩa đang nổi lên thì có sự thay đổi của sức mạnh đang di chuyển từ các ứng dụng sang dữ liệu Vấn đề này cũng cho chúng ta mấu chốt

để hiểu Web ngữ nghĩa Con đường để máy có thể xử lý dữ liệu chủ yếu là tạo ra dữ liệu thông minh hơn chứ không phải là các xử lý thông minh Hình 1.3 biểu diễn sự phát triển tính thông minh của dữ liệu theo thời gian [13, pp.3-4, 3]

Hình 1.3: Sơ đồ phát triển tính thông minh của dữ liệu

Trang 14

Hình 1.3 chỉ ra sự phát triển liên tục của tính thông minh dữ liệu có bốn bậc quan trọng Bốn bậc này biểu diễn từ dữ liệu có tính thông minh thấp nhất đến dữ liệu

đã có thông tin đủ ngữ nghĩa để máy thực hiện suy luận về nó

Văn bản và cơ sở dữ liệu (bậc này là tiền XML)

Bậc đầu tiên, hầu hết dữ liệu ở bậc này được sở hữu độc quyền cho một ứng dụng Do vậy tính thông minh là nằm trong ứng dụng đó chứ không phải là trong dữ liệu

Tài liệu XML với miền đơn

Ở bậc này, dữ liệu đạt được là: ứng dụng độc lập với miền riêng Bây giờ, dữ liệu đủ thông minh để có thể di chuyển giữa các ứng dụng trong một miền đơn Ví dụ: các chuẩn XML trong chăm sóc sức khoẻ, công nghiệp bảo hiểm, hoặc công nghiệp bất động sản

Các phân loại và tài liệu với các bộ từ vựng hỗn hợp

Trong bậc này, dữ liệu có thể được soạn từ đa miền và được phân lớp chính xác theo một nguyên tắc phân loại có thứ bậc Thực tế, sự phân lớp đó có thể được sử dụng

để khám phá dữ liệu Các quan hệ đơn giản giữ các lớp có thể được sử dụng để quan

hệ và do vậy, ta có dữ liệu kết hợp Như vậy, dữ liệu bây giờ thông minh đủ để khám phá dễ dàng và được kết hợp một cách hợp lý với dữ liệu khác

Các ontology và các luật lập luận

Trong mức này, dữ liệu mới có thể được suy ra từ những dữ liệu đã có theo các luật logic Thực chất, dữ liệu bây giờ thông minh đủ để được mô tả với các quan hệ cụ thể và các dạng hình thức phức tạp Điều này cho phép kết hợp hoặc tái kết hợp dữ liệu nguyên thuỷ nhiều hơn và sự phân tích về dữ liệu mịn hơn Một ví dụ về sự phức tạp của dữ liệu là việc chuyển tự động tài liệu trong một miền này sang một tài liệu tương đương trong một miền khác Ở mức này, ta có thể soạn một định nghĩa mới trên Web ngữ nghĩa, máy có thể xử lý các tài liệu web có dữ liệu thông minh Hơn nữa, ta

có thể định nghĩa dữ liệu thông minh vì dữ liệu nó độc lập với ứng dụng, có thể soạn, phân lớp và lấy một phần của các hệ thông tin lớn hơn

Như vậy, việc xây dựng web ngữ nghĩa chủ yếu tập trung xây dựng hệ thống web có dữ liệu thông minh Dữ liệu thông minh ở đây không có nghĩa là gắn liền với trí tuệ nhân tạo, không phải là cho máy học hiểu các từ ngữ của con người hay máy xử

lý được ngôn ngữ tự nhiên mà nó thông minh bởi việc tổ chức lựa chọn dữ liệu biểu diễn trong ngôn ngữ được cấu trúc để máy có thể hiểu Và sau đây chúng ta tìm hiểu

về kiến trúc của web ngữ nghĩa

1.1.4 Nội dung xây dựng Semantic Web

Để xây dựng Web ngữ nghĩa thay thế cho World Wide Web hiện tại, các nhà nghiên cứu đang nỗ lực và tập trung nghiên cứu với ba hướng chính sau: [3, 13, 30]

- Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu (XML) và siêu dữ liệu (RDF) trên Web

- Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa

Trang 15

- Phát triển nâng cao Web có ngữ nghĩa (Semantic Web Advanced Development - SWAD)

1.1.4.1 Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu và các siêu dữ liệu trên Web

Như chúng ta đã biết, World Wide Web đã rất thành công bởi ngôn ngữ XML XML đã làm cho công nghệ Web phát triển mạnh mẽ như hiện nay Và Web ngữ nghĩa được phát triển trên nền Web hiện tại, trên nền XML, chúng ta có thể thấy rất rõ ngay trong sơ đồ kiến trúc của Web ngữ nghĩa Web ngữ nghĩa được bổ sung các chú thích ngữ nghĩa cho các tài nguyên Web, và W3C đã giới thiệu RDF là chuẩn cú pháp

để tạo, thay đổi và sử dụng chú thích trong Web ngữ nghĩa Do vậy việc xây dựng ngôn ngữ chuẩn cho XML và RDF là thiết yếu để biểu diễn dữ liệu cho Web ngữ nghĩa Trong quá trình này, đã có một số cú pháp được đưa ra để biểu diễn RDF như: Notation 3 (hay N3), XML/RDF, hay đồ thị các mệnh đề của RDF như đã trình bày ở trên Các cú pháp này hỗ trợ biểu diễn dữ liệu cho máy có thể hiểu được

1.1.4.2 Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa

Ontology đóng vai trò then chốt trong việc cung cấp tài nguyên có thể truy nhập

để xử lý tự động bằng cách cung cấp bộ từ vựng cho việc đánh dấu ngữ nghĩa của Web ngữ nghĩa Để biểu diễn Ontology cho phát triển Web có ngữ nghĩa cần thiết đưa ra một ngôn ngữ chuẩn cho sự biểu diễn mềm dẻo, linh hoạt và đa dạng của tài nguyên Web Trong quá trình chuẩn hoá ngôn ngữ biểu diễn Ontology, một số ngôn ngữ được

đề xuất với các khả năng biểu diễn tăng dần như: RDFS, DAML+OIL, OWL, và tiếp tục được mở rộng trong tương lai Các ngôn ngữ này có khả năng biểu diễn tăng dần nhưng tương ứng là khả năng quyết định giảm dần (độ phức tạp tăng dần) Và các ngôn ngữ biểu diễn Ontology được xây dựng phải cân bằng được khả năng biểu diễn

và độ phức tạp tính toán Các ngôn ngữ này được xây dựng trên nền các chuẩn XML, RDF, và thường sử dụng cơ sở logic là logic mô tả để biểu diễn ngữ nghĩa và hỗ trợ lập luận

1.1.4.3 Phát triển nâng cao Web ngữ nghĩa

Các công việc chuẩn hoá các ngôn ngữ biểu diễn dữ liệu XML, siêu dữ liệu RDF hay ngôn ngữ biểu diễn Ontology là các công việc nền tảng, cơ sở tạo ra chuẩn chung cơ sở để phát triển hệ thống và các ứng dụng trên Web ngữ nghĩa Việc đưa các chuẩn đó thành các thể hiện, các sản phẩm của hệ thống Web ngữ nghĩa là công việc của SWAD SWAD thực hiện nghiên cứu và đưa ra các thể hiện của Web ngữ nghĩa trên công nghệ cơ sở và nó cũng bổ sung, hoàn thiện các công nghệ cơ sở này Nó chỉ

ra các công nghệ Web ngữ nghĩa được sử dụng như thế nào? Mục tiêu cụ thể của SWAD là sử dụng các công nghệ, kỹ thuật và các công cụ hiện có của Web ngữ nghĩa

để tạo ra các chương trình vượt xa hơn tầm hiện có, phát triển các thể hiện thực tiễn và cung cấp các công cụ và các chuẩn mới cho Web ngữ nghĩa Để phát triển SWAD hiện tại đã có một số dự án của các tổ chức thực hiện nghiên cứu và phát triển như: SWAD-Europe, SWAD-DAML, SWAD-Simile, SWAD-Oxygen Hiện tại, ở Việt Nam, một

dự án cấp Nhà nước đang nghiên cứu thực hiện trích rút tự động thông tin từ các trang

Trang 16

Web về tin tức để xây dựng các ontology cho lĩnh vực này nhằm "tiếp nhận" công

nghệ Web ngữ nghĩa khi có hệ thống mạng mới này

1.1.5 Kiến trúc phân tầng của Semantic Web

Hình 1.4 chỉ ra sơ đồ kiến trúc của Web ngữ nghĩa Web ngữ nghĩa là một tập hợp/một chồng (stack) các ngôn ngữ [13, pp.17-20]

Hình 1.4: Kiến trúc phân lớp của Web ngữ nghĩa

Vai trò của các tầng/lớp trong kiến trúc

Lớp Unicode & URI: nhằm bảo đảm việc sử dụng tập kí tự quốc tế và cung cấp

phương tiện nhằm định danh các đối tượng trong Semantic Web

Cụ thể: Unicode là một bảng mã chuẩn chung có đủ các ký tự để thống nhất sự giao tiếp trên tất cả các quốc gia, đáp ứng tính nhất quán toàn cầu của web URI

(Uniform Resource Identifier) là kí hiệu nhận dạng Web đơn giản

Lớp XML: cùng với các định nghĩa về namespace và schema (lược đồ) bảo

đảm rằng chúng ta có thể tích hợp các định nghĩa Semantic Web với các chuẩn dựa trên XML khác

Lớp RDF [RDF] và RDFSchema [RDFS]:

RDF (Resource Description Framework): Khung mô tả tài nguyên - RDF

được W3C giới thiệu để cung cấp một cú pháp chuẩn để tạo, thay đổi và sử dụng các chú thích trong Web ngữ nghĩa Một mệnh đề RDF là một bộ ba chủ đề – thuộc tính – đối tượng (subject – predicate – object) Trong đó, chủ đề là tài nguyên mà được mô tả bằng thuộc tính và đối tượng Thuộc tính thể hiện mối quan hệ giữa chủ đề và đối tượng Còn đối tượng ở đây có thể là một tài nguyên hoặc một giá trị Ba thành phần trên trong RDF đều là các URI

RDFS (RDF schema)

RDFS là một ngôn ngữ ontology đơn giản của web ngữ nghĩa, được coi là một ngôn ngữ cơ sở của web ngữ nghĩa RDFS là ngôn ngữ mô tả bộ từ vựng trên các bộ

ba RDF Nó cung cấp các công việc sau:

- Định nghĩa các lớp tài nguyên

- Định nghĩa các quan hệ giữa các lớp

Trang 17

- Định nghĩa các loại thuộc tính mà các lớp trên có

- Định nghĩa các mối quan hệ giữa các thuộc tính

Lớp Ontology Vocabulary

Bộ từ vựng ontology được xây dựng trên cơ sở tầng RDF và RDFS, cung cấp biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên web và có khả năng hỗ trợ lập luận Để xây dựng được các bộ từ vựng này, người ta đã sử dụng các ngôn ngữ ontology để biểu diễn chúng như: RDFS, OIL, DAML, DAML+OIL, OWL, Các ngôn ngữ này cung cấp khả năng biểu diễn và hỗ trợ lập luận khác nhau và chúng dựa trên nền tảng

là các ngôn ngữ logic mô tả tương ứng khác nhau

Lớp Logic

Việc biểu diễn các tài nguyên dưới dạng các bộ từ vựng ontology có mục đích

là để máy có thể lập luận được Mà cơ sở lập luận chủ yếu dựa vào logic Chính vì vậy

mà các ontology được ánh xạ sang logic, cụ thể là logic mô tả để có thể hỗ trợ lập luận Vì logic mô tả có biểu diễn ngữ nghĩa hình thức (đặc trưng của lý thuyết mô hình), và cung cấp các dịch vụ lập luận, là cơ sở để hỗ trợ máy có thể lập luận và hiểu tài nguyên

Lớp Proof

Lớp này đưa ra các luật để suy luận Cụ thể từ các thông tin đã có ta có thể suy

ra các thông tin mới Ví dụ: A là cha của B, A là em trai C thì khi đó ta có thông tin mới là C là bác của B Để có được các suy luận này thì cơ sở là FOL (First-Order-Logic) Và tầng này hiện nay các nhà nghiên cứu đang xây dựng các ngôn ngữ luật cho nó như: SWRL, RuleML

Lớp Trust

Đảm bảo tính tin cậy của các ứng dụng trên Web ngữ nghĩa Ví dụ: có một người bảo x là xanh, một người khác lại nói x không xanh, như thế Web ngữ nghĩa là không đáng tin cậy? Câu trả lời ở đây được xem xét trong các ngữ cảnh Mỗi ứng dụng trên web ngữ nghĩa sẽ có một ngữ cảnh cụ thể, chính vì thế các mệnh đề trên có thể nằm trong các ngữ cảnh khác nhau khi đó ngữ nghĩa tương ứng khác nhau nên các mệnh đề đó vẫn đúng, đáng tin cậy trong ngữ cảnh của nó Để có được sự chứng minh

về độ tin cậy thì các lập luận được áp dụng là không đơn điệu và có các cơ chế kiểm tra chứng minh kết hợp với công nghệ chữ ký điện tử để xác nhận độ tin cậy Các ngôn ngữ chứng minh là ngôn ngữ cho ta chứng minh một mệnh đề là đúng hay sai

1.2 Các ngôn ngữ và công cụ xây dựng Web ngữ nghĩa

1.2.1 XML (eXtensible Markup Language) – Ngôn ngữ đánh dấu mở rộng

XML là một đặc tả cho các tài liệu (document) mà máy tính đọc được Đánh dấu (Markup) có nghĩa là các chuỗi ký tự nào đó trong tài liệu có chứa thông tin chỉ ra vai trò nội dung của tài liệu Markup mô tả sơ đồ (layout) dữ liệu của tài liệu và cấu trúc logic Markup làm thông tin tự mô tả tùy vào cảm nhận [6, 13, pp.25-28]

Markup được mô tả dưới dạng các từ trong dấu ngoặc nhọn hay còn gọi là tag

Ví dụ

Trang 18

Các thực thể (entity) markup chính trong XML là các đơn vị (element) Chúng thông thường bao gồm một tag mở và một tag đóng Ví dụ <person> và </person>

Các element có chứa các element khác hay text Nếu 1 element không có nội dung, nó có thể được viết ngắn gọn như <person/> Các element nên được xếp lồng nhau, tag mở và tag đóng của element con phải nằm trong tag mở và tag đóng của element cha

Mỗi XML document phải có chính xác một root element

Các element có thể chứa thuộc tính với giá trị nào đó, có định dạng là: "từ =giá trị" bên trong tag của một element Ví dụ <person name="John"> Dưới đây là một đoạn XML:

Trang 19

1.2.2 RDF – Nền tảng của Web ngữ nghĩa

1.2.2.1 Giới thiệu về RDF

RDF là một thành phần quan trọng của Semantic Web, được dựa trên XML, RDF sử dụng cú pháp của XML để biểu diễn dữ liệu Ngôn ngữ XML dùng để biểu diễn dữ liệu trong RDF được gọi là RDF/XML Thông qua định dạng này, các thông tin trong RDF có thể được trao đổi dễ dàng giữa các hệ thống máy tính, các hệ điều hành hay các ngôn ngữ lập trình ứng dụng khác nhau [7, 8, 11, 12, 13, pp.65-84]

XML cung cấp cú pháp để mã hóa dữ liệu, RDF là một cơ cấu chỉ ra điều gì đó

về dữ liệu Như tên gọi, RDF là một mô hình để biểu diễn dữ liệu về "Mọi thứ trên Web" Mọi thứ ở đây chính là các tài nguyên trong RDF vocabulary (từ vựng) Mô hình dữ liệu cơ sở của RDF thì đơn giản, bên cạnh tài nguyên (resources), RDF còn chứa thuộc tính (properties) và câu phát biểu (statements) Một property là một khía cạnh, tính chất, thuộc tính, hay mối liên hệ mô tả cho một tài nguyên Một statement bao gồm một tài nguyên riêng biệt, một thuộc tính được đặt tên, và giá trị thuộc tính cho tài nguyên đó Giá trị này cơ bản có thể là một tài nguyên khác hay một giá trị mang tính nghĩa đen (literal value) hay dạng text tùy ý (free text)

Hình 1.5: Ví dụ về một RDF

Nhìn chung một RDF description (mô tả) là một danh sách các triple (bộ ba): object - attribute - value Ví dụ, hình trên thể hiện 3 triple cần thiết để chỉ ra trang Web được tạo bởi ai đó với name là "John" và số phone là "47782"

Giống như XML, mô hình RDF không định nghĩa miền giá trị áp dụng hay giả định về một miền giá trị áp dụng cụ thể Nó chỉ cung cấp một cơ cấu vùng không có tính chất rõ ràng để mô tả metadata Xác định các thuộc tính có miền giá trị cụ thể và ngữ nghĩa (semantic) của chúng ta cần có các công cụ khác

Trang 20

Subject Object

predicate

Và RDF (Resource Description Framework) là một “bộ khung” được sử dụng

để xử lý metadata trên Internet

1.2.2.3 Mô hình RDF

Mô hình cơ bản của RDF gồm ba đối tượng sau:

• Tài nguyên (Resources): là tất cả những gì được mô tả bằng biểu thức RDF

Nó có thể là một trang Web, ví dụ như trang http://www.w3.org/Overview.html, cũng

có thể là một phần của trang Web, hoặc là một tập các trang Web, …

• Thuộc tính (Properties): thuộc tính, đặc tính, hoặc quan hệ dùng để mô tả tính chất của tài nguyên

• Phát biểu (Statements): mỗi phát biểu gồm ba thành phần sau

- Subject (Tài nguyên): địa chỉ hay vị trí tài nguyên muốn mô tả, thông thường thì đây là chuỗi định URL hoặc URI

- Predicate (Vị ngữ): xác định tính chất của tài nguyên

- Object (Bổ ngữ): nội dung gán cho thuộc tính

1.2.2.3.1 Bộ ba RDF (RDF Tripple)

Mỗi một phát biểu (subject, predicate,object) còn gọi là một bộ ba (triple)

Ví dụ: Xét http://www.example.org/index.html has a creator whose value is John Smith

Phát biểu trên được phân ra làm các thành phần sau:

mô tả cho từng khái niệm trên

Phát biểu trên được biểu diễn dưới dạng một tripple như sau:

<http://www.example.org/index.html><http://purl.org/dc/elements/1.1/creator>

<http://www.example.org/staffid/85740>

1.2.2.3.2 Đồ thị RDF (RDF Graph)

Tập các triple hợp lại tạo thành đồ thị RDF (RDF Graph) Các node trong đồ thị

có thể là các subject và object trong triple và các cung (arc) trong đồ thị là các predicate Cho nên một triple còn có thể được mô tả dưới dạng node-arc-node Hướng của đồ thị rất quan trọng Cung của đồ thị luôn bắt đầu từ subject đến object

Hình 1.6: Mối quan hệ giữa các thành phần trong Triple

Phát biểu trên được mô hình hóa bằng đồ thị có hướng sau:

Trang 21

Hình 1.7: Mô tả một phát biểu đơn giản bằng đồ thị

Ta thêm các phát biểu sau cho cùng một subject:

http://www.example.org/index.html has a creation-date whose value is August 16, 1999 http://www.example.org/index.html has a language whose value is English

Được phân ra thành các thành phần sau:

http://www.example.org/ind

ex.html

http://purl.org/dc/elements/1.1/c reator

http://www.example.org/staffi d/85740

http://www.example.org/ind

ex.html

http://www.example.org/terms/c reation-date

August 16, 1999

http://www.example.org/ind

ex.html

http://purl.org/dc/elements/1.1/l anguage

English

Lúc này các phát biểu cùng được biểu diễn dưới một đồ thị như sau:

Hình 1.8: Biểu diễn nhiều phát biểu cho cùng một subject

Mô hình trên chỉ ra rằng các đối tượng trong phát biểu RDF có thể là một URI hoặc là một giá trị Literal Ở hình trên ta dùng hình oval để biểu diễn một resource là một URI, và dùng hình chữ nhật để biểu diễn một resource là một giá trị Literal

1.2.2.3.3 Literal

Literal được sử dụng để biểu diễn các giá trị như con số, ngày tháng, chuỗi Bất cứ cái gì có thể biểu diễn bởi một giá tri Literal cũng có thể được biểu diễn dưới dạng một URI

Trang 22

Một Literal có thể là object của một phát biểu nhưng không thể là subject hay là predicate

Literal có hai kiểu sau: plain literal hay là typed literal:

• Một plain Literal là một chuỗi được kết hợp với một tag tùy ý Trong ngôn ngữ tự nhiên ta có thể gọi nó là một kiểu text

Ví dụ sau:

Hình 1.9: Plain Literal biểu diễn cho tuổi của Mr John

Ví dụ trên mô tả tuổi của Mr John Smith là 27 Ở đây ta biểu diễn tuổi của Mr John Smith là một kiểu plain literal Giá trị 27 ở đây chỉ là một chuỗi gồm 2 ký tự "2"

và "7" Nhưng nếu ta muốn biểu diễn nó là một con số, một số nguyên thì phải làm như thế nào đây? Bằng cách dùng kiểu typed literal chúng ta sẽ có được cách định nghĩa mà chúng ta muốn

• Một typed literal được hình thành bằng cách kết hợp một chuỗi với một định danh URI để biểu diễm một kiểu dữ liệu đặc biệt nào nó Kết quả trả về là một node trong đồ thị tương tự như kiểu literal Kiểu giá trị được biểu diễn bằng typed literal sẽ được ánh xạ đến kiểu giá trị đặc biệt mà ta đã khai báo thông qua URI Ở ví dụ trên, khi biểu diễn tuổi của Mr John là kiểu số nguyên thì ta sẽ có cách khai báo như sau:

Subject http://www.example.org/staffid/85740

Predicate http://www.example.org/terms/age

Object "27"^^<http://www.w3.org/2001/XMLSchema#integer>

Và được biểu diễn thành đồ thị như sau:

Hình 1.10: KiểuTyped Literal biểu diễn cho tuổi của Mr John

Tương tự như vậy ở ví dụ trên ta có thể dùng kiểu dữ liệu ngày tháng

Subject http://www.example.org/staffid/85740

Predicate http://www.example.org/terms/creation-age

Object "27"^^<http://www.w3.org/2001/XMLSchema#integer>

Trang 23

Hình 1.11: Typed Literal biểu diễn cho ngày tháng

Đôi khi không thuận tiện để biểu diễn các phát biểu dưới dạng đồ thị, ta có thể dùng cách viết dưới dạng tripple Ta có thể viết lại như sau:

Ta có thể dùng một số QName sau đây:

prefix ex:, namespace URI: http://www.example.org/ hay

http://www.example.com/

prefix exterms:, namespace URI: http://www.example.org/terms/

prefix exstaff:, namespace URI: http://www.example.org/staffid/

Và ví dụ trên được viết lại như sau:

ex:index.html exterms:creation-date "August 16, 1999"

ex:index.html dc:language "en"

Và ví dụ trên được viết lại dưới dạng QName như sau:

exstaff:85740 exterms:age "27"^^xsd:integer

ex:index.html exterms:creation-date "1999-08-16"^^xsd:date

Như vậy ta thấy rằng việc khai báo các URI thông qua một QName sẽ rất thuận lợi, nó làm cho các URI này ngắn gọn và dễ hiểu Hơn nữa khi có một thay đổi về URI thì ta chỉ việc thay đổi ở phần namespace mà chúng ta đã khai báo chứ không cần phải thay đổi tất cả URI trong bộ dữ liệu của mình

1.2.2.4 Cấu trúc RDF/XML

1.2.2.4.1 Cú pháp RDF/XML cơ bản

Mô hình RDF thể hiện một mô hình ở mức trừu tượng để định nghĩa meta data

Cú pháp RDF được dùng để tạo ra và trao đổi meta data RDF dựa trên cú pháp XML

Cú pháp cơ bản của RDF có dạng như sau:

Trang 24

[1] RDF ::= ['<rdf:RDF>'] description* ['</rdf:RDF>']

[2] description ::= '<rdf:Description' idAboutAttr? '>' propertyElt* '</rdf:Description>'

[3] idAboutAttr ::= idAttr | aboutAttr

[4] aboutAttr ::= 'about="' URI-reference '"'

[5] idAttr ::= 'ID="' IDsymbol '"'

[6] propertyElt ::= '<' propName '>' value '</' propName '>'| '<' propName resourceAttr '/>' [7] propName ::= Qname

[8] value ::= description | string

[9] resourceAttr ::= 'resource="'tham chiếu URI'"'

[10] Qname ::= [ NSprefix ':' ] name

[11] URI-reference ::= string, interpreted per [URI]

[12] IDsymbol ::= (bất kỳ ID nào hợp lệ nào của XML)

[13] name ::= (bất kỳ tên hợp lệ nào của XML)

[14] NSprefix ::= (bất kỳ tiếp đầu ngữ namespace hợp lệ nào)

[15] string ::= (bất kỳ chuỗi nào)

Ví dụ : Xét phát biểu

ex:index.html exterms:creation-date "August 16, 1999"

Cú pháp RDF/XML để biểu diễn cho phát biểu trên như sau:

Dòng 2 và 3: bắt đầu với thẻ rdf:RDF, cho biết rằng nội dung XML tiếp theo

mô tả RDF Từ khóa này xác định tài liệu này được biểu diễn dưới dạng RDF Tiếp theo là phần khai báo XML namespace được sử dụng trong tài liệu, tùy vào nhu cầu và mục đích sử dụng mà ta có thể dùng các namespace khác nhau cho từng tài liệu

Dòng 4, 5, 6: mô tả những mệnh đề RDF Để mô tả bất kỳ phát biểu nào dạng

RDF/XML có thể dùng rdf:Description, và rdf:about, đây chính là subject của phát biểu (about http://www.example.org/index.html) Thẻ bắt đầu rdf:Description trong

dòng 4 cho biết bắt đầu mô tả về một resource và tiếp tục định danh resource này dùng

thuộc tính rdf:about để chỉ ra URI của subject resource Dòng 5 cung cấp 1 phần tử thuộc tính, với Qname exterms:creation-date như là thẻ của nó Nội dung của phần tử

thuộc tính này là object của statement, có giá trị kiểu plain literal "August 19, 1999"

Dòng 7: cho biết kết thúc của thẻ rdf:RDF bắt đầu ở dòng 2 và cũng là thẻ kết thúc của tài liệu RDF

Như vậy ta đã biết làm thế nào để khai báo một tài liệu RDF Trong tài liệu RDF, tất cả các phần tử có tiếp đầu ngữ là rdf được dùng để mô tả tài nguyên Chúng

Trang 25

sử dụng một không gian tên được tổ chức W3C qui định:

http://www.w3.org/1999/02/22-rdf-syntax-ns#

Ở ví dụ trên ta chỉ mô tả tài liệu cho một phát biểu đơn giản, với một tài liệu gồm nhiều phát biểu, việc mô tả nó cũng thật sự đơn giản:

Ví dụ với 2 phát biểu :

ex:index.html exterms:creation-date "August 16,1999"

ex:index.html dc:language "en"

Cú pháp RDF được mô tả như sau:

Như vậy với một phát biểu ta có thể dùng từ khóa rdf:Description để mô tả cho

nó Tuy nhiên ta thấy 3 phát biểu trên có cùng một subject

(http://www.example.org/index.html) nên ta có thể gộp 3 phát biểu này lại với nhau

dùng một thẻ rdf:Description chung như sau:

Trang 26

nhiều loại (types) và nhiều thuộc tính (properties) tích hợp sẵn giúp chúng ta mô tả được những nhóm như vậy Tuy nhiên RDF cũng cung cấp một kiểu khai báo là container, dùng để lưu danh sách các tài nguyên hoặc các kiểu giá trị (chuỗi các ký tự,

kí số, …) Những members của 1 container có thể là các resources (gồm cả các blank nodes) hay là các literals

Mô hình Container

RDF định nghĩa 3 loại đối tượng container: Bag, Sequence, và Alternative Bag là danh sách không có thứ tự của các tài nguyên hoặc các giá trị Nó được dùng để khai báo thuộc tính có nhiều giá trị và thứ tự của những giá trị này không cần quan tâm đến Bag cho phép những giá trị có thể trùng lặp nhau

Sequence là danh sách có thứ tự của các tài nguyên hoặc các giá trị Nó được dùng để khai báo thuộc tính có nhiều giá trị và thứ tự của những giá trị này cần được quan tâm đến Chẳng hạn như dùng Sequence để lưu trữ các giá trị theo thứ tự bảng chữ cái Sequence cho phép những giá trị có thể trùng lặp nhau

Alternative là một danh sách các tài nguyên hoặc các giá trị, được dùng để biểu diễn các giá trị lựa chọn của một thuộc tính

Để biểu diễn một tập hợp các tài nguyên, RDF dùng một tài nguyên mới để xác định một tập tài nguyên cần được biểu diễn Tài nguyên mới này phải được khai báo như là một thể hiện của một trong các loại đối tượng container được đề cập ở trên Thuộc tính type được dùng để khai báo loại đối tượng container được sử dụng Mối quan hệ thành viên giữa container và các tài nguyên của tập hợp được xác định bằng những tên đơn giản như : "_1", "_2", "_3" …

Trang 27

Ví dụ 2: Xét phát biểu sau:

"The source code for X11 may be found at ftp.example.org, ftp1.example.org, or

ftp2.example.org"

Ta dùng rdf:Alt để mô tả như hình sau :

Hình 1.13: Mô tả một Alt container đơn giản

Cú pháp Container

Cú pháp một RDF container có dạng như sau:

[16] container ::= sequence | bag | alternative

[17] sequence ::= '<rdf:Seq' idAttr? '>' member* '</rdf:Seq>'

[18] bag ::= '<rdf:Bag' idAttr? '>' member* '</rdf:Bag>'

[19] alternative ::= '<rdf:Alt' idAttr? '>' member+ '</rdf:Alt>'

[20] member ::= referencedItem | inlineItem

[21] referencedItem ::= '<rdf:li' resourceAttr '/>'

[22] inlineItem ::= '<rdf:li>' value '</rdf:li>'

Container được dùng bất kỳ nơi nào mà một description có thể được dùng:

[1a] RDF ::= '<rdf:RDF>' obj* '</rdf:RDF>'

[8a] value ::= obj | string

[23] obj ::= description | container

Vì tài liệu RDF ở [1a] được dùng để mô tả nhiều obj, mà obj có thể là description hoặc container

Ta biểu diễn hai ví dụ trên dưới dạng cú pháp RDF/XML như sau:

Trang 28

rdf:_1, rdf:_2, … được phát sinh từ những yếu tố rdf:li khi hình thành lược đồ tương

ứng Chú ý rằng việc sử dụng <rdf:Bag> được đặt bên trong <s:students> Vì không có URI được ghi rõ nên Bag là một blank node Việc đặt nó trong thuộc tính <s:students>

là một cách viết tắt để cho biết rằng blank node là giá trị của thuộc tính này

Cũng dùng trong mục đích định nghĩa ra những tập hợp Nhưng RDF container

là định nghĩa một tập hợp mở, vì nó không báo rằng không còn có thêm những thành viên mới nữa Trong khi đó, RDF collection cho phép khai báo một tập hợp đóng Cấu

trúc của RDF Collection tương tự như một danh sách, có phần tử đầu (rdf:first), phần

tử kế (rdf:rest)và phần tử cuối(rdf:nil)

Xét phát biểu sau:

"The students in course 6.001 are Amy, Mohamed, and Johann"

Được biểu diễn dưới đồ thị như sau:

Trang 29

Hình 1.14: Mô tả một RDF: Collection

Ở đồ thị trên ta thấy với mỗi thành viên của danh sách, ví dụ như s:Amy, là subject của thuộc tính rdf:first mà subject của nó là một resource (một blank node đối

với ví dụ này) mà nó biểu diễn như một danh sách Danh sách này liên kết với phần

còn lại của nó bằng thuộc tính rdf:rest Phần tử cuối cùng của danh sách được chỉ bởi thuộc tính rdf:rest có resource là rdf:nil (là một danh sách trống)

Ví dụ trên được biểu diễn dưới cú pháp RDF/XML như sau:

Trang 30

Tuy nhiên RDF/XML cung cấp một cách định nghĩa để mô tả một tập hợp, bằng cách sử dụng một thuộc tính có attribute là rdf:parseType=”Collection” Ta có thể viết lại ví dụ trên một cách ngắn gọn hơn như sau:

Cả hai là cơ cấu để chúng ta đặc tả cấu trúc của các XML document Chúng ta

có thể xác minh tính hợp lệ của các document đối với cấu trúc được mô tả trước bởi một DTD hay XML Schema

Các DTD chỉ cung cấp một luật cấu trúc đơn giản, chúng mô tả các element được phép xếp lồng vào nhau, các giá trị có thể có của element và những nơi text (văn bản) được phép Ví dụ một DTD có thể ra luật mỗi element Person phải có một attribute name và có thể có một element con được gọi là phone, những nội dung của chúng phải là dạng text Cú pháp của DTDs trông khá bất tiện, nhưng nó thực sự rất đơn giản

Các XML Schema là bản nâng cấp của DTDs XML Schema có nhiều thuận lợi hơn DTDs Trước tiên, cơ cấu XML Schema cung cấp ngữ pháp phong phú cho việc

mô tả cấu trúc các element Ví dụ, chúng ta có thể đặc tả chính xác các thể hiện của element con, chúng ta có thể đặc tả giá trị mặc định và đặt các element vào trong một nhóm được lựa chọn, điều này có nghĩa là một trong các element của nhóm được phép

ở tại một nơi cụ thể Kế đến XML Schema cung cấp kiểu dữ liệu

Trong ví dụ ở đoạn trước, chúng ta có thể qui định nội dung của element phone

là 5 số, có thể đặt trước 5 số vào giữa ngoặc đơn Sự thuận tiện ở chỗ XML Schema cung cấp cơ cấu kế thừa và gộp vào, cho phép chúng ta tái sử dụng các định nghĩa (definitions) element thông thường và mô phỏng theo các định nghĩa đang tồn tại

Sự khác biệt cuối cùng đối với DTD là các luật XML Schema dùng XML như

cú pháp mã hóa, làm đơn giản hóa các công cụ phát triển vì cả luật cấu trúc (Structure

Trang 31

Prescription) và đặc tả tài liệu (prescribed documents) sử dụng cùng cú pháp Các nhà phát triển đặc tả XML Schema tìm thấy điểm này bằng cách sử dụng một tài liệu XML Schema để định nghĩa lớp (class) của các XML Schema document Sau cùng, vì một XML Schema rescription (luật) là một ứng dụng XML, nó phải tuân theo các luật cho cấu trúc của nó, mà các luật này được định nghĩa bởi một XML Schema prescription Tuy nhiên, cách định nghĩa đệ qui này khá rối

1.2.3.2 RDF schema

Cơ bản, RDF Schema là một hệ thống kiểu đơn giản cho RDF Nó cung cấp một cơ cấu để xác định các thuộc tính có miền giá trị cụ thể và các lớp tài nguyên để chúng ta áp dụng cho những thuộc tính này

Mô hình cơ bản ban đầu trong RDF Schema là các định nghĩa lớp và lớp con (class & subclass), thuộc tính và thuộc tính con (property & subproperty), domain và range của các statement - để giới hạn các kết hợp có thể có giữa các lớp và thuộc tính,

và các trình bày kiểu (để khai báo một tài nguyên như một thực thể của một lớp cụ thể) Ban đầu, chúng ta có thể xây dựng một lược đồ (schema) cho một miền giá trị cụ thể Ví dụ, chúng ta có thể khai báo hai lớp tài nguyên Person và Webpage và hai thuộc tính name và phone có miền giá trị Person và phạm vi literal

Chúng ta có thể dùng lược đồ này để xác định tài nguyên http://www.w3c.org/

là một thực thể Webpage và tài nguyên nặc danh (anonymous resource) là một thực thể của Person Ngoài ra, điều này sẽ giải thích cũng như kiểm định giá trị đối với dữ liệu RDF

RDF Schema khá đơn giản so với các ngôn ngữ biểu diễn tri thức khác RDF Schema cũng không cung cấp chính xác ngữ nghĩa (semantic) Tuy nhiên, sự bỏ sót này một phần là do có chủ ý W3C thấy trước và chủ trương mở rộng xa hơn đối với RDF Schema

Do đặc tả RDF Schema cũng là một kiểu metadata, chúng ta có thể dùng RDF

để mã hóa chúng Điều này chính xác với những gì thể hiện trong đặc tả RDF Schema document Hơn thế nữa, đặc tả cung cấp một RDF Schema document để xác định các thuộc tính và các lớp được mô tả Ví dụ:

Trang 32

xã hội) Giá trị của ssn là kiểu integer Tình trạng marital (hôn nhân) của Person là một trong những tình trạng: Married (lập gia đình), Divorced (ly dị), Single (độc thân), Widowed (góa)

Chúng ta sử dụng hằng số để định nghĩa thuộc tính maritalStatus và lớp MaritalStatus Sau đó, chúng ta dùng rdfs:range để chỉ rằng một thuộc tính maritalStatus chỉ có ý nghĩa khi nó có giá trị là một thực thể của lớp MaritalStatus Schema (giản đồ) định nghĩa số lượng các thực thể của lớp này

XML và RDF có những hình thức, mục đích, và vai trò trong viễn cảnh Semantic Web khác nhau, XML hướng đến cung cấp một cú pháp dễ sử dụng cho dữ liệu Web Với nó, chúng ta có thể mã hóa tất cả các kiểu dữ liệu và dùng chúng để trao đổi giữa các máy tính, sử dụng XML Schema để tạo ra luật cho cấu trúc dữ liệu Vì vậy XML trở thành ngôn ngữ nền tảng cho Semantic Web Ngày nay nhiều kỹ thuật sử dụng XML làm cú pháp thiết yếu

XML không giải thích trước về dữ liệu, vì vậy nó không đóng góp nhiều về khía cạnh ngữ nghĩa (semantic) của Semantic Web RDF cung cấp một mô hình chuẩn

để mô tả các dữ kiện về tài nguyên Web, cung cấp một số giải thích về dữ liệu RDF Schema mở rộng những giải thích này thêm

Tuy nhiên, để thực sự nhận biết được viễn cảnh Semantic Web, ta cần có thêm nhiều ngữ nghĩa về dữ liệu, những sự mở rộng & phát triển cao hơn là cần thiết Thực

sự đã có nhiều bước tiến triển theo khuynh hướng này - ví dụ, ngôn ngữ DAML+OIL (DARPA Agent Markup Language + Ontology Inference Layer) thêm các mô hình

Trang 33

nguyên thủy (modeling primitive) mới và ngữ nghĩa hình thức (formal semantic) đối với RDF Schema

1.2.4 Ontology – từ vựng biểu diễn ngữ nghĩa tài nguyên web

1.2.4.1 Giới thiệu về Ontology

Các Ontology đóng vai trò then chốt trong việc cung cấp ngữ nghĩa mà máy có thể hiểu được cho các tài nguyên của Web ngữ nghĩa Ontology là một thuật ngữ mượn từ triết học nhằm chỉ khoa học mô tả các loại thực thể trong thế giới thực và cách thức chúng liên kết với nhau Nó được nghiên cứu và phát triển bởi các nhà nghiên cứu về trí tuệ nhân tạo để mô tả một cách hình thức về một miền lĩnh vực nào

đó [4, 13, 25]

Ontology trở thành một lĩnh vực nghiên cứu phổ biến có mặt trong nhiều lĩnh vực từ xử lý ngôn ngữ tự nhiên, công nghệ tri thức, các hệ thống trao đổi, tích hợp thông tin cho đến biểu diễn và quản lý tri thức Ontology cung cấp và chia sẻ tri thức

về một domain, giúp dễ dàng giao tiếp giữa người và các hệ thống ứng dụng Ontology xây dựng để cung cấp các nguồn thông tin có ngữ nghĩa mà máy tính có thể xử lý và thao tác được nhưng đồng thời vẫn có thể giao tiếp được giữa người và máy tính

1.2.4.2 Khái niệm Ontology

Ontology là một thuật ngữ có nguồn gốc từ Triết học diễn tả các thực thể tồn tại trong tự nhiên và các mối quan hệ giữa chúng Ontology xuất hiện trong Công nghệ Thông tin, trong lĩnh vực Trí tuệ nhân tạo nhằm giải quyết vấn đề về chia sẻ và tái sử dụng tri thức Trong nhiều năm qua, đã xuất hiện nhiều khái niệm khác nhau về ontology của các tác giả Trong số những định nghĩa, định nghĩa của Gruber [20] được

tôi đánh giá là diễn tả đúng nhất về ontology: "An ontology is an explicit specification

of a conceptualization." Trong đó, thuật ngữ được giải thích cụ thể như sau:

"conceptualization" chỉ đến một mô hình trừu tượng của vài hiện tượng nào đó, dùng

để định danh các khái niệm có liên quan đến hiện tượng này "Explicit" chỉ các khái niệm và các ràng buộc được sử dụng đã được định nghĩa rõ ràng Một ontology sẽ cung cấp bộ "từ vựng" các thuật ngữ (term) và quan hệ dùng để mô hình hóa một domain

Trong khoa học máy tính và thông tin, ontology được định nghĩa là một biểu diễn hình thức cho tập hợp các khái niệm thuộc một lĩnh vực nào đó và quan hệ giữa những khái niệm này Nói cụ thể hơn, ontology cung cấp một bộ từ vựng chung dùng

để mô tả một lĩnh vực – nghĩa là một loại đối tượng hay khái niệm hiện hữu, cùng với các thuộc tính và quan hệ giữa chúng – và lời đặc tả cho nghĩa của những từ trong bộ

từ vựng Dựa vào độ chính xác của đặc tả này, khái niệm ontology bao gồm một số mô hình dữ liệu hay mô hình khái niệm, ví dụ, các bảng phân loại (classifications), từ điển chuyên đề (thesauri), lược đồ cơ sở dữ liệu (database schemas), lý thuyết được tiên đề hoá đầy đủ (fully axiomatized theories), v.v… Chúng thực sự là những phương tiện thiết thực để khái niệm hoá những thứ cần được biểu diễn theo định dạng của máy tính

Trang 34

1.2.4.3 Vai trò của Ontology

Những phân tích dưới đây cho thấy vai trò của Ontology trong các ứng dụng dựa trên Web ngữ nghĩa

 Chia sẻ sự hiểu biết chung giữa các ứng dụng và con người với nhau: Nếu các hệ thống cùng chia sẻ chung một ontology bên dưới thì dữ liệu do con người nhập vào tại hệ thống này sau khi được xử lý thông qua ontology có thể được tổng hợp, phân tích tại một hệ thống khác và cung cấp thông tin cho người khác

 Cho phép sử dụng lại tri thức về một lĩnh vực: Sau khi xây dựng một ontology cho một lĩnh vực, những người khác có thể tái sử dụng và mở rộng, làm giàu thêm cho nó Hoặc cũng có thể tích hợp những ontology có sẵn để mô tả nhiều phần của một ontology về một lĩnh vực lớn

 Đưa ra các giả thiết rõ ràng về miền (giả thiết thuộc chuyên ngành): Việc sử dụng một ontology ở bên dưới thay vì dùng ngôn ngữ lập trình sẽ giúp dễ dàng thay đổi những giả định thuộc chuyên ngành khi kiến thức về lĩnh vực này của chúng ta thay đổi Nếu những giả định này được viết bằng ngôn ngữ lập trình thì sẽ gây khó hiểu và khó thay đổi, sửa chữa nhất là đối với những người không phải là chuyên gia lập trình

 Phân tích và suy luận tri thức chuyên ngành: vì những thuật ngữ, khái niệm cũng như các mối quan hệ giữa chúng đề được khai báo, đặc tả trong ontology với cấu trúc có thể suy luận được theo ngữ nghĩa

1.2.4.4 Các thành phần của Ontology

Các ontology hiện nay đều có nhiều điểm tương tự về mặt cấu trúc, bất kể ngôn ngữ được dùng để biểu diễn Hầu hết các ontology đều mô tả các đối tượng (thể hiện), lớp (khái niệm), thuộc tính và các quan hệ

1.2.4.4.1 Cá thể

Cá thể (hay thể hiện) là thành phần cơ bản, "mức nền" của một ontology Các

cá thể trong một ontology có thể bao gồm các đối tượng rời rạc như con người, con thú, xe, nguyên tử, hành tinh, trang web, cũng như các đối tượng trừu tượng như con

số và từ (mặc dù có một vài khác biệt về ý kiến liệu các con số và từ là lớp hay là đối tượng) Nói đúng ra, một ontology không cần chứa bất cứ cá thể nào, nhưng một trong những mục đích chung của ontology là cung cấp một phương tiện để phân loại các đối tượng, ngay cả khi các đối tượng này không phải là một phần rõ ràng của ontology

1.2.4.4.2 Lớp

Lớp – khái niệm – có thể được định nghĩa theo cách bên ngoài hay bên trong Theo định nghĩa bên ngoài, chúng là những nhóm, bộ hoặc tập hợp các đối tượng Theo định nghĩa bên trong, chúng là các đối tượng trừu tượng được định nghĩa bởi giá trị của các mặt ràng buộc khiến chúng phải là thành viên của một lớp khác Lớp có thể phân loại các cá thể, các lớp khác, hay một tổ hợp của cả hai Một số ví dụ của lớp:

• Person, lớp của tất cả con người, hay các đối tượng trừu tượng có thể được mô

tả bởi các tiêu chuẩn làm một con người

Trang 35

• Vehicle, lớp của tất cả xe cộ, hay các đối tượng trừu tượng có thể được mô tả bởi các tiêu chuẩn làm một chiếc xe

• Car, lớp của tất cả xe hơi, hay các đối tượng trừu tượng có thể được mô tả bởi các tiêu chuẩn làm một chiếc xe hơi

• Class, biểu diễn lớp tất cả các lớp, hay các đối tượng trừu tượng có thể được

mô tả bởi các tiêu chuẩn để làm một lớp

• Thing, biểu diễn lớp tất cả mọi thứ, hay các đối tượng trừu tượng có thể được

mô tả bởi các tiêu chuẩn để làm một thứ gì đó (và không phải không-là- gì cả)

Một lớp có thể gộp nhiều lớp hoặc được gộp vào lớp khác; một lớp xếp gộp vào lớp khác được gọi là lớp con (hay kiểu con) của lớp gộp (hay kiểu cha) Ví dụ, Vechicle gộp Car, bởi vì bất cứ thứ gì là thành viên của lớp sau cũng đều là thành viên của lớp trước Quan hệ xếp gộp được dùng để tạo nên một cấu trúc phân cấp các lớp, thông thường có một lớp tổng quát lớn nhất chẳng hạn Anything nằm ở trên cùng và những lớp rất cụ thể như 2002 Ford Explorer nằm ở dưới cùng Hệ quả cực kỳ quan trọng của quan hệ xếp gộp là tính kế thừa của các thuộc tính từ lớp cha đến lớp con

Do vậy, bất cứ thứ gì hiển nhiên đúng với một lớp cha cũng hiển nhiên đúng với các lớp con của nó Trong một số ontology, một lớp chỉ được cho phép có một lớp cha, nhưng trong hầu hết các ontology, các lớp được cho phép có một số lượng lớp cha bất

kỳ và trong trường hợp sau tất cả các thuộc tính hiển nhiên của từng lớp cha được kế thừa bởi lớp con Do đó một lớp cụ thể của lớp thú (HouseCat) có thể là một con của lớp Cat và cũng là một con của lớp Pet

1.2.4.4.3 Thuộc tính

Các đối tượng trong một ontology có thể được mô tả bằng cách liên hệ chúng với những thứ khác, thường là các mặt hay bộ phận Những thứ được liên hệ này thường được gọi là thuộc tính, mặc dù chúng có thể là những thứ độc lập Một thuộc tính có thể là một lớp hay một cá thể Kiểu của đối tượng và kiểu của thuộc tính xác định kiểu của quan hệ giữa chúng Một quan hệ giữa một đối tượng và một thuộc tính biểu diễn một sự kiện đặc thù cho đối tượng mà nó có liên hệ Ví dụ đối tượng Ford Explorer có các thuộc tính như:

• <có tên> Ford Explorer

• <có bộ phận> door (với số lượng tối thiểu và tối đa: 4)

• <có một trong các bộ phận> {4.0L engine, 4.6L engine}

• <có bộ phận> 6-speed transmission

Giá trị thuộc tính có thể thuộc kiểu dữ liệu phức; trong ví dụ này, động cơ liên

hệ chỉ có thể là một trong số các dạng con của động cơ, chứ không phải là một cái đơn

lẻ

Các ontology chỉ mang đầy đủ ý nghĩa nếu các khái niệm có liên hệ với các khái niệm khác (các khái niệm đều có thuộc tính) Nếu không rơi vào trường hợp này, thì hoặc ta sẽ có một phân loại (nếu các quan hệ bao hàm tồn tại giữa các khái niệm)

Trang 36

hoặc một từ điển có kiểm soát Những thứ này đều hữu ích nhưng không được xem là ontology

• Ford Explorer được định nghĩa là một con của: Ford Bronco

Điều này cho ta biết Explorer là mô hình thay thế cho Bronco Ví dụ này cũng minh họa rằng quan hệ có cách phát biểu trực tiếp Phát biểu ngược biểu diễn cùng một sự kiện nhưng bằng một ngữ nghịch đảo trong ngôn ngữ tự nhiên

Phần lớn sức mạnh của ontolgy nằm ở khả năng diễn đạt quan hệ Tập hợp các quan hệ cùng nhau mô tả ngữ nghĩa của domain Tập các dạng quan hệ được sử dụng (lớp quan hệ) và cây phân loại thứ bậc của chúng thể hiện sức mạnh diễn đạt của ngôn ngữ dùng để biểu diễn ontology

Hình 1.15: Một Ontology biểu diễn quan hệ của xe cộ

superclass-of, hay ngược lại, "là dạng con của" – is-a-subtype-of – hay "là lớp con của" – is-a-subclass-of) Nó định nghĩa đối tượng nào được phân loại bởi lớp nào

Ví dụ, ta đã thấy lớp Ford Explorer là lớp con của 4-Wheel Drive Car và lớp 4- Wheel Drive Car lại là lớp con của Car

Sự xuất hiện của quan hệ "là lớp con của" tạo ra một cấu trúc phân cấp thứ bậc; dạng cấu trúc cây này (hay tổng quát hơn, là tập có thứ tự từng phần) mô tả rõ ràng cách thức các đối tượng liên hệ với nhau Trong cấu trúc này, mỗi đối tượng là "con" của một "lớp cha" (Một số ngôn ngữ giới hạn quan hệ là lớp con của trong phạm vi một cha cho mọi nút, nhưng đa số thì không như thế)

Một dạng quan hệ phổ biến khác là quan hệ meronymy, gọi là "bộ phận của", biểu diễn làm thế nào các đối tượng kết hợp với nhau đề tạo nên đối tượng tổng hợp

Ví dụ, nếu ta mở rộng ontology trong ví dụ để chứa thêm một số khái niệm như Steering Wheel (vô lăng), ta sẽ nói rằng "Vô lăng được định nghĩa là một bộ phận của Ford Explorer" vì vô lăng luôn luôn là một trong những bộ phận của xe Ford Explorer Nếu đưa quan hệ meronymy vào ontology này, ta sẽ thấy rằng cấu trúc cây đơn giản

Trang 37

và nhẹ nhàng trước đó sẽ nhanh chóng trở nên phức tạp và cực kỳ khó hiểu Điều này không khó lý giải; một lớp nào đó được mô tả rằng luôn luôn có một thành viên là bộ phận của một thành viên thuộc lớp khác thì lớp này cũng có thể có một thành viên là

bộ phận của lớp thứ ba Kết quả là các lớp có thể là bộ phận của nhiều hơn một lớp Cấu trúc này được gọi là đồ thị chu trình có hướng

Ngoài những quan hệ chuẩn như "là lớp con của" và "được định nghĩa là bộ phận của", ontology thường chứa thêm một số dạng quan hệ làm trau chuốt hơn ngữ nghĩa mà chúng mô hình hóa Ontology thường phân biệt các nhóm quan hệ khác nhau Ví dụ nhóm các quan hệ về:

Ví dụ, trong lĩnh vực xe ô tô, ta cần quan hệ "được sản xuất tại" để cho biết xe được lắp ráp tại chỗ nào Như vậy, Ford Explorer được sản xuất tại Louisville Ontology có thể cũng biết được Louisville "tọa lạc tại" Kentucky và Kentucky "được định nghĩa là" một bang và "là bộ phận của" Hoa Kỳ Phần mềm sử dụng ontology này

sẽ có thể trả lời một câu hỏi như "những xe hơi nào được sản xuất tại Hoa Kỳ?"

1.2.4.5 Ngôn ngữ OWL

Từ những năm 90, nhiều ngôn ngữ ontology đã ra đời, những ngôn ngữ này xuất phát từ lĩnh vực Trí tuệ nhân tạo Chúng được gọi là những ngôn ngữ truyền thống (Traditional Ontology Language) để phân biệt với những ngôn ngữ mới hơn ra đời sau thuộc về nhóm ngôn ngữ đánh dấu ontology (Ontology Markup Language) CycL là một trong những ngôn ngữ ra đời đầu tiên phục vụ cho việc xây dựng ontology Cyc

Với sự phát triển nhanh chóng của Internet, những ngôn ngữ ontology với nền tảng là ngôn ngữ web ra đời Cú pháp của chúng dựa vào các ngôn ngữ đánh dấu (markup language) đã tồn tại sẵn đó là HTML, hay XML (những ngôn ngữ đánh dấu này vốn ra đời với mục đích không phải là thể hiện ontology mà được dùng để thể hiện

dữ liệu và trao đổi dữ liệu)

Trang 38

Hình 1.16: Các ngôn ngữ đánh dấu ontology

SHOE do nhóm tác giả Luke và Hefin đề xuất có thể xem như là ngôn ngữ đánh dấu ontology đầu tiên Ngôn ngữ này được xây dựng dựa trên HTML, nhưng sử dụng các thẻ khác nhờ đó cho phép thêm ontology vào các tài liệu HTML (các thẻ này không được định nghĩa trong ngôn ngữ HTML nên những gì thêm vào sẽ không hiển lên trên trình duyệt web) Sau này SHOE được chuyển qua sử dụng trên nền XML

RDF được đề xuất bởi Lassila và Swick, ngôn ngữ này được phát triển tại W3C (World Wide Web Consortium) Đây là ngôn ngữ tạo ra các siêu dữ liệu (metadata) để

mô tả các tài nguyên web Sau đó, RDF Schema (RDFS) do Brickley và Guha đưa ra như là một bản mở rộng của RDF

Dựa trên RDF, lần lượt ba ngôn ngữ khác xuất hiện như là những ngôn ngữ mở rộng của RDF: OIL, DAML+OIL và OWL OIL ra đời năm 2000 do Horrocks và các đồng sự đề xuất, sau đó Horrocks và van Harmelen đưa ra DAML+OIL vào năm 2001 Cuối cùng là OWL, ra đời vào năm 2003 do Dean và Schreiber đề xuất Đây là kết quả của nhóm nghiên cứu Web-Ontology (WebOnt) do W3C thành lập vào năm 2001, mục tiêu của nhóm là nghiên cứu và phát triển một ngôn ngữ đánh dấu mới dành cho web ngữ nghĩa OWL có hầu hết các chức năng của DAML+OIL

OWL (The Web Ontology Language) là một ngôn ngữ đánh dấu dùng để xuất bản và chia sẻ dữ liệu trên Internet thông qua những mô hình dữ liệu gọi là "ontology" Ontology mô tả một lĩnh vực và diễn tả những đối tượng trong lĩnh vực đó cùng những mối quan hệ giữa các đối tượng này OWL là phần mở rộng về từ vựng của RDF và được kế thừa từ ngôn ngữ DAML+OIL Web ontology – một dự án được hỗ trợ bởi W3C OWL biểu diễn ý nghĩa của các thuật ngữ trong các từ vựng và mối liên hệ giữa các thuật ngữ này để đảm bảo phù hợp với quá trình xử lý bởi các phần mềm

OWL được xem như là một kỹ thuật trọng yếu để cài đặt cho Semantic Web trong tương lai OWL được thiết kế đặc biệt để cung cấp một cách thức thông dụng trong việc xử lý nội dung thông tin của Web Ngôn ngữ này được kỳ vọng rằng sẽ cho phép các hệ thống máy tính có thể đọc được thay thế cho con người Vì OWL được viết bởi XML, các thông tin OWL có thể dễ dàng trao đổi giữa các kiểu hệ thống máy tính khác nhau, sử dụng các hệ điều hành và các ngôn ngữ ứng dụng khác nhau Mục đích chính của OWL là sẽ cung cấp các chuẩn để tạo ra một nền tảng để quản lý tài sản, tích hợp mức danh nghiệp và để chia sẻ cũng như tái sử dụng dữ liệu trên Web OWL được phát triển vì nó có nhiều tiện lợi để biểu diễn ý nghĩa và ngữ nghĩa hơn so

Trang 39

với XML, RDF và RDFS, và vì OWL ra đời sau các ngôn ngữ này, nó có khả năng biểu diễn các nội dung mà máy tính có thể biểu diễn được trên Web

OWL cung cấp 3 ngôn ngữ con với cấp độ diễn đạt tăng dần như sau:

OWL Lite hỗ trợ cho những người dùng chủ yếu cần một cây phân cấp và một

số đặc tính ràng buộc cơ bản

OWL DL hỗ trợ cho những người dùng muốn biểu đạt tối đa ngữ nghĩa OWL

DL bao gồm tất cả các cấu trúc của ngôn ngữ OWL với các giới hạn như là phân chia kiểu (một lớp không thể là một thể hiện hay là một thuộc tính)

OWL Full phục vụ cho người dùng muốn biểu đạt tối đa ngữ nghĩa và tính tự

do trong cấu trúc của RDF mà không có bất kỳ sự đảm bảo nào trong tính toán Ví dụ, trong OWL Full, một lớp có thể lớp vừa là một tập các thể hiện lại vừa có thể là một thể hiện

1.2.4.6 Các bước thiết kế một Ontology

Hiện nay chưa có một quy trình phát triển ontology thống nhất trong cộng đồng, để phát triển các ontologies Trong luận văn tôi áp dụng một quy trình được áp dụng tương đối phổ biến hiện nay là quy trình phát triển gồm 7 bước [28] của nhóm tác giả Natalya F Noy and Deborah L McGuinness thuộc tổ chức Stanford Center for Biomedical Informatics Research đưa ra (nhóm phát triển phần mềm Protege để trình diễn và soạn thảo ontology)

Bước 1: Xác định lĩnh vực và phạm vi của ontology

Trong bước này giống như những bước đặc tả khác, đặc tả ontology bắt đầu bằng việc trả lời những câu hỏi mang tính phân tích để nhận diện chính xác các yêu cầu Thông thường, các yêu cầu đối với một hệ thống ontology là mô tả lĩnh vực quan tâm nhằm phục vụ cơ sở tri thức trong việc giải quyết những mục đích chuyên biệt Do

đó những câu hỏi này thường là:

 Ontology cần mô tả lĩnh vực, phạm vi nào?

 Ontology phục vụ cho mục đích chuyên biệt gì?

 Cơ sở tri thức trong ontology sẽ trả lời những câu hỏi gì?

 Ontology nhằm phục vụ cho đối tượng nào?

 Ai sẽ là người xây dựng, quản trị ontology?

Bước 2: Xem xét việc kế thừa (sử dụng lại) các ontology có sẵn

Đây là bước thường được sử dụng để giảm thiểu công sức xây dựng một ontology Bằng cách kế thừa các ontology tương tự có sẵn, người xây dựng có thể thêm hoặc bớt các lớp, quan hệ giữa các lớp, thực thể…để chỉnh sửa tuỳ theo mục đích của mình Ngoài ra việc sử dụng lại các ontology có sẵn cũng rất quan trọng khi cần sự tương tác giữa các ứng dụng khác nhau Vì các ứng dụng sẽ cần phải hiểu các lớp thực thể, quan hệ,… của nhau để thuận tiện trong việc trao đổi hoặc thống nhất thông tin

Để xây dựng được một ontology mới bằng cách kế thừa các hệ thống có sẵn sẽ

là một bài toán rất phức tạp, đó là trộn các ontology Như chúng ta biết, tên các khái niệm được định nghĩa trong các ontology này có thể giống nhau trong khi chúng được

Ngày đăng: 25/03/2015, 10:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Vũ Quốc Hưng, Đào Việt Cường, Lê Ngọc Tú, Nghiên cứu các điều kiện triển khai hệ thống đào tạo điện tử (ELEARNING) (Tháng 3/2006), Trường Đại học Sư phạm Hà Nội, Trung tâm Công nghệ thông tin Sách, tạp chí
Tiêu đề: Nghiên cứu các điều kiện triển khai hệ thống đào tạo điện tử (ELEARNING)
[2]. Phạm Minh Cường (2011), Nghiên cứu hệ thống elearning, xây dựng Trung Tâm đào tạo và giáo trình điện tử trên nền chuẩn SCORM, Luận văn tốt nghiệp, Trường Đại học Công nghệ thông tin, Đại học Quốc Gia TP Hồ Chí Minh Sách, tạp chí
Tiêu đề: Nghiên cứu hệ thống elearning, xây dựng Trung Tâm đào tạo và giáo trình điện tử trên nền chuẩn SCORM
Tác giả: Phạm Minh Cường
Năm: 2011
[3]. Vũ Bội Hằng (2005), Phát hiện quan hệ ngữ nghĩa Nguyên nhân-Kết quả từ các văn bản, Luận văn cao học, Trường Đại học Công nghệTiếng Anh Sách, tạp chí
Tiêu đề: Phát hiện quan hệ ngữ nghĩa Nguyên nhân-Kết quả từ các văn bản
Tác giả: Vũ Bội Hằng
Năm: 2005
[4]. Asunción Gómez-Pérez and Oscar Corcho, Ontology Languages for the Semantic Web, p.54-59, IEEE INTELLIGENT SYSTEMS,http://www.computer.org/portal/web/computingnow/intelligentsystems Sách, tạp chí
Tiêu đề: Ontology Languages for the Semantic Web
[5]. Barker, Ph. (2000), Designing Teaching Webs: Advantages, Problems and Pitfalls, Educational Multimedia, Hypermedia &amp; Telecommunication, Association for the Advancement of Computing in Education Sách, tạp chí
Tiêu đề: Designing Teaching Webs: Advantages, Problems and Pitfalls
Tác giả: Barker, Ph
Năm: 2000
[6]. Bray, Tim (1999), XML Namespaces by Example, http://www.xml.com/pub/a/1999/01/namespaces.html Sách, tạp chí
Tiêu đề: XML Namespaces by Example
Tác giả: Bray, Tim
Năm: 1999
[7]. Dave Beckett, R.V. Guha, RDF Vocabulary Description Language 1.0: RDF Schema, W3C Recommendation 10 February 2004,http://www.w3.org/TR/rdf-schema/ Sách, tạp chí
Tiêu đề: RDF Vocabulary Description Language 1.0: RDF Schema
[8]. Dave Beckett, RDF/XML Syntax Specification (Revised), W3C Recommendation 10 February 2004, http://www.w3.org/TR/rdf-syntax-grammar/ Sách, tạp chí
Tiêu đề: RDF/XML Syntax Specification (Revised)
[9]. Dicheva, D., Mizoguchi, R., Greer, J. (2009), Semantic Web Technologies for e-Learning, vol.4 of The Future of Learning Sách, tạp chí
Tiêu đề: Semantic Web Technologies for e-Learning
Tác giả: Dicheva, D., Mizoguchi, R., Greer, J
Năm: 2009
[10]. Fayed Ghaleb, Sameh Daoud, Ahmad Hasna, Jihad M. ALJa’am, Samir A. El- Seoud3, and Hosam El-Sofany (2006), E-Learning Model Based On Semantic Web Technology, International Journal of Computing &amp; Information Sciences, Vol. 4, No. 2, August 2006, On-Line, Pages 63 – 71 Sách, tạp chí
Tiêu đề: E-Learning Model Based On Semantic Web Technology
Tác giả: Fayed Ghaleb, Sameh Daoud, Ahmad Hasna, Jihad M. ALJa’am, Samir A. El- Seoud3, and Hosam El-Sofany
Năm: 2006
[11]. Frank Manola, Eric Miller, RDF Primer, W3C Recommendation 10 February 2004, http://www.w3.org/TR/rdf-primer/ Sách, tạp chí
Tiêu đề: RDF Primer
[12]. Graham Klyne, Jeremy J. Carroll, Resource Description Framework (RDF): Concepts and Abstract Syntax, W3C Recommendation 10 February 2004, http://www.w3.org/TR/rdf-concepts/ Sách, tạp chí
Tiêu đề: Resource Description Framework (RDF): "Concepts and Abstract Syntax
[15]. Henze, N., Dolog, P., &amp; Nejdl, W (2004), Reasoning and Ontologies for Personalized E-Learning in the Semantic Web, Educational Technology &amp;Society, 7(4), p82-97 Sách, tạp chí
Tiêu đề: Reasoning and Ontologies for Personalized E-Learning in the Semantic Web
Tác giả: Henze, N., Dolog, P., &amp; Nejdl, W
Năm: 2004
[16]. Ljiljana Stojanovic, Steffen Staab, Rudi Studer, “eLearning based on the SemanticWeb”, FZI Research Center for Information Technologies at the University of Karlsruhe, 76131 Karlsruhe, Germany Sách, tạp chí
Tiêu đề: eLearning based on the SemanticWeb
[17]. Michael Bieber, NJ Charles Kacmar (Aug. 1995), "Communications of the ACM", Volume 38, Issue 8, Pages 99-107, Designing hypertext support for computational applications Sách, tạp chí
Tiêu đề: Communications of the ACM
[18]. Neepa K. Shah (2012), E-Learning and Semantic Web, National Journal of e- Education, e-Business, e-Management and e-Learning, Vol.2, No.2, April 2012 [19]. Patrick Hayes, RDF Semantics, W3C Recommendation 10 February 2004http://www.w3.org/TR/rdf-mt/ Sách, tạp chí
Tiêu đề: E-Learning and Semantic Web", National Journal of e-Education, e-Business, e-Management and e-Learning, Vol.2, No.2, April 2012 [19]. Patrick Hayes, "RDF Semantics
Tác giả: Neepa K. Shah
Năm: 2012
[20]. Thomas R. Gruber (1995), "A translation approach to portable ontology specifications," revision, August 23, 1993 Sách, tạp chí
Tiêu đề: A translation approach to portable ontology specifications
Tác giả: Thomas R. Gruber
Năm: 1995

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Sự hình thành và phát triển của Semantic Web. - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 1.1 Sự hình thành và phát triển của Semantic Web (Trang 11)
Hình 1.2: Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 1.2 Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web (Trang 13)
Hình 1.5: Ví dụ về một RDF - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 1.5 Ví dụ về một RDF (Trang 19)
Hình 1.12: Mô tả 1 bag container đơn giản. - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 1.12 Mô tả 1 bag container đơn giản (Trang 26)
Hình 1.14: Mô tả một RDF: Collection. - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 1.14 Mô tả một RDF: Collection (Trang 29)
Hình 1.16: Các ngôn ngữ đánh dấu ontology - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 1.16 Các ngôn ngữ đánh dấu ontology (Trang 38)
Hình 3.1: Ontology mô tả các tài nguyên học tập - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 3.1 Ontology mô tả các tài nguyên học tập (Trang 58)
Hình 3.3: Mô hình các lớp dưới dạng sơ đồ - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 3.3 Mô hình các lớp dưới dạng sơ đồ (Trang 60)
Hình 3.5: Mô tả tài nguyên học ở dạng triple - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 3.5 Mô tả tài nguyên học ở dạng triple (Trang 62)
Hình 3.6: Mô hình quan niệm  3.6.3. Đặc tả dữ liệu và từ điển dữ liệu - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 3.6 Mô hình quan niệm 3.6.3. Đặc tả dữ liệu và từ điển dữ liệu (Trang 64)
Hình 3.7: Mô hình Use-Case Đăng nhập hệ thống (Học viên) - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 3.7 Mô hình Use-Case Đăng nhập hệ thống (Học viên) (Trang 68)
Hình 3.8: Mô hình Use-Case Đăng nhập hệ thống (Quản trị) - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 3.8 Mô hình Use-Case Đăng nhập hệ thống (Quản trị) (Trang 69)
Hình 3.9: Mô hình Use-Case Đăng nhập hệ thống (Giáo viên) - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 3.9 Mô hình Use-Case Đăng nhập hệ thống (Giáo viên) (Trang 70)
Hình 3.10: Giao diện đăng nhập tài khoản - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 3.10 Giao diện đăng nhập tài khoản (Trang 71)
Hình 3.11: Giao diện trang chủ của giáo viên - Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih
Hình 3.11 Giao diện trang chủ của giáo viên (Trang 72)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w