Download Analisa Algoritma Pemahaman Kalimat Pada ALICE ChatBot

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Kumpulan Makalah Seminar Semirata 2013
Fakultas MIPA Universitas Lampung
Analisa Algoritma Pemahaman Kalimat Pada ALICE ChatBot
Dengan Menggunakan Artificial Intelligence Markup
Language (AIML)
Evfi Mahdiyah, Yanti Andriyani
MatematikaFMIPA Universitas Riau
Kampus Bina Widya Jl. HR Soebrantas Km. 12,5 Panam- Pekanbaru
[email protected], [email protected]
Abstrak.Artificial Intelligence Markup Language (AIML) merupakan bahasa yang
diterapkan pada ALICE ChatBot dengan mengimplementasikan beberapa konsep
penalaran yang ada pada Artificial Intelligence.Unsur-unsur AIML terdiri dari beberapa
tag yang memiliki fungsi masing-masing untuk kalimat dalam knowledge base-nya.
Unsur tag yang ada,akan mendefenisikan bentuk kalimat tertentu dengan jawaban tertentu
dalam knowledge base.Program ALICE Chatbot menggunakan bahasa pemrograman Java
dalam pengembangannya, dan menerapkannya dalam kumpulan class – class. Class –
class ini dikategorikan berdasarkan fungsionalitasnya.Class utama yang menjadi pusat
knowledge base-nya adalah class Graphmaster. Graphmaster.java merupakan otak dari
program ALICE chat bot yang menjelaskan alur proses pencarian jawaban dari kalimat
input yang diberikan oleh user.Pada umumnya untuk merubah knowledge base pada
ALICE Chat bot sangat sulit dilakukan, karena analisa setiap class-nya sangat banyak dan
rumit.Oleh karena itu, dengan menganalisa algoritma penalaran pemahaman kalimat,
akan dimungkinkan untuk melakukan perubahan ALICE Chat bot dalam bahasa yang
berbeda. Tujuan dari penelitian ini adalah melakukan analisa algoritma pemahaman
kalimat pada program ALICE ChatBot. Tahapan dalam menganalisa algoritma
pemahaman kalimat pada ALICE Chat bot yang menggunakan AIML, dimulai dengan
menganalisa pemberian input – output program, mengklasifikasikan setiap sub class yang
ada pada class Graphmaster dan melihat hasil perubahan pada class Graphmaster.
Penelitian iniakan menghasilkan beberapa algoritma seperti algoritma proses input
output, proses normalisasi kalimat input yang terbagi atas tiga seperti substitution
normalization, sentence-splitting normalization dan pattern-fitting normalization, proses
produksi jalur input, proses pemecah kalimat dan proses pencarian jawaban pada
knowledge base. Algoritma proses ini dapat digunakan untuk pengembangan ALICE Chat
Bot dalam bahasa yang berbeda.
Kata Kunci : Artificial Intelligence Markup Language (AIML), Knowledge Base,
Artificial Intelligence,ChatBot, ALICE ChatBot
PENDAHULUAN
Artificial Intelligenceadalah suatu
bidang studi tentang bagaimana membuat
komputer mampu melakukan suatu hal
yang dapat dilakukan manusia dengan
lebih baik [2].Salah satu aplikasi yang
menggunakan
kecerdasan
buatan
(Artificial Intelligence) adalah aplikasi
ChatBot.ChatBot dikategorikan sebagai
pemrosesan bahasa alami atau natural
language yang merupakan salah satu
bidang
kecerdasan
buatan
yang
melakukan pengolahan bahasa alami agar
pengguna dapat berkomunikasi dengan
komputer menggunakan bahasa seharihari.Bot merupakan software program
yang mengandung sejumlah data, jika kita
memberikan masukan, maka program ini
akan memberikan jawaban.Beberapa
program ChatBotyang ada saat ini masih
menggunakan bahasa asing, seperti bahasa
Inggris, Jerman, Perancis dan bahasa
asing lainnya. Salah satu contoh yang
diambil
adalah
program
ALICE
Hal 193
Evfi Mahdiyah dan Yanti Andriyani: Analisa Algoritma Pemahaman Kalimat Pada
ALICE ChatBot Dengan Menggunakan Artificial Intelligence Markup Language
(AIML)
ChatBotyang
menggunakan
bahasa
Inggris dalam percakapannya.
ALICE ChatBot adalah salah satu
aplikasi ChatBot yang sedang berkembang
saat ini.Basis pengetahuan ALICE Chat
Bot
berbasiskan
AIML (Artificial
Intelligence Markup Language).AIML ini
menyebabkan
ChatBot
dapat
mengintegrasikan
input
yang
diterimanya berupa kalimat inputdalam
bentuk teks, sehingga akan dihasilkan
percakapan antara pengguna dengan
program. Percakapan yang dihasilkan oleh
program ALICE ChatBotsejauh ini
terbatas pada input kalimat berupa teks
dan menggunakan bahasa Inggris. Belum
ada dijumpai ChatBotyang menggunakan
percakapan bahasa Indonesia.
Oleh sebab itu, penulis berkeinginan
melakukan perubahan dari bahasa yang
ada dengan melakukan pengembangan
program
ALICE
ChatBotmelalui
pengubahan unit basis pengetahuan dalam
bentuk AIML yang ada, sehingga dapat
menghasilkan
program
ALICE
ChatBotyang
menggunakan
bahasa
Indonesia. Sebelum ini dapat dilakukan,
penulis terlebih dahulu harus melakukan
analisa terhadap proses dari program
ALICE ChatBot, yaitu analisa terhadap
unsur dari AIML dan analisa algoritma
pemahaman kalimat pada program ALICE
ChatBot.
Pada penelitian sebelumnya, telah
dilakukan analisa terhadap unsur dari
AIML dan fungsinya.Unsur-unsur AIML
terdiri dari beberapa tag yang memiliki
fungsi masing-masing untuk kalimat
dalam knowledge base-nya.
AIML menggambarkan kelas dari
objek data yang disebut objek AIML dan
secara sebagian menggambarkan cara
program komputer memprosesnya. Objek
AIML terdiri dari beberapa elemen yang
disebut “topic” d n “category”. Beber p
<category> terdiri dari <pattern> dan
<template>. Saat pengguna memberikan
input berupa teks sebagai stimulus,
Hal 194
graphmaster mencari tag <category>
untuk dicocokkan dengan elemen
<pattern>sesuai konteks yang terhubung,
lalu
memberikan
keluaran
yang
dihubungkan <template> sebagai jawaban.
Unsur-unsur diatas merupakan bentuk
tag yang paling sering digunakan untuk
membentuk file dalam AIML. Dengan
mengenali unsur-unsur umum ini,
biasanya mampu memahami bagaimana
bentuk AIML itu sendiri, sehingga mampu
merancang AIML sesuai kebutuhan dan
keinginan pembuatnya atau yang disebut
botmaster[1]. Menganalisa algoritma
penalaran pemahaman kalimat, akan
dimungkinkan
untuk
melakukan
perubahan ALICE Chat bot dalam bahasa
yang berbeda[3].
Tujuan dari penelitian ini, penulis akan
melakukan tahapan selanjutnya dari
pengembangan AIML, yaitu melakukan
analisa algoritma pemahaman kalimat
pada program ALICE ChatBot yang
nantinya akan menghasilkan algoritma
proses sehingga dapat digunakan untuk
pengembangan ALICE ChatBot dalam
bahasa yang berbeda seperti bahasa
Indonesia.
METODE PENELITIAN
Penelitian ini berasaskan kepada
metode tertentu agar setiap pelaksanaan
berjalan dengan teratur, lancar dan lebih
sistematik. Metodologi yang digunakan
dalam menjalankan penelitian ini terdiri
dari dua, yaitu :
Metode Pustaka
Merupakan cara yang digunakan
untuk memperoleh data yang diperlukan.
Data yang diperlukan merupakan tujuan
yang ingin dikaji dan digunakan untuk
langkah berikutnya. Yaitu dengan cara
melakukan
penelusuran
pustaka,
mempelajari, menelaah dan memahami
referensi yang erat kaitannya dengan tema
penulisan yang didapat dari perpustakaan
atau melalui jelajah Internet.
Kumpulan Makalah Seminar Semirata 2013
Metode Analisis
Analisa hasil penelitian ini
merupakan hal yang penting, karena dapat
memberi informasi mengenai hasil
penelitian yang dilakukan dan memberi
panduan kepada penelitian masa akan
datang. Tahapan dalam menganalisa
algoritma pemahaman kalimat pada
ALICE ChatBot yang menggunakan
AIML, terdiri atas tiga bagian, yaitu :
a. Menganalisa proses pemberian input –
output dariprogramChatBot
b. Mengklasifikasikan setiap sub class
yang ada pada class Graphmaster
c. Melihat hasil perubahan pada class
Graphmaster.
HASIL DAN PEMBAHASAN
Knowledge
basepada
ChatBot
dibangun
dengan
kalimat-kalimat
percakapan umum yang dianggap sering
dilakukan
oleh
manusia
sebagai
pengguna.Botmaster
yang
berperan
seb g i pembu t/pencipt “ot k” d ri
program
ChatBot
harus
mampu
melakukan
penalaran
beberapa
percakapan
umum
dengan
cara
memperhatikan
alur
percakapan
pengguna.
Program yang digunakan dalam
pengembangan ini adalah program ALICE
ChatBot.
ProgramALICE
ChatBotmenerima inputdalam bentuk
kalimat percakapan yang tersusun dari
beberapa kata. Proses dari program ALICE
ChatBotini tidak melakukan penalaran
kalimat yang diterima, melainkan dengan
mencocokkan kalimat input dengan
knowledge base yang ada.
Program ALICE ChatBot dibangun
dengan
menggunakan
bahasa
Pemograman
Java.Program
ALICE
ChatBot terdiri dari package-package
yang berupa kumpulan class-class[5].
Satu yang penting dari program ALICE
ChatBot adalah class graphmaster yang
memanggil class lain dalam prosesnya.
Fakultas MIPA Universitas Lampung
Graphmaster.java merupakan otak dari
program
ALICE
ChatBot
yang
menjelaskan alur proses pencarian
jawaban dari kalimat input yang diberikan
oleh user[4].Pada umumnya untuk
merubah knowledge base pada program
ALICE ChatBot sangat sulit dilakukan,
karena analisa setiap class-nya sangat
banyak dan rumit. Oleh karena itu, dengan
menganalisa
algoritma
penalaran
pemahaman kalimat, akan dimungkinkan
untuk melakukan perubahan ALICE Chat
bot dalam bahasa yang berbeda[3].
Proses Input Output Program Alice
Chatbot
Proses diawali dengan menerima
kalimat input oleh user. Proses input pada
program ChatBot berupa kalimat dan
output yang diberikan juga berbentuk
kalimat. Proses awal adalah proses
normalisasi input kalimat biasa yang
dinormalisasikan atau diubah untuk
disesuaikan dengan knowledge base dalam
bentuk AIML yang memiliki tag-tag
tertentu.
Tujuan proses normalisasi adalah
mengubah bentuk kalimat input biasa
kedalam bentuk AIML agar pada saat
proses
pencarian/pencocokan
pada
knowledge base sudah terdefenisi dalam
bentuk AIML. Knowledge base dalam
bentuk AIML berupa kalimat-kalimat
yang dianggap sering digunakan dalam
percakapan umum yang juga disertai
dengan jawabannya.
Knowledge base dalam bentuk AIML
berupa kalimat-kalimat yang dianggap
sering digunakan dalam percakapan
umum yang juga disertai dengan
jawabannya. Misalkan kalimat yang
paling sering digunakan dalam mengawali
perc k p n d l h k lim t “Ap K b r ?”
d n j w b nn “B ik-b ik s j ”. Contoh
bentuk AIML yang sederhana, seperti :
<category>
<pattern>HALO</pattern>
<template>Halo juga!</template>
</category>
Hal 195
Evfi Mahdiyah dan Yanti Andriyani: Analisa Algoritma Pemahaman Kalimat Pada
ALICE ChatBot Dengan Menggunakan Artificial Intelligence Markup Language
(AIML)
Setelah proses
normalisasi kita
dapatkan, pola AIML yang selanjutnya
dalam proses produksi jalur input
dilakukan pengecekan terhadap kalimat
yang
diberikan
oleh
program
sebelumnya.Setelah didapat jalur input,
maka kalimat dipecah menjadi bentuk
kata agar dapat dilakukan proses
pencocokan kedalam knowledge base
untuk mencari jawaban yang sesuai
dengan kalimat input yang diberikan oleh
pengguna.
Adapun bentuk proses yang dilakukan
dalam
program
ALICE
ChatBotdigambarkan
menggunakan
diagram alur yang dapat dilihat pada
gambar 1.
sesuai dalam bentuk AIML . Proses dari
normalisasi kalimat digambarkan pada
gambar 2.
Normalisasi
Kalimat Input
Kalimat Input
Cek Kamus Substation
Adakah kata
terdapat dalam
kamus?
Ubah kedalam bentuk normal
MULAI
Cek kamus Pemilah Kalimat
Kalimat Input
Normalisasi
Kalimat Input
Adakah kata
terdapat dalam
kamus?
Tidak
Tidak
Ya
Ya
Produksi Jalur Input
Pemilahan Kalimat
Pemecah Kalimat
Pencocokan/Pencarian
dalamknowledge base
Tampil
SELESAI
Gambar 1.Diagram Alur Proses InputOutput
Proses Normalisasi Kalimat Input
Proses normalisasi adalah proses
dimana semua input kalimat yang
diberikan
dinormalisasikan
terlebih
dahulu dengan tujuan agar dapat
disesuaikan dengan knowledge base yang
Hal 196
Ubah dalan bentuk Uppercase
RETURN
Gambar 2.Proses normalisasi kalimat
input
Bentuk normalisasi yang terjadi antara
lain :
a. Substitution Normalization
Merupakan penerapan heuristic pada
input yang berusaha menjaga informasi
dari input yang mungkin akibatnya akan
hilang saat kalimat melewati proses
sentence-splitting (pemilahan kalimat) dan
pattern-fitting (perubahan pola).
Contoh: p d singk t n k t “N ” k t
ini bi s diuc pk n “N on ” d n k t ini
merupakan
singkatan
yang
harus
dinormalisasikan menjadi k t “N on ”
Kumpulan Makalah Seminar Semirata 2013
untuk menghindari pemilihan kalimat
nantinya yang dilakukan pada proses
selanjutnya. Substitution Normalization
sendiri mengacu pada kamus yang
dimilikinya.Kamus disini berfungsi untuk
menyimpan segala kata yang bisa diubah
secara sederhana. Kamus substitution
disimpan dalam bentuk file XML agar
bisa dibuat lebih terstruktur. Input
Substitution
mengoreksi
kesalahan
pengucapan dan penulisan dan mengubah
karakter akhir kalimat kedalam karakter
yang
tidak
didefinisikan
sebagai
pengakhir kalimat.
Salah satu potongan dari kamus
Substitution :
<substitutions>
<input>
<substitute
find=” up”repl ce=”i ”/>
<substitute
find=”i h”repl ce=”i ”/>
<substitute find=” ”repl ce=”i ”/>
<input>
</substituton>
b. Sentence-Splitting Normalization
Merupakan proses Pemilahan kalimat,
yang berusaha memilah kalimat input
kedalam dua kalimat atau lebih. Pemilah
kalimat mendefenisikan tanda yang
mengakhiri kalimat setelah substitution
input telah dilakukan. Dengan acuan
b hw t nd “.”, “!” , “,” d n “?”
merupakan batas akhir dari kalimat.
Acuan tanda diatas tersimpan dalam
kamus sentence-splitters yang disimpan
dalam bentuk file *.xml.Pemilahan
kalimat berdasarkan adanya tanda baca.
Bentuk kamus sentence-splitters adalah
sebagai berikut:
<sentence-splitters>
<splitter v lue=”.”/>
<splitter v lue=”!”/>
<splitter v lue=”?”/>
<splitter v lue=”;”/>
</sentence-splitters>
c. Pattern-Fitting Normalization
Fakultas MIPA Universitas Lampung
Merupakan proses terakhir yang
melakukan pengubahan bentuk karakter
pada kalimat, menghilangkan tanda baca
pada kalimat input dan merubah (convert)
kalimat input kedalam huruf kapital
(UPPERCASE). Tujuan pengubahan
kedalam bentuk uppercase adalah untuk
melakukan proses berikutnya yang akan
melakukan pencocokan pola pada pattern
AIML yang bentuknya Uppercase.
Proses Produksi Jalur Input
Proses produksi Jalur Input merupakan
gerbang dalam AIML dan pencarian
didalam knowledge base, karena pada
proses ini akan didapat pola dalam bentuk
AIML dan mendapat pola yang dicari.
Disamping input kalimat yang ada, kita
juga
membutuhkan
kalimat
yang
diberikan oleh ChatBot sebelumnya untuk
mendapatkan jalur tersebut. Untuk
mempermudah pemahaman, dapat dilihat
contoh percakapan dibawah ini :
User : Apakah kamu punya agama?
Bot
:Agama saya Budha. Agama kamu
apa?
User : Islam
Bot
: Agama kita sama-sama meyakini
adanya Tuhan
Input k lim t “Isl m” sud h mel lui
proses normalisasi dan diubah kedalam
bentuk AIML yang berperan sebagai
<pattern>.
Dan
diubah
menjadi
<pattern>*</pattern>, tanda*merupakan
value dari input yang diberikan olehuser.
Lalu melihat kembali kalimat output
sebelumnya yang telah terrnomalisasi
menj di “AGAMA SAYA BUDHA” d n
“AGAMA KAMU APA”, karena ada
kalimat output sebelumnya lalu diubah
menjadi
<that>AGAMA KAMU
APA</that>, jika tidak terdapat kalimat
sebelumnya maka nilai <that> menjadi
<that>*</that>, dari proses diatas kita
memperoleh bentuk:
<category>
<pattern>*</pattern>
<that>AGAMA KAMU APA</that>
<templ te>…..(j w b n ng
Hal 197
Evfi Mahdiyah dan Yanti Andriyani: Analisa Algoritma Pemahaman Kalimat Pada
ALICE ChatBot Dengan Menggunakan Artificial Intelligence Markup Language
(AIML)
dicari)</template></category>
Produksi Jalur
Input
pencarian
dan
pencocokan
pada
knowledge base dilakukan kata per kata.
Pemecah Kalimat
Normalisasi
Kalimat Input
Produksi Jalur Input
Kalimat Input
Kalimat Input
Ubah dalam bentuk
<pattern>
Pemecahan Kalimat
menjadi Kata
Cek kalimat output
sebelumnya
Array Kata
Return
Ubah dalam bentuk <that>
Tidak
Apakah
ada?
Nilai <that> = *
Ya
Ubah dalam bentuk AIML
RETURN
Gambar 3. Proses produksi jalur input
Dari sini diperoleh satu kunci yang
dicari, apabila ChatBot memberikan
pert n n “AGAMA KAMU APA?” l lu
user akan memberikan kemungkinan
menjawab
jenis
agamanya
yaitu
“ISLAM”, m k respon p l gi
ng
harus
diberikan oleh ChatBot akan
ditelusuri lagi dalam knowledgebase, jika
tidak ada maka ChatBot akan memberikan
respon dengan mengalihkan pembicaraan
sebelumnya
dengan
kalimat
lainnya.Proses dari produksi jalur input
digambarkan pada gambar 3.
Proses Pemecahan Kalimat
Proses pemecahan kalimat kedalam
array
kata
dilakukan
untuk
pencocokan/pencarian jawaban pada
knowledge base seperti yang digambarkan
pada gambar 4. Yang dimana proses
Hal 198
Gambar 4. Proses pemecahan kalimat
Proses Pencarian Jawaban Dalam
Knowledge Base
Proses pencarian jawaban pada
knowledge base melibatkan beberapa
unsur
yang belum
kita ketahui
sebelumnya, namun unsur-unsur ini
terdapat pada file atau bentuk-bentuk
AIML yang memiliki arti dan nilai
sendiri. Beberapa unsur tersebut antara
lain:
a. Nodemapper
yang
terdiri
dari
kumpulan node-node pada tree dalam
bentuk AIML yang diatur oleh
Graphmaster. Nodemapper memetakan
node yang ada didalamnya.
b. Simbol “_”
d l h simbol
ng
mendefenisikan kata pertama dari input
kalimat dan berada didepan dari semua
karakter.
c. Atomic
adalah
kalimatyang
didalamnya knowledge base bersifat
independen t np disert i t nd “*”
d n “_”. Atomic merupakan pola paling
sederhana dalam AIML yang terdiri
dari <pattern> dan <template> saja,
tanpa tanda dan tag-tag lainnya seperti
<that>,
<srai>,
<topic>
dan
sebagainya.Sebagai contoh dari atomic
sebagai berikut:
Kumpulan Makalah Seminar Semirata 2013
<category>
<pattern>HALO</pattern>
<template>Halo
Juga!
Apa
Kabar</template>
<category>
d. Simbol”*” simbol
ng terd p t di
akhir dan diawali oleh karakter lainnya
Unsur-unsur diatas digunakan
sebagai kunci dari pencarian jawaban
dalam knowledge base.Dan metode
pencarian
dalam
knowledge
base
merupakan gambaran pencarian jawaban
didalam otak ChatBotyang terdiri dari
banyak percabangan jawaban. Metode
pencariannya sendiri memiliki algoritma
sebagai berikut:
Misalkan XYZ adalah input yang akan
kita cocokan.
1. Inisialisasikan kata pertama sebagai
t nd “_” l lu cek pakah node terdiri
d ri kunci simbol “_”? Jik
, c ri
root subgraph pada child node yang
dihubungk n oleh “_”. Cob semu
sisa kata yang merupakan akhiran dari
X yaitu YZ untuk mendapatkan
kecocokan, jika tidak ada maka
2. Apakah node terdiri dari kunci semua
kata X yang merupakan kata dari
kalimat input
yang merupakan
“ tomic”? Jik d , c ri subgr ph ng
dihubungkan oleh YZ, menggunakan
bagian belakang dari input XYZ, jika
tidak ada yang ditemukan, maka
3. Apakah nodeterdiri dari kunci simbol
“*”? Jik
, cari root subgraph pada
child node ng dihubungk n oleh “*”.
Coba semua sisa kata yang merupakan
akhiran dari input untuk mendapatkan
kecocokan. Jika tidak ditemukan, maka
kembali ke awal input.
Jika pencarian tidak ditemukan juga
maka akan diberikan output berupa
kalimat pengalihan pembicaraan agar
Fakultas MIPA Universitas Lampung
topik pembicaraan terganti dan proses
dilakukan lagi.
Proses ini bisa dideskripsikan dengan
menggunakan istilah dalam pengaturan
file dan direktori pada Graphmaster,
diamana
kumpulan
node
disebut
nodemappers
dan
cabang-cabang
mewakili kata awal dari semua pola dan
simbol. Misal, input dari user dimulai kata
X dan root dari struktur ini adalah sebuah
folder dari sistem file yang terdiri dari
semua tag <pattern> dan tag <template>.
Contoh dari proses digambarkan sebagai
berikut:
1. Jika folder memiliki subfolder yang
dimul i deng n simbol “_”, m k
kunjungi subfolder deng n simbol “_”,
lalu cocokan seluruh kata dengan X,
jika tidak ada lalu
2. Kembali ke folder, cari sub folder yang
dimulai dengan kata X, jika ada maka
kunjungi subfolder dengan X, lalu
cocokan bagian belakang dari kata X,
jika tidak ada lalu
3. Kembali ke folder dan cari subfolder
ng memiliki simbol “_”, l lu
cocokan semua sisa yang mengakhiri
dari kata X, jika tidak ada yang sesuai
maka ubah direktori dan kembali ke
awal folder
Ketika ada jawaban yang cocok/sesuai ,
maka proses selesai/berhasil, dan template
yang sesuai dan termasuk dari kategori
input akan diproses untuk menghasilkan
output/respon.
(1)<category>
<pattern>APACHAT BOT </pattern>
<template>
<sr/><srai>APAKAHCHAT
BOT</srai>
</template>
</category>
(2)<category>
Hal 199
Evfi Mahdiyah dan Yanti Andriyani: Analisa Algoritma Pemahaman Kalimat Pada
ALICE ChatBot Dengan Menggunakan Artificial Intelligence Markup Language
(AIML)
<pattern>*CHAT BOT</pattern>
<template><random>
<li> Chat bot aplikasi untuk berbicara
dengan kumputer </li>
<li> Chat bot adalah aplikasi
Kecerdasan
Buatan
yang
menstimulasi percakapan manusia
untuk dijadikan percakapan antara
manuasia dengan komputer </li>
<li> Definisi Chat bot secara
mudahnya
adalah
chatting
(mengobrol) dengan robot atau
komputer </li>
</template>
</category>
(3)</category>
<pattern>HELO</pattern>
<template><srai>HALO</srai><templ
ate>
</category>
(4)<category>
<pattern>HALO</pattern>
<template>
<random>
<li>Halo juga!<li>
<li> Hai juga!</li>
<li> Halo yang disana! Saya sedang
berbicara
dengan
<get
n me=”n me”/>,</li>
<li> oh, hi juga! </li>
</random>
</template>
</category>
Jik input user: “Helo. Ap
ng
dim ksud deng n ch t bot?” l lu ALICE
k n memberik n Output: “H lo jug !
Chatbot adalah aplikasi Kecerdasan
Buatan yang menstimulasi percakapan
manusia untuk dijadikan percakapan
antara manu si deng n komputer.”
Prosesnya adalah sebagai berikut:
1. Input akan dicocokan dengan kategori
(1) yang membagi kalimat input
kedalam dua kalimat yaitu:
Hal 200
a. K lim t pert m : “HAI”, diw kili
oleh tag </sr> yang mencocokan (_)
dimanakah kata HAI
b. Kalimat kedua: “APA YANG
DIMAKSUD DENGAN CHATBOT?”
2. Pola tunggal menemukan untuk kata
“HELO” d n dig ntik n oleh HALO
pada kategori (3) dan dicocokan lagi
dengan kategori (4); jawaban akan
diberikan secara acak menurut list <li>
pada <template>. Disinilah letak
hubungan sinonim antara kata Helo dan
kata Halo yang memiliki respon yang
sama.
3. Selanjutnya menyocokkan kalimat
“APA YANG DIMAKSUD DENGAN
CHAT BOT?” p d k lim t ini tid k
terdapat kata tunggal, lalu cocokkan
deng n pol k lim t “APA YANG
DIMAKSUD DENGAN*, jika tidak
ada cari dengan pola kalimat *CHAT
BOT, kecocokan terdapat pada kategori
(2) dan respon akan diberikan secara
acak sesuai dengan list <li> yang ada.
4. Selanjutnya kedua jawaban ini akan
digabung dan ditampilkan secara
bersama.
Kesimpulan
Berdasarkan hasil analisa pada
programALICE ChatBot, maka dapat
ditarik kesimpulan sebagai berikut :
1. Algoritma
penalaran
pemahaman
kalimatyang terdapat pada program
ALICE ChatBotadalah :
a. Proses input output
b. Proses normalisasi kalimat input
yang terbagi atas tiga seperti
substitution
normalization,
sentence-splitting normalization dan
pattern-fitting normalization
c. Proses produksi jalur input
d. Proses pemecah kalimat
Kumpulan Makalah Seminar Semirata 2013
e. Proses pencarian jawaban pada
knowledge base.
2. Proses input-output pada program
ALICE ChatBotmenggunakan proses
dengan cara menyesuaikan kalimat
input dan mengubahnya ke dalam
bentuk AIML yang akan dicocokan
kedalamknowledge base.
3. Metode yang digunakan dalam
pencarian jawaban untuk memberikan
output menggunakan metode pattern
matching atau pencocokan pola kalimat
input yang diberikan dengan pola
kalimat yang terdapat pada knowledge
base.
Percakapan yang dihasilkan oleh
program ALICE ChatBot sejauh ini
terbatas pada input kalimat berupa teks
dan menggunakan bahasa Inggris. Belum
ada dijumpai ChatBotyang menggunakan
percakapan
bahasa
Indonesia.Untuk
pengembangan
program
ini,
bisa
dilakukan dengan membuat program
ALICE Chat Bot yang dapat merespons
percakapan dalam bahasa Indonesia dan
penambahan topik percakapan yang lebih
luas dan variatif.
Fakultas MIPA Universitas Lampung
DAFTAR PUSTAKA
E. Mahdiyah, Y. Andriyani dan Hamidi.
(2012). Analisa Artificial Intelligence
Markup
Language
(AIML)
Menggunakan Program Alice Chat Bot.
Seminar dan Rapat Tahunan Bidang
MIPA (SEMIRATA BKS Barat).
Medan-Indonesia. Mei 2012.
E. Rich and K. Kevin.(1991). Artificial
Intelligence.2nd
Edition. Carnegie
Mellom University : Mc.Graw-Hill
I. Zatnika. (2003). Artificial Intelligence
Mencerdaskan Robot, Memuaskan
Mesin. Tabloid Bulanan CALTRON,
Tahun 1, Nomor 7. Mei 2003.
J. Shancez and M. P. Canton. (2002).
JAVA 2 Weekend Crash Course.
Jakarta. Elex Media Komputindo.
S.
Kusumadewi. (2003). Artificial
Intelligence
Teknik
dan
Aplikasinya.Yogyakarta.Graha Ilmu.
R.
S.
Wallace.AIML
Overview.http://www.pandorabots.com
/pandora/pics/wallaceaimltutorial.html
www.alice.org
Hal 201