Chương 1 Phát triển các hệ thống thông tin cộng đồng dựa trên ontology
1.4 Xây dựng ontology cho hệ thống thông tin cộng đồng
Một hệ thống thông tin cộng đồng ngoài tính chất của một mạng xã hội, nó còn là nơi người sử dụng chia sẻ thông tin trong một miền ứng dụng. Ontology dùng để
lưu trữ tri thức chia sẻ trong hệ thống phải cho phép biểu diễn cả tri thức chung về
lĩnh vực cũng như các thông tin đóng góp bởi người sử dụng. Trong phần này chúng tôi đề cập đến việc phát triển một mô hình ontology đáp ứng được tính tổng quát, dùng để phát triển nhiều loại ứng dụng khác nhau trong hệ thống thông tin cộng đồng. Ontology đóng vai trò hạt nhân của hệ thống và được sử dụng để mô tả
các khái niệm được sử dụng trong hệ thống bao gồm các thành phần sau.
Tri thức lĩnh vực: Ontology mô tả các miền tri thức về nhiều lĩnh vực khác nhau. Tri thức về các miền lĩnh vực được sử dụng để mô tả các tài nguyên chia sẻ bởi người sử dụng trong hệ thống. Ví dụ: miền lĩnh vực công nghệ
thông tin được sử dụng để mô tả chủ đề của các quyển sách do người dùng chia sẻ.
48
Tài nguyên chia sẻ: Ontology mô tả các tài nguyên mà người sử dụng chia
sẻ trong hệ thống như trong một hệ thống ứng dụng chia sẻ tiệu giáo dục thì tài nguyên chính là sách, bài báo, thông tin về các khóa học trực tuyến,… Cộng đồng người sử dụng: Ontology mô tả cộng đồng người sử dụng gồm:
thông tin cá nhân như: tên, tuổi, giới tính… và thông tin về xã hội như chức vụ, nghề nghiệp… nhằm xây dựng một mạng lưới có vai trò xã hội
Hình 1.1: Minh họa 3 khối và các quan hệ
Từ yêu cầu thiết kế trên, ontology được thiết kế phân tầng với các khái niệm phân làm ba khối chính (hình 1.1).
Một là 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 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ànhcó 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ó.
Hai là 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ữ
49
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.
Ba là 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 nguyên, một người có sở thích hoặc là chuyên gia trong một lĩnh vực.
Như vậy ba khối trong ontology được hình thành trên một 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 tầng của ontology được thiết kế bao gồm: (i) một ontology tổng quát mô tả
các khái niệm chung cho 3 khối tài nguyên, lĩnh vực, con người; (ii) các ontology lĩnh vực mô tả các miền lĩnh vực khác nhau như Công nghệ thông tin, Tựđộng hóa, Cơ khí, … ; và (iii) các ontology ứng dụng mô tả các khái niệmvề con người và tài nguyên cần thiết trong ứng dụng cụ thể. Các ontology lĩnh vực và ứng dụng được xây dựng dựa trên các khái niệm chung trong ontology tổng quát.
Để xây dựng ontology theo nguyên tắc thiết kế ở trên, chúng tôi sử dụng mô hình biểu diễn ontology được phát triển dựa trên OWL Full với 3 mức (hình 1.2):
(1)Mức siêu lược đồ (meta-schema): gồm các lớp TopicCls, DocumentationCls 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.
(2)Mức lược đồ (Schema): gồm các lớp được tạo từ các lớp ở mức meta- schema. Trong đó Topic, Documentation và Person là các lớp có kiểu 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, mà các lớp này có thể được mở rộng với các lớp con khác nhau. Ví dụ trong ứng dụng chia sẻ tài liệu học tập về CNTT ta có ICT, Database, OS,… là các lớp chủ đề con của Topic. Book, Paper, Ebook,… là các lớp con của Documentation. Chú ý Topic, Documentation, Person luôn là lớp gốc cho các lĩnh vực chủđề, tài nguyên và con người. (3)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ử
50
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.
Hình 1.2: Một ontology được xây dựng trên 3 tầng
Ontology tổng quát bao gồm các siêu lớp ở mức siêu lược đồ và các lớp gốc cho ba khối chủ đề, tài nguyên, con người là Topic, Documentation và Person thuộc mức lược đồ. Chúng tôi sử dụng lại một số thuộc tính đã định nghĩa trong các từ
vựng FOAF cho lớp Person để mô tả một cộng đồng người sử dụng như tên (foaf:name), địa chỉ blog (foaf:blog) và mối liên hệ giữa các thành viên (foaf:knows), ... Ngoài ra, từ vựng Dublin Core được sử dụng để biểu diễn lớp Documentation như tiêu đề (dc:title), ngôn ngữ (dc:language), ...
Như trong hình 1.2, các thuộc tính dc:contributor, dc:subject và expertIn biểu diễn mối quan hệ giữa ba khối. Thuộc tínhdc:contributor liên kết khối tài nguyên và con người, mô tả thành viên trong cộng đồng đóng góp tài nguyên. Thuộc tính dc:subject liên kết khối tài nguyên và lĩnh vực. Cuối cùng, thuộc tính expertIn thuộc lớp Person mô tả quan hệ giữa khối con người và lĩnh vực. Có một chút đặc biệt là
51
hai thuộc tính dc:subject và expertIn đều trỏ vào siêu lớp TopicCls để có thể khai thác tất cả các lớp và thể hiện thuộc khối chủđề.