Mơ hình biểu diễn

Một phần của tài liệu trình bày lý thuyết về web có ngữ nghĩa, ontology và các thế hệ phát triển của world wide web (Trang 85)

CHƯƠNG 2 : CÁC HỆ THỐNG THÔNG TIN GIÁO DỤC

4.1. Mơ hình biểu diễn ontology

4.1.1. Mơ hình biểu diễn

Ontology được áp dụng cho BKEduPortal nhằm mục đích mơ hình hóa các khái niệm và các mối quan hệ về các miền tri thức lĩnh vực, tài nguyên chia sẻ và cộng đồng người sử dụng. Một đặc điểm rất quan trọng là BKEduPortal được xây dựng hướng về cộng đồng, và được phát triển bởi cộng đồng. Mơ hình biểu diễn ontology cho cổng thơng tin BKEduPortal thể hiện một cơ sở tri thức đầy đủ trong Cổng thông tin gồm các lớp và thể hiện lớp (hình 4.1).

Như trên hình vẽ ta thấy lược đồ Ontology được chia thành 3 khối riêng biệt về chủ đề, con người và tài ngun. Ba khối trong mơ hình có ý nghĩa như sau:

 Khối các khái niệm mô tả tri thức về lĩnh vực dưới dạng các chủ đề và phân nhóm, phân cấp của chúng. Ví dụ các chủ đề về Windows XP, Linux thuộc về nhóm chủ đề Hệ điều hành, Oracle, MySQL thuộc về Cơ sơ dữ liệu. Trong đó Hệ điều hành và Cơ sở dữ liệu là các nhóm con của Cơng nghệ thông tin. Các chủ đề được coi là một lớp các đối tượng tri thức trong chủ đề đó. Với mỗi nhóm chủ đề, có thể có các thuộc tính mơ tả kèm theo, ví dụ đối với Hệ điều hành có sử dụng các thuộc tính mơ tả về tính chất đơn nhiệm hay đa nhiệm của nó.

 Khối các lớp mơ tả nhóm các loại tài nguyên được chia sẻ trong hệ thống. Ví dụ đối với các loại tài liệu học tập, có thể có các lớp con là Sách, Bài báo, Sách điện tử, Bài giảng,… Với mỗi nhóm tài nguyên, các thuộc tính siêu dữ liệu (meta-data) được lựa chọn sử dụng để mơ tả. Dublin Core là các thuộc tính cơ bản thường dùng để mơ tả một tài nguyên với các thông tin như tên tài liệu, tác giả, ngày tạo tài liệu, ngày xuất bản,… Để hỗ trợ khả năng tìm kiếm ngữ nghĩa các tài nguyên học tập, một thuộc tính chủ đề được sử dụng để gắn tài nguyên với một hoặc nhiều chủ đề cụ thể mô tả trong khối tri thức lĩnh vực.

 Khối các nhóm đối tượng người sử dụng của hệ thống. Cũng giống như tài nguyên, các thuộc tính cũng được gắn với từng nhóm người sử dụng để mơ tả các cá nhân và các thông tin liên quan khác. Mối quan hệ giữa người sử dụng với các khối cịn lại trong ontology thơng qua các thể hiện như tác giả, người cung cấp chia sẻ một tài ngun, một người có sở thích hoặc là chun gia trong một lĩnh vực.

Tuy 3 khối Con người, Lĩnh vực và Tài nguyên được xây dựng tách biệt nhưng giữa chúng có các mối liên hệ và hình thành mối quan hệ vòng tròn qua lại, tạo thành một không gian mô tả ngữ nghĩa trong một cộng đồng chía sẻ tri thức và tài nguyên thuộc về một lĩnh vực.

Các khối được liên hệ với nhau thơng qua một số thuộc tính như dc:subject liên kết khối Tài nguyên và Chủ đề, phát biểu rằng tài nguyên giáo dục có nội dung thuộc về chủ đề lĩnh vực nào đã được mơ hình hóa trong khối lĩnh vực. Quan hệ giữa khối Con người và Tài nguyên thể hiện ở phát biểu thành viên nào đóng góp tài nguyên học tập. Có một chút đặc biệt đối với các thuộc tính quan hệ dc:contributor và expertIn và trỏ tới siêu lớp TopicCls để khai thác tính chất của OWL Full.

