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

Một phần của tài 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 (Trang 39 - 42)

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. Ngồ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 tố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

dùng để mơ tả các đối tượng hồn tồn khác nhau. Trong khi đĩ, cũng cĩ thể xảy ra trường hợp ngược lại, khi tên các khái niệm này khác nhau nhưng cùng mơ tả một đối tượng. Vậy một vấn đề đặt ra nữa là làm thế nào để bổ sung các quan hệ, thuộc tính cĩ sẵn vào một hệ thống mới. Tuy nhiên, hầu hết các ontology sử dụng trong ngành khoa học máy tính nĩi chung và Web ngữ nghĩa nĩi riêng đều được xây dựng trên hệ thống xây dựng và quản trị ontology. Cĩ thể kể đến một số cơng cụ như: Sesame, Protege, Ontolingua, Chimaera, OntoEdit,… Hiện nay, đa số các phần mềm này đều hỗ trợ chức năng tự động trộn các ontology cùng hoặc thậm chí khác định dạng với nhau. Mặc dù vậy, ở mức nào đĩ người xây dựng cũng cần phải kiểm tra một cách thủ cơng.

Bước 3: Liệt kê các thuật ngữ quan trọng trong ontology

Đây là bước làm tiền đề cho hai bước tiếp theo là xây dựng cấu trúc phân cấp và định nghĩa các thuộc tính cho lớp. Ontology được xây dựng trên cơ sở các khái niệm trong một lĩnh vực cụ thể, vì vậy khi xây dựng ontology cần bắt đầu từ các thuật ngữ chuyên ngành để xây dựng thành các lớp trong ontology tương ứng. Tất nhiên khơng phải thuật ngữ nào cũng đưa vào ontology, vì chưa chắc đã định vị được cho thuật ngữ đĩ. Do đĩ cần phải liệt kê các thuật ngữ, để xác định ngữ nghĩa cho các thuật ngữ đĩ, cũng như cân nhắc về phạm vi của ontology. Việc liệt kê các thuật ngữ cịn cho thấy được phần nào tổng quan về các khái niệm trong lĩnh vực đĩ, giúp cho các bước tiếp theo được thuận. Ví dụ các thuật ngữ xuất hiện trong một chương trình đào tạo như: Mơn học, Chương, Bài học, Kiểu bài học, Bài tập … Thơng thường, các thuật ngữ là danh từ sẽ trở thành các lớp, tính từ sẽ trở thành thuộc tính, cịn động từ sẽ là quan hệ giữa các lớp.

Bước 4: Xác định các lớp và phân cấp của các lớp

Nhiệm vụ của bước này là định nghĩa các lớp từ một số thuật ngữ đã liệt kê trong bước 3, sau đĩ xây dựng cấu trúc lớp phân cấp theo quan hệ lớp cha - lớp con. Lớp ở vị trí càng cao trong cấu trúc này sẽ cĩ mức độ tổng quát càng cao. Vị trí đầu tiên thuộc về lớp gốc, tiếp theo là các lớp trung gian và cuối cùng là lớp lá. Lớp lá là lớp khơng thể triển khai được nữa và chỉ được biểu hiện bằng các thực thể.

Quan hệ giữa thực thể của lớp con với lớp cha trong mơ hình phân cấp này là quan hệ “is-a”. Nghĩa là một thực thể của lớp con cũng “là-một” thực thể của lớp cha.

Cĩ một số phương pháp tiếp cận trong việc xác định phân cấp của các lớp: Phương pháp từ trên xuống (top-down): bắt đầu với định nghĩa của các lớp tổng quát nhất trong lĩnh vực và sau đĩ chuyên biệt hĩa các khái niệm đĩ.

Phương pháp từ dưới lên (bottom-up): bắt đầu với định nghĩa của các lớp cụ thể nhất, như các lá trong cây phân cấp. Sau đĩ gộp các lớp đĩ lại thành các khái tổng quát hơn.

Phương pháp kết hợp: kết hợp giữa phương pháp từ trên xuống và từ dưới lên: bắt đầu từ định nghĩa các lớp dễ thấy trước và sau đĩ tổng quát hĩa và chuyên biệt hĩa các lớp đĩ một cách thích hợp. Ví dụ bắt đầu với lớp nhân viên trước, là thuật ngữ hay

gặp nhất trong quản lý nhân sự. Sau đĩ chúng ta cĩ thể chuyên biệt hĩa thành các lớp con: nhân viên lễ tân, nhân viên phục vụ,… hoặc tổng quát hĩa lên thành lớp Người.

Bước 5: Định nghĩa các thuộc tính và quan hệ cho lớp

