Basis Pengetahuan untuk
Sistem Pakar
Secara umum, basis pengetahuan (knowledge base) adalah suatu bentuk
basis data tertentu yang digunakan dalam manajemen pengetahuan (knowledge
management). Basis pengetahuan berperan dalam proses mengumpulkan,
mengorganisasikan, maupun mendapatkan kembali suatu pengetahuan (knowledge).
Dalam sistem pakar (expert system), basis pengetahuan merupakan satu
komponen yang sangat penting. Basis pengetahuan menyimpan semua pengetahuan
yang dimiliki oleh pakar yang berkompeten dalam bidang yang berkaitan. Basis
pengetahuan adalah dasar pengambilan keputusan dalam suatu sistem pakar, di
mana pengambilan keputusan ini berkaitan dengan proses untuk mendapatkan
kembali pengetahuan yang sebelumnya telah dikumpulkan dan disimpan.
Tulisan
ini membahas mengenai basis pengetahuan dalam kaitannya dengan sistem pakar,
serta hal-hal lain yang berkaitan dengan basis pengetahuan.
1. Pengetahuan
Sebelum
kita mulai membahas mengenai basis pengetahuan, maka terlebih dulu akan kita
tinjau mengenai pengetahuan dan semua hal yang berkaitan dengannya. Menurut
Davenport dan Prusak (1998), ada perbedaan pengertian mengenai data, informasi,
dan pengetahuan.
1.1. Data
Data
adalah suatu kumpulan fakta-fakta diskrit yang obyektif mengenai suatu
kejadian[1]. Dalam contoh yang diberikan oleh Davenport dan Prusak, data
merupakan gambaran dari transaksi yang dilakukan seseorang (misalnya di pompa
bensin). Data berkaitan dengan berapa uang yang dibayarkan dan berapa liter
bensin yang diberikan, namun tidak berlaku lebih jauh lagi. Data tidak dapat
menggambarkan bagaimana kualitas pompa bensin tersebut dan kapan si pelanggan
tersebut akan kembali ke sana.
1.2. Informasi
Sementara itu, informasi adalah hasil dari pengolahan data. Informasi
adalah data yang membuat suatu perbedaan[2], di mana tujuan informasi adalah
untuk mengubah pandangan seseorang atau membuatnya menjadi berbeda
(dibandingkan sebelum mendapatkan informasi). Menurut Peter Drucker, informasi
memiliki makna (meaning) yang ditimbulkan oleh relevansi dan tujuan yang
diberikan oleh penciptanya.
1.3. Pengetahuan
Pengetahuan
merupakan bentuk lebih lanjut dari informasi. Pengetahuan merupakan campuran
yang bebas antara informasi konstekstual, nilai-nilai, dan pengalaman yang
telah terekspresikan, serta pemahaman pakar, yang memberikan suatu kerangka
kerja untuk mengevaluasi dan memasukkan informasi dan pengalaman-pengalaman
baru[3].
Ada beberapa ciri-ciri pengetahuan (menurut buku yang ditulis Von Krogh,
Ichiyo, serta Nonaka 2000). Yang pertama, pengetahuan merupakan kepercayaan
yang dibenarkan (justified true believe). Seseorang membenarkan
kepercayaannya berdasarkan pada observasinya terhadap dunia, di mana ia
menciptakan suatu pemahaman mengenai situasi baru dengan berpegang pada
kepercayaan yang telah dibenarkan tersebut. Dengan demikian, kebenaran lebih
merupakan konstruksi akan kenyataan, dan bukannya sesuatu yang benar secara
abstrak.
Ciri yang kedua pada pengetahuan adalah sifatnya yang eksplisit sekaligus
juga terbatinkan (tacit). Sementara beberapa pengetahuan bersifat
eksplisit dan mudah digambarkan, diformulasikan, maupun diekspresikan; ada pula
pengetahuan-pengetahuan lain yang berkaitan dengan perasaan, keterampilan dan
bentuk bahasa utuh, persepsi pribadi, pengalaman fisik, petunjuk praktis (rule
of thumb) dan institusi. Pengetahuan-pengetahuan ini sulit sekali untuk
disampaikan kepada pihak lain.
Yang
ketiga, penciptaan pengetahuan secara efektif bergantung pada konteks yang memungkinkan
terjadinya penciptaan tersebut, yaitu ruang bersama yang dapat memicu
hubungan-hubungan yang muncul. Dan yang terakhir, penciptaan pengetahuan
melibatkan lima langkah utama. Kelima langkah itu adalah:
- Berbagi pengetahuan terbatinkan
- Menciptakan konsep
- Membenarkan konsep
- Membangun prototip (prototype)
- Melakukan penyebaran pengetahuan di berbagai fungsi dan tingkat di
organisasi.
Hubungan
antara data, informasi, dan pengetahuan dapat dilihat pada gambar berikut.
Gambar 1. Data, Informasi, dan Pengetahuan.
2. Basis Pengetahuan
Menurut
Gondran (1986) dalam Utami (2002), basis pengetahuan merupakan representasi
dari seorang pakar, yang kemudian dapat dimasukkan kedalam bahasa pemrograman
khusus untuk kecerdasan buatan (misalnya PROLOG atau LISP) atau shell sistem
pakar (misalnya EXSYS, PC-PLUS, CRYSTAL, dsb.)
Basis
pengetahuan berisi pengetahuan-pengetahuan pakar berupa fakta-fakta, konsep,
aturan, prosedur, dan hubungan di antaranya, yang telah direpresentasikan dalam
bentuk yang dimengerti oleh sistem. Basis pengetahuan dibutuhkan untuk
memahami, memformulasikan, dan memecahkan masalah yang dihadapi oleh sistem, di
sini basis pengetahuan berfungsi sebagai sumber referensi untuk mengambil suatu
tindakan. Semakin banyak pengetahuan yang dimiliki oleh suatu basis
pengetahuan, maka sistem tersebut akan semakin mendekati sifat “cerdas”, dengan
kata lain kemampuan sistem akan semakin mendekati kemampuan pakar.
Gambar 2. Basis Pengetahuan sebagai salah satu komponen Sistem Pakar.
Feigenbaum (1977) menyatakan bahwa kesuksesan dari suatu sistem pakar
tidaklah bergantung pada kecanggihan strategi penalaran ataupun inferensinya,
namun pada jumlah informasi yang dikandungnya mengenai bagaimana simbol-simbol
diinterrelasikan, yaitu jumlah pengetahuan yang dimilikinya[4]. Prinsip ini
adalah prinsip pengetahuan (knowledge principle), yang merupakan
perluasan dari hipotesis simbol fisik (physical symbol hypothesis) dari
Newell dan Simon (1981). Hipotesis simbol fisik menganggap bahwa pengetahuan
terdiri dari simbol-simbol realitas dan relasi antara simbol-simbol ini, serta
bahwa inteligensi adalah manipulasi logis yang sesuai terhadap simbol-simbol
dan relasinya[5].
Basis pengetahuan menyimpan pengetahuan yang terdiri dari dua elemen dasar.
Elemen dasar pertama adalah fakta, yang dalam hal ini merupakan situasi,
kondisi, dan kenyataan dari permasalahan, serta juga teori dalam bidang yang
berkaitan serta informasi dari obyek. Yang kedua adalah spesial heuristik yang
merupakan informasi mengenai cara untuk membangkitkan fakta baru dari fakta
yang sudah diketahui. Dalam sistem berbasis-aturan (rule-based system),
elemen kedua ini berupa kaidah atau aturan (rule).
Meskipun seringnya fakta dan aturan dalam basis pengetahuan memiliki nilai
kebenaran yang tegas (crisp), namun ada kalanya representasi seperti ini
tidaklah dapat mencerminkan pengetahuan secara baik. Dalam hal ini, ada kalanya
pengetahuan yang dipakai dibentuk dengan suatu nilai kepastian (certainty
value), yang nilainya berkisar dari nol (pasti salah) hingga satu (pasti
benar). Nilai kepastian ini menggunakan konsep yang sama dengan yang ada dalam
Logika Fuzzy.
Pengembangan
suatu basis pengetahuan dimulai dari pembelajaran ontologi, atau konstruksi
ontologi, yang bertujuan menangkap pengetahuan menjadi format yang dapat
digunakan dalam sistem. Langkah selanjutnya adalah mempopulasikan basis
pengetahuan, yaitu mendapatkan instans-instans untuk mengisi basis pengetahuan.
Ini merupakan langkah yang penting, yang mana tujuannya menggunakan ontologi
sebagai indeks untuk memori organisasi.
Gambar 3.Suatu Siklus Dasar untuk Pengembangan Basis Pengetahuan.
Rekayasa pengetahuan (knowledge engineering) melibatkan beberapa
proses, yaitu akuisisi pengetahuan (knowledge acquisition),
validas
Gambar 4.Proses Rekayasa Pengetahuan.
Akuisisi
pengetahuan merupakan proses pengumpulan informasi dari sumber-sumber yang
tersedia, yang dapat berupa kepakaran seseorang maupun kepakaran laten (yang
tersimpan dalam bentuk materi cetakan). Sementara representasi pengetahuan
merupakan proses untuk mengilustrasikan pengetahuan yang telah didapat dari
proses akuisisi pengetahuan.
3. Akuisisi Pengetahuan
Dalam akuisisi pengetahuan, perekayasa (engineer) bertindak sebagai
jembatan antara pakar (expert) dengan basis pengetahuan. Perekayasa
mendapatkan pengetahuan dari pakar, dan bersamanya menaruhnya pengetahuan
tersebut dalam basis pengetahuan.
Ada
beberapa cara untuk melakukan akuisisi pengetahuan. Yang pertama adalah dengan
cara manual, di mana dalam cara ini perekayasa mendapatkan pengetahuan dari
sumber, dan lalu mengkodekannya ke dalam basis pengetahuan. Cara ini merupakan
cara yang mahal dan tidak efisien, serta juga kadangkala tidak akurat.
Cara yang
kedua adalah cara semi-otomatik. Di sini terdapat peran komputer untuk
mendukung pakar, di mana pakar diizinkan untuk membangun basis pengetahuan
tanpa (atau dengan sedikit) bantuan dari perekayasa. Komputer di sini juga
berperan untuk membantu perekayasa dalam kerjanya membangun basis pengetahuan.
Sementara yang ketiga adalah cara otomatik. Di sini peran pakar,
perekayasa, maupun pembangun basis pengetahuan atau sistem (system builder)
digabung. Contohnya adalah metode induksi.
Gambar 5.Metode Akusisi Pengetahuan dengan (a) manual, (b) akuisisi
terkendali-pakar, dan (c) induksi.
Kesulitan dalam proses akuisisi pengetahuan adalah kesulitan pakar untuk
mengkomunikasikan pengetahuan-pengetahuan dasarnya. Ini berkaitan dengan sifat
pengetahuan itu sendiri (yang seperti telah dijelaskan di atas, adalah
eksplisit sekaligus terbatinkan). Seperti yang dikatakan oleh Waterman (1981):
“… suatu pengetahuan dasar diasumsikan dan dikombinasikan begitu cepatnya
sehingga sulitlah baginya (pakar) untuk mengambarkan prosesnya”[6].
Beberapa teknik canggih telah dikembangkan untuk memfasilitasikan proses untuk
mendapatkan dasar pengetahuan, seperti AQUINAS, Boose dan Bradsaw 1987; dan
NEXTRA dari Neuron Data, Rappaport dan Gaines 1988.
4. Representasi Pengetahuan
Representasi
pengetahuan merupakan kelanjutan dari proses akuisisi pengetahuan. Setelah
pengetahuan berhasil disarikan dari pakar, maka selanjutnya yang dilakukan
adalah merepresentasikan bentuk-bentuk pengetahuan tersebut menjadi bentuk yang
dikenali oleh sistem (komputer).
Beberapa cara yang dapat digunakan untuk merepresentasikan bentuk ini
antara lain jaringan semantik (semantic net), bingkai (frame),
aturan produksi (production rule), logika (logic), bahasa natural
(natural language), dan sistem basis data (database system).
Representasi
pengetahuan dimaksudkan untuk menangkap sifat-sifat penting suatu pengetahuan
agar dapat diakses dan digunakan dalam metode pemecahan masalah. Bahasa
representasi haruslah mampu membuat seorang pemrogram mengekspresikan
pengetahuan yang diperlukan untuk mendapatkan solusi permasalahan.
Representasi
pengetahuan yang baik haruslah memiliki sifat-sifat berikut:
- Mengemukakan hal secara eksplisit
- Membuat masalah menjadi transparan
- Komplit dan efisien
- Menampilkan batasan-batasan alami yang ada
- Menekan dan menghilangkan detil-detil yang diperlukan
- Dapat dilakukan komputasi terhadapnya (memiliki batasan).
Representasi
pengetahuan dikelompokkan ke dalam empat jenis, yaitu:
- Representasi Logika
Representasi
jenis ini menggunakan ekspresi-ekspresi logika formal dalam melakukan
representasi.
- Representasi Prosedural
Sementara
jenis kedua ini menggambarkan pengetahuan sebagai kumpulan instruksi untuk
memecahkan suatu problema.
- Representasi Jaringan (Network)
Representasi ini menangkap pengetahuan sebagai suatu graf di mana
simpul-simpulnya merupakan obyek atau konsep dari problema yang dihadapi,
sementara garisnya (edge) menggambarkan hubungan di antara mereka.
- Representasi Terstruktur
Dalam
representasi ini, jaringan diperluas dengan cara membuat tiap simpulnya menjadi
sebuah struktur data kompleks.
Prinsip representasi pengetahuan adalah jika suatu permasalahan dideskripsikan
dengan menggunakan representasi yang tepat, maka dapat dipastikan bahwa masalah
tersebut dapat diselesaikan.
5. Ontologi
Kunci
dari suatu basis pengetahuan adalah ontologi, yaitu sistem konsep-konsep yang
terorganisir yang menjadikan sesuatu yang ada dalam domain menjadi
eksplisit[7]. Ontologi merupakan spesifikasi dari suatu konseptualisasi, atau
suatu teori logis yang memberikan suatu akun eksplisit yang parsial dari suatu
konseptualisasi[8]; atau bahkan sinonim dari konseptualisasi itu sendiri.
Ontologi
digunakan untuk menjelaskan mengenai properti dari suatu domain, dan juga untuk
mendefinisikan domain tersebut.
Komponen-komponen
dari ontologi antara lain:
- Konsep (concept) digunakan dalam pemahaman yang luas. Sebuah
konsep dapat sesuatu yang dikatakan, sehingga dapat pula merupakan
penjelasan dari tugas, fungsi, aksi, strategi, dan sebagainya.
- Relasi (relation) merupakan representasi sebuah tipe dari interaksi antara konsep dari sebuah domain. Secara formal dapat didefinisikan sebagai subset dari sebuah pruduk dari n set,
contoh dari relasi biner termasuk subclass-of dan connected-to.
- Fungsi (function) adalah sebuah relasi khusus di mana elemen ke-n dari relasi adalah unik untuk elemen ke-(n-1).
Contohnya adalah Mother-of.
- Aksioma (axiom) digunakan untuk memodelkan sebuah kalimat yang
selalu benar.
- Instans (instance) digunakan untuk merepresentasikan elemen.
Menurut
Tom Gruber dari Stanford University, makna ontologi dalam konteksnya di ilmu
komputer adalah “suatu deskripsi konsep dan relasi yang ada dalam suatu agen
maupun komunitas agen”[9].
Sebuah
ontologi memberikan pengertian untuk penjelasan secara eksplisit dari konsep
terhadap representasi pengetahuan pada sebuah basis pengetahuan (Bernaras,
proyek KACTUS). Sementara menurut proyek SENSUS, Sebuah ontologi adalah sebuah
struktur hirarki dari istilah untuk menjelaskan sebuah domain yang dapat
digunakan sebagai landasan untuk sebuah basis pengetahuan.
6. Sistem Perbaikan Pengetahuan
Sistem Perbaikan Pengetahuan (Knowledge Refining System) merupakan
suatu sistem untuk memperbaiki kinerja sistem pakar. Dengan sistem ini, pakar
dapat melakukan analisis kinerja, lalu melakukan pembelajaran, dan kemudian
meningkatkannya pada konsultasi berikutnya.
Pada pembelajaran mesin, tujuan dari perbaikan basis pengetahuan (knowledge
base refinement) adalah meningkatkan performa sistem dengan pembelajaran
empiris, di mana performa sistem diukur dari jumlah kesalahan yang terdeteksi
ketika sistem dieksekusi untuk kasus-kasus yang ada dalam pustaka sistem.
Kesimpulan:
Basis
pengetahuan merupakan jantung dari suatu sistem pakar. Tanpa adanya basis
pengetahuan, sistem tidak dapat memberikan rekomendasi yang benar, karena ia
tidak memiliki dasar untuk mengambil tindakan.
Basis
pengetahuan tergantung dari beberapa konsep dan proses, antara lain pengertian
dari pengetahuan serta ontologi dalam basis pengetahuan itu sendiri. Proses
akuisisi serta representasi pengetahuan juga berperan memberikan suatu bentuk
terhadap basis pengetahuan itu sendiri, yang pada akhirnya semua ini akan
menentukan bagaiman kesimpulan yang akan diambil oleh sistem.
Tidak ada komentar:
Posting Komentar