Các khối trên chứa khái niệm chung đóng vai trị nền tảng để xây dựng các ontology lĩnh vực và ontology ứng dụng cho từng phân hệ ứng dụng của BKEduPortal. Số lượng và phạm vi các ontology thành phần được sử dụng tùy thuộc vào từng ứng dụng cụ thể.

Mơ hình biểu diễn ontology được xây dựng dựa trên ngôn ngữ OWL Full với 3 mức gồm: mức Siêu lược đồ (meta-schema), mức Lược đồ (schema) và mức Thể hiện (instance).

Mức siêu lược đồ (meta-schema): gồm các lớp TopicCls, MaterialCls và

PersonCls ứng với các siêu lớp dùng để tạo ra các lớp mô tả trong các khối tri thức lĩnh vực, tài nguyên và cộng đồng người sử dụng. TopicCls, DocumentationCls và PersonCls là các lớp con của owl:Class. Các siêu lớp trên đóng vai trị phân chia ontology tổng quát BKOnto thành 3 miền riêng biệt ứng với 3 khối Lĩnh vực, Tài nguyên và Con người. Các siêu lớp cịn có vai trị định nghĩa các lớp ở mức bên dưới.

Mức lược đồ (schema): gồm các lớp được tạo từ các lớp ở mức siêu lược

đồ. Trong đó Topic, Documentation và Person là các lớp có kiểu tương ứng là TopicCls, DocumentationCls và PersonCls. Hay nói cách khác, 3 lớp Topic, Documentation và Person là các thể hiện của 3 lớp tương ứng là TopicCls, DocumentationCls và PersonCls. Tùy thuộc vào mỗi loại hình ứng dụng khác nhau và các miền lĩnh vực cần được mơ hình hóa mà các lớp này có thể được mở rộng với các lớp con khác nhau. Chú ý Topic, Documentation, Person luôn là lớp gốc cho các chủ đề, tài nguyên và con người. Các lớp thuộc các ontology lĩnh vực và ứng dụng là lớp con của các lớp gốc trên.

Mức thể hiện (instance): bao gồm các đối tượng được tạo với các lớp định

nghĩa trong mức lược đồ. Các đối tượng thể hiện chính là nguồn thơng tin tri thức được chia sẻ và do cộng đồng người sử dụng cập nhật trong quá trình sử dụng. Số lượng các thể hiện trong ontology thường là rất lớn và khơng có sự hạn chế. Bởi cộng đồng người sử dụng chính là nguồn cung cấp các thể hiện nên tính phong phú của hệ thống như thế này là rất lớn.

Một đặc điểm của lược đồ Ontology trên 3 mức là các thành phần ở mức bên dưới là thể hiện của các thành phần ở mức trên. Ví dụ các lớp ở mức lược đồ như Topic, Person, Documentation là thể hiện của các lớp TopicCls, PersonCls và DocumentationCls, và các thành phần MySQL và Oracle, Person_id1, Book_id1 là thể hiện của các lớp Databage_Management, Person, Book ở mức lược đồ.

Ngôn ngữ OWL Full được chọn để biểu diễn ontology với một lý do đặc biệt. OWL Full coi thể hiện như là một kiểu lớp đặc biệt, và do đó có thể khai thác, xử lý các thể hiện của một lớp biểu diễn chủ đề lĩnh vực như các chủ đề con thuộc chủ đề lĩnh vực đó.

Ontology tổng quát gồm ba siêu lớp thuộc mức siêu lược đồ và ba lớp gốc cho ba khối ở mức lược đồ. Các ontology lĩnh vực và ontology ứng dụng được xây dựng từ ba lớp gốc thuộc mức lược đồ. Như vậy, các ontology thành phần được xây dựng và mở rộng tùy theo từng phân hệ ứng dụng.

4.1.2. Các kỹ thuật biểu diễn và ứng dụng mơ hình

4.1.2.1. Tiến trình xây dựng ontology cho BKEduPortal

