fhatiah adiba - tugas ujian tengah semester - ai

Upload: anonymous-icnbuxvo

Post on 21-Feb-2018

261 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    1/20

    Tugas Ujian Tengah Semester

    Tool untuk Mengembangkan Salah Satu Konsep

    Kecerdasan Buatan

    Dipersiapkan oleh:

    Fhatiah Adiba

    15/388473/PPA/04912

    Program Studi Pascasarjana Ilmu Komputer

    Fakultas Matematika dan Ilmu Pengetahuan Alam

    Universitas Gadjah Mada

    2015

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    2/20

    CHATTER BOTSMENGGUNAKAN ARTIFICIAL

    INTELLIGENT MARKUP LANGUAGE

    (AIML)

    Pada tahun 1950-an, masyarakat menganggap interaksi yang dilakukan manusia

    dengan sebuah mesin merupakan sebuah hal yang konyol. Hal itu terjadi karena

    perilaku tersebut bertentangan dengan nilai-nilai yang dianut masyarakat ketika itu.

    Penggunaan sistem berbasis komputer masing amat jarang, sehingga interaksi

    antara manusia dengan mesin masih dianggap tidak wajar. Sekarang, hubungan

    mesin dengan manusia sudah jauh berkembang. Hal ini terbukti dengan semakin

    banyaknya aplikasi AI yang digunakan dalam kehidupan masyarakat, seperti:

    1.

    Meowlingual, alat yang mampu menerjemahkan suara kucing.

    2. Bowlingual, sebuah wireless microphone yang terhubung dengan kalung

    anjing dan mampu menganalisa gonggongan anjing agar pemilik tahu apa

    yang diinginkan si anjing.

    3. Robot Asimo, buatan Honda Motor, yang mampu berinteraksi dengan

    manusia.

    4. Mahru dan Ahra, robotkembar yang bisa berdansa.

    5. Manekin Robotto, buatan Institut Teknologi Prefektur Hyogo yang bisa

    melakukan peragaan busana seperti model.

    6. Perkembangan AI telah membuat sistem ini digunakan oleh para ahli di

    bidang bisnis, medis, dan keuangan. Di Amerika Serikat, American

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    3/20

    Accounting Association telah menggunakan expert system dalam proses

    manajemen dan keuangan.

    CHATTER BOTS

    Albert Einstein pernah berkata, "komputer adalah cepat, akurat, kaku, dan bodoh;

    sedangkan manusia adalah lambat, tidak akurat, tetapi sangat fleksibel dan pintar;

    gabungan diantara keduannya adalah kekuatan luar biasa diluar batas imajinasi kita

    saat ini." Benar demikian. Tetapi bayangkan jika saja komputer tersebut dilengkapi

    dengan kemampuan berfikir atau yang disebut dengan kecerdasan. Hal inilah yang

    coba dicapai oleh Chatter bots.

    Chatterbot (atau chatbot, atau bots ) adalah sebuah program komputer

    yang dirancang untuk menstimulasikan percakapan intelektual dengan satu

    atau lebih manusia baik secara audio maupun teks. Pada mulanya, program

    komputer (bots) ini diuji melalui Turing Test, yaitu dengan merahasiakan

    identitasnya sebagai mesin sehingga dapat mengelabui orang yang bercakap-

    cakap dengannya. Jika pengguna tidak dapat mengidentifikasi bots sebagai

    suatu program komputer, maka chatterbot tersebut dikategorikan sebagai

    kecerdasan buatan (atau artificial intelligence).

    Pada tahun 1950, Alan Turing mempublikasikan artikel terkenalnya

    Computing Machinery and Intelligence, yang mengemukakan Turing Test

    sebagai suatu kriteria kecerdasan. Kriteria ini bergantung pada kemampuan

    program komputer untuk meniru manusia dalam suatu percakapan tertulis real-

    time dengan manusia sebagai penilai; apakah program komputer tersebut cukup

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    4/20

    baik sehingga manusia tidak dapat membedakan berdasarkan isi

    percakapannya saja- sedang berhadapan dengan program komputer atau

    manusia nyata. Pengujian ini terkait dengan minat Turing terhadap ELIZA,

    program yang dipublikasikan oleh Joseph Weizenbaum pada tahun 1966, yang

    dapat mengelabui pengguna hingga mempercayai bahwa mereka sedang

    bercakap-cakap dengan manusia.

    Salah satu arti penting dari Chatter bot adalah pengertian bot. Bot

    merupakan singkatan dari kata Robotyang berarti bekerja.Botmerupakan sebuah

    software program yang mengandung sejumlah data dimana jika kita memberikan

    masukan maka ia akan memberikan jawaban.

    Dalam dunia web, robot menemukan bentuk baru, dimana semua sistem

    saling terkait, robot berbentuk software dapat dengan bebas masuk dan keluar

    database yang sangat besar yang kita sebut sebagai internet. Kita sendiri sebagai

    pengguna internet sebenarnya sudah tidak asing lagi dengan Robot. Sebagai sebuah

    software Robot sudah dapat kita temui diberbagai situs, seperti misalnya

    penggunaansearch engineyang dapat dikategorikan sebagai sebuahsoftwarerobot.

    Dalam search engine, robot mencari data yang sesuai dengan input dan

    memberikan output yang sesuai dengan inputtadi.

    Perkataan robot saat ini tergantikan oleh kata agen, karena suatu robot

    biasanya dirancang untuk misi-misi tertentu. Salah satu bentuk RobotatauBotini

    adalah Chatter bot. Chatter bot dirancang untuk dapat berkomunikasi dan

    mengadakan kontak langsung dengan manusia sebagai penggunanya. Chatter bot

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    5/20

    menggunakan intelegensia buatan untuk mensimulasikan percakapan dengan

    penggunanya. Chatter bot dirancang untuk dapat mendekati sifat manusia.

    Jenis dari Chatterbot ini sangat beragam jenisnya. Beberapa Chatter bot

    dirancang untuk bisa diaplikasikan di suatu tempat misalnya pada PC, Palm, bahkan

    dalam HP lewat metode SMS. Namun demikan Chatter bot paling populer saat ini

    adalah Chatter bot yang digunakan pada internet dalam sebuah web.

    Chatter bot ini digunakan untuk lebih memanusiakan web yang terdapat

    dalam internet. Misalnya untuk sebuah situs e-commerce dibandingkan dengan

    melihat sejumlah daftar barang yang tersedia, tentunya akan lebih menyenangkan

    jika pengguna berinteraksi dengan Chatter bot yang akan menawarkan barang dan

    siap melayani konsumen layaknya pelayan di sebuah toko. Atau contoh lain adalah

    sebuah situs konsultasi remaja, dibandingkan dengan membaca sejumlah artikel-

    artikel permasalahan remaja, dapat dipastikan para remaja akan lebih tertarik untuk

    berkonsultasi dengan Chatter bot yang mengambil peranan sebagai seorang

    sahabat.

    Sistem yang digunakan dalam Chatter bot web ini sangat beragam misalnya

    sistem Home page, Mega hal, J-freddan masih banyak lagi. Saat ini penggunaan

    yang paling mudah untuk diaplikasikan adalahsystem Java Applet. sistem ini sangat

    sederhana pengaplikasiannya namun memiliki sejumlah kekurangan. Bentuk

    Chatter bot paling sempurna saat ini adalah Chatter bot berbasis AIML.Sistem ini

    juga telah terbukti menjadi sistem yang terbaik dengan memenangkan lomba

    Loebner Prize untuk tahun 1999, 2000 dan juga pada kontes terakhir pada tahun

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    6/20

    2001. Hingga saat ini sistem tersebut makin disempurnakan untuk ikut dalam

    kontes yang sama pada tahun 2002.

    AIML

    AIML adalah bahasa scripting interpreter yang merupakan turunan dari

    Extensible Markup Language(XML) dengan fungsi yang lebih spesifik. Salah satu

    fungsinya adalah membuat sistem stimulus-reponse berbasis pengetahuan.

    Dokumen AIML terdiri dari objek-objek yang dipisahkan oleh tag-tag tertentu

    seperti layaknya dokumen XML atau HTML.

    Element paling penting dari AIML diantaranya adalah sebagai berikut:

    Category

    Pada AIML, category merupakan unit dasar dari pengetahuan. Category

    minimal dari dua element AIML yaitu pattern dan template. Berikut adalah contoh

    categoryyang sederhana:

    who are you

    My name is Unknown.

    Ketika categorydiatas dimuat di memory, maka sebuah botAIML akan menjawab

    pertanyaan Who are you dengan My name is Unknown.

    Pattern

    Sebuah pattern adalah sebuah rangkaian huruf yang diharapkan

    sesuai/cocok dengan satu atau dua bahkan lebih dengan masukan (input) pengguna.

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    7/20

    Suatu pattern dapat menggunakan wildcard yang akan cocok dengan satu atau lebih

    masukan pengguna. Suatu pattern seperti berikut:

    What is *

    Cocok dengan masukan What is your name, What is your job, What is your

    mother job, dan sebagainya. Sintaks pattern AIML merupakan pola yang jauh

    lebih sederhana dari regular expression.

    Template

    Suatu template menentukan respon dari pattern yang sesuai. Sebuah

    template dapat berupa sebuah teks harafiah yang sederhana, seperti berikut:

    My name is Unknown.

    Sebuah template juga dapat menggunakan variabel seperti:

    My name .

    Variabel bernilai sama dengan nama botdan disisipkan ke dalam kalimat.

    Template juga memungkinkan untuk meneruskan ke pattern lain dengan

    menggunakan element AIML bernama srai. Elemen srai dapat digunakan untuk

    mengimplementasikan persamaan arti seperti pada contoh berikut.

    What is your name

    My name is .

    What is your called

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    8/20

    what is your name

    Categorypertama akan menjawab sebuah masukan What is your name dengan

    sebuah pernyataan mengenai nama bot. Categorykedua akan menjawab masukan

    What is your called dengan meneruskan pertanyaan tersebut ke categorypertama

    yang cocok dengan masukan What is your name dengan kata lain bahwa dua

    frase tersebut adalah sebanding/sama.

    That

    That merupakan element AIML yang mengacu pada respon/keluaran

    sebelumnya. That sering digunakan pada pembuatan category agar respon yang

    dihasilkan masih berkaitan dengan pertanyaan atau jawaban sebelumnya.

    Masih terdapat juga 20 element (tag) dan tag-tag tambahan yang sering ditemukan

    dalam file AIML, bahkan memungkinkan untuk mendefinisikan tag sendiri yang

    disebut custompredicates.

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    9/20

    Berikut contoh penerapan AIML dengan sejumlah data simulasi :

    CHATTER BOTSMENGGUNAKAN ARTIFICIAL INTELLIGENT MARKUP

    LANGUAGE (AIML) PADA BAHASA C#

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    10/20

    Arsitektur dasar dari sistem Chatterbot terdiri dari :

    1. ModulPatternpercakapan

    Modul percakapan diimplementasikan sebagai layer yang

    diprioritaskan terdiri dari kumpulan input pattern yang

    berpasangan dengan beberapa kemungkinan respon.

    Contohnya :

    - Pattern yang mengandung kata atau kalimat perintah

    memiliki prioritas paling tinggi.

    -

    Respon dari pattern yang memiliki prioritas tinggi

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    11/20

    mengandung query umum yang dikendalikan oleh kata

    kunci.

    - Pengaktifan jaringan termasuk sejumlah besar respon

    yang berorientasi pada topik (topic-oriented respon).

    - Respon dari pattern yang memiliki prioritas rendah

    mengandung query umum atau informasi tentang chatterbot

    itu sendiri.

    - Respon permintaan maaf adalah respon terakhir yang

    digunakan jika tidak ada kecocokan antarapattern input dan

    respon output.

    2. ModulLogpercakapan.

    Modul Log percakapan digunakan untuk menyimpan

    percakapan antara pengguna dan chatterbot. Sejumlah besar

    respon yang berorientasi pada topik (topic-oriented respon)

    dikodekan di dalam sebuah pengaktifan jaringan. Contoh

    simpul awal dan sub simpul dari percakapan bisa dilihat di

    bawah ini :

    a:1.0p:1 *r:Do you have any pets?+:

    a:0.1p:1 NEGr:Why not?+: -:

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    12/20

    a:0.02p:2 *apartment*p:3 *allerg*r:You could still have a fish tank, or maybe aterrarium with a turtle or two.-:

    Setiap simpul mempunyai 5 atribut yaitu :

    1. ACTIVATION (a)

    Setiap simpul diawali dengan level aktivasi awal yang

    mempunyai nilai di antara 0,0 sampai 1,0.

    2. PATTERN (p)

    Satu atau lebih pattern (dengan bobot) dicocokkan dengan

    input dari pengguna. Jika pattern cocok, maka aktivasi dari

    simpul tersebut dibangkitkan oleh nilai tersebut.

    3. RESPONSE (r)

    String teks tunggal digunakan sebagai respon jika simpul

    mempunyai level aktivasi tertinggi.

    4. ENHANCEMENT(+)

    Jika simpul ini digunakan sebagai respon, maka simpul yang

    mempunyai nama aktivasinya akan naik.

    5. INHIBITION (-)

    Jika simpul ini digunakan sebagai respon, maka simpul yang

    mempunyai nama aktivasinya akan turun.

    Gambar bawah ini menunjukkan sebagian kecil dari jaringan

    domain hewan peliharaan. Pengetahuan tambahan dikodekan di dalam

    ontology yang akan digunakan pada proses pattern matching. Program

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    13/20

    mempunyai tipe hirarki khusus yang mengijinkan sebuah pattern untuk

    dicocokkan dengan DOG, BIRD, PET, WILD, atau ANIMAL.

    Gambar Jaringan Simpul Percakapan

    AIML (Artificial Intelligence Markup Language)

    Bahasa AIML (Wallace, 2004) memungkinkan manusia untuk

    memasukkan pengetahuan ke dalam chatterbot yang berbasis teknologi

    perangkat lunak ALICE yang disebarkan secara bebas. AIML dibuat oleh

    komunitas perangkat lunak bebas yang bernama Alicebot pada tahun 1995

    2000 yang merupakan adopsi dari bahasa XML. Bahasa ini digunakan

    oleh Alicebot pertama (ALICE) sebagai dasar implementasi sistem.

    Artificial Intelligence Markup Language mendeskripsikan kelas dari

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    14/20

    objek data yang disebut sebagai objek AIML dan secara terpisah

    mendeskripsikan lingkungan dari program komputer yang memproses

    AIML tersebut. Objek AIML terdiri dari unit-unit yang disebut dengan

    topik dan kategori yang berisi parsed (data kalimat terjemahan) dan

    unparsed data (kalimat belum diterjemahkan). Parsed data terdiri dari

    karakter, data karakter, dan elemen AIML. Elemen AIML membungkus

    stimulus-response knowledge (pengetahuan tentang respon dan

    rangsangan) yang ada di dalam dokumen. Data karakter diantara elemen

    elemenini kadang kala diterjemahkan oleh interpreter (penerjemah) AIML

    dan kadang kala dibiarkan tidak diterjemahkan untuk pemrosesan lebih

    lanjut oleh perespon dalam hal ini server chatterbot.

    Unit-unit pembentuk AIML adalah :

    - Categories (unit dasar pengetahuan dalam AIML)

    Category merupakan unit dasar pengetahuan pada AIML. Category

    minimal terdiri dari dua element AIML yaitu pattern (merupakan

    pertanyaan atau stimulus) dan template (merupakan respon). Berikut

    ini adalah contoh category :

    WHAT IS YOUR NAME

    MY NAME IS MARTIN

    Sebuah pattern adalah sebuah rangkaian huruf yang diharapkan

    sesuai/cocok dengan satu atau bahkan lebih dengan masukan (input)

    pengguna. Sebuahpattern dapat menggunakan wildcard yang akan

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    15/20

    cocok dengan satu atau lebih masukan pengguna. Suatu pattern

    dapat dituliskan seperti berikut :

    WHAT IS * NAME

    Cocok dengan masukan what is your name, what is your fathers

    name, dansebagainya.

    Sebuah template menentukan respon dari pattern yang sesuai.

    Sebuah template dapat berupa teks harfiah yang sederhana seperti berikut

    :

    MY NAME IS MARTIN.

    Sebuah templatejuga dapat menggunakan variable seperti :

    MY NAME IS .

    Variabel bernilai sama dengan nama bot dan disisipkan ke dalam kalimat.

    - Recursion (rekursi)

    AIML mengimplementasikan rekursi dengan menggunakan elemen

    srai. Penggunaan srai memungkinkan botmaster untuk menghasilkan

    perulangan yang tidak terbatas. Contoh dari penggunaan srai adalah

    seperti berikut ini :

    WHAT IS YOUR NAME

    MY NAME IS MARTIN

    HOW I MUST CALL YOU

    WHAT IS YOUR NAME

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    16/20

    Category yang pertama akan menjawab masukan what is your name

    dengan sebuah pernyataan mengenai nama bot. Category yang kedua

    akan menjawab masukan how I must call you dengan meneruskan

    pertanyaan tersebut ke category pertama yang cocok dengan masukan

    what is your name.

    - Symbolic Reductions

    Merupakan proses penyederhanaan bentuk gramatikal komplek ke

    dalam bentuk yang lebih sederhana. Biasanya,pattern tunggal pada

    category menyimpan pengetahuan robot yang dinyatakan dengan

    kemungkinan bentuk teks yang paling sederhana. Sebagai contoh

    kita lebih memilih bentuk WHO IS JAMES WATT daripada DO

    YOU KNOW WHO JAMES WATT IS ketika menyimpan

    informasi biografi tentang James Watt. Ada banyak bentuk yang

    disederhanakan menjadi lebih sederhana menggunakan category

    AIML yang dirancang untuk penyederhanaan simbol. Contoh dari

    penyederhanaan tersebut bisa dilihat di bawah ini :

    DO YOU KNOW WHO * IS

    WHO IS

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    17/20

    Input apapun yang cocok dengan pattern ini, bagian wildcard (*)

    memungkinkan untuk diisi dengan jawaban yang sama dengan template

    yang diberi markup .

    - Divide and Conquer

    Merupakan pembagian kalimat menjadi sub kalimat. Beberapa kalimat

    tunggal bisa disederhanakan menjadi dua atau lebih sub kalimat, dan

    respon dibentuk dengan mengkombinasikan antara satu respon dengan

    respon yang lain. Sebagai contoh kalimat yang diawali dengan kata

    YES, jika kalimat ini memiliki lebih dari satu kata, maka

    diperlakukan seperti sub kalimat YES.

    YES *

    YES

    Markup merupakan singkatan dari .

    - Synonims (persamaan kata)

    AIML versi 1.01 tidak mengijinkan penggunaan lebih dari satupattern

    satu category. Synonim merupakan aplikasi yang paling umum dari

    . Banyak cara yang dilakukan untuk menyatakan

    sesuatu yangdisederhanakan ke dalam satu category, yang berisi :

    HELLO

    Hi There!

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    18/20

    HI

    HELLO

    HOW DO YOU DO

    HELLO

    - Spelling and Grammar Correction

    Merupakan perbaikan ejaan dan tata bahasa yang dilakukan oleh

    pengguna. Misalnya, pengguna seringkali menggunakan ejaan yang

    salah seperti your untuk menyatakan youre atau you are. Tidak

    semua ejaan yang menggunakan your digantikan oleh youre atau

    you are, tapi beberapa kesalahan konteks gramatikal perlu diperbaiki

    seperti contoh di bawah ini :

    YOUR A *

    I think you mean youre or you

    are not your.

    YOU ARE

    A

    Disini bot berperan untuk memperbaiki input dari pengguna dan

    sebagai tutor bahasa.

    -Keywords (kata kunci)

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    19/20

    Seringkali kita ingin untuk menulis sebuah template AIML yang akan

    diaktifkan oleh kata kunci yang berada pada sebuah kallimat. Contoh :

    MOTHER

    Tell me more about your family.

    _ MOTHER

    MOTHER

    MOTHER _

    MOTHER

    _ MOTHER

    *

    MOTHER

    - Conditionals(bersyarat)

    Dimungkinkan untuk menuliskan kondisi percabangan dalam

    AIML, yang hanya menggunakan tag . Contoh :

    WHO IS HE

    WHOISHE

  • 7/24/2019 FHATIAH ADIBA - Tugas Ujian Tengah Semester - AI

    20/20

    WHOISHE *

    He is .

    WHOISHE UNKNOWN

    I dontknow who he is.

    Predikat he diinisialisasi dengan Unknown, category dijalankan

    sebagai kondisi percabangan yang tergantung kepada he yang

    sudah diset terlebih dahulu.

    - Targeting

    Merupakan kepribadian chatterbot yang diciptakan dan dibentuk

    melalui putaran proses darisupervised learning.

    - Context

    Kata kunci that diarahkan kepada ucapan chatterbot sebelumnya.

    Jika respon dari chatterbot tediri dari beberapa kalimat, maka nilai

    dari thatakan diset pada kalimat terakhir.