fhatiah adiba - tugas ujian tengah semester - ai
Post on 21-Feb-2018
252 Views
Preview:
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.
top related