Trong phần này, luận văn trình bày một tiến trình phát triển ontology đã được áp dụng để xây dựng ontology cho BKEduPortal. Do việc thiết kế ontology theo kiến trúc phân tầng và chia làm nhiều thành phần, tiến trình xây dựng ontology có một số thay đổi so với tiến trình gồm 7 bước theo phương pháp của Noy và McGuinness [4] và phương pháp thiết kế trong [16]. Tiến trình được thực hiện theo phương pháp top-down, xây dựng ontology tổng quát trước và sau đó là các ontology lĩnh vực, ứng dụng cho từng phân hệ ứng dụng. Tiến trình xây dựng ontology được mơ tả vắn tắt gồm các bước dưới đây.

(1) Xác định mục đích phát triển ontology. Tại bước này, cần trả lời 3 câu hỏi:

 Tại sao cần xây dựng ontology?

 Mục đích sử dụng?

 Đối tượng sử dụng?

Ngoài ra cần đưa ra dự kiến sử dụng cơ sở tri thức của ứng dụng cũng như các đối tượng sử dụng cuối. Ở bước này, cần giải quyết các vấn đề về công nghệ xử lý tri thức.

(2) Kỹ thuật nắm bắt ontology (ontology capture): gồm 3 giai đoạn như sau:

 Xác định phạm vi của ontology: xác định tất cả các khái niệm quan trọng và các mối quan hệ. Liệt kê các câu hỏi (gọi là câu hỏi khả năng) mà một cơ sở tri thức dựa trên ontology có thể trả lời.

 Chọn phương thức nắm bắt ontology: phương thức nắm bắt ontology được đề xuất tương tự với phương thức phân tích và thiết kế hướng đối tượng.

 Định nghĩa các khái niệm trong ontology: xác định các khái niệm quan trọng và phân loại theo tính chất và quan hệ giữa các khái niệm đó.

(3) Xem xét sử dụng lại các ontology đang tồn tại. Có thể sử dụng lại toàn bộ

hoặc chỉ sử dụng một số lớp và thuộc tính trong đó. Một số ontology đã được ứng dụng phổ biến như FOAF biểu diễn cộng đồng người sử dụng, Dublin Core mô tả các tài nguyên học tập, ...

(4) Mã hoá ontology (ontology coding): Lựa chọn trình biên tập ontology dựa

trên các yêu cầu của lĩnh vực và chức năng của ontology. Luận văn sử dụng công cụ Protégé để mã hố ontology. Việc mã hóa liên quan đến biểu diễn ontology trong 1 ngơn ngữ hình thức. Lớp trong ontology mơ tả các khái niệm cùng các thuộc tính và quan hệ. Mã hóa ontology là tiến trình lặp, gồm các bước con sau:

(4.1) Mã hóa ontology tổng quát. (4.1.1) Định nghĩa lớp.

(4.1.2) Sắp xếp các lớp theo cây phân cấp (lớp con - lớp cha). Có 3 hướng phát

triển cây phân cấp: hướng top-down, hướng bottom-up và kết hợp hai bước trên. Luận văn sử dụng hướng top-down cho phân cấp lớp. Xem xét sử dụng lại các lớp và thuộc tính trong các ontology sẵn có.

(4.1.3) Định nghĩa thuộc tính và mơ tả giá trị của thuộc tính. Ngồi việc tái sử

dụng các thuộc tính trong ontology đã tồn tại, xác định các thuộc tính chung cho các ứng dụng, và quan trọng hơn là các thuộc tính liên kết 3 khối Lĩnh vực, Tài nguyên và Con người. Xác định các giá trị domain và range cho thuộc tính.

(4.2) Mã hóa các ontology lĩnh vực và ontology ứng dụng cho mỗi phân hệ ứng dụng.

(4.2.1) Xây dựng các ontology lĩnh vực. Phân tích các ứng dụng và xác định các

miền lĩnh vực cần thiết. Cần phân tách các ontology lĩnh vực sao cho ít khái niệm chồng chéo nhất có thể. Đưa ra các khái niệm và phân cấp trong mỗi miền lĩnh vực và mối quan hệ giữa các khái niệm. Lặp lại các bước (4.1.1), (4.1.2), (4.1.3). Xem xét việc sử dụng lại ontology.

(4.2.2) Xây dựng các ontology ứng dụng. Phân tích các phân hệ ứng dụng và

xác định các khái niệm cần thiết cho ứng dụng thuộc hai khối Tài nguyên và Con người. Phân tích các kịch bản trong mỗi ứng dụng và xác định các khái niệm cần thiết. Lặp lại các bước (4.1.1), (4.1.2), (4.1.3). Xem xét việc tái sử dụng ontology.

(5) Cải tiến ontology: Bao gồm 2 phase: (i) Cải tiến mã hóa bên trong (intra-

coding): cải tiến trong q trình mã hóa; (ii) Cải tiến mã hóa bên ngồi (extra-coding): hiệu chỉnh lỗi phát hiện được trong quá trình kiểm thử, và những mở rộng của ontology theo các phân hệ ứng dụng.

(5) Tích hợp các ontology thành phần: Sau khi xây dựng các ontology thành

phần của mỗi phân hệ ứng dụng, tích hợp các ontology này lại thành một ontology thống nhất.

(6) Kiểm thử: phát hiện nhược điểm của ontology. Bước này được thực hiện

trong tất cả các giai đoạn phát triển. Ngay khi tạo cơ sở tri thức, cần tiến hành kiểm thử để phát hiện lỗi trong ontology và công cụ thu nhận tri thức, và sửa đổi ontology hợp lý. Ngoài ra cần kiểm thử toàn bộ ứng dụng với người sử dụng cuối. Thể hiện của các lớp trong các ontology lĩnh vực và ứng dụng được tạo ra trong quá trình ứng dụng ontology.

(7) Duy trì (maintenance): thực hiện các việc hiệu chỉnh, thích ứng, phát triển

và duy trì sự hoạt động của ontology.

4.1.2.2. Biểu diễn mơ hình trên Protégé

Mơ hình ontology được biểu diễn theo ngơn ngữ OWL Full. Hình 4.2 minh họa biểu diễn mơ hình Ontology trên Protégé. Các siêu lớp trong mức siêu lược đồ được định nghĩa là lớp con của siêu lớp owl:Class và thừa kế thuộc tính của siêu lớp này. Các siêu lớp được sử sụng để định nghĩa các lớp thuộc 3 khối Chủ đề lĩnh vực, Tài nguyên và Con người trong mức lược đồ. Vai trò của siêu lớp owl:Class là định nghĩa lớp, và mỗi lớp được xem là một thể hiện của siêu lớp này. Do đó, mỗi lớp thuộc một trong 3 khối trong mức lược đồ sẽ được định nghĩa là một thể hiện của một trong 3 siêu lớp.

Hình 4.2: Biểu diễn ontology tổng quát BKOnto

và TopicCls cùng 3 lớp gốc tương ứng Person, Documentation và Topic.

Siêu lớp owl:Class được sử dụng để định nghĩa các lớp trong ontology. 3 siêu lớp được xem là lớp con của siêu lớp owl:Class sẽ thừa kế các tính chất và chức năng của lớp này. Tác dụng của siêu lớp là phân nhóm các lớp thành 3 khối riêng biệt. Ví dụ, lớp gốc Topic thuộc khối Chủ đề là một thể hiện của siêu lớp TopicCls thông qua khai báo:

<TopicCls rdf:ID="Topic"/>

Đoạn mã lệnh OWL sau định nghĩa siêu lớp TopicCls là lớp con của siêu lớp owl:Class.

<owl:Class rdf:ID = “TopicCls”>

<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Class"/> </owl:Class>

3 lớp gốc Person, Documentation và Topic được định nghĩa là các thể hiện của 3 siêu lớp tương ứng. Đoạn mã sau khai báo thuộc tính dc:subject của lớp Documentation và định nghĩa luôn 2 lớp gốc Topic và Documentation.

<owl:ObjectProperty rdf:about="http://purl.org/dc/elements/1.1/subject"> <rdfs:range> <TopicCls rdf:ID="Topic"/> </rdfs:range> <rdfs:domain> <DocumentationCls rdf:ID=“Documentation"/> </rdfs:domain> </owl:ObjectProperty>

Các lớp trong ontology lĩnh vực và ứng dụng được định nghĩa từ 3 lớp gốc trên. Ví dụ như trong hình 4.1, lớp Database_Management và lớp Operating_System là các lớp con của lớp ICT. Trong khi đó lớp ICT là lớp khởi đầu cho ontology lĩnh vực ICT và là lớp con của lớp Topic. Thuộc tính dc :subject đã được định nghĩa trong từ vựng Dublin Core, có vai trị liên kết hai khối Lĩnh vực và Tài nguyên.

