APLIKASI SISTEM EKSTRAKSI KATA KUNCI BERBAHASA
INDONESIA MENGGUNAKAN ALGORITMA TEXTRANK
STUDI KASUS DATA WIKIPEDIA INDONESIA
SKRIPSI
AHMAD KURNIAWAN 11150940000052
PROGRAM STUDI MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN SYARIF HIDAYATULLAH JAKARTA
i
APLIKASI SISTEM EKSTRAKSI KATA KUNCI BERBAHASA
INDONESIA MENGGUNAKAN ALGORITMA TEXTRANK
STUDI KASUS DATA WIKIPEDIA INDONESIA
Skripsi
Diajukan kepada
Universitas Islam Negeri Syarif Hidayatullah Jakarta Fakultas Sains dan Teknologi
Untuk Memenuhi Salah Satu Persyaratan dalam Memperoleh Gelar Sarjana Matematika (S. Mat)
Oleh: Ahmad Kurniawan
11150940000052
PROGRAM STUDI MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN SYARIF HIDAYATULLAH JAKARTA
ii
LEMBAR PENGESAHAN
Skripsi ini berjudul “Aplikasi Sistem Ekstraksi Kata Kunci Berbahasa
Indonesia Menggunakan Algoritma TextRank Studi Kasus Data Wikipedia Indonesia” yang ditulis oleh Ahmad Kuniawan, NIM 11150940000052 telah
diuji dan dinyatakan lulus dalam sidang Munaqosah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta pada hari Kamis, 11 Februari 2021. Skripsi ini telah diterima untuk memenuhi salah satu persyaratan dalam memperoleh gelar sarjana strata satu (S1) Program Studi Matematika.
iii
iv
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini:
Nama : Ahmad Kurniawan
NIM : 11150940000052
Program Studi : Matematika Fakultas Sains dan Teknologi
Demi pengembangan ilmu pengetahuan, saya menyetujui untuk memberikan Hak
Bebas Royalti Non-Eksklusif (Non-Exclusive-Free Right) kepada Program Studi
Matematika Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta atas karya ilmiah saya yang berjudul :
“Aplikasi Sistem Ekstraksi Kata Kunci Berbahasa Indonesia Menggunakan Algoritma TextRank Studi Kasus Data Wikipedia Indonesia”
beserta perangkat yang diperlukan (bila ada). Dengan Hak Bebas Royalti Non-Eksklusif ini, Program Studi Matematika Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta berhak menyimpan, mengalihmedia/formatkan, mengelolanya dalam bentuk pangkalan data (database), mendistribusikannnya, dan menampilkan/mempublikasikannya di internet dan media lain untuk kepentingan akademis tanpa perlu meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta. Segala bentuk tuntutan hukum yang timbul atas pelanggaran Hak Cipta karya ilmiah ini menjadi tangung jawab saya sebagai penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Dinyatakan di Tangerang Selatan Pada tanggal: 11 Februari 2021
Yang membuat pernyataan
v
PERSEMBAHAN
MOTTO
“It’s an impossibility to be perfect, but it’s possible to do THE BEST!!!”
Alhamdulillahirabbil’alamin, atas berkat rahmat ALLAH SWT.
Skripsi ini khusus saya persembahkan untuk Bapak dan Ibu saya, kakak - kedua adik saya, serta keluarga besar program studi matematika fakultas sains dan teknologi UIN syarif
hidayatullah Jakarta.
semoga dapat selalu mendapatkan keberkahan, limpahan rahmat dan hidayat-Nya, aamiiinn.
vi
ABSTRAK
Ahmad Kurniawan, Aplikasi Sistem Ekstraksi Kata Kunci Berbahasa Indonesia
Menggunakan Algoritma TextRank Studi Kasus Data Wikipedia Indonesia, di bawah bimbingan Dr. Taufik Edy Sutanto, MscTech dan Yanne Irene, M. Si.
Penelitian ini mengembangkan sebuah aplikasi mesin pencari (search
engine) yang dibangun dari kumpulan data ensiklopedia sebanyak 617.411 entri
data dari data Wikipedia Indonesia tahun 2018. Banyaknya dokumen dan tautan (link) ensiklopedia tersebut mengakibatkan dibutuhkannya sistem pengekstraksian kata kunci pada setiap dokumen di data. Aplikasi yang disajikan pada penelitian ini menggunakan algoritma TextRank dalam menentukan kata kunci yang paling penting pada suatu dokumen. Eksperimen numerik yang dilakukan di penelitian ini menunjukkan bahwa aplikasi yang dibentuk dari algoritma TextRank dengan kombinasi multiword expression menghasilkan akurasi recall sebesar 84%, dimana
hasil tersebut memperoleh akurasi yang lebih tinggi dibandingkan model yang dihasilkan dari algoritma TextRank Original yang menghasilkan akurasi recall sebesar 56%. Kesimpulan hasil studi empiris tersebut mengindikasikan bahwa algoritma TextRank dengan multiword expression menghasilkan akurasi recall
32% lebih baik dibandingkan dengan algoritma TextRank Original yang
menggunakan parameter top-15 kata kunci. Aplikasi ini bermanfaat untuk mempermudah pengguna mendapatkan inti sari dan rekomendasi kata kunci pencarian selanjutnya pada setiap hasil pencarian informasi di suatu kumpulan data yang besar.
Kata Kunci: Ekstraksi Kata Kunci, ElasticSearch, Multiword Expression, POS Tagging, TextRank.
vii
ABSTRACT
Ahmad Kurniawan, Application of Indonesian Language Keyword Extraction System Using TextRank Algorithm Case Study of Indonesian Wikipedia Data, under
the guidance of Dr. Taufik Edy Sutanto, MscTech dan Yanne Irene, M. Si.
This study developed a search engine application that was built from an encyclopedia data collection of 617,411 data entries from the Indonesian Wikipedia data in 2018. The large number of documents and encyclopedia links resulted in the need for a keyword extraction system for each document in the data. The application presented in this study uses the TextRank algorithm in determining the most important keywords in a document. Numerical experiments conducted in this study indicate that the application formed from the TextRank algorithm with a combination of multiword expression produces a recall accuracy of 84%, where these results obtain a higher accuracy than the model generated from the Original TextRank algorithm which results in a recall accuracy of 56%. The conclusion from the results of the empirical study indicates that the TextRank algorithm with multiword expression produces 32% better recall accuracy than the Original TextRank algorithm which uses the top-15 keyword parameter. This application is useful to make it easier for users to get the essence and recommendation of the next search keyword on each information search result in a large data set.
Keywords: ElasticSearch, Keywords Extraction, Multiword Expression, POS Tagging, TextRank.
viii
KATA PENGANTAR
Assalamu’alaikum Warahmatullahi Wabarakatuh
Alhamdulillah, puji dan syukur kehadirat Allah SWT atas segala limpahan
rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan penulisan skripsi yang berjudul “Aplikasi Sistem Ekstraksi Kata Kunci Berbahasa Indonesia
Menggunakan Algoritma TextRank Studi Kasus Data Wikipedia Indonesia”.
Shalawat serta salam senantiasa tercurahkan kepada bagina Nabi Muhammad SAW, beserta keluarga dan para sahabatnya.
Di balik terselesaikannya skripsi ini, begitu banyak pihak yang telah berkontribusi, baik dalam memberikan bimbingan, bantuan, waktu, maupun dalam bentuk kontribusi lainnya. Untuk itu melalui kesempatan ini, dengan segala kerendahan hati, penulis ingin menyampaikan terima kasih kepada:
1. Ibu Dr. Lily Surraya Eka Putri, M.Env.Stud selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.
2. Ibu Suma’inna, M.Si selaku Ketua Program Studi Matematika dan Ibu Irma Fauziah, M.Sc selaku Sekretaris Program Studi Matematika.
3. Bapak Dr. Taufik Edy Sutanto, M.Sc.Tech selaku Dosen Pembimbing I dan Bapak Yanne Irene, M.Si selaku Dosen Pembimbing II yang senantiasa memberikan waktu, bimbingan, dan motivasi kepada penulis dalam menyelesaikan skripsi ini.
4. Muhaza Liebenlito, M.Si selaku Dosen Penguji I dan Mohamad Irvan Septiar Musti, M.Si selaku Dosen Penguji II yang telah memberikan saran dan arahan untuk perbaikan skripsi ini.
5. Seluruh Ibu dan Bapak Dosen Program Studi Matematika yang telah memberikan ilmu dan pengetahuan yang bermanfaat selama masa studi penulis.
6. Umi, Abi, Kakak, dan Adik-adik penulis yang selalu menyayangi, mendo’akan, serta memberikan dukungan baik moril maupun materil kepada
ix penulis agar dapat menyelesaikan skripsi ini serta dapat menjadi orang yang sukses kelak.
7. Aziz, Ruslan, dan Oktavian Wahyu Prabowo S.Mat yang telah membantu membangun aplikasi search engine pada skripsi ini.
8. Putera Gema N. S.Mat, Ichsan Rahadian S.Mat, dan Bagus Fajar A. S.Mat yang selalu mendukung dan mengingatkan penulis.
9. Keluarga matematika 2015 yang selalu memberikan semangat, motivasi, dan menghibur penulis.
10. Keluarga Besar Mahasiswa Matematika Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta yang telah memberikan dukungan kepada penulis.
Penulis menyadari bahwa masih banyak kesalahan dalam penulisan skripsi ini. Oleh sebab itu, penulis menerima kritik dan saran yang bersifat membangun agar kesalahan yang terjadi tidak terulang lagi di masa yang akan datang. Penulis berharap bahwa skripsi ini bermanfaat bagi banyak pihak.
Wassalamu’alaikum Warahmatullahi Wabarakatuh.
Jakarta, 11 Februari 2021
x
DAFTAR ISI
LEMBAR PENGESAHAN ... ii
PERNYATAAN ... iii
LEMBAR PERNYATAAN PERSETUJUAN ... iv
PERSEMBAHAN ... v
MOTTO ... v
ABSTRAK ... vi
ABSTRACT ... vii
KATA PENGANTAR ... viii
DAFTAR ISI ... x
DAFTAR GAMBAR ... xiii
DAFTAR TABEL ... xiv
BAB I PENDAHULUAN ... 1 1.1. Latar Belakang ... 1 1.2. Rumusan Masalah ... 4 1.3. Batasan Masalah ... 5 1.4. Tujuan Penelitian ... 5 1.5. Manfaat Penelitian ... 5
BAB II LANDASAN TEORI ... 6
2.1. Ekstraksi Kata Kunci ... 6
2.2. Sistem Temu Kembali Informasi ... 7
2.3. Search Engine ... 8
2.3.1. ElasticSearch ... 8
xi
2.5. Multiword Expression ... 13
2.6. Teori Graf ... 14
2.7. Evaluasi ... 15
BAB III METODOLOGI PENELITIAN ... 17
3.1. Sumber Data ... 17
3.2. Perancangan Sistem ... 18
3.2.1. Perancangan Database ... 18
3.2.2. Perancangan sistem Search Engine ... 19
3.3. Preprocessing Data ... 22 3.3.1. Text Cleaning ... 22 3.3.2. Tokenisasi ... 23 3.3.3. Lemmatization ... 23 3.3.4. Stopword Filtering ... 23 3.3.5. POS Tagging ... 24 3.3.6. Multiword Expression ... 25 3.4. Algoritma TextRank ... 26 3.4.1. Menghitung Co-occurrence ... 27
3.4.2. Membangun Graf Keterkaitan ... 28
3.4.3. Pembobotan Skor ... 29
3.5. Sorting ... 32
3.6. Post – Processing ... 34
3.7. Visualisasi ... 35
BAB IV HASIL DAN PEMBAHASAN ... 36
4.1. Data Analisis ... 36
4.2. Exploratory Data Analysis ... 37
4.3. Data Evaluasi ... 38
xii
4.4.1. Tampilan Beranda ... 41
4.4.2. Tampilan Hasil Pencarian ... 41
4.4.3. Tampilan Link ... 42
4.5. Hasil Pengujian ... 45
BAB V KESIMPULAN DAN SARAN ... 51
5.1. Kesimpulan ... 51
5.2. Saran ... 51
xiii
DAFTAR GAMBAR
Gambar 1. 1 Survei Website yang dirangkum Hootsuite [1] ... 1
Gambar 2. 1 Data pendefinisian tag [19] ... 12
Gambar 2. 2 Diagram multiword expression [20] ... 13
Gambar 2. 3 Contoh graf 4 titik dan 4 sisi ... 14
Gambar 2. 4 Contoh Graf Berarah ... 14
Gambar 3. 1 Diagram Perancangan Database ... 19
Gambar 3. 2 Diagram Perancangan search engine ... 20
Gambar 3. 4 Contoh pembentukan graf keterkaitan ... 29
Gambar 4. 1 Data Aplikasi ... 37
Gambar 4. 2 Hasil wordcloud dan wordlink topik graf ... 37
Gambar 4. 3 Hasil wordcloud dan wordlink topik pancasila ... 38
Gambar 4. 4 Tampilan beranda Math-EDU ... 41
Gambar 4. 5 Contoh hasil halaman pencarian ... 42
Gambar 4. 6 Tampilan fungsi Text ... 43
Gambar 4. 7 Tampilan fungsi Wordcloud ... 43
Gambar 4. 8 Tampilan fungsi Graph Network ... 44
Gambar 4. 9 Tampilan fungsi TextRank ... 45
xiv
DAFTAR TABEL
Tabel 2.1 ElasticSearch vs SQL [15] ... 9
Tabel 3.1 Contoh hasil Stopword Filtering ... 24
Tabel 3.2 Contoh hasil pemberian tag pada teks input ... 24
Tabel 3.3 Contoh hasil Multiword Expression ... 25
Tabel 3.4 Contoh hasil matrix co-occurence... 27
Tabel 3.5 Contoh hasil bobot skor ... 29
Tabel 3.6 Contoh hasil pembobotan skor ... 33
Tabel 3.7 Contoh hasil TextRank ... 34
Tabel 4.1 Sample Teks ... 39
Tabel 4.2 Hasil Kata Kunci ... 45
1
BAB I PENDAHULUAN
Bab ini menjelaskan latar belakang hingga manfaat dari penelitian yang disajikan pada skripsi ini. Secara umum skripsi ini menjelaskan tentang cara kerja dan bagaimana membangun sebuah sistem temu kembali informasi yang dikombinasikan dengan sistem pengekstraksian kata kunci menggunakan algoritma textRank. Aplikasi ini bermanfaat untuk mendapatkan informasi penting yang dibutuhkan dan sesuai dengan kata kunci pencarian yang diberikan oleh pengguna.
1.1. Latar Belakang
Pada era serba digital saat ini perkembangan dunia teknologi sangat berdampak terhadap kehidupan manusia, salah satu contohnya ialah adanya
platform online seperti Google, Youtube, Wikipedia, dan media sosial lainnya yang
mempermudah manusia dalam mencari informasi terkini. Tetapi, karena begitu banyaknya informasi yang tersebar pada platform online tersebut mengindikasikan bahwa literasi digital manusia dalam memilih informasi yang baik ataupun yang kurang baik menjadi kurang efektif, hal tersebut dibuktikan pada Gambar 1.1 yang memperlihatkan lamanya waktu yang digunakan manusia dalam menjelajahi
platform online tersebut.
2 Telihat dari hasil rangkuman hootsuite untuk periode juli 2020 tersebut mengungkapkan bahwa peringkat teratas top global 20 website dunia diisi oleh
platform online yang memfokuskan pengaplikasiannya pada aplikasi search engine
seperti google, youtube, baidu, amazon, dan wikipedia. Rangkuman survei membuktikan bahwa masih banyak manusia yang kurang ahli dalam berliterasi digital pada platform online tersebut untuk memilih informasi yang dibutuhkannya. Beragam manfaat yang diberikan platform online tersebut membuat manusia disuguhkan beragam kemudahan untuk mendapatkan informasi baru serta mencari wawasan baru. Wawasan baru ataupun informasi baru dapat dimanfaatkan manusia menjadi ilmu pengetahuan baru. Hal itu seharusnya membuat manusia teringat dengan perintah Allah Yang Maha Esa yang memerintahkan manusia agar mencari serta mendapatkan segala ilmu-Nya yang tersebar didunia ini dan tercantum dalam Al-Qur’an pada ayat berikut:
ُ ل َّزَنَتَي
َُّن هَلْث ِم ُ ِض ْرَ ْلْا َُن ِم َو ُ تا َواَمَس َُعْبَس َُقَلَخ ُيِذَّلا ُ َّاللّ
ََُّاللّ َُّنَأ َو ُ ريِدَق ُ ء ْيَش ُِ ل ك ُ ىَلَع ََُّاللّ َُّنَأ ُاو مَلْعَتِل َُّن هَنْيَب ُ ر ْمَ ْلْا
ُا ًمْل ِع
ُ ءْيَش ُِ ل كِب َُطاَحَأ ُْدَق
Artinya: “Allah yang menciptakan tujuh langit dan dari (penciptaan) bumi juga
serupanya. Perintah Allah berlaku padanya, agar kamu mengetahui bahwa Allah Mahakuasa atas segala sesuatu, dan ilmu Allah benar-benar meliputi segala
sesuatu.” (At-Talaq: 12).
Pada era digital ini sangatlah banyak informasi yang didapatkan dari
platform online, karena platform online sudah begitu banyak menyediakan
informasi yang dibutuhkan manusia. Banyaknya informasi yang tersedia menyembabkan manusia membuang banyak waktu hanya untuk menentukan kata kunci pada setiap pencarian informasi di platform online. Saat ini pemilihan kata kunci di aplikasi search engine masih diproses secara manual oleh manusia, hal itu menyebabkan kurang efektifnya waktu dan juga berdampak pada hasil yang mungkin tidak semua kata kunci pilihannya merupakan representasi dari isi teks.
3 Salah satu alternatif yang memudahkan pengguna untuk mendapatkan informasi penting ialah dengan diadakannya sistem pengekstraksian kata kunci yang diterapkan pada aplikasi search engine. Sistem pengekstraksian kata kunci pada aplikasi search engine memudahkan manusia untuk mendapatkan kata kunci di setiap link bacaan hasil pencarian pada aplikasi, selain itu hasil dari pengekstraksian kata kunci juga dapat dijadikan rekomendasi kata kunci pencarian yang dibutuhkan untuk mendukung kata kunci utama.
Kata kunci ataupun keywords merupakan kata-kata singkat yang dapat menggambarkan isi suatu artikel ataupun dokumen [2]. Pada penerapannya, kata kunci atau keywords sering sekali digunakan untuk merepresentasikan informasi yang dicarikan pada aplikasi search engine, sedangkan pada jurnal ilmiah kata kunci atau keywords sering sekali digunakan untuk merepresentasikan isi dari jurnal ilmiah tersebut yang bertujuan untuk mempermudah pembaca mendapatkan gambaran dari jurnal tersebut.
Pada dunia text mining pengekstraksian kata kunci memiliki andil yang terbilang penting pada proses analisa data teks. Ekstraksi kata kunci adalah tahapan yang berguna untuk secara otomatis mengidentifikasi istilah-istilah penting dalam sekumpulan teks yang paling menggambarkan isi dari dokumen yang dibacakan pengguna [3]. Saat ini umumnya aplikasi search engine tidak disediakan rekomendasi kata kunci pencarian informasi pendukung, ataupun kumpulan kata kunci pada link bacaan itu berarti untuk mendapatkan kata kunci masih dilakukan secara manual, sehingga kurang efektif dalam penentuan kata kunci pendukung.
Pengekstraksian kata kunci dalam prakteknya saat ini terbagi dalam beberapa metode utama, seperti metode berbasis statistik yang umum digunakan dengan mengukur frekuensi katanya, basis genetika, dan basis graf yang menganggap kata sebagai node dari sebuah graf [4]. Salah satu algoritma pengekstraksian kata kunci yang dapat digunakan ialah algoritma TextRank yang melakukan pengekstraksian kata kunci dengan mengaplikasikan teks pada graf.
Algoritma TextRank banyak diterapkan untuk melakukan pengekstraksian kata kunci karena dianggap menghasilkan pengekstraksian kata kunci yang akurat dan relevan sehingga mudah dipahami penggunanya, bahkan terdapat banyak
4 pengembangan sistem yang tercipta. Algoritma TextRank dipilih karena algoritma ini menggunakan pengaplikasian graf yang tidak membutuhkan pelatihan dataset, sehingga mempercepat proses analisa data, dan tidak bergantung pada Bahasa tertentu [3]. Algoritma TextRank bukanlah metode akhir yang tidak membutuhkan penyempurnaan, karena Algoritma TextRank tidak dapat menjamin bahwa semua frase kata kunci yang diperoleh merupakan kata-kata yang sudah benar berdasarkan makna dari bahasa kalimatnya [5].
Wengen Li dan Jiabao Zhao pada tahun 2016 [4] melakukan penelitian mengenai pengekstraksian kata kunci teks singkat dengan model TextRank yang dikembangkan dengan mengeksploitasi wikipedia sebagai basis pengetahuan eksternal yang menganggap setiap ensiklopedia di wikipedia sebagai informasi semantik dan dimana bobot kata dalam informasi semantik akan diwakili oleh nilai TF-IDF dari kata pada informasi semantiknya, dan kemudian membangun model TextRank dengan konsep vektor. Zhang Xuekun, dkk tahun 2017 [6] melakukan pengembangan ekstraksi kata kunci yang menggunakan algoritma TextRank yang ditingkatkan dengan TF-IDF dan kemudian melakukan pencarian ekstraksi kata kunci berdasarkan pengetahuan latar belakang professional peneliti.
Berdasarkan latar belakang tersebut, maka penelitian ini akan mengembangkan aplikasi temu kembali mutakhir “math edu” yang dibangun oleh Oktavian Wahyu Prabowo (2020) dengan ditambahkan sistem pengekstraksian kata kunci berbahasa Indonesia yang menggunakan algoritma TextRank. Pengembangan aplikasi temu kembali mutakhir “math edu” dengan kombinasi sistem pengekstraksian kata kunci pada penelitian ini akan menjadikan hasil pengekstraksian kata kunci sebagai rekomendasi keywords pencarian selanjutnya, sehingga mempermudah pengguna dalam mendapatkan inti sari informasi dari hasil pencarian yang dibacakan pengguna.
1.2. Rumusan Masalah
Dari uraian latar belakang di atas, maka didapat perumusan masalah sebagai berikut:
5 1. Bagaimana mendapatkan hasil ekstraksi kata kunci menggunakan algoritma TextRank berdasarkan kata kunci pencarian yang diberikan pengguna pada aplikasi search engine yang dibangun?
2. Bagaimana mengevaluasi efektivitas kata kunci yang dihasilkan dari model algoritma TextRank dengan modifikasi multiword expression?
1.3. Batasan Masalah
Agar permasalahan tidak menyimpang dari yang sudah ditetapkan, maka dibuat pembatasan masalah sebagai berikut:
1. Data yang digunakan merupakan kumpulan data teks wikipedia tahun 2018. 2. Manajemen database menggunakan API ElasticSearch.
3. Pengoperasian text mining untuk membangun aplikasi search engine menggunakan bahasa pemrograman python, HTML, CSS, dan flask framework.
1.4. Tujuan Penelitian
Tujuan yang ingin dicapai dalam penelitian ini adalah
1. Mendapatkan hasil ekstraksi kata kunci menggunakan algoritma TextRank berdasarkan kata kunci pencarian yang diberikan pengguna pada aplikasi
search engine yang dibangun.
2. Memperoleh hasil keefektifan kata kunci yang dihasilkan dari model algoritma TextRank dengan modifikasi multiword expression.
1.5. Manfaat Penelitian
Melalui penelitian ini diharapkan dapat menjadi referensi untuk penelitian atau pengembangan aplikasi search engine selanjutnya yang dikombinasikan dengan sistem pengekstraksian kata kunci yang berdasarkan kata kunci pencarian pemberian pengguna pada aplikasi, sehingga hal itu dapat mempermudah pengguna untuk mendapatkan kata kunci yang dibutuhkan pengguna agar dijadikan rekomendasi kata kunci pencarian informasi pelengkap.
6
BAB II LANDASAN TEORI
Pada bab ini akan membahas beberapa bidang keilmuan yang dapat menunjang penelitian sehingga menjadi acuan dalam membangun peringkasan teks otomatis yang diterapkan pada sistem temu kembali informasi serta membahas beberapa metode yang berkaitan dan beberapa istilah yang digunakan pada penelitian ini.
2.1. Ekstraksi Kata Kunci
Ekstaksi kata kunci merupakan tahapan penting dalam proses pengolahan analisa data teks, karena ekstraksi kata kunci merupakan pengekstraksian kata pada teks agar mendapatkan kata kunci dari isi teks yang digunakan. Pengekstraksian kata kunci berguna untuk mendapatkan kata kunci pada suatu teks bacaan yang dimana sifatnya sebagai unit terkecil untuk merepresentasikan makna ataupun informasi dari seluruh topik dan isi pada dokumen teks tersebut [7]. Ekstraksi kata kunci dalam penggunaannya dapat dimanfaatkan untuk proses pencarian informasi, peringkasan teks, klasifikasi, pengelompokan, pendeteksian topik, pemfilteran, pembuatan katalog, rekomendasi kata kunci, dan lainnya [8][9].
Pada prosesnya teknik pengekstraksian kata kunci dapat dipergunakan dengan beragam pendekatan untuk mendapatkan kata kunci yang dibutuhkan seperti pendekatan linguistik, pendekatan statistik, pendekatan graf, dan lainnya. Umumnya suatu kata kunci memiliki dua model yaitu keywords dan keyphrase, dimana model keywords ialah kata kunci yang hanya terdiri dari 1 kata pilihan yang menggambarkan isi teks, sedangkan model keyphrase ialah kata kunci dengan gabungan kata yang dipilih untuk menggambarkan isi teksnya [10]. Berikut contoh pengekstraksian kata kunci dari suatu paragraf dengan model keywords dan
keyphrase: “Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan
7
pada model komputasi, menggunakan algoritma. Bidang ilmu ini terutama membahas hal terkait komputabilitas dan kompleksitas, dalam kaitannya dengan formalisme komputasi.” Berdasarkan contoh paragraf diatas terlihat hasil
pengekstraksian kata kunci yang dihasilkan berupa kata (ilmu komputer, model komputer, dan komputabilitas), dengan dimana kata kunci ‘komputabilitas merupakan kata kunci dengan model keywords, sedangkan untuk kata ‘ilmu komputer’, dan ‘model komputer’ merupakan kata kunci dengan model keyphrase.
2.2. Sistem Temu Kembali Informasi
Sistem temu kembali informasi atau biasa dikenal dengan kata Information
Retrieval (IR) ialah suatu sistem pencarian informasi yang dimanfaatkan oleh
pengguna untuk mencari informasi berupa dokumen atau lainnya. Pada praktek penerapannya sistem temu kembali informasi membutuhkan kata kunci pencarian yang dicari pengguna yang kemudian kata kunci pencariannya akan diproses oleh sistem pada koleksi data yang dimiliki sistem, sehingga sistem menemukan informasi yang relevan terhadap kata kunci yang dicari pengguna, dan kemudian sistem akan menampilkan informasi-informasi yang relevan kepada pengguna [11]. Kata kunci yang dicari pengguna pada sistem temu kembali informasi biasanya menggunakan kata kunci dari informasi yang dicari atau biasa disebut dalam bahasa komputer sebagai query. Query merupakan suatu formulasi untuk mencari informasi yang dibutuhkan oleh pengguna dengan menggunakan kalimat sederhana, sehingga mempermudah sistem untuk memfokuskan proses pencarian pada kata kunci pencarian untuk menghasilkan informasi yang relevan terhadap kata kunci yang dicari pengguna [12].
Sistem temu kembali informasi terbagi dari beberapa tahapan yang dijabarkan sebagai berikut [13]:
1. Text Operations, tahapan untuk pemilihan kata-kata pada dokumen (term
selection) seperti proses transformasi dokumen atau query menjadi term index (indeks kata-kata).
8
2. Query formulation, tahapan untuk membentuk formula query yang memberi
bobot pada index.
3. Indexing, tahapan untuk membangun basis data yang bersifat index dari
koleksi dokumen, dan bertujuan untuk mengindex setiap katanya dengan id dokumen.
4. Searching, tahapan pencarian dokumen dari index yang ada.
5. Ranking, tahapan mencari dokumen yang berkaitan terhadap query yang
diminta, dan mengurungkan dokumen yang tidak sesuai dengan query.
2.3. Search Engine
Search engine merupakan salah satu pengaplikasian dari sistem temu
kembali informasi yang dirancang agar mempermudah pengguna dalam membantu pengguna menjawab pertanyaan-pertanyaan yang ditanyakan pengguna pada sistem. Aplikasi search engine biasanya dirancang dalam bentuk aplikasi platform
online seperti website, program desktop, dan lainnya. Sistem pada search engine
yang dibangun untuk penelitian ini menggunakan teknik searching dan indexing
process. Searching process ialah proses yang digunakan oleh pengguna untuk
mengakses atau mencari kata kunci yang dibutuhkan, sedangkan indexing process ialah proses yang hanya dapat digunakan oleh admin untuk merubah atau menambah dokumen pada database yang kemudian di proses agar dapat ditampilkan sebagai hasil pencarian [14].
2.3.1. ElasticSearch
ElasticSearch ialah tools yang dapat dimanfaatkan untuk membangun aplikasi search engine dengan menggunakan kapasitas data yang besar tetapi dengan skema API yang sederhana. ElasticSearch dalam pengoperasiannya digunakan untuk query kata-kata yang memiliki gudang data berskala besar, karena elasticsearch dapat mengakses data besar yang terstruktur hingga yang tidak terstruktur tetapi dengan API sederhana, dan dalam pelaksanaannya elasticsearch biasa digunakan sebagai mesin pencarian yang terdistribusi [15]. Pengolahan data
9 berskala besar dapat dikerjakan elasticsearch, karena elasticsearch merupakan mesin pencari Restfull terdistribusi yang menggunakan lisensi Apache untuk menangani pengindeksan dokumen, dan bertujuan untuk mempermudah pencarian dokumen [16].
Pada praktek pengolahan data besar mungkin biasanya para ahli pengolahan data besar lebih memilih menggunakan RDBMS atau biasa dikenal MySQL dan SQL atau sejenisnya, sebenarnya dalam hal pengoperasian RDBMS dan Elasticseach memiliki beberapa hal kesamaan tetapi dengan istilah yang berbeda. Pada Table 2.1. terlihat perbedaan istilah yang dimiliki ElasticSearch dengan SQL, sehingga mempermudah mengoperasikan ElasticSearch dalam hal penyimpanan dan pengolahan data.
Tabel 2. 1 ElasticSearch vs SQL [16].
Elemen-elemen di ElasticSearch Elemen-elemen di SQL
Index Database
Mapping Schema
Document Type Table
Document Row
Selanjutnya akan dibahas beberapa fitur dasar yang dibutuhkan untuk proses penyimpanan serta pengolahan dataset pada Elasticsearch.
1. Fitur Dasar Penyimpanan
Fitur-fitur dasar pada ElasticSearch yang dibutuhkan untuk menyimpanan kumpulan dataset pada ElasticSearch [17]:
a) Index, ialah media basis data yang berguna untuk menyimpan dokumen dan
membacanya. Elasticsearch yang berbasis Apache lisensi berguna untuk membangun lebih dari satu Index Lucene.
10 b) Document, ialah entitas utama di dunia Elasticsearch (dan juga di dunia
Lucene). Pada akhirnya, semua kasus penggunaan Elasticsearch dapat terlihat pada proses pencarian dokumen dan menganalisanya. Document pada ElasticSearch merupakan kumpulan field, dengan dimana field dapat juga disebut dengan multi-valued dan setiap field memiliki nama dan memiliki satu nilai atau lebih. Document ialah objek yang memiliki format JSON. c) Mapping, ialah suatu fungsi pengurutan untuk semua informasi agar tersusun
sebagai rantai analisis yang disesuaikan dengan konten pada field. Selain itu, Elasticsearch bisa secara otomatis menemukan jenis field dengan melihat nilainya, dalam banyak kasus pengguna dapat mengkonfigurasikan mapping untuk menghindari hal yang tidak menyenangkan.
d) Type, ialah fungsi pada Elasticsearch yang berguna untuk menyimpan
berbagai macam jenis dokumen dalam satu index dan memiliki mapping yang berbeda untuk dokumen yang berbeda jenis.
e) Node, ialah sampel tunggal dari server Elasticsearch. Node elasticsearch dapat melayani tujuan yang berbeda seperti node data yang berfungsi untuk menyimpan dan mencari data, node master yang berfungsi sebagai pengawas cluster yang mengontrol pekerjaan antar node, dan node suku yang bertindak sebagai penghubung node data dengan node master.
f) Cluster, ialah sekumpulan node Elasticsearch yang saling bekerja
bersama-sama dalam menjalani sifat terdistribusi dari Elasticsearch, sehingga memungkinkan pengguna untuk dengan mudah menangani data yang terlalu besar ketimbang dengan menggunakan satu node handle.
g) Shard, ialah fungsi pemecah data ke beberapa index Lucene yang ada. Index
Lucene disebut shard, sharding data memungkinkan pengguna untuk memasukkan data yang lebih banyak ke dalam ElasticSearch untuk satu node yang menanganinya.
h) Replica, ialah tiruan dari shard yang dimana jika server dengan master shard
hilang, Elasticsearch akan mengambil salah satu replica shard yang tersedia dan merekomendasikannya ke server, sehingga pekerjaan layanan tidak terganggu.
11 2. Query Data
Query data adalah bagian besar dari Elasticsearch API. Querying data di
Elasticsearch menggunakan query DSL (berbasis JSON), querying data Elasticsearch dapat melakukan hal berikut [18]:
a. Menggunakan berbagai jenis query termasuk query keys sederhana, frasa, boolean, fuzzy, span, wildcard, spatial, dan fungsi query untuk manusia. b. Membangun query kompleks dapat dibangun dengan menggabungkan
query sederhana menjadi satu.
c. Memfilter dokumen, membuang dokumen yang tidak sesuai dengan kriteria yang dipilih tanpa mempengaruhi skor.
d. Temukan dokumen yang mirip dengan dokumen yang diberikan. e. Temukan rekomendasi dan koreksi dari frasa yang diberikan.
f. Bangun navigasi dinamis dan hitung statistik menggunakan agregasi. g. Gunakan pencarian prospektif dan temukan pertanyaan yang cocok dengan
dokumen yang diberikan.
Secara umum, proses query dapat dibagi menjadi fase pencar dan tahap pengumpulan. Fase pencar membahas tentang meminta semua shard yang relevan dari index pengguna, sedangkan fase pengumpulan adalah tentang mengumpulkan, menggabungkan, menyortir, memproses hasil dari shard yang relevan, dan kembali ke node.
2.4. Part-Of-Speech Tagging / POS Tagging
Umumnya saat menganalisa data teks permasalahan noisy akan sering ditemukan pada suatu teks yang dianalisa, dengan dimana noisy bukanlah satu-satunya permasalahan yang bermunculan saat melakukan analisa teks. Permasalahan lain yang bermunculan akibat pembersihan noisy ialah banyaknya kemunculan kata yang kurang informatif pada suatu teks yang dianalisa seperti kata kerja, kata keterangan, dan lainnya, hal tersebut menyebabkan kurang informatifnya suatu kalimat dalam menggambarkan topik.
12 Tahapan Part-Of-Speech biasa digunakan untuk memfilter kata-kata yang memiliki jenis kelas kata yang sesuai dengan jenis kelas kata yang dibutuhkan, oleh sebab itu kata atau karakter yang memiliki jenis kelas kata yang tidak dipilih dapat dianggap sebagai noisy. POS Tagging ini biasa disebut juga dengan grammatical
tagging ialah proses pelabelan suatu POS tag yang diterapkan pada kata-kata dalam
teks [19]. Sedangkan POS tag adalah pengkategorian grammatical yang biasa ditemukan pada kumpulan teks seperti kata kerja, kata benda, kata sifat, dan sebagainya [20].
Penggunaan POS Tagging pada proses pengekstraksian kata kunci dijadikan sebagai tools untuk memfilter kata yang hanya berkelas kata benda, ataupun memfilter semua kelas kata yang dimana hal itu mempermudah pengekstraksian kata untuk dipilih sebagai kata kunci. Pendefinisan tag untuk kata-kata berbahasa Indonesia memiliki beberapa referensi, adapun daftar tag untuk mendefinisikan tag pada penelitian ini yaitu dengan mendefinisikan 45 tag untuk kata-kata berbahasa Indonesia termasuk karakter tanda baca ataupun simbol. Data pendefinisian tag kali ini terlihat pada Gambar 2.1.
13
2.5. Multiword Expression
Multiword Expression (MWEs) ialah salah satu teknik untuk
menggabungkan kata dengan kata berikutnya, dengan dimana susunan antar-katanya terdiri dari dua kata atapun lebih yang antar-antar-katanya saling berkaitan dan membentuk susunan kata baru, contoh gabungan kata ialah: “Cabang Matematika”, “Bilangan Bulat”, dan lainnya. Pada teks berbahasa Indonesia penggunaan
multiword expression digunakan aturan metode multiword expression candidate,
dan dalam prosesnya memanfaatkan pemfilteran stopword serta tanda baca [21]. Tahapan awal pada proses penggunaan metode ini ialah menggunakan isi teks yang sudah ditokenisasi, dan selanjutnya difilterlah kata yang termasuk stopword maupun tanda bacanya. Karakter yang termasuk stopword maupun tanda baca akan diganti dengan tanda baca tertentu dalam penelitian ini karakter tersebut diganti dengan tanda baca titik (.), selanjutnya suatu kalimat yang tersusun dari beberapa kata dengan minimal tersusun oleh dua kata yang setelah kalimat tersebut ditemukannya tanda baca ataupun stopword, maka kalimat tersebut akan digabungkan menjadi satu kata baru [21]. Diagram alur kerja dari aturan ekstraksi
multiword expression candidate ini dapat dilihat pada Gambar 2.2 berikut:
14
2.6. Teori Graf
Suatu graf 𝐺 dapat dinyatakan sebagai 𝐺 = (𝑉, 𝐸), dimana graf 𝐺 terdiri atas pasangan terurut dari himpunan 𝑉 yang berisikan kumpulan titik (Node) pada graf 𝐺, dan berpasangan dengan himpunan 𝐸 yang terisi dengan kumpulan sisi (Edges) pada graf 𝐺. Kumpulan sisi ialah kumpulan penghubung yang menghubungkan 2 atau lebih titik yang saling berhubungan [22].
Gambar 2. 3 Contoh graf 4 titik dan 4 sisi.
Secara umum, graf dapat diklasifikasikan menjadi dua jenis, yaitu [22]: 1. Graf sederhana, ialah graf yang tidak memiliki 1 maupun banyak sisi ganda. 2. Graf tak sederhana, ialah graf yang memiliki 1 sisi maupun banyak sisi ganda.
Sedangkan, berdasarkan orientasi arah dari suatu graf, secara umum diklasifikasikan menjadi dua jenis, yaitu [22]:
1. Graf tak berarah, ialah graf yang tidak mempunyai orientasi arah pada setiap sisinya.
2. Graf berarah, ialah graf yang mempunyai orientasi arah pada setiap sisinya.
15
2.7. Evaluasi
Pada penelitian ini tidak menggunakan pelatihan data untuk menghasilkan suatu akurasi, tetapi untuk melihat tingkat keefektifan dari model sistem pengekstraksian kata kunci ini dilakukanlah pengujian evaluasi dengan membandingkan kata kunci yang dipilih manusia dengan yang dihasilkan mesin. Melibatkan manusia dalam proses analisa teks diharapkan menghasilkan model yang lebih general karena manusia akan mengekstrapolasi apa yang dipelajarinya dari beberapa data pengalamannya [23]. Jonathan Chang dkk 2009, menunjukkan bahwa pengujian teks analisa dengan bantuan manusia menghasilkan beragam hasil analisa, karena hasil dari manusia tidak diukur dengan metrik yang ada sehingga model yang dihasilkan menjadi lebih baik [24].
Tahapan pengujian evaluasi pada penelitian ini penulis menggunakan metode precision (P), recall (R), dan F-1 Score untuk mengukur kinerja suatu sistem yang diharapkan menghasilkan perbaikan pada proses pengambilan informasi. Berikut ialah pemaparan metode yang digunakan untuk proses penganalisaan evaluasi ekstraksi kata kunci ini adalah [23]:
• Precision (P)
Precision adalah proporsi persentase ekstraksi kata kunci yang relevan
terpilih dari hasil ekstraksi sistem, dengan begitu nilai precision merupakan nilai yang membandingkan hasil ekstraksi kata kunci yang benar dihasilkan oleh sistem. Berikut ini merupakan persamaan untuk menghitung Precision (P).
𝑃 =
𝑡𝑝𝑡𝑝 + 𝑓𝑝
(2.1)
• Recall (R)
Recall adalah proporsi persentase ekstraksi kata kunci yang relevan terpilih
manual, dengan begitu nilai recall merupakan nilai yang membandingkan hasil ekstraksi kata kunci yang benar dihasilkan manual. Berikut ini merupakan persamaan untuk menghitung recall (R).
16
𝑅 =
𝑡𝑝 + 𝑓𝑛𝑡𝑝(2.2)
• F-1 Score
F-Measure adalah nilai yang mewakili seluruh kinerja sistem yang merupakan rata-rata dari nilai precision dan recall.
𝐹1 =
2∗𝑃∗𝑅𝑃+𝑅 (2.3)
Pada formula ini, P bermakna tentang precision, R merepresentasikan recall, dan F-1 merepresentasikan F-1 score. Variabel yang digunakan pada formula tersebut seperti 𝑡𝑝 (True Positif) menyatakan selisih jumlah set kata kunci yang dihasilkan manusia dan yang dihasilkan oleh sistem, 𝑓𝑝 (false positive) menyatakan jumlah set kata kunci yang dihasilkan oleh sistem, dan 𝑓𝑛 (false negative) berarti untuk merepresentasikan jumlah set kata kunci yang dihasilkan oleh manusia.
17
BAB III
METODOLOGI PENELITIAN
Pada bab ini akan memaparkan bagaimana proses perancangan suatu sistem temu kembali informasi di penelitian ini yang dikolaborasikan dengan sistem pengekstraksian kata kunci. Kemudian bab ini juga membahas proses pembentukan model ekstraksi kata kunci yang menggunakan algoritma Textrank.
3.1. Sumber Data
Sumber data yang digunakan pada penelitian ini terbagi dalam dua kasus untuk mendapatkan datanya maupun dalam hal kegunaannya yang berbeda, seperti:
1. Data Aplikasi
Data yang digunakan untuk mengembangkan aplikasi search engine dengan kombinasi sistem pengekstraksian kata kunci pada penelitian ini menggunakan data sekunder yang berisi kumpulan ensiklopedia dari wikipedia Indonesia tahun 2018, sebab digunakannya data wikipedia dikarenakan wikipedia merupakan salah satu
platform online yang berisi kumpulan ensiklopedia dengan memanfaatkan aplikasi search engine untuk mencari suatu ensiklopedia. Seluruh kumpulan ensiklopedia
pada dataset tersebut kemudian akan disimpan dan dikelola pada ElasticSearch dengan membentuk index untuk mempermudah proses pengolahan dataset melalui
query-query yang diinginkan pengguna.
2. Data Evaluasi
Proses pengujian keefektifan sistem pengekstraksian kata kunci pada penelitian ini digunakannya teknik penyebaran kuesioner yang berupa daftar cocok (check list), sedangkan proses pengumpulannya penulis menyebarkan kuesioner secara random terhadap 10 responden untuk dijadikan sebagai dataset pengujian. Tujuan dilakukannya penyebaran kuesioner ialah untuk mengukur tingkat ke-efektifan hasil pengekstraksian kata kunci yang dihasilkan sistem, dan yang dipilih manusia.
18
3.2. Perancangan Sistem
Perancangan sistem dibuat dalam bentuk step-by-step jalannya proses diagram alur dari perancangan database dan perancangan aplikasi search engine. Dengan dimana perancangan database lebih kepada penjelasan alur merancang database untuk pengelolaan data aplikasi untuk ditampilkan pada aplikasi search
engine yang dibangun.
3.2.1. Perancangan Database
Pada tahapan perancangan database ini dilakukannya proses penyimpanan dataset serta pengelolaan dataset dengan menggunakan tools ElasticSearch, sehingga membantu mempermudah proses analisa data. Aktifitas pengimplementasian elasticsearch akan tergambarkan pada Gambar 3.1. dengan dijelaskan melalui diagram alur pengimplementasian ElasticSearch:
1. Sambungkan perangkat yang digunakan dengan server ElasticSearch. 2. Input dataset yang akan digunakan pada proses analisa dalam hal ini data
yang digunakan berupa dokumen yang ber-ekstensi xml dari wikipedia. 3. Atur kerangka penyimpanan yang diinginkan, seperti dibentuknya kolom
apa saja yang akan diinputkan beserta type dari setiap kolomnya mengandung unsur text atau integer, dan lainnya.
4. Indexing data yang dimasukkan dengan memberi label nama yang diinginkan pada index yang dipergunakan untuk proses analisa serta tampilkan informasi type dari dokumen tersebut.
5. Setelah terbentuknya index yang telah dibuat dan telah terinput, maka tahapan selanjutnya yang dilakukan ialah query data pada index tersebut. Proses query dimulai ketika pengguna memasukkan kata kunci pencarian pada sistem, query dilakukan untuk menentukan susunan kata kunci pencarian agar pengguna memasukkan kata kunci yang hanya terdiri dari satu kata atau gabungan beberapa kata. Selain itu query juga menentukan kolom yang diutamakan untuk proses mencari kata kunci pencarian yang
19 dimasukkan pengguna, sehingga hasil yang dikeluarkan pada sistem berkaitan dengan kata kunci pencariannya. Berikut gambaran diagram alur kerja yang dilakukan untuk perancangan database:
Gambar 3. 1 Diagram Perancangan Database.
3.2.2. Perancangan sistem Search Engine
Proses awal dalam hal membuat perancangan aplikasi search engine pada penelitian ini ialah dengan membuat diagram alur kerja penelitian yang menampilkan gambaran tahapan-tahapan yang dilakukan untuk membuat fungsi-fungsi kerja dari sistem yang diinginkan. Pada proses perancangan search engine yang dilakukan pada penelitian ini menyesuaikan perancangan database yang dilakukan dengan menggunakan tools ElasticSearch, dan dikombinasikan dengan sistem pengekstraksian kata kunci untuk menghasilkan rekomendasi kata kunci dari hasil pengekstraksian kata kunci pada aplikasi “math-edu”. Berikut gambaran diagram alur yang dilakukan untuk perancangan aplikasi search engine yang dikombinasikan dengan sistem pengekstraksian kata kunci pada penelitian ini:
20
Gambar 3. 2 Diagram Perancangan search engine.
Pada Gambar 3.2 terlihat menggunakan beberapa warna yang dimana setiap warna memiliki makna fungsi kerjanya pada pemrosesan search engine seperti “biru tua” yang bermakna memulai dan mengakhiri proses search engine, “kuning” yang bermakna menampilkan tampilan beranda maupun menampilkan tampilan hasil pencarian yang dapat dilihat user, dan “biru muda” bermakna untuk perjalanan proses yang tahapannya tidak telihat oleh user. Berikut ini penjelasan dari konsep dasar berjalannya diagram perancangan search engine.
Konsep dasar yang dibentuk untuk perancangan aplikasi search engine pada penelitian ini ialah:
21 1. Mulai, dimulainya pemrosesan aplikasi search engine yang menampilkan
tampilan beranda.
2. Keywords, penginputan ‘keywords pencarian’ yang diberikan user kepada sistem pada kotak pencarian di tampilan beranda search engine.
3. Cek Keywords, setelah user memberikan ‘keywords pencarian’ sistem akan
memprosesnya ke dalam database.
Jika ‘keywords pencarian’ belum pernah dilakukan pada sistem, maka proses yang dilakukan ialah:
4. Database wikipedia, mengecek document-document yang relevan dengan ‘keywords pencarian’ di Database wikipedia.
5. Query, proses pemilihan kolom pada ElasticSearch agar menampilkan dokumen yang mudah dipahami pengguna,
Jika ‘keywords pencarian’ sudah pernah dilakukan pada sistem, maka proses yang dilakukan ialah:
6. Database Keywords, menampilkan output hasil pencarian keywords pada tampilan hasil pencarian, beserta menampilkan hasil pengekstraksian kata kuncinya pada tampilan hasil pencarian.
7. Link Keywords, pemilihan link ensiklopedia yang dipilih user untuk dibaca akan dan diambil inti sarinya dari link bacaan tersebut.
8. Preprocessing, proses preprocessing dilakukan pada link keywords yang dipilih pengguna dengan melalui beberapa tahapan preprocessing data.
9. Processing, proses ini dilakukan untuk menemukan kandidat hasil dari pengekstraksian kata kunci.
10. Post- Processing, proses yang dilakukan untuk menemukan hasil dari
pengekstraksian kata kunci dengan menampilkan maksimal 15 kata kunci hasil pengekstraksian kata kunci terpilih serta menampilkan bobot pengekstraksian kata kuncinya.
22
11. Visualisasi, menampilkan hasil ekstraksi kata kunci dengan beragam
visualisasi seperti wordcloud, graf visual, bar plot, serta rekomendasi
keywords pencarian selanjutnya.
12. Selesai, mengakhiri pemrosesan aplikasi search engine.
3.3. Preprocessing Data
Setelah ditentukan pemilihan ensiklopedia oleh pengguna, tahapan selanjutnya yang dilakukan ialah melakukan preprocessing data pada dokumen hasil pencarian pengguna. Proses preprocessing ini dilakukan untuk mengurangi
noisy (singkatan, bentuk tidak beraturan) pada dokumen yang mempersulit analisa
teks. Tahapan preprocessing terdiri dari berbagai macam perlakuan dengan menyesuaikan kebutuhan penelitian, oleh karena itu pada penelitian ini akan digunakan tahapan preprocessing seperti text cleaning, tokenisasi, lemmatisasi,
stopword filtering, dan Part-Of-Speech Tagging yang selanjutnya akan dibahas
pada sub-bab berikut ini.
3.3.1. Text Cleaning
Text cleaning merupakan salah satu tahapan preprocessing data untuk
membersihkan karakter yang tidak diperlukan pada proses analisa teks untuk mengurangi noisy seperti karakter html_wiki atau symbol seperti (‘’:#,.@][/1-9$%&*}{,[[]]), text cleaning juga mengubah karakter enter (‘\n’). Semua karakter-karakter tersebut akan diganti dengan delimiter titik (‘ . ’), sedangkan untuk symbol (‘-’) akan digantikan dengan symbol (‘_’) hal itu bertujuan untuk mengubah kata “lain-lain” menjadi “lain_lain” untuk keseragaman preproscessing, dan untuk angka yang tidak berdiri sendiri seperti “CO2”, ”O2”, dan lainnya tidak diganti dengan delimiter [5].
Delimiter adalah urutan satu karakter atau lebih yang dipakai untuk
membatasi atau memisahkan data yang disajikan dalam dokumen [25]. Selain dilakukannya pembersihan symbol, text cleaning juga melakukan case folding untuk menormalisasikan seluruh isi teks yang diinput menjadi huruf kecil semua
23 yang bertujuan untuk mempermudah tahapan filterisasi. Proses ini hanya akan memproses huruf sedangkan selain huruf akan diperlakukan sebagai delimiter.
3.3.2. Tokenisasi
Tahapan preprocessing yang selanjutnya dilakukan setelah melalui pemfilteran symbol dan karakter lainnya pada tahapan text cleaning yang memfilter symbol menjadi delimiter, maka dilakukannya tahapan tokenisasi yang bertujuan untuk merubah kalimat pada teks menjadi kumpulan token yang dimana token berarti kata tunggal yang merupakan bagian dari penyusun penggalan kalimat. Tokenisasi merupakan tahapan pemisahan isi teks dokumen yang awalnya terisi oleh kumpulan kalimat menjadi kumpulan kata tanpa memperhatikan hubungan antar kata dan posisinya dalam kalimat di dokumen [25].
3.3.3. Lemmatization
Lemmatization ialah proses perubahan kata untuk menemukan normalisasi
pada suatu kata [26]. Proses lemmatization dilakukan untuk mengubah kata pada teks awalnya yang bergantung pada konteks isi teks dokumen tetapi tidak memperhatikan aturan kata baku yang berlaku dan kemudian kata-kata tersebut di normalisasi menjadi satu kata dasarnya sehingga dapat memperkecil jumlah kata unik dan mengelompokkan kata-kata yang memiliki kesamaan makna menjadi satu kata dasar.
3.3.4. Stopword Filtering
Tahapan stopword filtering dilakukan untuk mengurangi kata-kata yang tidak memiliki makna, kata-kata tersebut biasanya mengandung unsur noisy ataupun kata-kata yang terlalu sering muncul tetapi tidak berpengaruh terhadap analisa data teks [27]. Tahapan stopword filtering penelitian ini dilakukan untuk mempermudah proses analisa teks, dengan dimana stopword filtering mengubah kata yang tidak berpengaruh diganti dengan delimiter titik (‘ . ’). Contoh hasil dari tahapan stopword filtering dapat dilihat pada Tabel 3.1 berikut:
24
Tabel 3.1 Contoh hasil Stopword Filtering.
Kalimat Asli Kalimat Hasil Stopword
Pancasila adalah ideologi da sar bagi negara Indonesia. N ama ini terdiri dari dua kat a dari Sanskerta: pañca bera rti lima dan śīla berarti pr insip atau asas. Pancasila m erupakan rumusan dan pedoman kehidupan berbangsa dan bern egara bagi seluruh rakyat In donesia.
pancasila . ideologi
dasar . negara indonesia . nama . . . . sanskerta panca . . . sila
. prinsip . asas . pancasila . rumusan . pedoman kehidupan berbangsa . bernegara . . rakyat indonesia . . 3.3.5. POS Tagging
Tahapan POS Tagging dilakukan setelah tahapan filtering sehingga dimensi dalam teks sudah diperkecil dari teks awalnya, tetapi tahapan filtering sebelumnya tidak memperhatikan jenis kelas kata. Berarti kata-kata pada teks yang sudah melalui tahapan stopword filtering masih mengandung kata-kata yang tidak dibutuhkan, oleh karena itu POS Tagging dijalankan untuk memilih kata yang memiliki tag NN (Kata Benda), JJ (Kata Sifat), VB (Kata Kerja), dan SC (Kata Sambung) yang berdasar pada himpunan POS tag. Tujuan mengambil kata-kata yang memiliki tag tersebut ialah untuk mempermudah proses analisa dalam hal mencari calon kandidat kata kunci. Hasil tagging kata dari teks ini tergambarkan pada Table 3.2.
Tabel 3.2 Contoh hasil pemberian tag pada teks input.
Kalimat Tag Tag Kalimat Tag Tag Kalimat Tag Tag
'ideologi' 'NN' 'nama' 'NN' 'panca' 'NN'
25
'negara' 'NN' 'prinsip' 'NN' 'asas' 'NN'
'pedoman' 'NN' 'pancasila' 'SC' 'dasar' 'NN'
'kehidupan' 'NN' 'bernegara' 'NN' 'rakyat' 'NN'
3.3.6. Multiword Expression
Tahapan yang dilakukan selanjutnya setelah didapatkannya kata-kata yang memiliki tag yang diinginkan maka dilakukanlah Multiword Extraction. Tahapan ini dilakukan untuk mendapatkan frase kata dengan aturan yang sesuai pada susunan tatanan bahasa Indonesia. Tahapan-tahapan preprocessing sebelumnya seragam mengubah setiap karakter yang dianggap tidak penting akan difilter dan diubah menjadi delimiter tanda titik (.). Delimiter yang digunakan pada penelitian merupakan tanda baca yang berguna untuk menjalankan aturan MWe, sehingga dengan adanya tanda baca akan menggabungkan kata yang saling berkaitan dalam menyusun suatu kata [21]. Hasil Multiword Extraction dari teks ini tergambarkan pada Table 3.3. berikut:
Tabel 3.3 Contoh hasil Multiword Expression.
Kalimat Asli Kalimat hasil Multiword Expression Pancasila adalah ideologi
dasar bagi negara Indonesia. Nama ini terdiri dari dua kata dari Sanskerta: pañca berarti lima dan śīla berarti prinsip atau asas. Pancasila merupakan rumusan dan pedoman kehidupan berbangsa dan bernegara bagi seluruh rakyat Indonesia.
pancasila . ideologi_dasar . negara . nama . panca . sila . prinsip . asas . pancasila . rumusan .
pedoman_kehidupan_berbangsa . bernegara . rakyat .
26
3.4. Algoritma TextRank
Algoritma TextRank adalah algoritma peringkatan yang berbasis graf, sehingga untuk menganalisa suatu teks diaplikasikan dengan membentuk sebuah graf. Dasar dari model berbasis pemeringkatan pada graf merupakan pengembangan dari algoritma PageRank yang diajukan oleh Brin & Page (1998) dengan mengimplementasikan tahapan “voting” ataupun “rekomendasi” pada setiap kata yang dijadikan sebagai (node) di graf, dan dengan perhitungan bobot skornya dihitung dari Persamaan 3.1. Dalam hal ini ketika suatu node terhubung dengan node yang lainnya mengartikan bahwa node tersebut memberikan dukungan pada node lainnya, dan dimana node pada graf yang terhubung dengan
node lainnya dihubungkan dengan edges pada graf. Nilai skor untuk setiap node
pada graf ditentukan dari Persamaan 3.2. berikut [28][29]:
𝑃𝑅(𝑉
𝑖) = (1 − 𝑑) + 𝑑 ∗ ∑
1|𝑂𝑢𝑡 (𝑉𝑗)|
𝑗 ∈ ln(𝑉𝑖)
𝑃𝑅(𝑉
𝑗)
(3.1)Nilai dari PR (𝑉𝑖) merupakan nilai PageRank dari node 𝑉𝑖, dengan dimana nilai d merupakan dumping factor yang di set dengan nilai 0.85. Mihalcea (2004) [3] menyatakan bahwa persamaan 3.2 dapat diimplementasikan untuk proses pemeringkatan graf berbobot, dan skor pemeringkatannya diperoleh dari penggunaan nilai bobot edges antar node. Adanya modifikasi dari Persamaan 3.1 disebabkan karena kurang efektifnya penentuan node (successor) dan node (predecessor) dari isi teks yang akan diaplikasikan pada graf, sehingga pada Persamaan 3.1 haruslah menerapkan graf berarah dalam mengaplikasikan isi teks. Oleh karena itu, persamaan 3.1 dimodifikasi menjadi persamaan 3.2.
𝑇𝑅(𝑉
𝑖) = (1 − 𝑑) + 𝑑 ∗ ∑
∑ 𝑊𝑖𝑗𝑊𝑗𝑘 𝑉𝑘 ∈ 𝑂𝑢𝑡 𝑉𝑗
𝑉𝑗∈ln(𝑉𝑖)
𝑇𝑅(𝑉
𝑗) (3.2)
Model TextRank dapat digambarkan sebagai graf terhubung yang berbobot G = (V, E). Graf terdiri dari kumpulan node (V), dan kumpulan edges (E) dengan E merupakan himpunan bagian dari V × V. 𝑊𝑖𝑗 merupakan bobot dari edges yang menghubungkan node 𝑖 dengan node 𝑗, bobot edges dapat diperoleh dari
27 menghitung co-occurrence atau menghitung frekuensi kemunculan bersama antar
node dengan maksimal memiliki 2 kata pemisah [3]. 𝑙𝑛 (𝑉𝑖) mewakili edges yang terhubung dari titik 𝑉𝑖, 𝑂𝑢𝑡(𝑉𝑗) mewakili edges yang terhubung ke titik 𝑉𝑗, dan 𝑇𝑅(𝑉𝑖) merepresentasikan nilai TextRank (score) untuk node 𝑉𝑖 yang diperoleh dari perhitungan algoritma TextRank.
3.4.1. Menghitung Co-occurrence
Matrix co-occurrence diperoleh dengan menghitung distribusi kemunculan
bersama antar node yang saling terhubung dengan mengaplikasikannya pada matrix yang bertujuan untuk mendapatkan bobot edges. Perhitungan matrix co-occurrence berarti juga menghitung tingkat frekuensi kemunculan bersama antar katanya, selain itu kemunculan bersama menunjukkan pentingnya suatu istilah dalam suatu teks [30]. Berikut ini contoh terbentuknya matrix co-occurrence yang didapatkan dari isi teks yang sudah melalui tahapan proprocessing.
Tabel 3.4Contoh hasil matrix co-occurrence. p a n c a s i l a Ideologi_dasar n e g a r a n a m a p a n c a s i l a p r i n s i p a s a s ru m us an Pedoman_k
_berbangsa bernegara rakyat
pancasila 0 1 0 0 0 0 0 1 1 0 0 0 Ideologi_dasar 1 0 1 0 0 0 0 0 0 0 0 0 negara 0 1 0 1 0 0 0 0 0 0 0 0 nama 0 0 1 0 1 0 0 0 0 0 0 0 panca 0 0 0 1 0 1 0 0 0 0 0 0 sila 0 0 0 0 1 0 1 0 0 0 0 0 prinsip 0 0 0 0 0 1 0 1 0 0 0 0 asas 1 0 0 0 0 0 1 0 0 0 0 0 rumusan 1 0 0 0 0 0 0 0 0 1 0 0 Pedoman_k_be rbangsa 0 0 0 0 0 0 0 0 1 0 1 0 bernegara 0 0 0 0 0 0 0 0 0 1 0 1 rakyat 0 0 0 0 0 0 0 0 0 0 1 0
28 Pada Tabel 3.4 memperoleh kejadian bersama kata pancasila dan ideologi_dasar adalah pancasila[ideologi_dasar] = 1, pancasila dan nama adalah pancasila[nama] = 0, dan selanjutnya. Nilai-nilai matrix co-occurrence selanjutnya akan dijadikan sebagai nilai bobot dari 𝑊𝑖𝑗.
3.4.2. Membangun Graf Keterkaitan
Tahapan awal pengekstraksian kata kunci yang dilakukan setelah melalui tahapan preprocessing ialah membentuk graf keterkaitan antar hubungan kata ataupun kalimat pada konteks ini ialah isi teks ensiklopedia. Tahapan preprocessing bermaksud untuk mendapatkan kata-kata yang berpengaruh terhadap isi teks dengan tetap memperhatikan kata-kata seperti stopwords dan memperhatikan tanda baca pada data yang diinputkan, karena algoritma TextRank merupakan algoritma peringkatan yang berbasis graf, dengan begitu untuk mencari seberapa pentingnya suatu kata diputuskan melalui tahapan pendeteksian hubungan antar kandidat kata kuncinya yang direpresentasikan kedalam node pada graf keterkaitannya.
Node yang memiliki banyak keterkaitan dengan node yang lainnya
terindikasi sebagai calon node terpenting dari graf keterkaitan yang terbentuk, atau dapat dikatakan bahwa kata pada node tersebut merupakan kandidat kata kunci dari isi teksnya. Terbentuknya graf keterkaitan diharapkan mendapatkan jumlah keterkaitan kata dari setiap keterkaitan antar katanya pada beberapa kandidat kata kunci. Pembentukan graf keterkaitan yang dimaksud ialah graf berbobot tidak berarah (undirected weighted), penggunaan graf berbobot yang tak berarah
(undirected weighted) dikarenakan hubungan antar setiap katanya tidak cukup jelas
arah keterkaitannya, dan pada penelitian sebelumnya [3] menyatakan bahwa graf tidak berarah (undirected weighted) menghasilkan akurasi cukup tinggi ketimbang graf yang berarah (directed weighted).
Pembentukan graf berbobot tak berarah (undirected weighted), tersusun dari setiap kandidat kata yang sudah melalui tahap preprocessing dengan memanfaatkan MWe [21], dan selanjutnya setiap kandidat kata tersebut akan dijadikan sebagai
node-node pada graf keterkaitan tersebut. Berikut ini contoh hasil pembentukan
29
Gambar 3. 3 Contoh pembentukan graf keterkaitan.
3.4.3. Pembobotan Skor
Jika masing-masing kata pada teks yang terinputkan sudah saling terhubung dengan membentuk graf keterkaitan maka hal yang selanjutnya dilakukan untuk melakukan pengekstraksian kata kunci ialah dengan melakukan pembobotan skor pada setiap node yang dibuat. Tahapan selanjutnya yang dilakukan saat pengekstraksian kata kunci dengan menggunakan algoritma TextRank ialah menghitung skor bobot setiap node pada graf keterkaitannya yang dihasilkan pada tahap pembentukan graf keterkaitan sebelumnya dan kemudian diimplementasikan pada persamaan 3.2 untuk mendapatkan skor bobot antar katanya, dan dimana TR(Vj) diartikan sebagai nilai node awal yang akan di atur bernilai satu. Perhitungan skor bobot kata dapat terlihat pada Tabel 3.5 berikut:
Tabel 3.5 Contoh hasil bobot skor
No. Kata Jumlah
Keterkaitan
Skor Bobot Kata
1. Pancasila 3 1.424999999999998
2. Ideologi_dasar 2 0.978749999999999
30 4. Nama 2 0.99616171875 5. Panca 2 0.99836873046875 6. Sila 2 0.9993067104492188 7. Prinsip 2 0.999705351940918 8. Asas 2 0.9998747745748902 9. Rumusan 2 0.9999467791943283 10. Pedoman_kehidupan_b erbangsa 2 0.9999773811575895 11. Bernegara 2 0.9999903869919755 12. Rakyat 1 0.5749959144715896
Selanjutnya, penulis akan merincikan perhitungan bobot skor kata menggunakan algoritma textrank sebagai berikut:
Pada iterasi pertama (i = 1):
• Perhitungan bobot skor untuk kata 'pancasila
𝑇𝑅(𝑉𝑖) = (1 − 𝑑) + 𝑑 ∗ ∑ 𝑊𝑖𝑗 ∑𝑉𝑘 ∈ 𝑂𝑢𝑡 𝑉𝑗𝑊𝑗𝑘 𝑉𝑗∈ln(𝑉𝑖) 𝑇𝑅(𝑉𝑗)
= (1 − 0.85) + 0.85 × (
1 2+
1 2+
1 2)
= 1.4249999999999998 • Perhitungan bobot skor untuk kata ‘ideologi_dasar’Node ‘ideologi_dasar’ berkaitan dengan node sebelumnya dalam hal
ini diisi oleh kata 'pancasila', dan berkaitan dengan node yang lainnya. Pada perhitungan sebelumnya, bobot dari node 'pancasila' sudah diperoleh, maka perhitungan bobot untuk node ‘ideologi_dasar’menjadi sebagai berikut:
31 𝑇𝑅(𝑉𝑖) = (1 − 0.85) + 0.85 × (1 × 1.42499999999998 3 + 1 2) = 0.9787499999999999
• Perhitungan bobot skor untuk kata 'negara'
𝑇𝑅(𝑉𝑖) = (1 − 0.85) + 0.85 × (1×𝟎.𝟗𝟕𝟖𝟕𝟒𝟗𝟗𝟗𝟗𝟗𝟗𝟗𝟗𝟗𝟗𝟗
2 +
1 2) = 0.99096875
• Perhitungan bobot skor untuk kata 'nama'
𝑇𝑅(𝑉
𝑖) = (1 − 0.85) + 0.85 × (
1×𝟎.𝟗𝟗𝟎𝟗𝟔𝟖𝟕𝟓2
+
1 2
)
= 0.99616171875• Perhitungan bobot skor untuk kata ‘panca’
𝑇𝑅(𝑉𝑖) = (1 − 0.85) + 0.85 × (1 × 0.99616171875
2 +
1 2) = 0.99836873046875
• Perhitungan bobot skor untuk kata ‘sila’
𝑇𝑅(𝑉𝑖) = (1 − 0.85) + 0.85 × (1 × 0.99836873046875
2 +
1 2) = 0.9993067104492188
• Perhitungan bobot skor untuk kata 'prinsip'
𝑇𝑅(𝑉𝑖) = (1 − 0.85) + 0.85 × ( 1 × 0.9993067104492188 2 + 1 2) = 0.999705351940918
• Perhitungan bobot skor untuk kata 'asas'
𝑇𝑅(𝑉𝑖) = (1 − 0.85) + 0.85 × ( 1 × 0.999705351940918 2 + 1 2)