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

  • Số trang: 79 |
  • Loại file: PDF |
  • Lượt xem: 21 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI 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 LUẬN VĂN THẠC SĨ Hà Nội - 2013 ĐẠI HỌC QUỐC GIA HÀ NỘI 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 i 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 ii 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 iii 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 iv 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 v 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 1 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 2 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. 3 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 4 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] 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) 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 5 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à xử lý dữ liệu một cách tự động bằng máy tính. Ví dụ: Giả sử ta cần so sánh giá để chọn mua một bó hoa hay ta cần tra cứu catalog của các hãng chế tạo xe khác nhau để tìm ra thiết bị thay thế cho các bộ phận bị hư hỏng của xe Volvo 740. Thông tin mà ta thu được trực tiếp trên Web có thể trả lời các câu hỏi này nhưng đòi hỏi con người phân tích ý nghĩa của dữ liệu và sự liên quan của nó với yêu cầu đề ra, không thể xử lý tự động bằng máy tính. 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. 6 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 7 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. 8 - 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ư: SWADEurope, 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 9 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 10 - Đị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-OrderLogic). 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ụ 11 hay

Về khía cạnh này, XML giống như HTML. Tuy nhiên, tính mở rộng của ngôn ngữ chỉ ra sự khác biệt quan trọng và cũng là đặc điểm chính của XML. XML thực sự là một siêu ngôn ngữ mô tả dữ liệu (metalanguage), là một cơ cấu cho phép biểu diễn các ngôn ngữ khác một cách chuẩn hóa. Nói cách khác XML chỉ cung cấp định dạng dữ liệu cho tài liệu (document) được cấu trúc, không có đặc tả từ vựng (vocabulary) thực sự. Vì vậy XML phổ biến toàn cầu, chúng ta có thể tạo những ngôn ngữ đánh dấu (markup) mà chúng tùy ý sử dụng cho các kiểu tài liệu không giới hạn - đây là chuẩn đang phổ biến. Bên cạnh nhiều ngôn ngữ riêng biệt, một số ngôn ngữ chuẩn được định nghĩa trong XML (còn gọi là các ứng dụng XML). Ví dụ XHTML là một định nghĩa lại của HTML 4.0 trong XML. 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ụ . 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ư . 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ụ . Dưới đây là một đoạn XML: List of persons in company: 47782 On leave for 2001. XML không ngụ ý giải thích rõ ràng về dữ liệu. Thông qua tên của tag mà ý nghĩa của đoạn XML trên trở nên rõ ràng đối với cảm nhận của chúng ta, nhưng nó không được mô tả một cách hình thức. Chỉ có giải thích hợp lý là mã XML chứa các thực thể (entity), các thực thể con và giá trị được đặt tên. Mỗi XML document thiết lập một cây có nhãn và thứ tự. Tóm lại chúng vừa là điểm mạnh vừa là điểm yếu của XML. Chúng ta có thể mã hóa bất kỳ kiểu cấu trúc dữ liệu nào theo một cú pháp không rõ ràng, nhưng XML không đặc tả sử dụng dữ liệu và ngữ nghĩa (semantic) của chúng. Các nhà phát triển sử dụng XML để trao đổi dữ liệu phải thỏa thuận trước về từ vựng, cách sử dụng và ý nghĩa. 12 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. 1.2.2.2. RDF là gì? MetaData là một dạng dữ liệu dùng để mô tả dữ liệu khác. hay nói cách khác metadata là những thông tin mô tả tài nguyên trên web. Ví dụ: sách là một tài nguyên trên web, khi đó các thông tin mô tả cho tài nguyên này: tên tác giả, tựa sách, ngày xuất bản, … chính là metadata. 13 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: Subject http://www.example.org/index.html Predicate http://purl.org/dc/elements/1.1/creator Object http://www.example.org/staffid/85740 Chúng ta đã biết URI dùng để mô tả bất cứ cái gì trên Web, cho nên ở phát biểu trên thay vì phải dùng từ “creator” và “John Smith”, ta sẽ dùng URI "http://purl.org/dc/elements/1.1/creator" và "http://www.example.org/staffid/85740" để 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: 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. predicate Subject 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:

- Xem thêm -