Wednesday, October 4, 2017

AI: Expert System

Expert System merupakan salah satu bidang dalam AI (Artificial Intelligence). Expert System, ide dasarnya adalah sebuah usaha untuk meng-cloning seorang pakar.

Jika ada seorang dokter spesialis yang sangat ahli (expert) dan sebentar lagi akan wafat, nah sebelum wafat bagaimana kepakaran dia tsb bisa dibuatkan cloningnya dalam bentuk software computer.

Proses pembuatan softwarenya sebenarnya sederhana. ES terdiri dari 3 bagian:
1. Bagian Knowledge Database (basis pengetahuan)
2. Bagian Inferensi
3. Bagian Antarmuka (user interface, UI/UX)

Jika dilihat bagian antarmuka sudah standar, yaitu ada form input dan output, dimana user tinggal menjawab pertanyaan-pertanyaan tertentu, lalu pada pertanyaan tertentu ES kemudian menampilkan hasil analisanya. Hal ini sama seperti jika kita ke dokter. Dokter akan bertanya: "Apa keluhannya?". Lalu kita jawab: "Lemes dok!". Dokter bertanya lagi:"Sudah berapa lama?", kitapun menjawab. Sampai pada satu titik tertentu dokter akan mengatakan:"Kamu kena Typhus".

Bagian inti dari ES ada pada bagian pertama yaitu Basis Pengetahuan, dan Inferensi.

Basis pengetahuan dibentuk dengan memasukkan data-data tentang misal penyakit (dalam kasus ES sebagai dokter). Masukkan semua jenis penyakit beserta ciri-cirinya.

Sedangkan inferensi, yaitu metode menggali pertanyaan kepada pasien, bisa metode maju (forward), bisa metode mundur (backward). Metode maju, dimulai dengan menanyakan ciri-ciri lalu mengambil kesimpulan. Sedangkan metode mundur, kesimpulan diambil dulu, lalu dicocokkan dengan ciri-cirinya. Dalam kasus sebelumnya, saat kita masuk, dokter mengasumsikan kita sakit perut (misalkan) lalu ditanya keadaan kita apakah ada ciri-ciri sakit perut. Jika tidak ada, maka diasumsikan lagi kita kena sakit Typhus, lalu di tanya ke kita ciri-ciri atau gejala-gejala yang kita rasakan. Jika cocok dengan basis pengetahuan, maka dokter akan mengatakan:"Kamu sakit Typhus".

Metode penggalian data ini (atau pencarian data ini) selain bisa backward dan forward, juga bisa berdasarkan pencarian depth search atau broad search.

Dengan demikian program inferensi ES sebenarnya hanya berisi IF-THEN-ELSE saja terhadap basis pengetahuan yang sudah dimasukkan kedalam database.

Contoh sederhana pembuatan program ES, seperti contoh berikut. Anggap Anda seorang konsultan olahraga. Setiap orang yang datang Anda bisa sarankan apa olahraga yang cocok dengan dia.

Lama-lama Anda capek juga jadi konsultan, dan Anda ingin mengcloning diri Anda jadi program komputer.

Maka langkahnya adalah membuat basis pengetahuan dan memilih metode inferensi. Misal jika memilih metode inferensi maju.

A: Anda lebih suka gerakan...?
    V1 ada berlarinya
            A: sendiri atau bersama?
                  V1: sendiri
                           C: anda bisa ambil olahraga marathon
                  V2: bersama
                           C: anda bisa ambil olahraga sepak bola
    V2 tidak berlari
             A: kegiatan dimana?
                   V1: dalam ruangan
                            C; anda bisa ambil olahraga Yoga
                   V2: luar ruangan
                            A: kegiatannya dengan siapa?
                                 V1: sendiri
                                        C: anda bisa olah raga jogging
                                  V2: bersama
                                         C: anda bisa ambil olahraga senam jantung sehat di RT setempat

Terlihat dalam basis pengetahuan dan inferensi diatas, kesimpulan (C - Conlussion) ada 5 macam. Interaksi dengan user dimulai dari A (Atribut) yang pertama dimana user ditanya:

Anda lebih suka gerakan?
a. ada berlarinya
b. tidak berlari

Jika user menjawab dengan Value (V2) tidak berlari, maka muncul lagi pertanyaan:
Kegiatan dimana?
a. dalam ruangan
b. luar ruangan

Jika user menjawab dengan V2 (Value) luar ruangan, maka muncul lagi pertanyaan:
Kegiatannya dengan siapa?
a. sendiri
b. bersama

Jika user memilih V1: sendiri maka, komputer akan menampilkan kesimpulan C (Conclussion):
Anda bisa olahraga jogging.

Dengan demikian dapat dibayangkan isi program ES ini adalah Database, dan database dibaca lalu di cek berdasarkan alur inferensi. Pengecekan berdasarkan IF-THEN-ELSE.

Terlihat bahwa program Kontultan Olahraga diatas sepertinya jelek sekali, karena dia hanya bisa menyarannkan 5 jenis kegiatan olahraga. Hal ini disebabkan basis pengetahuan yang dimasukkan dalam database hanya ada 5. Sehingga terlihat sangat sederhana. Apabila basis pengetahuan diperbanyak sampai jutaan basis pengetetahuan maka program ES ini akan terasa lebih expert lagi :)

Lebih lanjut penjelasan diatas dijelaskan dalam video berikut:



No comments: