Interoperabilitas Ontologi: Mungkinkah?

Posted on May 5, 2011

1


Akhir-akhir ini saya belajar sedemikian keras untuk memahami masalah Ontologi. Meski terkait dengan domain expert, tapi saya kira-kira akan membahas dari sudut pandang ontologi untuk diproses oleh mesin, dalam konteks kecerdasan buatan.

Definisi bebas dari Ontologi adalah:

  • Spesififikasi dari konsepsualisasi (Tom Gruber, 1992).
  • Suatu ontologi mendefinisikan sekumpulkan primitif representasional untuk memodelkan domain pengetahuan tertentu (Tom Gruber, 2009).

Secara singkat, bisa dikatakan suatu ontologi menyediakan suatu vocabulary yang memungkinkan untuk memodelkan suatu domain pengetahuan tertentu sehingga memungkinkan terjadi persamaan pemahaman. Pemodelan tersebut dibentuk berdasarkan berbagai instance yang terdapat dalam domain tersebut serta keterkaitannya. Dengan menggunakan kemampuan mengabstraksi, seorang perancang ontologi bisa menetapkan konsep dari pengetahuan tentang suatu domain dan membentuk basis pengetahuan yang berisi koonsep (diwujudkan dalam kelas serta hirarki dari kelas), atribut dari kelas (sering disebut properties/roles/slots), serta batasan dari properties (role restrictions). Definisi konsep ini beserta dengan instance akan membentuk basis pengetahuan. Jika kita sudah terbiasa dengan OOP, barangkali konsep di atas akan terasa mudah dipahami.

Meski demikian, saya merasa terusik dengan pertanyaan masalah interoperabilitas ontologi ini. Memang secara umum, Ontologi ini menjanjikan sesuatu hal yang “indah”. Secara infrastruktur, bisa dikatakan dunia komputasi sudah siap: RDF, RDFS, OWL dan tools Protege (http://protege.stanford.edu/), saya pikir sudah cukup untuk bisa digunakan mendefinisikan knowledge base. Ontologi yang memadai akan menyebabkan kita bisa membuat software agent yang bisa meng-crawling Internet dan menjadi agen atau “suruhan” dari majikan (user – kita manusia). Jadi apa masalahnya?

Masalahnya barangkali akan kembali ke “dunia nyata”, dunia domain pengetahuan yang bagi seorang engineer ontologi akan didefinisikan dan dimodelkan.  Ada beberapa hal yang kira-kira mengusik pemikiran saya .

  1. Kebutuhan terhadap ontologi bersifat sangat spesifik untuk aplikasi yang dibuat. Subyektifitas ini setidaknya akan membuat saran dan nasehat untuk me-reuse ontologi yang sudah tersedia menjadi agak sulit. Bisa saja saya sebagai developer menganggap cukup subclass sampai 2 saja, sementara developer lain menganggap seharusnya 4.
  2. Ada domain pengetahuan yang mempunyai perbedaan signifikan antara negara satu dengan negara lainnya. Contoh sederhana saja adalah masalah akuntansi. Meski akuntansi Indonesia berkiblat ke Amerika, tidak memungkinkan bagi kita untuk me-reuse ontologi accounting dari Amerika (REA – Accounting Domain Ontology, silahkan lihat di https://www.msu.edu/user/mccarth4/) secara membabi buta, penyebabnya karena kita punya standar akuntansi sendiri dan istilah-istilah akuntansi kita seringkali simpang siur (misal masalah cost – expense – harga pokok – harga perolehan).
  3. Adakah kesepakatan untuk dalam kondisi bagaimana harus membuat kelas baru, ataukah cukup membuat itu sebagai slot saja? Bisa saja saya menganggap perlu ada subclass mahasiswa TI angkatan 2011, tapi developer lain mungkin menganggap angkatan itu sebagai salah satu slot saja.

Ketiga permasalahan diatas tentu akan membuat interoperabilitas ontologi menjadi sulit (sekali lagi kita bicara machine processable, bukan human). Jika interoperabilitas ontologi sulit, mungkinkan kita membuat software agent? tidakkah software agent juga akan menemui data yang tidak sesuai keinginan untuk di – crawl?

Apapun yang terjadi, saya pikir perkembangan Ontologi ini tetap bermanfaat, dalam artian tidak mungkin mendapatkan 100% seperti yang dicita-citakan, tetapi mungkin masih tersisa banyak persen yang bisa bermanfaat untuk kehidupan dunia komputasi.

Last but not least, referensi yang saya tulis di bawah ini memang kurang banyak karena hanya saya ambil pengertiannya saja. Jika ada yang berkomentar dan berdiskusi tentang ini, I will be very glad.

Referensi