4.1.2.3. Kỹ thuật tích hợp các ontology

Theo kiến trúc ontology phân tầng, mỗi phân hệ ứng dụng sẽ gồm một ontology tổng quát BKOnto và có thể có nhiều ontology lĩnh vực và ứng dụng. Các ontology thành phần sẽ được tích hợp lại thành một ontology thống nhất cho ứng dụng bởi kỹ thuật import [2]. Câu lệnh import của OWL sẽ nạp toàn bộ nội dung một ontology vào ontology khác. Hình 4.3 minh họa các lớp của ontology đã được tích hợp cho phân hệ

Chia sẻ tài liệu học tập.

Hình 4.3. ontology cho phân hệ ứng dụng Chia sẻ tài liệu học tập

Trước hết, import ontology tổng quát BKOnto vào ontology ứng dụng. Sau đó xây dựng các lớp của ứng dụng dựa trên 3 lớp gốc. Đoạn mã sau import BKOnto vào ontology lĩnh vực, sau đó định nghĩa lớp ICT là lớp con của lớp Topic, và lớp Software được xây dựng từ lớp ICT.

xmlns:bkont="http://www.hut.edu.vn/BKOnt#" <owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://www.hut.edu.vn/BKOnt"/> </owl:Ontology> <bkont:TopicCls rdf:ID="ICT"> <rdfs:subClassOf rdf:resource="http://www.hut.edu.vn/BKOnt#Topic"/> </bkont:TopicCls> <bkont:TopicCls rdf:ID="Software"> <rdfs:subClassOf rdf:resource="#ICT"/>

</bkont:TopicCls>

Như vậy ontology về lĩnh vực Công nghệ thông tin và truyền thông (ICT) sẽ được xây dựng bắt đầu từ lớp gốc bkonto:Topic. Tương tự, ontology ứng dụng mô tả tài liệu học tập được xây dựng từ lớp gốc bkonto:Documentation gồm lớp LO (Learning Object) và các lớp con bên dưới như Articles, Book, ...

4.1.2.4. Tạo siêu dữ liệu mô tả tài nguyên trong BKEduPortal

Siêu dữ liệu mô tả tài nguyên được qui về các bộ ba (resource, property, value) của mơ hình dữ liệu RDF. Các thuộc tính (property) trong siêu dữ liệu được phân thành 2 loại là Object và Datatype. Theo mơ hình biểu diễn ontology, siêu dữ liệu cho mỗi đối tượng thuộc ba khối Con người, Tài nguyên và Lĩnh vực thuộc mức thể hiện (instance level). Đoạn mã sau mơ tả một tài ngun có thể loại là “Book”, tiêu đề “Oracle Database Management”, nội dung thuộc về chủ đề “Database_Management”. Trong đó thuộc tính dc:title là Datatype Property có giá trị là chuỗi tiêu đề. Thuộc tính dc:subject là Object Property, ánh xạ đến lớp bkict#Database_Management đã định nghĩa trong ontology lĩnh vực BKICT.

<rdf:Description about = “http://www.kbs.uni-hannover.de/Database.pdf”> <dc:title> Oracle Database Management Systems </dc:title>

<dc:subject>

rdf:resource = “http://www.hut.edu.vn/bkict/#Databage_Management” </dc:subject>

<rdf:type>

rdf:resource = http ://www.hut.edu.vn/bkshare/# Book

</rdf:type>

Sau khi được người sử dụng tạo ra trong q trình sử dụng hoặc có thể được thu thập từ các hệ thống bên ngoài, siêu dữ liệu được lưu trữ vào kho chứa siêu dữ liệu và ontology để phục vụ tìm kiếm, truy cập thơng tin.

4.2. Ontology tổng quát - BKOnto

Ontology tổng quát BKOnto gồm các siêu lớp trong mức siêu lược đồ và 3 lớp

Một phần của tài liệu trình bày lý thuyết về web có ngữ nghĩa, ontology và các thế hệ phát triển của world wide web (Trang 85)