BAB 2 TINJAUAN PUSTAKA
2.1.
Artificial Intelligence Mengacu kepada pendekatan Russell dan Norvig (2010:1), definisi dari artificial intelligence dibagi ke dalam empat pendekatan yaitu : 1. Thinking Humanly Upaya baru yang menarik untuk membuat komputer berpikir, mesin dengan pikiran, dalam arti penuh dan masuk akal. Kegiatan yang dikaitkan dengan pemikiran manusia, kegiatan seperti pengambilan keputusan, pemecahan masalah, belajar. 2. Thinking Rationally Studi tentang kemampuan mental melalui penggunaan model komputasi. Studi tentang perhitungan yang memungkinkan untuk melihat, berpikir, dan bertindak. 3. Acting Humanly Seni menciptakan mesin yang melakukan fungsi yang membutuhkan kecerdasan ketika dilakukan oleh orang-orang. Studi tentang bagaimana membuat komputer melakukan hal-hal di mana, pada saat ini, orangorang yang melakukan dengan lebih baik. Komputer akan perlu memiliki •
Natural Language Processing : pengolahan bahasa alami yang memungkinkan komputer untuk berkomunikasi.
•
Knowledge
representation
:
representasi
pengetahuan
untuk
menyimpan apa yang ia tahu atau mendengar. •
Automated reasoning : penalaran otomatis untuk menggunakan informasi yang tersimpan untuk menjawab pertanyaan dan untuk menarik kesimpulan baru.
•
Machine language untuk beradaptasi dengan keadaan baru dan untuk mendeteksi dan memperkirakan pola.
4. Acting Rationally Computational Intelligence adalah studi tentang desain agen cerdas. Membuat komputer mampu melakukan pekerjaan yang rasional seperti yang dilakukan manusia.
9
10 2.2.
Natural Language Processing Natural Language Processing (NLP) merupakan salah satu cabang ilmu AI yang berfokus pada pengolahan bahasa natural. Bahasa natural adalah bahasa yang secara umum digunakan oleh manusia dalam berkomunikasi satu sama lain. Menurut Pustejovsky dan Stubbs (2012:4), Natural Language Processing adalah sebuah bidang ilmu computer dan teknik yang dikembangkan dari studi bahasa dan komputasi linguistik dalam kecerdasan buatan. Tujuan dari NLP adalah untuk merancang dan membuat aplikasi yang dapat memfasilitasi interaksi antar manusia dengan mesin dan device lain melalui penggunaan natural language. Pustejovsky dan Stubbs (2012:4) menjelaskan bahwa ada beberapa area utama penelitian pada NLP, diantaranya: 1. Question Answering Systems (QAS) Kemampuan komputer untuk menjawab pertanyaan yang diberikan oleh pengguna. Daripada memasukkan keyword ke dalam browser pencarian, dengan QAS, pengguna bisa langsung bertanya dalam bahasa natural yang digunakannya, baik itu bahasa Inggris, Mandarin, ataupun Indonesia. 2. Summarization Pembuatan ringkasan dari sekumpulan konten dokumen atau email. Dengan menggunakan aplikasi ini, pengguna bisa dibantu untuk mengkonversikan dokumen teks yang besar ke dalam bentuk slide presentasi. 3. Machine Translation Produk yang dihasilkan adalah aplikasi yang dapat memahami bahasa manusia dan menterjemahkannya ke dalam bahasa lain. Termasuk di dalamnya adalah Google Translate yang apabila dicermati semakin membaik dalam penterjemahan bahasa. Contoh lain adalah BabelFish yang menterjemahkan bahasa secara real time. 4. Speech Recognition Ini merupakan cabang ilmu NLP yang paling sulit. Proses pembangunan model untuk digunakan telepon/komputer dalam mengenali bahasa yang
11 diucapkan sudah banyak dikerjakan. Bahasa yang sering digunakan adalah berupa pertanyaan dan perintah. 5. Document classification Sedangkan area ini adalah merupakan area penelitian NLP yang paling sukses. Pekerjaan yang dilakukan aplikasi ini adalah menentukan dimana tempat terbaik dokumen yang baru diinputkan ke dalam sistem. Hal ini sangat berguna pada aplikasi spam filtering, news article classification, dan movie review. Perkembangan NLP menghasilkan kemungkinan dari interface bahasa natural menjadi knowledge base dan penterjemahan bahasa natural. Poole dan Mackworth (2010:520) menjelaskan bahwa ada 3 (tiga) aspek utama pada teori pemahaman mengenai natural language: 1.
Syntax: menjelaskan bentuk dari bahasa dan bisa mempengaruhi arti dalam bahasa itu sendiri.
Biasanya dispesifikasikan berdasarkan
grammar. Natural Language lebih rumit jika dibandingkan dengan formal language yang digunakan untuk logika artificial language dan program komputer. 2.
Semantics: menjelaskan arti dari kalimat dalam satu bahasa. Meskipun teori semantics secara umum sudah ada, ketika membangun sistem natural smenjelaskan bagaimana pernyataan yang ada berhubungan dengan dunia. Untuk memahami bahasa, agen harus mempertimbangan lebih dari hanya sekedar kalimat. Agen harus melihat lebih ke dalam konteks kalimat, keadaan dunia, tujuan dari speaker dan listener, konvensi khusus, dan sejenisnya. Contoh kalimat di bawah ini akan membantu untuk memahami
perbedaan di antara ketiga aspek tersebut di atas. Kalimat-kalimat ini adalah kalimat yang mungkin muncul pada bagian awal dari sebuah buku Artificial Intelligence (AI): 1.
This book is about Artificial Intelligence
2.
The green frogs sleep soundly
3.
Colorless green ideas sleep furiously
4.
Furiously sleep ideas green colorless Kalimat pertama akan tepat jika diletakkan pada awal sebuah buku,
karena tepat secara sintaks, semantik, dan pragmatik. Kalimat kedua tepat
12 secara sintaks dan semantik, namun kalimat tersebut akan menjadi aneh apabila diletakkan pada awal sebuah buku AI, sehingga kalimat ini tidak tepat secara pragmatik. Kalimat ketiga tepat secara sintaks, tetapi tidak secara semantik. Sedangkan pada kalimat keempat, tidak tepat secara sintaks, semantik, dan pragmatik.
2.2.1. Tokenization Menurut Jurafsky dan Martin
(2006:3), tokenization bertugas untuk
memisahkan kata dari teks yang sedang diproses. Contoh tokenization adalah sebagai berikut : Input : “An input sample sentence.” Output : “An”,”input”, “sample”, “sentence”, “.”
2.2.2. Stemming Menurut Jurafsky dan Martin (2006:8), stemming adalah proses memecahkan sebuah variasi morfologi dari kata secara bersamaan. Contoh stemming : Input : Caresses Output : Caress Input : Conditional Output : Condition 2.3. Information Retrieval Mengacu pada pendapat Russel dan Norvig (2010:867) Information Retrieval (IR) mempunyai tugas untuk mencari dokumen yang relevan sesuai dengan kebutuhan informasi user. Information retrieval memiliki karakteristik sebagai berikut: 1. Sebuah corpus dari dokumen Setiap sistem harus memutuskan apa yang ingin dilakukan pada sebuah dokumen ; paragraf, page, atau multipage text. 2. Pertanyaan yang diajukan dalam query language Sebuah query menjelaskan apa yang user ingin diperoleh user. Query language dapat hanya berupa kumpulan kata-kata [AI book], atau dapat berupa frase spesifik dari kata-kata yang berdekatan ["AI book"], dapat berupa Boolean operator [AI AND book], dapat juga termasuk non-Boolean operator seperti [AI NEAR book].
13 3. Result set Result set merupakan bagian dari dokumen yang dinilai oleh sistem IR dan harus relevan dengan query.
4.
Presentasi dari result set Presentasi dari result set dapat berupa tampilan list judul yang sudah diranking Sistem IR mula-mula bekerja keyword Boolean Setiap kata dalam
koleksi dokumen diperlakukan sebagai fitur Boolean, jika true maka kata akan muncul, jika false maka tidak akan muncul. Berikut adalah proses dari information retrieval :
Gambar 2.1 Proses dari Information Retrieval (Sumber : http://article.sapub.org/10.5923.j.se.20120202.04.html, Januari 2015)
2.4. Question Answering System Menurut Mervin (2013:11), Question Answering (QA) System adalah sistem pencarian informasi di mana jawaban langsung diharapkan sebagai tanggapan atas permintaan disampaikan, daripada satu set referensi yang mungkin berisi jawaban. QAS menggunakan basic NLP (Natural Language Processing). Tujuan dari QAS ini adalah untuk mendapatkan jawaban atas pertanyaan tapi bukan satu dokumen penuh atau kalimat yang benar – benar sama persis seperti yang kebanyakan system pencarian informasi lakukan. Tantangan dalam pembuatan QAS adalah bagaimana sistem tersebut bisa
14 mendapatkan jawaban yang seakurat mungkin. QAS memiliki beberapa tipe antara lain : a.
Factoid QA QA factoid berfokus pada pertanyaan yang jawabannya adalah entitas sintaksis, dan atau entitas semantik, misalnya organisasi atau nama orang. Langkah-langkahnya adalah pertama Question Processing yaitu mengidentifikasi tipe-tipe pertanyaannya. Kedua adalah Passage Retrieval yaitu mengekstrak bagian yang relevan lalu teakhir Answer Extraction yaitu mengekstrak jawaban dari bagian yang telah di ambil dari proses sebelumnya.
b.
Web Based QA QAS yang berbasis web seperti search engine Yahoo, Google dan sebagainya. Biasanya sistem ini berkerja di ruang lingkup yang besar atau umum.
Langkah-langkahnya
menggunakan
klasifikasi
pertanyaan
pengguna dengan jawaban yang ada, kemudian disesuaikan lalu diseleksi. c. Information Retrieval QA QAS ini bersifat mengambil informasi berdasarkan pertanyaan yang sudah diberikan misal “Who won the first nobel prize in India ?”. Dari pertanyaan tersebut sistem mengambil kata kunci yang bersifat noun . Biasanya QAS ini hanya mengetahui pertanyaan yang mengandung wh question (what, who, where, when). d. Restricted Domain QA QAS yang dibatasi ruang lingkupnya. Artinya sistem harus mempunyai sifat yang akurat dan dapat mengurangi informasi yang bersifat redundan. Jadi bagi siapapun yang ingin menggunakannya untuk mencari di bidang tertntu tidak perlu mengakses database ruang lingkup yang umum cukup bidang yang ingin ditemukan. e. Ruled Based QA Tipe QAS yang berdasarkan aturan. Sistem ini sudah mengetahui jika pertanyaan tersebut who maka mencari nama, jika what fokusnya ke ekspresi tanggal atau noun, jika when fokusnya ke ekspresi waktu, jika where maka fokusnya ke lokasi dengan mengandung kata seperti in, at, near, inside. Jika why fokusnya observasi yang dekat dengan pertanyaan tersebut.
15 Menurut Jurafsky dan Martin (2006 : 15), terdapat tiga phase dalam factoid question answering system secara umum, antara lain adalah : 1. Question Processing Tujuan dari question processing adalah untuk mengekstrak dua hal dari pertanyaan, yaitu keyword query yang cocok sebagai inputan IR sistem dan answer type, spesifikasi dari jenis entitas yang merupakan jawaban yang masuk akal untuk pertanyaan. Ada dua tahap dalam question processing yaitu : a. Query Reformulation Proses query reformulation memiliki proses yang sama dengan IR queries. Membuat keyword dari setiap kata, menggunakan stopword removal, membuang kata-kata tanya seperti what, when, who, where, why, how. b. Query Classification Mengklasifikasikan pertanyaan dengan jawaban yang diharapkan. Contoh : Tabel 2.1 Contoh Query Classification Question
Answer Type
Who founded Virgin Airlines?
PERSON
What Canadian city has the largest population? What is a prism?
CITY
Who is Zhou Enlai?
BIOGRAPHY SPESIFIC
BIOGRAPHY
2. Passage Retrieval and Ranking Dalam tahap ini mula-mula akan disaring bagian dari dokumen yang dikembalikan tidak berisi jawaban yang berpotensi, dan kemudian mengurutkan sisanya menurut seberapa besar kemungkinan mereka untuk mengandung jawaban yang tepat. 3. Answer Processing Tahap akhir dari question answering adalah mengekstrak jawaban yang spesifik dari dokumen. Dan memberikan output berupa jawaban terbaik.
16 2.5.
Vector Space Model Mengacu pada pendapat Clark (2014:5) Vector Space Model (VSM) merupakan sebuah natural approach yang berbasis pada vector dari space setiap kata, dokumen dan query merupakan bagian space. Dokumen dipandang sebagai sebuah vektor yang memiliki magnitude (jarak) dan direction (arah). Pada Vector Space Model, sebuah istilah direpresentasikan dengan sebuah dimensi dari ruang vektor. Relevansi sebuah dokumen ke sebuah query didasarkan pada similaritas diantara vektor dokumen dan vektor query (Baeza, 1999). Berdasarkan pendapat Amin (2012:80-81) VSM memungkinkan sebuah kerangka pencocokan parsial. Hal ini dicapai dengan menetapkan bobot nonbiner untuk istilah indeks dalam query dan dokumen. Bobot istilah yang akhirnya digunakan untuk menghitung tingkat kesamaan antara setiap dokumen yang tersimpan dalam sistem dan permintaan user. Dokumen yang terambil disortir dalam urutan yang memiliki kemiripan, model vektor memperhitungkan pertimbangan dokumen yang relevan dengan permintaan user. Hasilnya adalah himpunan dokumen yang terambil jauh lebih akurat. Sebuah dokumen dj dan sebuah query q direpresentasikan sebagai vektor t-dimensi.
Gambar 2.2 Sudut Deviasi yang Terbentuk dari Dokumen dan Query Dalam VSM koleksi dokumen direpresentasikan sebagai sebuah matrik term document (atau matrik term frequency). Setiap sel dalam matrik bersesuaian dengan bobot yang diberikan dari suatu term dalam dokumen yang ditentukan. Nilai nol berarti bahwa term tersebut tidak ada dalam dokumen.
17
Gambar 2.3 Matrix Term Document Proses perhitungan VSM melalui tahapan perhitungan term frequency (tf) menggunakan persamaan :
tf = tf ij
(1)
Dengan tf adalah term frequency, dan tfi,j adalah banyaknya kemunculan term ti dalam dokumen dj, Term frequency (tf) dihitung dengan menghitung banyaknya kemunculan term ti dalam dokumen dj . Perhitungan Inverse Document Frequency (idf), menggunakan persamaan :
idfi = log N dfi
(2)
Dengan idfi adalah inverse document frequency, N adalah jumlah dokumen yang terambil oleh sistem, dan dfi adalah banyaknya dokumen dalam koleksi dimana term ti muncul di dalamnya, maka Perhitungan idfi digunakan untuk mengetahui banyaknya term yang dicari (dfi ) yang muncul dalam dokumen lain yang ada pada database (korpus). Perhitungan term frequency Inverse Document Frequency (tfidf), menggunakan persamaan :
Wij = tfi . log N dfi
(3)
Dengan Wij adalah bobot dokumen, N adalah Jumlah dokumen yang terambil oleh system, tfi,j adalah banyaknya kemunculan term ti pada dokumen dj, dan dfi adalah banyaknya dokumen dalam koleksi dimana term ti muncul di dalamnya. Bobot dokumen (Wij) dihitung untuk didapatkannya suatu bobot hasil perkalian atau kombinasi antara term frequency (tfi,j) dan Inverse Document Frequency (dfi).
18 Perhitungan jarak query menggunakan persamaan (6) dan dokumen, menggunakan persamaan : (4)
Dengan |q| adalah Jarak query, dan Wiq adalah bobot query dokumen ke-i, maka Jarak query (|q|) dihitung untuk didapatkan jarak query dari bobot query dokumen (Wiq) yang terambil oleh sistem. Jarak query bisa dihitung dengan persamaan akar jumlah kuadrat dari query. (5) Dengan |dj | adalah jarak dokumen, dan Wij adalah bobot dokumen ke-i, maka Jarak dokumen (|dj |) dihitung untuk didapatkan jarak dokumen dari bobot dokumen dokumen (Wij) yang terambil oleh sistem. Jarak dokumen bisa dihitung dengan persamaan akar jumlah kuadrat dari dokumen. Perhitungan pengukuran Similaritas query document (inner product), menggunakan persamaan )=
.
(6)
Dengan Wij adalah bobot term dalam dokumen, Wiq adalah bobot query, dan Sim (q, dj) adalah Similaritas antara query dan dokumen. Similaritas antara query dan dokumen atau inner product / Sim (q, dj) digunakan untuk mendapatkan bobot dengan didasarkan pada bobot term dalam dokumen (Wij) dan bobot query (Wiq) atau dengan cara menjumlah bobot q dikalikan dengan bobot dokumen. Pengukuran Cosine Similarity (menghitung nilai kosinus sudut antara dua vector) menggunakan persamaan : )=
=
(7)
Similaritas antara query dan dokumen atau Sim(q,dj) berbanding lurus terhadap jumlah bobot query (q) dikali bobot dokumen (dj) dan berbanding terbalik terhadap akar jumlah kuadrat q (|q|) dikali akar jumlah kuadrat dokumen (|dj|). Perhitungan similaritas akan menghasilkan bobot dokumen dari 0 mendekati 1 atau menghasilkan bobot dokumen yang lebih besar dibandingkan dengan nilai yang dihasilkan dari perhitungan inner product.
19 Hasil tersebut akan diuji lagi dengan recall dan precision. Precision dapat dianggap sebagai ukuran ketepatan atau ketelitian, sedangkan recall adalah kesempurnaan. (8) Dengan R adalah recall, maka nilai R didapatkan dengan membandingkan Number of relevant items retrieved dengan Total number of relevant items in collection. (9) Dengan P adalah Precision. maka nilai P didapatkan dengan membandingkan Number of relevant items retrieved dengan Total number of items retrieved. Precision adalah jumlah dokumen yang terpanggil dari database relevan setelah dinilai user dengan informasi yang dibutuhkan. F=2*P*R P+R Dengan F adalah F-measure yang mengkombinasikan presicion dan recall. 2.6.
10)
merupakan
ukuran
yang
Object Oriented Programming Berdasarkan pada pendapat Deitel dan Deitel (2012:532), Object Oriented Programming (OOP) adalah pemrograman yang berorientasi pada object yang memungkinkan programmer menggunakan object oriented design sebagai sistem kerja untuk diimplementasikan. Terdapat beberapa ciri dari OOP antara lain adalah : 1. Class Sebuah kelas menggambarkan potential objects, termasuk atribut dan behaviors. 2. Encapsulation Encapsulation
memungkinkan
class
menyembunyikan
detail
dari
implementasinya terhadap client mereka atau bisa disebut dengan information hiding 3. Inheritance Inheritance
merupakan
hubungan
antar
class,
hubungan
ini
menggambarkan atribut satu class dengan class yang lain mempunyai
20 turunan (super class menurunkan pada sub class) atribut maupun proses pada class tersebut. 4. Polymorphism Polymorphism memungkinkan proses objeknya dibagi dari class dasar yang sama dalam sebuah hierarki class.
2.7.
Smartphone Menurut Williams & Sawyer (2011), smartphone adalah telepon selular dengan
mikroprosesor,
memori,
layar
dan
modem.
Smartphone
memungkinkan panggilan telepon , e-mail , web browsing, pemutar musik, pesan teks , video game , menonton TV digital , search engine , GPS, sebagai pengingat pribadi , dan sebagainya.
2.7.1. Sistem Operasi Smartphone Mengacu pada pendapat Shelly &Vemaat (2011) terdapat beberapa macam sistem operasi pada mobile antara lain : 1. Windows Mobile Sistem Operasi Windows Mobile didasarkan pada Windows Embedded CE, termasuk fungsionalitas, program, dan perancangan user interface untuk setiap jenis smartphone dan PDAs. 2. Palm OS Palm OS merupakan sebuah sistem operasi smartphone dan PDAs. Kebanyakan Palm OS mengijinkan user untuk terhubung dengan wireless ke internet, melakukan browsing dengan Web; mengirim pesan e-mail, text message, mendengarkan music, rekaman pesan suara, dan melihat digital foto. Versi terakhir dari Palm OS mengijinkan menyediakan biometric identification dan mendukung penggunaan smart cards. 3. iPhone OS iPhone OS dikembangkan oleh Apple, iPhone OS merupakan sebuah sistem operasi untuk iPhone smartphone dan iPod touch. 4. BlackBerry BlackBerry merupakan sebuah sistem operasi yang disediakan oleh RIM (Research In Motion) yang memiliki kemampuan untuk mengatur jadwal
21 pribadi, contacts, pertemuan, mengirim email, pesan singkat, memutar music, dan mengakses peta dan petunjuk arah. 5. Google Android Google Android merupakan sebuah sistem operasi yang dirancang oleh google untuk perangkat mobile. Digunakan lebih dari 20 tipe mobile device yang berbeda. Android mengijinkan programmers untuk melakukan perancangan program dengan bebas. 6. Embedded Linux Embedded Linux merupakan sebuah sistem operasi skala rendah Linux, yang di rancang untuk smartphone, PDAs, portable media player, Internet, dan menerima pesan teks dan pesan gambar, e-mail, dan faxes menggunakan smartphone.
2.8. Android 2.8.1. Pengertian Android Mengacu pada pendapat Satyaputra dan Aritonang (2014: 2), Android adalah sebuah sistem operasi untuk smartphone dan tablet. Sistem operasi dapat diilustrasikan sebagai jembatan antara piranti dan penggunanya, sehingga pengguna bisa berinteraksi dengan devicenya dan menjalankan aplikasi-aplikasi yang tersedia pada device.
2.8.2. Keunggulan Android Mengacu pada pendapat Satyaputra dan Aritonang (2014:10-11), Android memiliki beberapa keunggulan antara lain : 1. Android lebih accessible, android dapat berjalan di PC apapun yang sudah terinstal dengan SDK, JDK (Java Development Kit, Software Java, dan ADT (Android Development Tools) Pluginnya. 2. Dalam ketersediaan aplikasi, Android berbasis Linux memudahkan programmer dalam membuat aplikasi baru yang bebas didistribusikan dengan lisensi Open Source. 3. Cheap dan Easy, android memberikan keringanan biaya dan kemudahan untuk melakukan rilis aplikasi lewat Google Play. 4. Android bersifat open platform atau tidak terkait dengan salah satu produsen perangkat keras atau salah satu operator.
22 5. Android bersifat Cross-Compatibility yang artinya dapat berjalan dengan banyak ukuran screen dan resolusi.
2.8.3. Versi dan Jenis Android Pengembangan
Android
dimulai
dengan
berdirinya
Android,
Inc.
Pengembangan terus dilanjutkan sampai saat ini, ada beberapa versi yang telah dikembangkan sampai saat ini, antara lain adalah sebagai berikut : Table 2.2 Versi Distribusi Android (Sumber : http://developer.android.com/about/dashboards/index.html, Februari 2015)
Data tabel diatas merepresentasikan semua perangkat yang mengunjungi Google Play Store dalam 14 hari sebelumnya. Data tersebut dikumpulkan selama periode 7 (tujuh) hari yang berakhir pada tanggal 2 Februari 2015. Pada data tersebut setiap versi yang memiliki distribusi kurang dari 0,1% tidak akan ditampilkan.
2.9.
Apache Open NLP Mengacu pada situs resminya (http://opennlp.apache.org), Apache Open NLP adalah sebuah library untuk machine learning yang didasarkan pada toolkit untuk processing dari natural language text. Open NLP mendukung untuk melakukan tugas NLP seperti tokenization, sentence segmentation, part-of-speech tagging (POS Tagging), named entity extraction, chunking, parsing, dan coreference resolution.
23 2.9.1. POS Tagging Mengacu pada situs resminya (http://nlp.stanford.edu/software/tagger.shtml), POS tagger adalah bagian dari software yang membaca teks dalam beberapa bahasa dan menandai setiap kata part of speech (dan token lain), seperti noun, verb, adjective, dan lain-lain. Meskipun secara umum perhitungan aplikasi menggunakan fine-grained POS tags seperti 'noun plural'.
2.10. Snowball Mengacu pada situs resminya (http://snowball.tartarus.org/), Snowball merupakan sebuah small string processing language yang dirancang untuk membuat algoritma stemming untuk Information Retrieval. Algoritma stemming yang disediakan bukan hanya untuk proses stemming kata dalam bahasa Inggris saja, tapi juga bahasa Prancis, Spanyol, Portugis, Italia, Roma, German, Swedia, dan Rusia. Snowball juga menyediakan demo untuk melakukan stemming manual.
2.11. Parse Mengacu
pada
situs
resminya
(http://blog.parse.com/
dan
https://parse.com/), Parse adalah cloud platform yang memungkinkan pengembang aplikasi dengan cepat dan mudah mengintegrasikan banyak hal, serta mampu menyediakan fungsi server-side untuk pengembang aplikasi. Parse dapat digunakan untuk Windows 8, Windows Phone 8, iOS, Android, JavaScript, dan OS X. Parse juga memiliki 3 fitur utama yaitu : 1. Core
: Parse dapat menyimpan data dan melakukan fungsi remote server.
2. Push
: Parse mendukung pengiriman push notifications kepada pengguna melalui API (Application Programming Interface) atau web composer.
3. Analytics
: Parse mendukung pelacakan aktivitas pada application untuk mendapatkan wawasan berharga.
Adapun beberapa kelebihan dari Parse antara lain : 1. Parse memiliki tampilan API dan Javascript SDK yang sederhana,sehingga memudahkan user untuk menggunakannya.
24 2. Parse termasuk salah satu jenis BaaS (Backend as a Service), hal ini memungkinkan user untuk dapat memproses
dalam backend, tanpa
harus membuat backendnya terlebih dahulu serta membuat user dapat melakukan remote server pada aplikasi yang dibangun. 3. Parse dapat memproses dengan cepat sejumlah data yang banyak.
2.12.
Hypertext Preprocessor (PHP) Menurut Conolly dan Beg (2015:1067), PHP adalah salah satu bahasa pemrograman scripting open source HTML yang digunakan secara luas dan dengan didukung oleh banyak Web server termasuk Apache HTTP Server dan
Microsoft’s
Internet
Information
Server.
Tujuan
dari
bahasa
pemrograman ini memudahkan Web developer agar menghasilkan isi halaman web dinamis secara cepat. Salah satu keuntungan dari PHP adalah extensibility, dan dapat mendukung koneksi database, mail, dan XML (Extensible Markup Language).
2.13.
My SQL Mengacu kepada situs resminya (http://www.mysql.com/about/) My SQL merupakan salah satu database software yang paling popular di dunia. My SQL merupakan perangkat lunak sistem manajemen basis data DBMS (Database Management System) multithread SQL yang cepat dan handal untuk proses data serta mudah digunakan oleh pengguna. Berikut ini adalah beberapa keunggulan dari My SQL: - Menawarkan My SQL Enterprise, yaitu pengujian suatu produk melalui software. - Alat monitoring proaktif. - Biaya pemeliharaannya relatif murah.
2.14.
UML Berdasarkan pendapat Whitten dan Bentley (2007 : 371), Unified Modeling Language (UML) adalah seperangkat ketentuan pemodelan yang digunakan untuk atau menjelaskan sebuah sistem software yang berhubungan dengan objek.
25 2.14.1. Use Case Diagram Merupakan sebuah diagram yang menggambarkan interaksi antara sistem dengan eksternal sistem, dan sistem dengan pengguna.
Use case
memiliki notasi – notasi sebagai berikut : 1. Use Case Use Case digambarkan dalam bentuk elips yang menjelaskan sistem yang ada pada use case diagram. Sebuah use case merepresentasikan sistem dan menggambarkan urutan kegiatan dan interaksi pengguna dalam mencapai tujuan sistem.
Gambar 2.4 Notasi Use Case 2. Actor Actor menjalankan sistem pada sebuah use case untuk menyelesaikan suatu kegiatan tertentu. Sebuah actor ini tidak harus berupa manusia, tetapi juga bisa berupa sebuah organisasi, informasi sistem lainnya atau juga external device. Namun biasanya actor diwakili secara grafis dalam bentuk stick man yang digunakan untuk menginisiasi sebuah sistem dengan tujuan mendapatkan informasi dari proses interaksi dengan sistem.
Gambar 2.5 Notasi Actor (Sumber : Whitten dan Bentley, 2007:247) 3. Relationships Relationship diwakili dalam bentuk garis antara dua symbol pada use case diagram. Terdapat beberapa jenis relationship, yaitu sebagai berikut : a. Associations Merupakan sebuah garis penghubung yang solid antara use case dengan actor. Associations yang mengandung sebuah mata panah di ujung
26 berhubungan dengan use case menyatakan bahwa use case sebagai penerima. Sebaliknya, use case tanpa panah menyatakan interaksi antara use case dengan actor dengan actor sebagai penerima.
Gambar 2.6 Notasi Associations pada Use Case Diagram (Sumber : Whitten dan Bentley, 2007:248) b. Extends Extends merupakan sebuah penghubung antara use case awal dengan use case lain yang merupakan pengembangan atau penambahan dari use case awal. Setiap hubungan Extends diberi label “<<extends>>”.
Gambar 2.7 Notasi Extends pada Use Case Diagram (Sumber : Whitten dan Bentley, 2007:249) c. Uses (or Includes) Merupakan sebuah penghubung dimana use case tersebut melakukan fungsi yang identik. Cara ini sangat efektif untuk mengurangi use case yang berlebihan karena cara kerjanya seperti mengelompokkan use case, dimana ada satu use case yang bertindak sebagai induk yang disebut Abstract Use Case. Setiap hubungan Uses (Includes) diberi label “<<uses>>” atau “<
>”.
27
Gambar 2.8 Notasi Uses pada Use Case (Sumber : Whitten dan Bentley, 2007 : 249) d. Depends On Depends On adalah sebuah hubungan antara use case yang menyatakan bahwa sebuah use case tidak dapat dijalankan
sebelum use case
tertentu selesai dijalankan.
Gambar 2.9 Notasi Depends On pada Use Case (Sumber : Whitten dan Bentley, 2007 : 250) e. Inheritance Inheritance dalam sebuah use case merupakan hubungan yang terjadi antara actor dan abstract actor. Hal ini dapat terjadi untuk mempersingkat penggambaran ketika sebuah aktor abstrak inherit peran dari beberapa aktor yang real.
28
Gambar 2.10 Notasi Inheritance pada Use Case (Sumber : Whitten dan Bentley, 2007 : 250) 3. Use Case System Use case system disimbolkan dengan bentuk persegi panjang yang mendefinisikan nama dari use case dari sistem tersebut.
Gambar 2.11 Use Case Model Diagram (Sumber : Whitten dan Bentley, 2007 : 246)
2.14.2. Activity Diagram Berdasarkan pendapat Whitten dan Bentley (2007: 390), activity diagram adalah diagram yang dapat digunakan untuk menggambarkan aliran proses bisnis, langkah – langkah dari use case atau logika karakteristik objek. Activity diagram memiliki notasi sebagai berikut : a.
Initial Node Node yang menggambarkan sebagai suatu proses awal sebuah aktifitas.
29
Gambar 2.12 Notasi Initial Node pada Activity Diagram b.
Actions Merupakan sebuah persegi panjang yang berisi aktifitas yang akan dilakukan.
Gambar 2.13 Notasi Initial Node pada Activity Diagram c.
Flow Merupakan panah yang menggambarkan jalur dari satu kegiatan kepada kegiatan lainnya.
Gambar 2.14 Notasi Flow pada Activity Diagram d.
Decision Merupakan lambang diamond yang merupakan sebuah kegiatan pengambilan keputusan, atau menggambarkan kondisi if - else dengan satu input, dan 2 atau lebih output.
Gambar 2.15 Notasi Decision pada Activity Diagram e.
Merge Merupakan lambang diamond yang terdiri dari dua atau lebih input, namun hanya menghasilkan 1 output.
Gambar 2.16 Notasi Merge pada Activity Diagram
30 f.
Fork Merupakan bar hitam dengan dua atau lebih arus keluar dan dengan satu arus masuk.
Gambar 2.17 Notasi Fork pada Activity Diagram
g.
Join Merupakan bar hitam dengan dua atau lebih arus masuk dan dengan satu arus keluar. Semua tindakan yang masuk ke dalam join harus diselesaikan sebelum proses berlanjut.
Gambar 2.18 Notasi Join pada Activity Diagram h.
Activity Final Merupakan simbol dari berakhianya sebuah aktifitas dalam diagram. Dalam sebuah activity diagram dapat mengandung 1 atau lebih activity final.
Gambar 2.19 Notasi Activity Final pada Activity Diagram
i.
Subactiviy Indicator Merupakan simbol yang menyatakan bahwa sebuah aktifitas pecah dalam diagram lain dengan kegiatan terpisah.
Gambar 2.20 Notasi Subactiviy Indicator Final pada Activity Diagram
31 j.
Connector Merupakan simbol lingkaran dengan huruf di dalamnya yang memberi alat lain untuk mengelola kompleksitas. Arus masuk ke konektor akan melompat ke arus keluar dengan huruf yang cocok dalam lingkaran tersebut.
Gambar 2.21 Notasi Connector pada Activity Diagram 2.14.3.
Class Diagram Berdasarkan pendapat Whitten dan Bentley (2007 : 400), Class diagram adalah diagram struktur objek dari sebuah sistem yang menunjukkan hubungan antar kelas dari objek-objek tersebut.
Gambar 2.22 Contoh Class Diagram (Sumber : Whitten dan Bentley, 2007 : 404) Beberapa hubungan dalam class diagram antara lain adalah : 1. Associations dan Multiplicity Dalam class diagram, associations dilambangkan dengan garis lurus solid.
Associations
menyatakan
hubungan
antara
objek
dan
memungkinkan suatu objek mengirimkan messages kepada kelas lainnya. 2. Generalization / Specialization
32 Generalization/Specialization adalah sebuah teknik di mana atribut dan behavior yang umum pada beberapa tipe kelas objek, dikelompokkan ke dalam ke dalam kelasnya sendiri, yang disebut supertype. Atribut dan method kelas objek supertype kemudian diwariskan oleh kelas objek tersebut (subtype). 3. Aggregation / Composition Aggregation dilambangkan dengan diamond berwarna putih, yang menyatakan suatu objek merupakan bagian dari objek lain.
Dengan kata lain kelas yang lebih kecil merupakan
bagian dari kelas yang lebih besar tersebut. 4. Composition Composition dilambangkan dengan diamond berwarna hitam, dimana satu kelas dengan kelas lain memiliki ketergantungan yang sangat tinggi. 2.14.4.
Sequence Diagram Mengacu pada pendapat Whitten dan Bentley (2007 : 659), sequence diagram adalah diagram UML yang memodelkan logika sebuah use case dengan menggambarkan interaksi pesan berdasarkan urutan waktu. Sequence diagram merupakan tingkat tinggi yang menggambarkan interaksi antara aktor dan sistem untuk skenario usecase. Ada beberapa notasi di dalamnya antara lain sebagai berikut : a.
Actor Actor melakukan interaksi dengan user interface ditunjukkan dengan symbol actor yang terdapat dalam use case diagram. Garis vertikal putus-putus ke bawah dari aktor menunjukkan garis kehidupan yang dimulai pada sequence diagram.
Gambar 2.23 Notasi Actor pada Sequence Diagram (Sumber : Whitten dan Bentley, 2007 : 662)
33 b.
Interface class Bentuk kotak menunjukkan user interface code. Untuk memperjelas makna dari simbol tersebut diberikan " <>" sebagai penanda. Terdapat juga simbol ":" yang merupakan notasi standar dari sequence diagram untuk sebuah program yang sedang berjalan, dan simbol garis putus-putus vertikal memanjang yang menandakan kehidupan proses sekuensial tersebut.
Gambar 2.24 Notasi Interface Class pada Sequence Diagram (Sumber : Whitten dan Bentley, 2007 : 662) c. Controller class Setiap use case akan memiliki satu atau lebih controller classes, yang digambarkan melalui notasi yang sama dengan interface classes yaitu dengan "<>".
Gambar 2.25 Notasi Controller Class pada Sequence Diagram (Sumber : Whitten dan Bentley, 2007 : 662)
d. Entity classes Penambahan kotak untuk setiap entity diperlukan agar dapat berkolaborasi dalam urutan langkah. Simbol ":" mendefinsikan object instance, seperti spesific order, spesific product, dan sebagainya. Berikut ini merupakan sebuah contoh entity classes dengan nama product :
Gambar 2.26 Notasi Entity Classes pada Sequence Diagram (Sumber : Whitten dan Bentley, 2007 : 662)
34 e. Messages Garis panah horizontal merupakan pengirim pesan input dari metode yang ada kepada setiap kelas.
Gambar 2.27 Notasi Messages pada Sequence Diagram
f. Activation bar Berbentuk bar persegi panjang vertikal yang yang terbenam di jalur hidup menunjukkan periode waktu di mana setiap instance object berada.
Gambar 2.28 Notasi Activation Bar pada Sequence Diagram (Sumber : Whitten dan Bentley, 2007 : 662)
g.
Return messages Garis panah horizontal putus-putus yang merupakan pesan yang dikirim kembali ke suatu instance object.
Gambar 2.29 Notasi Return Messages pada Sequence Diagram
h.
Self call Dinotasikan dengan sebuah panah melengkung yang merupakan sebuah objek dapat memanggil method dari dirinya sendiri.
Gambar 2.30 Notasi Self Call pada Sequence Diagram
35 i. Frame Merupakan persegi panjang dengan judul di dalamnya yang digunakan untuk menunjukkan satu atau lebih pesan tertentu sesuai langkah yang ada. Frame
Gambar 2.31 Notasi Frame pada Sequence Diagram 2.14.5.
Deployment Diagram Mengacu pada pendapat Whitten dan Bentley (2007 : 673), Deployment
diagram
adalah
jenis
implementasi
diagram
yang
menggambarkan physical architecture dari hardware dan software sebuah sistem. Diagram ini menggambarkan komponen software, processor, dan devices yang digunakan untuk sistem. 2.15.
Flowcharts Menurut Robertson (2007:264) flowcharts adalah sebuah metode alternatif untuk merepresentasikan algoritma. Flowcharts merepresentasikan sebuah program logic secara grafikal menggunakan sekumpulan symbol dan garis standar yang geometris. Simbol yang digunakan di dalam flowcharts adalah sebagai berikut: Tabel 2.3 Simbol-simbol Flowcharts Simbol
Penjelasan Terminal Symbol Mengindikasikan titik start atau stop dalam logic. Setiap flowcharts harus dimulai dan diakhiri dengan terminal symbol. Input/Output Symbol Merepresentasikan
sebuah
proses
input atau ouput dalam algoritma, seperti membaca proses input, atau mengeluarkan output.
36 Process Symbol Merepresentasikan
setiap
proses
dalam algoritma, seperti menjalankan proses perhitungan. Predefined Process Symbol Merepresentasikan sub proses dari setiap
proses
yang
ada
dalam
flowcharts. Decision Symbol Merepresentasikan decision dalam logika program yang melibatkan perbandingan
antara
dua
nilai.
Simbol diikuti oleh altervative path tergantung decision symbol bernilai true atau false. Flowlines Flowlines menghubungkan simbolsimbol dalam flowchart.
2.16.
Hasil Penelitian Sebelumnya
2.16.1. QAS AskMSR (Microsoft Research) Penelitian QAS sebelumnya adalah AskMSR yaitu question answering system yang diteliti oleh Brill, Dumais and Banko (2002) melalui Microsoft Research. AskMSR menggunakan Web sebagai sumber data yang besar. Dalam penelitian ini, digambarkan sistem arsitektur untuk QAS yang dapat mengevaluasi akurasi dari komponen sistem yang berbeda. Karena sistem yang memberikan jawaban yang salah, lebih buruk daripada sistem yang tidak memberikan jawaban atas pertanyaan user. Untuk itu mereka mengeksplorasi strategi untuk memprediksi ketika menjawab pertanyaan sistem kemungkinan akan memberikan jawaban yang salah.
37
Gambar 2.32 System Architecture QAS AskMSR (Sumber : Brill, Dumais and Banko, 2002: 2) Urutan sistem AskMSR dimulai dari menulis kembali query pertanyaan yang diinput user, mengirim ke dalam search engine, mengumpulkan ringkasan dan melakukan perhitungan N-gram (mining, filtering, tilling) hingga menemukan jawaban terbaik. AskMSR mengubah query seperti “Who is Bill Gates married to?" menjadi query seperti "Bill Gates is married to". Query ini dikirim ke search engine, dan hasil untuk query dianalisis.
Gambar 2.33 Componential analysis of Anonymous QA system. (Sumber : Brill, Dumais and Banko, 2002 : 3) Dari hasil tersebut, AskMSR mengekstrak sejumlah substring, menyaring substring tersebut berdasarkan jenis query (apakah itu yang “Who” atau pertanyaan “What”, dll) dan mengumpulkan jawaban atas permintaan pengguna dari substring yang sering muncul. Sistem yang disajikan dalam paper ini adalah langkah menuju tujuan akhir dari
38 menggunakan web sebagai self-update, repositori pengetahuan yang komprehensif, yang dapat secara otomatis menjawab berbagai pertanyaan dengan usaha jauh lebih sedikit dari yang dibutuhkan. Tabel 2.4 Error Attribution (Sumber : Brill, Dumais dan Banko, 2002 : 4)
Penelitian ini memperoleh akurasi jawaban dengan menghitung Mean Reciprocal Rank (MRR) sebesar 0,507. Sistem ini belum bisa memberikan jawaban maksimal terhadap pertanyaan how, why dan what if. Sistem ini tergantung pada perulangan informasi di Web, dan tidak memiliki cara apapun untuk memeriksa kebenaran jawaban itu kembali. 2.16.2. Eliza Chat Bot QAS Penelitian ini dilakukan oleh Shawar dan Atwell dari Universisy of Leeds pada tahun 2005. Sistem ini merupakan template-driven responses berjalan di DOCTOR script seperti psychotherapist menghasilkan interaksi seperti manusia dalam responnya terhadap pertanyaan dan pertanyaan user. Sistem ini bekerja dengan menggunakan parsing sederhana dari inputan user lalu dikombinasikan dengan substitusi yang simple, yang ditampilkan dengan frasa dan template untuk merespon ke user.
Gambar 2.34 : Contoh Percakapan menggunakan ELIZA (Sumber : Jurafsky and Martin, 2000)
39 Namun karena sistem ini template-based system, maka kemampuannya terbatas pada conversational seperti knowledge dari domainnya. User interface pada sistem ini juga masih belum menarik perhatian user. Berikut ini adalah hasil jawaban dari Eliza Bot dengan respon positif maupun negatif.
2.16.3.
Sebuah Natural Language Question Answering System sebagai Participant dalam Human Q&A Portals (START) Penelitian ini dilakukan oleh Dong, Furbach, Glockner, dan Pelzer (2011) dari University of Hagen. QAS yang diteliti di implementasikan dalam aplikasi START, START didirikan oleh Boris Katz dan timnya. START (Syntatic Analysis Using Reversible Transformations) menggunakan kalimat dan frasa 'anotasi' untuk mendeskripsikan isi yang berhubungan dengan potongan informasi. Kelebihan dari sistem ini adalah sistem ini menggunakan Log Answer System yang dapat menampilkan beberapa jawaban yang relevan.
Gambar 2.35 Proses Log Answer System untuk sebuah Pertanyaan ( Sumber : Dong, Furbach, Glockner, dan Pelzer, 2011 : 2)
Dalam Log Answer System, mula-mula pertanyaan diinput oleh user melalui web base user interface. Kemudian Log Answer menyajikan daftar dari jawaban sesuai dengan konteks yang ada berdasarkan sumber tekstual yang relevan. Kemudian jawaban dikirimkan dari extensive knowledge base, yang diterjemahan dari German Wikipedia. Mulanya dilakukan proses inisialisasi yaitu menggunakan pertanyaan untuk mengidentifikasi fragment knowledge base yang relevan. Pertanyaan dianalisis oleh metode linguistik
40 dan kemudian diterjemahkan kedalam MultiNet dan FOL representation. Dan setiap questuin features yang ada akan diolah dalam Multilayer based KB filtering, dan akan di teruskan menjadi candidate answers dan akan melalui proses ML based proof ranking dan kemudia akan memberikan jawaban yang terbaik kepada user. START
menggunakan
ML-based
filtering
yang
mampu
mengoperasikan pemilihan secara otomatis atas jawaban dari pertanyaan user. START mempunyai knowledge base yang besar tapi hanya berfokus ke menjawab pertanyaan di area spesifik yang terbatas (people, places, movies, etc). Namun, karena knowledge base yang dipakai oleh sistem ini berasal dari Wikipedia, informasi yang ada masih diragukan keakuratannya
Tabel 2.5: Positive Comments (Sumber : Jiyou Jia : 2005)
41
Tabel 2.6 : Negative Comments (Sumber : Jiyou Jia : 2005)
Pada penelitian ini precision dianggap sebagai independent variable yang dapat dipilih secara bebas. Sedangkan recall sebagai dependent variable yang hanya berkaitan dengan tingkat precision yang diinginkan. Hasil yang diperoleh dari penelitian ini memiliki recall tertinggi sebesar 0.35 dan nilai precision sebesar 0.089. 2.16.4. Arsitektur Natural Language Question Answering System Berbasis Ontologi Penelitian dilakukan oleh Athira, Sreeja, dan Reghuraj (2013). Dalam penelitian ini, mereka menjelaskan hasil analisis mengenai General Architecture of a Natural Language Question Answering (NLQA) System yang telah ada, serta mengajukan arsitektur dari NLQA System berdasarkan analisis mereka. Berikut ini adalah sistem arsitektur yang umum dari NLQA System:
42
Gambar 2.36 General Architecture of a NLQA System. (Sumber : Athira, Sreeja, dan Reghuraj, 2013 : 33) Arsitektur dari
NLQA System ini terdiri dari tiga tahap, yaitu question
processing, document processing, dan juga answer extraction. Question processing merupakan proses untuk
menganalisis dan
mengklasifikasikan pertanyaan serta merumuskan permintaan pengguna. Document extraction and processing berfungsi untuk memilih sekumpulan dokumen yang relevan, dan akan di ekstrak menjadi satu paragraf untuk menjawab fokus dari pertanyaan pengguna. Answer extraction Modul ini bertanggung jawab untuk memilih respon berdasarkan fragmen yang relevan dari dokumen. Ini membutuhkan pre-processing informasi dalam rangka untuk menghubungkan jawaban dengan pertanyaan yang diberikan. Dari General Architecture of a NLQA System sebagian besar sistem saat ini menggunakan analisis sintaksis dan juga semantik atau pengolahan ontology untuk pengambilan jawaban. Tetapi sistem yang mereka buat menerapkan tiga modul didasarkan pada hybrid approach , sebuah langkah untuk merespon pertanyaan dari bahasa alami. Mereka mengusulkan sebuah sistem yang telah dianalisis melaui analisis sintaksis dan semantik, serta menggunakan ontology domain untuk ekstraksi relasi dan identifikasi. Berikut ini adalah arsitektur dari ontologybased domain-specific NLQA system yang mereka ajukan :
43
Gambar 2.37 Proposed General Architecture of a NLQA System. (Sumber : Athira, Sreeja, dan Reghuraj, 2013 : 34) General Architecture of a NLQA System yang diajukan masih memiliki tiga tahap, yaitu : 1.
Question Processing Terdapat 3 langkah yang dilakukan dalam proses ini, antara lain : - Query analyser Proses menganalisis pertanyaan dalam bahasa alami. Dalam tahap ini dilakukan analisis sintaksis dan analisis semantik. Analisis sintaksis merupakan proses analisis pertanyaan menggunakan teknik NLP, part of speech tagging dan named entity recognition (NER) dilakukan pada tahap ini. Dalam sistem ini mereka menggunakan Stanford CoreNLP tool-kit untuk memproses dokumen dan menghasilkan XML file sebagai output. Serta dilakukan shallow parsing dilakukan untuk mengidentifikasi potongan phrasal.
44
- Question Classification Setelah pertanyaan di proses pertanyaannya di klasifikasikan berdasarkan question word, function dan question focus. Tabel 2.7 Question to question classification (Sumber : Athira, Sreeja, dan Reghuraj, 2013 : 35) Question Word
Function
Question Focus
Who
Asking what or which
PERSON
person or people (subject) Whom
Asking what or which
PERSON
person or people (object) Whose
Asking about ownership
PERSON
Where
Asking in or at what
LOCATION
place or position When
Asking for time or date
How + Adj/Adv
Asking about extend or
DURATION or DATE
degree How far
Asking about distance
NUMBER
How long
Asking about length
DURATION
(time) How many
Asking about quantity
NUMBER
(countable) How much
Asking about quantity
METRICS
(uncountable)
- Reformulation Reformulasi
permintaan
pengguna
knowledge dan juga informasi ontologi.
melalui
penambahan
domain
45 2.
Document Processing Dokumen yang diambil di proses untuk bisa menghasilkan calon jawaban dari pemilihan fragmen relevan. Terdapat dua macam analisis dalam proses ini : - Semantic analysis Melakukan parsing dangkal untuk menemukan frase semantik atau klausa - Syntax analysis Dokumen dianalisis menggunakan teknik NLP. Melakukan penandaan Part of Speech (POS) lalu mengidentifikasi potongan frase.
3.
Answer Extraction Menyaring calon kumpulan jawaban. Terdapat beberapa proses seperti : - Filtering Kalimat yang di ekstrak akan di saring dan kandidat jawaban sel akan di produksi. Hal ini dilakukan dengan memasukkan informasi yang diperoleh dari klasifikasi pertanyaan dan modul pengolahan dokumen - Answer ranking Jawaban dikumpulkan berdasarkan dari kesamaan semantik yang sederhana , tidak di adopsi karena mengabaikan semantik dan pengetahuan - Answer generation Dari kumpulan jawaban , jawaban yang spesifik harus dihasilkan dalam suatu kasus Setelah proses – proses tersebut dilakukan, akan dilakukan Evaluation and Testing, pengujian yang dilakukan adalah : - Correctness: jawaban harus sepenuh nya benar - Relevance : jawaban harus respon terhadap pertanyaan - Completeness: jawaban harus lengkap dan menyelesaikan pertanyaan Pengujian arsitektur yang diajukan ini dilakukan pada sebuah data set berupa kumpulan cerita pendek. Pengujian dilakukan hanya dengan menghitung nilai recall dari jawaban yang tepat dari kumpulan 20 dokumen dan 50 dokumen kumpulan cerita pendek. Recall untuk pengujian 20 dokumen sebesar 0.82 sedangkan untuk pengujian 50 dokumen diperoleh recall sebesar 0.81.
46 2.16.5. Sistem Temu Kembali Informasi dengan Metode Vector Space Model Penelitian Sistem Temu Kembali Informasi (STKI) dilakukan oleh Faithful Amin (2012). Sistem temu kembali informasi merupakan suatu sistem yang menemukan (retrieve) informasi yang sesuai dengan kebutuhan user dari kumpulan informasi secara otomatis.
Gambar 2.38 Proses Information Retrieval STKI (Sumber : Amin, 2012 : 79) Adapun beberapa proses yang dilakukan untuk mendapatkan informasi kembali, antara lain adalah : 1. Tokenisasi : Tokenisasi merupakan proses pemisahan suatu rangkaian karakter berdasarkan karakter spasi, dan mungkin pada waktu yang bersamaan dilakukan juga proses penghapusan karakter tertentu, seperti tanda baca. 2. Filtering
: Eliminasi stopwords memiliki banyak keuntungan,
yaitu akan mengurangi space pada tabel term index hingga 40% atau lebih 3. Stemming
: Proses Stemming digunakan untuk mengubah term
yang masih melekat dalam term tersebut awalan, sisipan, dan akhiran. Proses stemming dilakukan dengan cara menghilangkan semua imbuhan (affixes) baik yang terdiri dari awalan (prefixes), sisipan (infixes), akhiran (suffixes) dan confixes (kombinasi dari awalan dan akhiran) pada kata turunan. Stemming digunakan untuk mengganti bentuk dari suatu kata menjadi kata dasar dari kata tersebut yang sesuai dengan struktur morfologi bahasa Indonesia yang benar
47 4. Inverted Index: Inverted file atau inverted index merupakan mekanisme untuk pengindeksan kata dari koleksi teks yang digunakan untuk mempercepat proses pencarian. 5. Vector Space Model : Vector Space Model (VSM) adalah metode untuk melihat tingkat kedekatan atau kesamaan (similarity) term dengan cara pembobotan term. Dokumen dipandang sebagi sebuah vektor yang memiliki magnitude (jarak) dan direction (arah). Pada Vector Space Model, sebuah istilah direpresentasikan dengan sebuah dimensi dari ruang vektor. Relevansi sebuah dokumen ke sebuah query didasarkan pada similaritas diantara vektor dokumen dan vektor query. Penelitian ini melakukan pengujian dengan menghitung nilai precision dan recall dari jawaban yang dihasilkan. Precision dapat dianggap sebagai ukuran ketepatan atau ketelitian, sedangkan recall adalah kesempurnaan. Hasil Uji recall dan precision STKI menunjukkan hasil pencarian dokumen teks bahasa Indonesia memiliki rata-rata recall sebesar 0,19 dan rata-rata precision sebesar 0,54. STKI yang dibangun memiliki keunggulan mampu melakukan pencarian dokumen teks bahasa Indonesia dengan waktu komputasi rata-rata 1,5 detik. 2.17.
Kesimpulan dari Hasil Penelitian Sebelumnya Question answering system telah mulai dikembangkan sejak tahun 1960-an dan terus dikembangkan hingga saat ini. Salah satu penelitian QAS dilakukan oleh Brill, Dumais, dan Banko pada tahun 2002 melalui Microsoft Research dengan mengevaluasi keakuratan QAS dengan menggunakan teknik N-gram yaitu N-gram mining, N-gram filtering, serta N-gram tiling. Walaupun belum menghasilkan jawaban yang maksimal, penelitian ini menghasilkan arsitektur QAS yang memberikan arah proses QAS untuk mendapatkan jawaban yang maksimal. Penelitian ini memperoleh akurasi jawaban dengan menghitung Mean Reciprocal Rank (MRR) sebesar 0,507. Selain itu terdapat juga penelitian QAS yang dilakukan oleh Shawar dan Atwell dari Universisy of Leeds pada tahun 2005. Penelitian ini berfokus pada template driven yang digunakan untuk psychotherapist. Pada penelitian ini belum ditemukan teknik baru yang berarti untuk QAS. Selanjutnya penelitian dilakukan oleh Dong, et al dari University of Hagen pada tahun 2011. Penelitian ini kembali menggunakan teknik N-gram
48 bigram untuk menghasilkan jawaban yang terbaik. Namun mereka menambahkan metode baru untuk menyelesaikan masalah wrong answer avoidance (WAA) pada machine learning dengan menggunakan Log Answer System yang dapat menampilkan beberapa jawaban yang relevan dengan ML based filtering. Diperoleh pula Recall untuk pengujian 20 dokumen sebesar 0.82 sedangkan untuk pengujian 50 dokumen diperoleh recall sebesar 0.81. Pada tahun 2012, penelitian dilakukan oleh Amin, menggunakan metode vector space model. Penelitian ini menghasilkan rancangan sistem temu kembali informasi yang baru, dan menghasilkan rata-rata recall = 0,19 dan rata-rata precision = 0,54. Pada tahun 2013, penelitian dilakukan oleh Athira, Sreeja, dan Reghuraj. Sistem ini menggunakan analisis sintaksis dan juga semantik atau pengolahan ontology untuk pengambilan jawaban dan menggunakan ontology domain untuk ekstraksi relasi dan identifikasi pengambilan jawaban. Dari penelitian ini dihasilkan arsitektur yang lebih detail dalam pengolahan jawaban QAS, yaitu melalui General Architecture of a NLQA System. Sistem ini menggunakan hybrid approach, dan ML approach sebuah langkah untuk merespon pertanyaan dari bahasa alami. Dari penelitian ini didapati langkah baru untuk menentukan jawaban terbaik dengan meranking kemungkinan jawaban terbaik. Dan mengeluarkan output berupa jawaban terbaik berdasarkan dari score ranking terbesar. Serta memiliki recall untuk pengujian 20 dokumen sebesar 0.82 sedangkan untuk pengujian 50 dokumen diperoleh recall sebesar 0.81.
Tabel 2.8 Kesimpulan dari Hasil Penelitian Sebelumnya Judul
Tujuan
Metode
Hasil
QAS AskMSR
Melakukan
Evaluasi
Sistem ini belum
(Microsoft
evaluasi untuk
dilakukan dengan
bisa memberikan
Research)
keakuratan QAS,
menggunakan
jawaban maksimal
serta memperjelas
teknik Ngram
terhadap
gambaran
dengan melalui
pertanyaan how,
arsitektur question
proses N-gram
why dan what if.
answering system
mining, N-gram
Sistem ini
49 pada AskMSR .
filtering, dan N-
bergantung pada
gram tiling. Tidak
perulangan
menggunakan
informasi di Web,
analisis sintaksis
dan tidak
dan semantik
memiliki cara
untuk
apapun untuk
pengambilan
memeriksa
jawaban.
kebenaran jawaban itu kembali. Penelitian ini memperoleh akurasi jawaban dengan menghitung Mean Reciprocal Rank (MRR) sebesar 0,507
Eliza Chat Bot
Berguna untuk
Menggunakan
Menghasilkan
QAS
psychotherapist
parsing sederhana
template-driven
dapat berinteraksi
dari inputan user
responses berjalan
seperti manusia
lalu
di DOCTOR
dalam responnya
dikombinasikan
script untuk
terhadap
dengan substitusi
psychotherapist
pertanyaan dan
yang simple, yang
pertanyaan user.
ditampilkan dengan frasa dan template untuk merespon ke user.
Natural
Menghasilkan
Menggunakan Log Jawaban yang
Language
solusi untuk
Answer System
dihasilkan lebih
Question
masalah wrong
yang dapat
relevan.
Answering
answer avoidance
menampilkan
Diajukan sebuah
50 System sebagai
(WAA) pada
beberapa jawaban
pendekatan untuk
Participant
machine learning.
yang relevan.
wrong answer
dalam Human
Serta
avoidance
Q&A Portals
menggunakan
(WAA), yaitu
(START)
ML-based filtering dengan yang mampu
menggunakan ML
mengoperasikan
Approach
pemilihan secara
menggunakan
otomatis atas
LAS. Hasil
jawaban dari
penelitian ini
pertanyaan user.
memiliki recall tertinggi sebesar 0.35 dan nilai precision sebesar 0.089.
Arsitektur Natural Menggunakan
Sistem ini
Penelitian dengan
Language
ontology domain
menggunakan
General
Question
pada General
hybrid approach.
Architecture of a
Answering System Architecture of a
Sistem ini juga
NLQA System ini
Berbasis Ontologi
Natural Language
menggunakan
menghasilkan
Question
analisis sintaksis
jawaban yang
Answering
dan juga semantik
memiliki tingkat
(NLQA) System
atau pengolahan
akurasi lebih
ontology untuk
tinggi dan dapat
pengambilan
melakukan filter
jawaban dan
pada kalimat
menggunakan
semantik yang
ontology domain
terhubung satu
untuk ekstraksi
sama lain, serta
relasi dan
memberikan hasil
identifikasi
dari hasil ranking
pengambilan
jawaban yang
jawaban.
memiliki
51 peringkat kebenaran lebih tinggi. Recall untuk pengujian 20 dokumen sebesar 0.82 sedangkan untuk pengujian 50 dokumen diperoleh recall sebesar 0.81. Sistem Temu Kembali Informasi dengan Metode Vector Space Model
Mendesain mesin
Sistem ini
STKI mampu
pencari dengan
menggunakan
melakukan
metode vector
metode Vector
pencarian
space model, dan
space model.
dokumen teks
menguji kinerja
bahasa Indonesia
temu kembali
dan menampilkan
menggunakan
hasil pencarian
recall dan
dokumen teks
precision.
dengan disertai bobot tiap dokumen beserta letak dokumen dengan waktu komputasi ratarata 1,5 detik. Dan memiliki rata-rata recall = 0,19 dan rata-rata precision = 0,54.
52