Ngày nay công nghệ thông tin đã và đang phát triển mạnh mẽ trên toàn thế giới. Nó đóng vai trò rất quan trọng trong đời sống kinh tế, xã hội, học tập Nhắc tới công nghệ thông tin chúng ta không thể bỏ qua công nghệ web. Công nghệ này đóng vai trò rất quan trong trong việc trao đổi thông tin giữa con người với nhau trên thế giới. Nó giúp chúng ta tiết kiệm được cả về thời gian cũng như tiền bạc so với cách cũ mà ta vẫn thường làm. Hiện nay việc cải tiến các công cụ phục vụ trong công nghệ web rất quan trọng và được nhiều cá nhân, tổ chức quan tâm.
80 trang |
Chia sẻ: vietpd | Lượt xem: 2214 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng hệ thống Elearning, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI CÁM ƠN
&
Lời đầu tiên chúng em cám ơn đến thầy Cao Tùng Anh, người đã hướng dẫn cung cấp tài liệu và đóng góp ý kiến cho chúng em hoàn thành luận văn này.
Chúng em xin chân thành cảm ơn các thầy cô khoa công nghệ thông tin đã dạy dỗ và cung cấp những kiến thức quý báu trong suốt thời gian học tập.
Do lần đầu tiên tìm hiểu nên chắc hẳn đề tài này không tránh khỏi những sai sót nhất định, rất mong sự đóng góp ý kiến của quý thầy cô cùng các bạn.
Chúng em xin chân thành cám ơn.
TP.HCM, ngày 18 tháng 01 năm 2005.
Sinh viên thực hiện.
Thái Tùng Quang - Nguyễn Văn Thành.
MỤC LỤC
MỞ ĐẦU
Ngày nay công nghệ thông tin đã và đang phát triển mạnh mẽ trên toàn thế giới. Nó đóng vai trò rất quan trọng trong đời sống kinh tế, xã hội, học tập …Nhắc tới công nghệ thông tin chúng ta không thể bỏ qua công nghệ web. Công nghệ này đóng vai trò rất quan trong trong việc trao đổi thông tin giữa con người với nhau trên thế giới. Nó giúp chúng ta tiết kiệm được cả về thời gian cũng như tiền bạc so với cách cũ mà ta vẫn thường làm. Hiện nay việc cải tiến các công cụ phục vụ trong công nghệ web rất quan trọng và được nhiều cá nhân, tổ chức quan tâm. Với những thông tin có sẵn và tỉ lệ gia tăng người dùng hiện nay, có thể khẳng định rằng Web là một công nghệ thành công gây ấn tượng nhất. Hiện nay, Web thâm nhập vào hầu hết mọi lĩnh vực trong đời sống. Thành công của Web là dựa trên tính đơn giản, dễ hiểu của nó.
Không may, tính đơn giản này có thể cản trở việc phát triển Web sau này. Những gì mà chúng ta đang xem xét chỉ là phiên bản đầu tiên của Web. Phiên bản tiếp theo sẽ lớn hơn và mạnh mẽ hơn - nhưng chúng ta vẫn đang tìm hiểu làm thế nào để đạt được việc nâng cấp này.
Web khởi đầu như giải pháp cục bộ cho một nhóm nhỏ người sử dụng. Chẳng bao lâu sau, Web đã chính thức đi vào phương tiện truyền thông diện rộng cho hơn 10 triệu người. Trong vài năm nữa, Web sẽ gắn bó với hàng tỷ người và thâm nhập không chỉ vào máy tính mà cả các thiết bị khác.
Tuy nhiên, tình trạng hiện nay của công nghệ Web tạo ra trở ngại nghiêm trọng cho sự phát triển của nó sau này. Số người sử dụng Web gia tăng quá nhanh, sự phát triển theo cấp số mũ số lượng các trang Web, cùng với tính đơn giản của công nghệ đã gây nên hiện tượng cổ chai làm cản trở việc tìm kiếm, rút trích, duy trì và tạo ra thông tin. Máy tính chỉ được sử dụng như các thiết bị gửi và nhận thông tin – chúng không có cách truy cập đến nội dung thực sự. Do đó, chúng chỉ có thể hỗ trợ một cách hạn chế trong việc truy cập và xử lý thông tin này. Vì thế, gánh nặng chính không chỉ ở việc truy cập và xử lý thông tin mà còn ở việc rút trích và diễn dịch thông tin.Nội dung của Web chỉ dành cho người sử dụng đọc chứ không cho phép các chương trình máy tính có thể thao tác một cách đầy đủ ý nghĩa.
Semantic Web là sự mở rộng của Web hiện tại trong đó thông tin được định nghĩa rõ ràng, cho phép con người và máy tính có thể làm việc cộng tác với nhau.
Ý tưởng của Tim Berners-Lee là xây dựng một Semantic Web có thể cung cấp cách thức truy cập thông tin một cách tự động nhờ vào các ngữ nghĩa của dữ liệu và các heuristic (khám phá ra, tìm ra) sử dụng những siêu dữ liệu này mà máy tính có thể xử lý được. Biểu diễn ngữ nghĩa dữ liệu rõ ràng, cùng với thuyết lĩnh vực (đó là ontology), sẽ cho phép Web cung cấp chất lượng dịch vụ mới. Nó sẽ nối kết với một mạng tri thức nhân loại rất lớn và sẽ bổ sung nó với khả năng xử lý của máy. Nhiều dịch vụ tự động sẽ giúp người sử dụng đạt được các mục đích bằng việc truy cập và cung cấp thông tin theo một dạng máy có thể hiểu. Quá trình này cuối cùng có thể tạo ra một hệ tri thức với nhiều dịch vụ suy luận chuyên gia - những hệ mà có thể hỗ trợ chúng ta trong gần như tất cả mọi mặt của đời sống và sẽ trở nên rất cần thiết cho chúng ta. Điều này cho chúng ta một viễn cảnh hoàn toàn mới của việc thu nhận và xây dựng tri thức và việc giao tiếp biểu diễn tri thức..
Semantic Web sẽ là một sự ra đời tất yếu của quá trình nghiên cứu với ý tưởng không ngừng phát triển để phù hợp với yêu cầu thực tế của con người. Do đây là một xu hướng mới còn đang được nghiên cứu và tiếp tục phát triển nên luận văn này giới hạn trong việc nghiên cứu các kiến thức cơ sở của Semantic Web, đi vào nghiên cứu chi tiết về việc ứng dụng vào xây dựng hệ thống e-learning như là một ứng dụng minh họa.
Với mục tiêu đề ra như trên, luận văn được tổ chức thành hai phần với nội dung tóm tắt như sau:
Phần 1 : Tổng quan về Semantic Web. Phần này cung cấp kiến thức tổng quát về Semantic Web như khái niệm, sức mạnh của Semantic Web; các ngôn ngữ, công cụ, cách thức xây dựng một Semantic Web và các ứng dụng của Semantic Web.
Phần 2 : Ứng dụng của Semantic Web vào xây dựng hệ thống e learning. Phần này gồm có lý thuyết và chi tiết cài đặt ứng dụng e learning - một Website đào tạo trực tuyến - với mục đích minh họa.
Các kết quả nghiên cứu của luận văn là những kiến thức cơ sở giúp tìm hiểu về Semantic Web và bắt đầu xây dựng các ứng dụng của Semantic Web.
PHẦN 1 : TỔNG QUAN VỀ SEMANTIC WEB
CHƯƠNG 1. GIỚI THIỆU VỀ SEMANTIC WEB
1. Semantic Web là gì ?
Semantic Web (Web ngữ nghĩa) là một mạng lưới thông tin được kết ghép trong một phương pháp sao cho có thể xử lí dễ dàng bởi máy tính trên sự cân bằng toàn diện. Bạn có thể nghĩ về nó giống như một phương pháp trình bày dữ liệu hiệu quả trên World Wide Web, hoặc như là một cơ sở dữ liệu liên kết toàn diện.
Semantic Web là một ý tưởng về việc dữ liệu trên Web được xác định và liên kết với nhau theo cách mà nó có thể được sử dụng bởi máy tính không chỉ cho mục đích thể hiện mà còn cho mục đích tự động, tích hợp và tái sử dụng dữ liệu thông qua nhiều ứng dụng khác nhau.
Semantic Web được nghĩ ra bởi Tim Berners-Lee, một nhà phát minh ra WWW, URIs, HTTP và HTML. “Semantic Web là sự mở rộng của Web hiện nay theo hướng mà thông tin được xác định ngữ nghĩa rõ ràng, cho phép máy tính và con người có thể làm việc cộng tác với nhau” – Tim Berners.
Semantic Web được xây dựng dựa trên cú pháp sử dụng URIs để biểu diễn dữ liệu, luôn luôn trong bộ ba cấu trúc: tức là các bộ ba của dữ liệu URI mà có thể được giữ lại trong cơ sở dữ liệu hoặc được trao đổi trong World Wide Web dùng một tập những cú pháp đặc biệt được phát triển riêng cho tác vụ nào đó. Cú pháp này được gọi là cú pháp “Resource Description Framework” (khung mô tả tài nguyên).
2. Phân biệt Semantic Web với Web hiện nay
Web hiện nay : lưu trữ thông tin (store things)
Trình bày thông tin
Tìm kiếm chủ yếu dựa vào từ khóa
Thông tin không đồng bộ và nhanh chóng bị lạc hậu
Semantic Web : thao tác trên thông tin (does things)
Trình bày thông tin nhưng nội dung trang Web có thể được xử lý bởi máy.
Nội dung của Web nói lên ngữ nghĩa của nó thông qua các siêu dữ liệu (metadata).
Các ontology được chia sẽ để có thể hiểu được ngữ nghĩa.
Do có thể hiểu được ngữ nghĩa nên các phần mềm agent có thể giao tiếp, trao đổi thông tin với nhau.
Sử dụng nhiều kỹ thuật của lĩnh vực trí tuệ nhân tạo
Tìm kiếm chủ yếu dựa vào ngữ nghĩa
Do có những công cụ tự động cập nhật nên thông tin luôn được đồng bộ và kịp thời
Một cách phân biệt khác :
HTML : Web trực quan (visual Web)
XML : Web theo cú pháp (syntactic Web)
Logic : Web theo ngữ nghĩa (semantic Web)
Từ WWW sang Semantic Web :
Hình 1. Từ WWW sang Semantic Web
3. Một ví dụ đơn giản về Semantic Web
Hình 2
CHƯƠNG 2. GIỚI THIỆU SƠ LƯỢC VỀ ONTOLOGY
1. Định nghĩa ontology
Nhiều định nghĩa về ontology xuất hiện trong thập kỷ trước nhưng có lẽ định nghĩa mô tả rõ nhất bản chất của ontology là: “An ontology is a formal, explicit specification of a shared conceptualization.” (Một ontology là một hình thức, đặc tả rõ ràng khái niệm hoá chia sẻ). Trong ngữ cảnh này, conceptualization (khái niệm hoá) đề cập đến một mô hình trừu tượng của một vài hiện tượng trong thế giới thực dùng để nhận dạng các khái niệm liên quan đến hiện tượng đó. Explicit (rõ ràng) có nghĩa là loại khái niệm được sử dụng và các ràng buộc khi sử dụng chúng được xác định một cách rõ ràng, và formal (hình thức) có nghĩa là máy tính có thể hiểu được ontology.
2. Các lĩnh vực ứng dụng ontology
Ontology được ứng dụng vào nhiều lĩnh vực như: tích hợp thông tin thông minh, các hệ thống thông tin cộng tác, phục hồi thông tin, thương mại điện tử, quản lý tri thức và trong kỹ thuật tri thức, xử lý ngôn ngữ tự nhiên, và biểu diễn tri thức, E-learning, Web Portals Search engines, Các ứng dụng Metadata-driven, Rút trích thông tin, Data Text Web Mining, Information brokering.
3. Ontology và Semantic Web
Hiện tại, các ontology đã ứng dụng vào World Wide Web tạo ra Semantic Web. Các cấu trúc ở mức khái niệm dùng xác định một ontology cơ sở cung cấp chìa khoá để máy tính có thể xử lý được dữ liệu trên Semantic Web. Các ontology phục vụ như các giản đồ siêu dữ liệu, cung cấp khái niệm về từ vựng có thể kiểm soát được, mỗi ontology được xác định rõ ràng và máy tính có thể xử lý được ngữ nghĩa. Bằng cách xác định các nguyên lý trên lĩnh vực chia sẻ và thông thường, các ontology giúp cho người và máy thông tin một cách chính xác - hỗ trợ việc trao đổi ngữ nghĩa chứ không chỉ cú pháp. Vì vậy sự thành công và phát triển của Semantic Web phụ thuộc vào việc cấu trúc các ontology trên lĩnh vực đặc trưng một cách nhanh chóng và ít tốn kém.
4. OntoWeb mang lại gì ?
Hình 5. OntoWeb
OntoWeb Network sẽ là trọng tâm cho các hoạt động của Châu Âu trong lĩnh vực xây dựng các công cụ và phương pháp dựa trên ontology cho Semantic Web. Nó sẽ bảo đảm cho vị trí cạnh tranh trong lĩnh vực thương mại bởi:
Tầm nhìn và phác thảo hiện nay của kỹ sảo ontology liên quan đến các lĩnh vực tại Châu Âu và toàn thế giới và cung cấp chỉ dẫn chiến lược cho các ứng dụng công nghiệp và thương mại.
Hợp với các chuẩn khác nhau để thúc đẩy sự phát triển của chuẩn nội dung dựa trên ontology (Ontology- based Content Standardization) và chuẩn ngôn ngữ ontology (Ontology Language Standardization).
Cung cấp khả năng truy cập không phân biệt các dịch vụ bởi các cá nhân và các tổ chức kinh doanh và giúp tìm kiếm và rút trích thông tin từ một mạng tăng trưởng theo hàm mũ.
Tổ chức các hội thảo phổ biến, các nhóm quan tâm đặc biệt, một biên bản khoa học và các khoá học huấn luyện hoặc giáo dục đặc biệt với các ứng dụng dựa trên Web, thương mại điện tử, quản lý tri thức và tích hợp thông tin. Làm thế nào để có sự trao đổi giữa lĩnh vực nghiên cứu và công nghiệp về các công nghệ dựa trên sự xuất hiện của ontology để mang lại lợi thế cạnh tranh trong thị trường đang phát triển nhanh chóng này.
5. Các ngôn ngữ xây dựng ontology
Ở bước đầu phát triển công nghệ này, được gọi là biểu diễn tri thức, XML cung cấp một cú pháp cấu trúc cây tuần tự. Cùng lúc đó một cơ chế mã hóa và chuyển đổi metadata được chỉ rõ bởi Resource Description Framework (RDF), đang được phát triển bởi W3C như một nền tảng cho việc xử lý ngữ nghĩa thông tin. Một ngôn ngữ cải tiến vừa xuất hiện gần đây được gọi là OIL, mô tả ontology và đưa ra ontology editor, các công cụ chú thích và các công cụ suy luận cho ontology. DAML (DARPA Agent Markup Language) cũng đang được phát triển nhắm đến mục tiêu biểu diễn quan hệ ngữ nghĩa mà có khả năng tương thích với các công nghệ hiện tại và tương lai. Trong khi SHOE (Simple HTML Ontology Extension) cho phép tác giả trang Web chú thích các tài liệu Web của họ với tri thức máy có thể đọc.
6. Một số công cụ hỗ trợ xây dựng ontology
Ontology editors: (trình soạn thảo ontology) để xây dựng các ontology mới.Ontology editors giúp các kỹ sư tri thức xây dựng các ontology – chúng hỗ trợ xác định sự phân cấp khái niệm, xác định các thuộc tính cho các khái niệm, và xác định các tiên đề, các ràng buộc
OntoEdit : là một môi trường kỹ thuật ontology được phát triển tại Knowledge Management Group của Đại học Karlsruhe, viện AIFB ( aifb.uni-karlsruhe.de/ontoedit). Hiện tại, OntoEdit hỗ trợ Frame-Logic, OIL, RDFS, và XML. OntoEdit được thương mại hoá từ Ontoprise (www.ontoprise.de).
Protége ù : cho phép các chuyên gia trong các lĩnh vực xây dựng các hệ thống cơ sở tri thức bằng cách tạo hay bổ sung các ontology có khả năng tái sử dụng và các phương thức giải quyết vấn đề ( xem www.smi.stanford.edu/projects/protege )
Ontology-based annotation tools (các công cụ chú giải cơ sở ontology) để liên kết thông tin không cấu trúc và bán cấu trúc với các ontology
Reasoning with ontologies : suy luận từ thể hiện và giản đồ (suy luận với các ontology) cho phép các dịch vụ trả lời truy vấn tiến bộ, hỗ trợ tạo ontology, và giúp ánh xạ giữa nhiều ontology khác nhau.
CHƯƠNG 3. KIẾN TRÚC CỦA SEMANTIC WEB
1. Mô hình kiến trúc
Hình 3. Kiến trúc Semantic Web
Lớp Unicode + URI : nhằm bảo đảm việc sử dụng tập kí tự chuẩn quốc tế và cung cấp phương pháp để định danh các đối tượng sử dụng trong Web ngữ nghĩa.
Lớp XML : được dùng như là lớp cú pháp
Lớp RDF: thể hiện lớp dữ liệu
Lớp ontology: dựa trên một sự thoả thuận hình thức chung, xác định ý nghĩa của dữ liệu
Lớp logic: cung cấp các quy luật cho phép suy luận thông minh
Lớp proof : hỗ trợ sự trao đổi của các “proof” trong sự truyền thông liên agent
Lớp trust: chữ ký điện tử và Web tin cậy
2. Các lớp trong mô hình kiến trúc của Semantic Web
2.1. URI (Uniform Resource Identifier): Bộ nhận dạng tài nguyên
Để nhận diện các mục trên trang Web chúng ta cũng dùng các bộ nhận dạng. Vì chúng ta dùng một hệ các bộ nhận dạng như nhau và vì mỗi mục được nhận dạng được xem như một tài nguyên (resource) nên chúng ta gọi các bộ nhận diện này là các “Uniform Resource Identifiers” hay gọi tắt là URI. Chúng ta có thể xem URI là bất kỳ vật gì, và vật đó có một URI có thể được diễn đạt trên Web: người, quyển sách bạn mua tuần trước, con ruồi bay vo ve quanh ta và bất kỳ thứ gì khác có thể nghĩ đến … tất cả chúng đều có thể có một URI.
URI là nền tảng của Web. Trong khi gần như mọi thành phần khác của Web có thể được thay thế nhưng URI thì không: nó giữ các thành phần của Web lại với nhau.
Một dạng quen thuộc của URI: đó là URL (Uniform Resource Locator). Một URL là một địa chỉ cho phép ghé thăm một trang Web, ví dụ như: Nếu click vào nó, có thể thấy rằng một URL sẽ bảo cho máy tính nơi để tìm thấy một tài nguyên nào đó (trong trường hợp này là địa chỉ trang Web của W3C). Không giống như hầu hết các dạng khác của URI, một URL là cả định danh (identify) và định vị (locate). Tương phản với một “mid:” URI. Một “mid:” URI nhận dạng một thông điệp email, nhưng nó không có khả năng định vị một bản sao của thông điệp.
Vì Web thì quá lớn đối với các tổ chức trong việc kiểm soát nó nên các URI được phân quyền. Không phải một người hay tổ chức kiểm soát việc tạo ra chúng hay làm thế nào để chúng có thể được sử dụng. Trong khi một vài lược đồ URI (như http:) phụ thuộc vào các hệ tập trung (như DNS) thì các lược đồ khác (như freenet:) hoàn toàn được phân quyền.
Điều này nghĩa là không cần sự cho phép của bất cứ người nào để tạo một URI. Kể cả việc có thể tạo URIs cho những vật mà không sở hữu. Trong khi khả năng linh động này làm cho các URI có “sức mạnh” nhưng nó cũng mang lại một số vấn đề. Bởi vì mọi người đều có thể tạo một URI, cuối cùng chắc chắn chúng ta sẽ có nhiều URI biểu diễn cùng một vật nào đó. Tệ hơn là sẽ không có cách để thấy được là hai URI đề cập đến cùng tài nguyên. Vì thế chúng ta sẽ không bao giờ có thể nói một cách chính xác một URI đã cho có ý nghĩa gì. Nhưng có sự thoả hiệp là phải tạo ra nó nếu chúng ta tạo một thứ gì đó “to lớn” như Semantic Web.
Một cách rèn luyện phổ biến để tạo URI là bắt đầu với một trang Web. Trang này mô tả đối tượng được nhận dạng và giải thích rằng URL của trang là URI cho đối tượng đó. Ví dụ muốn tạo một URI cho bản sao "Weaving the Web" của Tim Berners-Lee. Trước tiên tạo một trang Web mô tả bản sao. Tiếp theo ghi nhận rằng trang mà URL cho trang đó dùng như URI cho bản sao quyển sách. Làm điều này, chúng ta đã kết hợp URI ( với bản sao "Weaving the Web". Việc tạo một URI chỉ làm đơn giản như vậy.
Có thể ghi nhận rằng trong thể hiện này URI ( đang thực hiện hai nhiệm vụ: nó biểu diễn cả quyển sách vật lý cũng như trang Web mô tả nó. Đây là một lĩnh vực thảo luận, gọi là Vấn đề trong nhận diện Semantic Web và nó là một điểm thảo luận cho người thực hiện Semantic Web.
Đây là một thực tế quan trọng cần hiểu rõ. Một URI không phải là một tập các hướng dẫn chỉ cho máy tính làm thế nào để đến được một file nào đó trên Web (dù nó cũng có thể làm được điều này). Nó là một tên (name) cho một tài nguyên (resource) (một vật). Tài nguyên này có thể hoặc không thể truy cập được qua Internet. URI có thể hoặc không thể cung cấp cách cho máy tính lấy thêm thông tin về tài nguyên đó. Một URL là một kiểu của URI mà sẽ cung cấp cách để lấy thêm thông tin về tài nguyên, hoặc có thể là cách để tự truy lục tài nguyên và các phương pháp khác để cung cấp thông tin về các URI và những tài nguyên chúng nhận thấy là chưa phát triển. Cũng chính xác khi nói rằng các URI là một phần quan trọng của Semantic Web. Nhưng không nên cho rằng một URI có thể làm bất cứ gì để cung cấp một bộ nhận dạng cho một tài nguyên.
2.2. Lớp XML (Extensible Markup Language)
XML được thiết kế là một cách đơn giản để gởi các tài liệu qua Web. Nó cho phép bất kỳ người nào thiết kế định dạng tài liệu của họ và sau đó viết một tài liệu theo định dạng đó. Những định dạng tài liệu này có thể bao gồm định dạng để tăng cường ý nghĩa của nội dung tài liệu. Định dạng này là định dạng “máy có thể đọc”, đó là định dạng các chương trình có thể