Nếu chỉ xây dựng các lớp đơn độc thì chẳng khác gì xây dựng lại một từ điển chuyên ngành. Do đĩ mỗi khi định nghĩa một số lớp thì cần phải xác định cấu trúc bên trong của lớp, đĩ chính là các thuộc tính.

Để xác định thuộc tính cho các lớp, ta quay trở lại danh sách các thuật ngữ đã liệt kê được. Hầu hết các thuật ngữ cịn lại (sau khi đã xác định lớp) là thuộc tính của các lớp đĩ. Với mỗi thuộc tính tìm được, ta phải xác định xem nĩ mơ tả cho lớp nào. Các thuộc tính đĩ sẽ trở thành thuộc tính của các lớp xác định. Ví dụ lớp Người cĩ các thuộc tính sau: Họ, Tên, Ngày sinh, Giới tính, Nghề nghiệp, Địa chỉ, Điện thoại,…

Nĩi chung, cĩ các loại thuộc tính sau cĩ thể trở thành thuộc tính trong một ontology:

 Thuộc tính bên trong: mơ tả các tính chất nội tại bên trong đối tượng, ví dụ "năng lực" của "nhân viên".

 Thuộc tính bên ngồi: mơ tả phần biểu hiện của đối tượng, ví dụ "tên" hay "địa chỉ" của "nhân viên".

 Thuộc tính thành phần: ví dụ: thuộc tính "mĩn ăn" của lớp "bữa ăn".

 Thuộc tính quan hệ: là mối quan hệ đến cá thể khác. Ví dụ: thuộc tính "cĩ đồng nghiệp" của lớp "người" biểu diễn mối quan hệ giữa hai người với nhau.

Một điều cần chú ý trong bước này là việc một lớp sẽ kế thừa tồn bộ các thuộc tính của tất cả các lớp cha nĩ. Do đĩ, cần phải xem xét một thuộc tính đã được định nghĩa ở các lớp thuộc mức cao hơn hay chưa. Thuộc tính chỉ nên được định nghĩa khi nĩ là tính chất riêng của lớp đang xét mà khơng được biểu hiện ở các lớp cao hơn.

Bước 6: Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp

Các thuộc tính cĩ thể cĩ nhiều giới hạn ràng buộc khác nhau: như kiểu giá trị, các giá trị cho phép, số các thuộc tính (lực lượng), và các đặc trưng khác mà giá trị của thuộc tính cĩ thể nhận. Ví dụ: "Năm sinh" của một "nhân viên" chỉ cĩ duy nhất và là số nguyên, cĩ thể nhận giá trị từ 1948 đến 1990.

Một số kiểu giới hạn phổ biến bao gồm:

 Số lượng thuộc tính (slot cardinality):

Số lượng các thuộc tính xác định số giá trị mà thuộc tính này cĩ thể cĩ. Đa phần các hệ thống chỉ phân biệt giữa các thuộc tính đơn (nhiều nhất 1 giá trị) với thuộc tính đa (một vài giá trị). Như năm sinh của người là thuộc tính đơn, cịn thuộc tính địa chỉ email của người là thuộc tính đa.

Một vài hệ thống khác, chặt chẽ hơn, thì cho phép đặc tả số lượng tối thiểu và tối đa để mơ tả số lượng thuộc tính. Số lượng tối thiểu là N, cĩ nghĩa là thuộc tính phải cĩ ít nhất N giá trị. Ví dụ: thuộc tính "cĩ bài báo" của một tiến sỹ phải cĩ ít nhất là 2 giá trị. Thuộc tính tối đa là M, nghĩa là thuộc tính chỉ cĩ nhiều nhất M giá trị. Nếu M bằng 1 thì tương đương với thuộc tính đơn.

 Miền (domain) của thuộc tính

Miền của thuộc tính là lớp mà thuộc tính đĩ thuộc về, ví dụ: lớp "tổ chức" cĩ thuộc tính “cĩ nhân viên”, thì thuộc tính cĩ nhân viên cĩ miền là lớp "tổ chức".

 Phạm vi (range) của thuộc tính

Phạm vi của thuộc tính là kiểu giá trị của thuộc tính đĩ. Các kiểu giá trị phổ biến bao gồm: các giá trị nguyên thủy như xâu, số nguyên, số thực,.., thể hiện của một lớp, hoặc một lớp với lớp cha là một lớp nào đĩ.

Bước 7: Tạo các thể hiện/thực thể cho lớp

Bước cuối cùng là tạo ra các thể hiện của các lớp trong sự phân cấp. Việc tạo thể hiện cho một lớp là quá trình điền các thơng tin vào các thuộc tính của lớp đĩ.

Một phần của tài 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 (Trang 39 - 42)