6.1 Quy trình phát triển Ontology:
Trong những năm gần đây, một loạt các phương pháp luận khác nhau được thiết kế để trợ giúp cho việc tiến hành phát triển các nhiệm vụ được báo cáo trong tài liệu trí tuệ nhân tạo. Các phương pháp truyền thống gồm Cyc (Lenat & Guha 1990), Uschold và King (Uschold $ King 1995), Gruninger và Fox (Gruninger $ Fox 1995), Kactus (Kactus 1996),và Methontology (Fernandez-Lopez, Gomes-Perez & Juritso 1997). Các phương pháp luận cung cấp các chỉ dẫn chung và có cấu trúc. Nếu làm theo có thể tăng quy trình phát triển và cải tiến chất lượng cho kết quả cuối cùng. Theo như đánh giá phương pháp luận “Methontology” là phương pháp luận thiết kế ontology phổ biến nhất (được hỗ trợ môi trường WebODE).
Quy trình phát triển Ontology là một quy trình gồm nhiều bước, tuy nhiên vẫn chưa có một phương pháp chuẩn hóa nào để phát triển các ontology. Quy trình phát triển gồm 7 bước do Stanford Center for Biomedical Informatics Research đưa ra (đây là nhóm phát triển phần mềm Protégé để 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 giai đoạn này cần xác định mục đích của việc xây dựng ontology là gì? Phục vụ đối tượng nào? Ontology sắp xây dựng cần có đặc điểm gì, liên quan đến lĩnh vực, phạm vi nào. Quá trình khai thác, quản lý và bảo trì ontology được thực hiện ra sao?
Bước 2: Xem xét việc sử dụng lại các ontology có sẵn
Cấu trúc của một Ontology bao gồm 3 tầng: tầng trừu tượng (Abstract), tầng miền
sử dụng rất cao, tầng miền xác định có thể tái sử dụng trong một lĩnh vực nhất định.
Cộng đồng Ontology cũng đang lớn mạnh và có rất nhiều Ontology đã được tạo ra, với tâm huyết của nhiều chuyên gia. Do đó trước khi bắt đầu xây dựng ontology, cần xét đến khả năng sử dụng lại các ontology đã có. Nếu có thể sử dụng lại một phần các ontology đã có, chi phí bỏ ra cho quá trình xây dựng ontology sẽ giảm đi rất nhiều.
Bước 3: Liệt kê các thuật ngữ quan trọng
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 lợi.
Bước 4: Xác định các lớp và phân cấp của các lớp
Công việc xác định các lớp không chỉ đơn giản là tiến hành tìm hiểu về ngữ nghĩa của các thuật ngữ đã có để có được các mô tả cho thuật ngữ đó, mà còn phải định vị cho các lớp mới, loại bỏ ra khỏi ontology nếu nằm ngoài phạm vi của ontology hay hợp nhất với các lớp đã có nếu có nhiều thuật ngữ có ngữ nghĩa như nhau (đồng nghĩa, hay đa ngôn ngữ). Ngoài ra không phải thuật ngữ nào cũng mang tính chất như một lớp.
Một công việc cần phải tiến hành song song với việc xác định các lớp là xác định phân cấp của các lớp đó. Việc này giúp định vị các lớp dễ dàng hơn.
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 đó. Ví dụ: Trong Ontology về quản lý nhân sự, ta bắt đầu với lớp Người, sau đó chuyên biệt hóa lớp Người đó bằng cách tạo ra các lớp con của lớp Người như : Kỹ sư, Công nhân, Bác sỹ,… Lớp Kỹ sư cũng có thể chuyên biệt hóa bằng cách tạo ra các lớp con như Kỹ sư CNTT, Kỹ sư điện, Kỹ sư cơ khí, …
• 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. Ví dụ: ta bắt đầu với việc định nghĩa các lớp như: nhân viên lễ tân, nhân
viên vệ sinh, nhân viên kỹ thuật. Sau đó tạo ra một lớp chung hơn cho các lớp đó là lớp nhân viê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ụ ta 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 vệ sinh,… hoặc tổng quát hóa lên thành lớp Người.
Bước 5: Xác định 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,…
Bước 6: Xác định ràng buộc của các thuộc tính
Các thuộc tính có thể có nhiều khía cạnh 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. Cần phải xác định các ràng buộc cho một thuộc tính càng chặt chẽ càng tốt, để tránh trường hợp nhập dữ liệu sai, dẫn đến đổ vỡ của các ứng dụng sử dụng Ontology này.
Bước 7: Tạo các thể hiện / thực thể
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 đó.
6.2 Công cụ phát triển ontology:
Một số công cụ phát triển và hiệu chỉnh có giá trị trong việc làm giảm độ phức tạp và thời gian dùng cho nhiệm vụ xây dựng ontology. Các công cụ như Kaon, OileEd và Protégé cung cấp các giao diện nhằm giúp đỡ người sử dụng thực hiện các hoạt động chính yêu trong trong quá trình phát triển một ontology. Việc lựa chọn một công cụ hiệu chỉnh phù hợp nhất có nhiều khó khăn vì mỗi kiểu ontology có các yêu cầu về kinh phí, thời gian, tài nguyên khác nhau. Để giúp cho việc giải quyết vướng mắc này, Singh & Murshed (2005) đưa ra các tiêu chuẩn đánh giá công cụ tạo ontology. Tiêu chuẩn bao gồm tính năng, khả năng sử dụng lại, lưu trữ dữ liệu, mức độ phức tạp, quan hệ, tính lâu bền, độ an toàn, độ chắc chắn, khả năng học, tính khả dụng, hiệu lực, và
tính rõ ràng. Protégé và OntoEditFree được phát triển bởi Singh & Murshed sử dụng các tiêu chuẩn này.
Một số công cụ hiệu chỉnh ontology phổ biến:
Các công cụ phát triển Ontology
Protégé hỗ trợ OWL, là công cụ được sử dụng rộng rãi và lâu nhất hiện nay. Nó cho phép người sử dụng định nghĩa và chỉnh sửa các lớp ontology, các thuộc tính và quan hệ và các thể hiện sử dụng cấu trúc cây. Các ontology có thể được đưa ra theo các định dạng RDF(S), XML Schema. Platform protégé cung cấp hai cách chính mô hình hóa ontology thông qua Protégé - Frame và Protégé – OWL, ngoài ra có thể có nhiều plugin. Chúng ta có thể quan sát một cách trực quan thông qua OWL Viz, nó cho phép quan sát ontology dưới dạng đồ họa và đưa file ảnh JPEG. Ngoài ra còn hỗ trợ truy vấn SPARQL.