Sistem Peringkas Berita Online Otomatis Menggunakan Algoritma Textteaser
SISTEM PERINGKAS BERITA ONLINE OTOMATIS
MENGGUNAKAN ALGORITMA TEXTTEASER
SKRIPSI
ANWAR PASARIBU
111402008
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2015
Universitas Sumatera Utara
SISTEM PERINGKAS BERITA ONLINE OTOMATIS
MENGGUNAKAN ALGORITMA TEXTTEASER
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Teknologi Informasi
ANWAR PASARIBU
111402008
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
2015
Universitas Sumatera Utara
i
PERSETUJUAN
Judul
: SISTEM PERINGKAS BERITA ONLINE
OTOMATIS MENGGUNAKAN
ALGORITMA TEXTTEASER
Kategori
: SKRIPSI
Nama
: ANWAR PASARIBU
Nomor Induk Mahasiswa
: 111402008
Program Studi
: SARJANA (S1) TEKNOLOGI INFORMASI
Departemen
: TEKNOLOGI INFORMASI
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOM-TI)
UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Januari 2016
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
Seniman, S.Kom., M.Kom.
NIP 19870525 201404 1 001
Dani Gunawan, S.T., M.T.
NIP 19820915 201212 1 002
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi
Ketua,
Muhammad Anggia Muchtar, S.T., MM.IT.
NIP 19800110 200801 1 010
Universitas Sumatera Utara
ii
PERNYATAAN
SISTEM PRINGKASAN BERITA ONLINE MENGGUNAKAN
ALGORTIMA TEXTTEASER
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan
dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Januari 2016
Anwar Pasaribu
111402008
Universitas Sumatera Utara
iii
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikan ke hadirat Allah SWT yang telah
memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini
sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1
Teknologi Informasi Universitas Sumatera Utara.
Ucapan terima kasih penulisan sampaikan kepada Bapak Dani Gunawan, S.T.,
M.T. selaku pembimbing pertama dan Bapak Seniman, S.Kom., M.Kom. selaku
pembimbing kedua yang telah banyak meluangkan waktu untuk memberikan kritik dan
saran dalam penelitian dan penulisan skripsi ini. Selanjutnya, terima kasih juga kepada
Bapak Muhammad Anggia Muchtar, ST., M.M.IT sebagai dosen penguji pertama serta
Ibu Dr. Erna Budhiarti Nababan, M. IT sebagai dosen penguji kedua. Penulis juga
mengucapkan terima kasih kepada Bapak dan Ibu dosen S1 Teknologi Informasi yang
telah mengajar dan memberikan masukan serta saran yang bermanfaat selama proses
perkuliahan hingga dalam penulisan skripsi ini. Ucapan terima kasih juga ditujukan
kepada semua pegawai dan staf tata usaha Teknologi Informasi dan Fasilkom-TI, yang
telah membantu proses administrasi selama perkuliahan.
Penulis juga berterima kasih kepada kedua orang tua penulis, Bapak Asmar
Pasaribu dan Ibu Agonna Siregar yang telah membesarkan penulis dengan penuh cinta
dan kasih.
Terima kasih juga penulis ucapkan kepada seluruh teman-teman S1 Teknologi
Informasi yang telah bersama-sama melewati perkuliahan dengan penulis, serta temanteman mahasiswa USU lainnya.
Universitas Sumatera Utara
iv
ABSTRAK
Peringkas teks otomatis menjadi salah satu solusi untuk menghadapi pesatnya arus
informasi sekarang ini khususnya berita online. Solusi ini memberikan versi teks yang
lebih singkat namun tetap mewakili bagian penting dari teks asli. Penelitian ini
mengambil data dari tiga situs berita online yaitu kompas.com, detik.com, dan
liputan6.com. Kemudian data yang diperoleh diringkas menggunakan metode ekstraktif
yang bekerja dengan cara mengambil kalimat-kalimat penting dari teks asli tanpa
memodifikasinya. Untuk itu digunakan algoritma TextTeaser yang memanfaatkan
empat elemen yang terdiri dari judul teks, posisi kalimat, panjang kalimat, dan frekuensi
keyword untuk menentukan apakah kalimat termasuk ringkasan atau tidak. Selanjutnya
teks juga akan diringkas menggunakan algoritma TextRank yang bekerja dengan
memberikan peringkat pada graf representasi objek (kalimat) dalam teks untuk
menentukan apakah kalimat termasuk dalam ringkasan. Hasil ringkasan TextTeaser
kemudian diuji dengan mengevaluasi menggunakan metode evaluasi intrinsic termasuk
metode recall (R), precision (P), dan F-Score (F) dengan hasil ringkasan TextRank pada
3075 data berita. Sehingga 60,11% dari total data memiliki nilai F-Score β₯ 0,5 yang
berarti algoritma TextTeaser memiliki tingkat presisi yang cukup baik untuk mengambil
kalimat-kalimat penting dalam teks berita. Selanjutnya dari data tersebut, terdapat nilai
F-Score > 0,7 untuk 31,36% atau sekitar 884 berita yang memiliki presisi ringkasan
yang lebih baik untuk menggambarkan isi teks berita.
Kata kunci: TextTeaser, TextRank, berita, peringkasan teks otomatis, peringkasan
ekstraktif.
Universitas Sumatera Utara
v
ONLINE NEWS SUMMARIZATION SYSTEM USING
TEXTTEASER ALGORITHM
ABSTRACT
Automatic text summarization become one of the solutions to deal with the rapid flow
of information today, especially online news. This solution provides a shorter version
but still represents important parts of the original text so that the general description of
the contents of the entire text can be understood in a relatively shorter time. This
research took data from three online news sites which are kompas.com, detik.com, and
liputan6.com. Furthermore summarize the data using extractive methods by taking the
main idea from the original text without any modification. For that purpose, used
TextTeaser algorithm which utilizes the four elements consisting of text title, sentence
position, sentence length, and keywords frequency. The four elements of this text will
produce a score of each sentence to determine whether the sentence include in summary
or not. Generated summary was tested with intrinsic evaluation methods, including
recall (R), precision (P), and F-Score (F). The evaluation method then used to evaluates
the summary by TextTeaser with summary by TextRank for 3075 news articles. So that
60.11% of the total news has a value of F-Score β₯ 0.5 which means that the TextTeaser
algorithm is good enough in case to collect important sentences from news article.
Furthermore, from the data contained F-Score values > 0.7 at 31.36%, or about 884
news data that have a better summary to describe the whole contents of the news article.
Keyword: TextTeaser, TextRank, news, automatic text summarization, extractive
summary.
Universitas Sumatera Utara
vi
DAFTAR ISI
Hal.
Persetujuan ...................................................................................................................... i
Pernyataan ...................................................................................................................... ii
Ucapan Terima Kasih.................................................................................................... iii
Abstrak .......................................................................................................................... iv
Abstract .......................................................................................................................... v
Daftar Isi ....................................................................................................................... vi
Daftar Tabel ................................................................................................................ viii
Daftar Gambar............................................................................................................... ix
BAB 1 Pendahuluan ....................................................................................................... 1
Latar Belakang ....................................................................................................... 1
Rumusan Masalah .................................................................................................. 2
Batasan Masalah..................................................................................................... 3
Tujuan Penelitian.................................................................................................... 3
Manfaat Penelitian .................................................................................................. 3
Metodologi Penelitian ............................................................................................. 3
Sistematika Penulisan ............................................................................................. 4
BAB 2 Landasan Teori .................................................................................................. 6
Berita..................................................................................................................... 6
Karakteristik berita ........................................................................................... 6
Peringkasan Teks Otomatis ..................................................................................... 7
Algoritma TextTeaser ............................................................................................. 9
Algoritma TextRank .............................................................................................. 12
Periodic Tasks...................................................................................................... 15
Web Data Extraction ............................................................................................ 17
Python content extraction ............................................................................... 18
Android ............................................................................................................... 21
Library pendukung ......................................................................................... 22
Natural Language Toolkit (NLTK) ........................................................................ 24
REST................................................................................................................... 25
Evaluasi Hasil Ringkasan .................................................................................... 26
Penelitian Terdahulu ........................................................................................... 27
BAB 3 Analisis dan Perancangan Sistem .................................................................... 29
Arsitektur Umum.................................................................................................. 29
Analisis Data........................................................................................................ 30
Data Berita .................................................................................................... 31
Data stopword................................................................................................ 34
Analisis Sistem..................................................................................................... 35
Ekstraksi isi berita .......................................................................................... 35
Pembersihan teks berita .................................................................................. 36
Persiapan proses peringkasan .......................................................................... 36
Universitas Sumatera Utara
vii
Menentukan frekuensi keyword ...................................................................... 38
Menentukan skor judul teks ............................................................................ 43
Menentukan skor panjang kalimat ................................................................... 44
Menentukan skor posisi kalimat ...................................................................... 44
Menentukan skor total .................................................................................... 44
Perancangan Sistem .............................................................................................. 45
Perancangan antarmuka sistem ........................................................................ 45
BAB 4 Implementasi dan Pengujian Sistem ................................................................ 50
Implementasi Sistem............................................................................................. 50
Spesifikasi perangkat keras yang digunakan ..................................................... 50
Spesifikasi perangkat lunak yang digunakan .................................................... 51
Implementasi Perancangan Antarmuka .................................................................. 51
Tampilan halaman sign in ............................................................................... 51
Tampilan halaman sign up .............................................................................. 51
Tampilan halaman home ................................................................................. 52
Tampilan halaman news details ....................................................................... 53
Tampilan halaman settings.............................................................................. 53
Tampilan halaman choose news source ............................................................ 54
Hasil Ringkasan ................................................................................................... 54
Pengujian Hasil Ringkasan .................................................................................... 57
BAB 5 Kesimpulan dan Saran ..................................................................................... 62
Kesimpulan .......................................................................................................... 62
Saran ................................................................................................................... 62
Daftar Pustaka .............................................................................................................. 64
Universitas Sumatera Utara
viii
DAFTAR TABEL
Hal.
Tabel 2.1 Nilai berdasarkan skor posisi kalimat (Balbin, 2011) .................................. 10
Tabel 2.2 TextRank dibandingkan dengan sistem lain (Mihalcea & Tarau, 2004) ...... 14
Tabel 2.3 Contoh penggunaan crontab (Solem, 2015) ................................................ 17
Tabel 2.4 Penelitian terdahulu ..................................................................................... 28
Tabel 3.1 Contoh URL situs berita .............................................................................. 31
Tabel 3.2 Contoh stopword .......................................................................................... 35
Tabel 3.3 Contoh top keyword ..................................................................................... 39
Tabel 3.4 Skor keyword ............................................................................................... 40
Tabel 3.5 Menghitung nilai variabel DBS ................................................................... 40
Tabel 3.6 Skor total SBS .............................................................................................. 42
Tabel 3.7 Hitung fitur judul berita ............................................................................... 43
Tabel 3.8 Keterangan bagian-bagian tampilan server .................................................. 46
Tabel 4.1 Contoh hasil evaluasi sistem ........................................................................ 57
Tabel 4.2 Frekuensi nilai F-Score pada seluruh data ................................................... 58
Tabel 4.3 Frekuensi nilai F-Score berita kompas.com ................................................ 59
Tabel 4.4 Frekuensi nilai F-Score berita detik.com ..................................................... 60
Tabel 4.5 Frekuensi nilai F-Score berita liputan6.com................................................ 60
Universitas Sumatera Utara
ix
DAFTAR GAMBAR
Hal.
Gambar 2.1 Alur proses Celery (Smith, 2014) ............................................................ 16
Gambar 2.2 Contoh penggunaan Celery periodic tasks (Solem, 2015) ....................... 17
Gambar 2.3 Goose menentukan bagian yang bukan isi berita (Pfeiffer, 2014) ........... 19
Gambar 2.4 Goose Menentukan Lokasi Isi Berita (Pfeiffer, 2014) ............................. 19
Gambar 2.5 Goose Menandai Gambar Utama untuk Berita (Pfeiffer, 2014) .............. 20
Gambar 2.6 Contoh indikasi halaman bersambung ..................................................... 20
Gambar 2.7. Arsitektur PushBots (Google Developers, 2015) .................................. 24
Gambar 3.1 Arsitektur umum sistem peringkas berita ................................................ 30
Gambar 3.2 Indikasi berita bersambung tekno.kompas.com ........................................ 32
Gambar 3.3 Indikasi berita bersambung health.liputan6.com ..................................... 33
Gambar 3.4 Indikasi berita bersambung health.detik.com ........................................... 34
Gambar 3.5 Flowchart text preprocessing ................................................................... 37
Gambar 3.6 Contoh input teks ..................................................................................... 37
Gambar 3.7 Teks setelah menghilangkan tanda baca .................................................. 37
Gambar 3.8 Hasil penguraian kata dari teks dan huruf kecil ....................................... 38
Gambar 3.9 Kata-kata setelah penghapusan stopword ................................................ 38
Gambar 3.10 Input judul dan teks berita ...................................................................... 38
Gambar 3.11 Tampilan console server sistem peringkas ............................................. 45
Gambar 3.12 Rancangan (1) halaman sign in dan (2) halaman sign up ...................... 46
Gambar 3.13 Rancangan halaman home ...................................................................... 47
Gambar 3.14 Rancangan halaman news details ........................................................... 48
Gambar 3.15 Rancangan halaman Settings .................................................................. 48
Gambar 3.16 Rancangan halaman Choose News Source ............................................. 49
Gambar 4.1 Tampilan halaman sign in ........................................................................ 51
Gambar 4.2 Tampilan halaman sign up ....................................................................... 52
Gambar 4.3 Tampilan halaman home .......................................................................... 52
Gambar 4.4 Tampilan halaman news details ............................................................... 53
Gambar 4.5 Tampilan halaman settings....................................................................... 53
Gambar 4.6 Tampilan halaman choose news source ................................................... 54
Universitas Sumatera Utara
iv
ABSTRAK
Peringkas teks otomatis menjadi salah satu solusi untuk menghadapi pesatnya arus
informasi sekarang ini khususnya berita online. Solusi ini memberikan versi teks yang
lebih singkat namun tetap mewakili bagian penting dari teks asli. Penelitian ini
mengambil data dari tiga situs berita online yaitu kompas.com, detik.com, dan
liputan6.com. Kemudian data yang diperoleh diringkas menggunakan metode ekstraktif
yang bekerja dengan cara mengambil kalimat-kalimat penting dari teks asli tanpa
memodifikasinya. Untuk itu digunakan algoritma TextTeaser yang memanfaatkan
empat elemen yang terdiri dari judul teks, posisi kalimat, panjang kalimat, dan frekuensi
keyword untuk menentukan apakah kalimat termasuk ringkasan atau tidak. Selanjutnya
teks juga akan diringkas menggunakan algoritma TextRank yang bekerja dengan
memberikan peringkat pada graf representasi objek (kalimat) dalam teks untuk
menentukan apakah kalimat termasuk dalam ringkasan. Hasil ringkasan TextTeaser
kemudian diuji dengan mengevaluasi menggunakan metode evaluasi intrinsic termasuk
metode recall (R), precision (P), dan F-Score (F) dengan hasil ringkasan TextRank pada
3075 data berita. Sehingga 60,11% dari total data memiliki nilai F-Score β₯ 0,5 yang
berarti algoritma TextTeaser memiliki tingkat presisi yang cukup baik untuk mengambil
kalimat-kalimat penting dalam teks berita. Selanjutnya dari data tersebut, terdapat nilai
F-Score > 0,7 untuk 31,36% atau sekitar 884 berita yang memiliki presisi ringkasan
yang lebih baik untuk menggambarkan isi teks berita.
Kata kunci: TextTeaser, TextRank, berita, peringkasan teks otomatis, peringkasan
ekstraktif.
Universitas Sumatera Utara
v
ONLINE NEWS SUMMARIZATION SYSTEM USING
TEXTTEASER ALGORITHM
ABSTRACT
Automatic text summarization become one of the solutions to deal with the rapid flow
of information today, especially online news. This solution provides a shorter version
but still represents important parts of the original text so that the general description of
the contents of the entire text can be understood in a relatively shorter time. This
research took data from three online news sites which are kompas.com, detik.com, and
liputan6.com. Furthermore summarize the data using extractive methods by taking the
main idea from the original text without any modification. For that purpose, used
TextTeaser algorithm which utilizes the four elements consisting of text title, sentence
position, sentence length, and keywords frequency. The four elements of this text will
produce a score of each sentence to determine whether the sentence include in summary
or not. Generated summary was tested with intrinsic evaluation methods, including
recall (R), precision (P), and F-Score (F). The evaluation method then used to evaluates
the summary by TextTeaser with summary by TextRank for 3075 news articles. So that
60.11% of the total news has a value of F-Score β₯ 0.5 which means that the TextTeaser
algorithm is good enough in case to collect important sentences from news article.
Furthermore, from the data contained F-Score values > 0.7 at 31.36%, or about 884
news data that have a better summary to describe the whole contents of the news article.
Keyword: TextTeaser, TextRank, news, automatic text summarization, extractive
summary.
Universitas Sumatera Utara
BAB 1
PENDAHULUAN
Latar Belakang
Berita pada media massa online bertambah banyak setiap waktu karena selalu ada
sesuatu yang patut untuk diberitakan kepada khalayak. Hal ini membuat pembaca harus
menyiapkan waktu untuk mengakses penyedia berita baik melalui situs website atau
aplikasi kemudian membaca setiap pembaruan berita yang diminatinya. Memahami isi
teks berita keseluruhan memerlukan waktu yang relatif lama dibandingkan dengan teks
yang sudah diringkas. Sehingga berita yang sudah diringkas akan mempermudah
pembaca untuk memahami isi berita tersebut.
Menurut Aristoteles (2011) yang merujuk kepada (Radev et al. 2002;
Blake et al. 2001) peringkasan teks merupakan proses untuk menghasilkan teks yang
lebih sedikit ( 0).
Langkah selanjutnya untuk memperoleh nilai frekuensi keyword adalah dengan
menjumlahkan nilai πππ (π π ) dan π ππ (π π ) kemudian dibagi 2.0 * 10.0 seperti persamaan
(7).
πΎππ¦π€ππππΉπππ(π π ) =
(πππ (π π ) + π ππ (π π ))
2.0 β 10.0
(7)
Setelah memperoleh skor judul teks, posisi kalimat, panjang kalimat, dan
frekuensi keyword. Semua nilai tersebut ditotalkan menggunakan persamaan (8).
πππ‘πππππππ(π π ) =
(ππ + 1.5 + πΎπΉ β 2.0 + ππΏ β 0.5 + ππ β 1.0)
4.0
(8)
Pada persamaan (8), ππ adalah title score atau skor judul teks, πΎπΉ adalah
keyword frequency atau frekuensi keyword, ππΏ adalah sentence length atau skor panjang
kalimat, dan ππ adalah sentence position atau skor posisi kalimat.
Algoritma TextRank
Algoritma TextRank merupakan algoritma yang bekerja dengan memberikan peringkat
pada graf (Mihalcea & Tarau, 2004) representasi objek dalam teks. Graf biasanya
diperoleh dari dokumen teks. Algoritma yang berdasarkan graf pada umumnya
menentukan tingkat kepentingan suatu kalimat berdasarkan nilai simpul (vertex/node)
representasi kalimat tersebut. Semakin besar nilai simpul maka semakin dianggap
penting kalimat tersebut. Menurut (Mihalcea & Tarau, 2004), algoritma pencarian
peringkat dari graf dapat dianalogikan dengan pengambilan voting atau rekomendasi.
Universitas Sumatera Utara
13
Ketika sebuah simpul menuju pada simpul yang lain, berarti simpul tersebut sudah
memilih simpul yang lain tersebut. Semakin tinggi nilai vote yang diperoleh, semakin
tinggi tingkat kepentingan suatu simpul. Selain itu, tingkat kepentingan simpul yang
menuju simpul lain juga berperan penting untuk menentukan tingkat kepentingan
simpul yang dituju. Alhasil bobot sebuah sebuah simpul ditentukan berdasarkan banyak
simpul yang menujunya.
Pada peringkasan teks otomatis secara ekstraktif, TextRank memiliki beberapa
keunggulan antara lain:
ο·
Unsupervised, atau dengan kata lain TextRank dapat bekerja tanpa data training
untuk memproses data sesungguhnya.
ο·
Language independent, yang berarti TextRank tidak bergantung pada bahasa
tertentu atau pemahaman tentang suatu bahasa seperti grammar. Hal ini karena
TextRank bekerja hanya menggunakan kata-kata dalam teks. Keterbatasan
TextRank hanya pada saat pemisahan kalimat, kata yang berbeda pada bahasa
tertentu.
Simpul-simpul graf dalam algoritma TextRank selain berisi kalimat juga
mencakup unit teks seperti kata-kata, collocations (lokasi kalimat), dan sebagainya.
Kemudian sisi (edge) pada graf merepresentasikan hubungan antara kalimat yang
berelasi (similarity). Tanpa mengacu pada tipe elemen yang dimasukkan dalam graf,
menurut Mihalcea & Tarau (2004), implementasi algoritma berbasis graf pada
pemrosesan teks bahasa alami (contoh, bahasa Indonesia, bahasa Inggris, dan lain-lain)
mencakup empat tahap antara lain:
1. Identifikasi unit teks yang paling cocok untuk dijadikan simpul dalam graf.
2. Pemberian sisi antar simpul unit teks baik dengan bobot atau tidak, berarah atau
tidak berarah.
3. Proses menggunakan algoritma hingga objek graf bertemu satu sama lain
(convergence).
4. Urutkan simpul berdasarkan skornya. Nilai skor dimasukkan dalam simpul pada
saat proses algoritma.
Pada dasarnya algoritma TextRank dapat diimplementasikan pada dua jenis
aplikasi yaitu ekstraksi keyword dan peringkasan otomatis. Untuk implementasi pada
Universitas Sumatera Utara
14
peringkasan teks otomatis, algoritma ini bekerja dengan memberikan peringkat unit teks
berdasarkan teks yang diberikan. Menurut Mihalcea & Tarau (2004), algoritma ini
memiliki proses yaitu pertama membuat graf dari teks, untuk simpul berisi kalimatkalimat dalam teks. Kemudian untuk menentukan hubungan antar simpul digunakan
similarity content overlap yang dapat diperoleh dengan menghitung token yang ada
pada kalimat-kalimat tersebut. Misalkan pada dua kalimat ππ dan ππ yang akan dihitung,
kemudian kumpulan kata-kata ππ perwakilan dari kedua kalimat misalnya:
ππ = π€1π , π€2π , β¦ , π€ππ π dan begitu juga untuk kalimat ππ . Selain itu panjang masing-masing
kalimat log(|ππ |) atau log(|ππ |) selanjutnya dihitung menggunakan persamaan (9).
πππππππππ‘π¦(ππ , ππ ) =
|{π€π |π€π β ππ & π€π β ππ }|
log(|ππ |) + log(|ππ |)
(9)
Tingkat keberhasilan yang diperoleh dalam penelitian Mihalcea & Tarau
(2004) adalah mendapatkan peringkat lima besar dari 15 sistem peringkas lainnya. Hal
ini diperoleh dengan cara meringkas 567 data berita, kemudian hasil ringkasan diuji
dengan metode recall-oriented understudy for gisting evaluation (ROUGE). Metode
ROUGE bekerja dengan membandingkan teks asli berita dengan ringkasan manual
yang dibuat oleh manusia. Hasil peringkasan menggunakan TextRank seperti pada tabel
2.2, berada pada posisi ke tiga. Posisi tersebut sudah cukup bagus dan berhasil untuk
menentukan kalimat-kalimat penting dalam sebuah teks mengingat TextRank tidak
memerlukan supervisi dari manusia atau pemahaman tentang bahasa teks yang akan
diringkas.
Tabel 2.2 TextRank dibandingkan dengan sistem lain (Mihalcea & Tarau, 2004)
Sistem
S27
S31
TextRank
S28
S21
S29
basic (a)
0,4814
0,4715
0,4708
0,4703
0,4683
0,4502
ROUGE score β Ngram(1,1)
stemmed (b)
stemmed no-stopwords (c)
0,5011
0,4405
0,4914
0,4160
0,4904
0,4229
0,4890
0,4346
0,4869
0,4222
0,4681
0,4019
Untuk mendukung sistem dalam penelitian ini, algoritma TextRank akan
diimplementasikan menggunakan library Python Sumy yang merupakan kumpulan
Universitas Sumatera Utara
15
beberapa metode untuk meringkas teks baik yang bersumber dari dokumen HMTL atau
teks biasa (Belica, 2015).
Periodic Tasks
Pada sistem operasi unix-like seperti Linux memiliki sebuah fitur yang disebut cron
yang berguna untuk menjalankan tugas tertentu secara berkala pada waktu tertentu.
Cron merupakan sistem yang menjalankan instruksi tertentu pada satuan waktu yang
ditentukan. Pada umumnya cron mengerjakan daftar perintah pada crontab (cron table).
File ini berisi daftar perintah yang akan dijalankan oleh cron daemon pada jangka waktu
yang ditentukan. Setiap perintah dalam crontab dipisahkan dengan pembatas carriage
return atau garis baru.
Seperti cron, Python celery juga memiliki kemampuan untuk menjalankan
sebuah instruksi secara berkala. Pada penelitian ini, sistem cron yang digunakan
berbasis Python celery.
Python celery pertama kali diperkenalkan pada April 2009 dengan nama
βcrunchyβ. Celery berfungsi untuk menjalankan fungsi Python (atau dalam hal ini
disebut task) pada sistem secara asynchronous atau dengan kata lain beberapa task bisa
berjalan secara bersamaan. Kemudian celery akan menjalankan proses di luar proses
proses utama sistem atau proses yang berjalan di background atau di luar proses utama.
Artinya user tetap bisa menjalankan sistem tanpa harus menunggu setiap se
MENGGUNAKAN ALGORITMA TEXTTEASER
SKRIPSI
ANWAR PASARIBU
111402008
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2015
Universitas Sumatera Utara
SISTEM PERINGKAS BERITA ONLINE OTOMATIS
MENGGUNAKAN ALGORITMA TEXTTEASER
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Teknologi Informasi
ANWAR PASARIBU
111402008
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
2015
Universitas Sumatera Utara
i
PERSETUJUAN
Judul
: SISTEM PERINGKAS BERITA ONLINE
OTOMATIS MENGGUNAKAN
ALGORITMA TEXTTEASER
Kategori
: SKRIPSI
Nama
: ANWAR PASARIBU
Nomor Induk Mahasiswa
: 111402008
Program Studi
: SARJANA (S1) TEKNOLOGI INFORMASI
Departemen
: TEKNOLOGI INFORMASI
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOM-TI)
UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Januari 2016
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
Seniman, S.Kom., M.Kom.
NIP 19870525 201404 1 001
Dani Gunawan, S.T., M.T.
NIP 19820915 201212 1 002
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi
Ketua,
Muhammad Anggia Muchtar, S.T., MM.IT.
NIP 19800110 200801 1 010
Universitas Sumatera Utara
ii
PERNYATAAN
SISTEM PRINGKASAN BERITA ONLINE MENGGUNAKAN
ALGORTIMA TEXTTEASER
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan
dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Januari 2016
Anwar Pasaribu
111402008
Universitas Sumatera Utara
iii
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikan ke hadirat Allah SWT yang telah
memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini
sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1
Teknologi Informasi Universitas Sumatera Utara.
Ucapan terima kasih penulisan sampaikan kepada Bapak Dani Gunawan, S.T.,
M.T. selaku pembimbing pertama dan Bapak Seniman, S.Kom., M.Kom. selaku
pembimbing kedua yang telah banyak meluangkan waktu untuk memberikan kritik dan
saran dalam penelitian dan penulisan skripsi ini. Selanjutnya, terima kasih juga kepada
Bapak Muhammad Anggia Muchtar, ST., M.M.IT sebagai dosen penguji pertama serta
Ibu Dr. Erna Budhiarti Nababan, M. IT sebagai dosen penguji kedua. Penulis juga
mengucapkan terima kasih kepada Bapak dan Ibu dosen S1 Teknologi Informasi yang
telah mengajar dan memberikan masukan serta saran yang bermanfaat selama proses
perkuliahan hingga dalam penulisan skripsi ini. Ucapan terima kasih juga ditujukan
kepada semua pegawai dan staf tata usaha Teknologi Informasi dan Fasilkom-TI, yang
telah membantu proses administrasi selama perkuliahan.
Penulis juga berterima kasih kepada kedua orang tua penulis, Bapak Asmar
Pasaribu dan Ibu Agonna Siregar yang telah membesarkan penulis dengan penuh cinta
dan kasih.
Terima kasih juga penulis ucapkan kepada seluruh teman-teman S1 Teknologi
Informasi yang telah bersama-sama melewati perkuliahan dengan penulis, serta temanteman mahasiswa USU lainnya.
Universitas Sumatera Utara
iv
ABSTRAK
Peringkas teks otomatis menjadi salah satu solusi untuk menghadapi pesatnya arus
informasi sekarang ini khususnya berita online. Solusi ini memberikan versi teks yang
lebih singkat namun tetap mewakili bagian penting dari teks asli. Penelitian ini
mengambil data dari tiga situs berita online yaitu kompas.com, detik.com, dan
liputan6.com. Kemudian data yang diperoleh diringkas menggunakan metode ekstraktif
yang bekerja dengan cara mengambil kalimat-kalimat penting dari teks asli tanpa
memodifikasinya. Untuk itu digunakan algoritma TextTeaser yang memanfaatkan
empat elemen yang terdiri dari judul teks, posisi kalimat, panjang kalimat, dan frekuensi
keyword untuk menentukan apakah kalimat termasuk ringkasan atau tidak. Selanjutnya
teks juga akan diringkas menggunakan algoritma TextRank yang bekerja dengan
memberikan peringkat pada graf representasi objek (kalimat) dalam teks untuk
menentukan apakah kalimat termasuk dalam ringkasan. Hasil ringkasan TextTeaser
kemudian diuji dengan mengevaluasi menggunakan metode evaluasi intrinsic termasuk
metode recall (R), precision (P), dan F-Score (F) dengan hasil ringkasan TextRank pada
3075 data berita. Sehingga 60,11% dari total data memiliki nilai F-Score β₯ 0,5 yang
berarti algoritma TextTeaser memiliki tingkat presisi yang cukup baik untuk mengambil
kalimat-kalimat penting dalam teks berita. Selanjutnya dari data tersebut, terdapat nilai
F-Score > 0,7 untuk 31,36% atau sekitar 884 berita yang memiliki presisi ringkasan
yang lebih baik untuk menggambarkan isi teks berita.
Kata kunci: TextTeaser, TextRank, berita, peringkasan teks otomatis, peringkasan
ekstraktif.
Universitas Sumatera Utara
v
ONLINE NEWS SUMMARIZATION SYSTEM USING
TEXTTEASER ALGORITHM
ABSTRACT
Automatic text summarization become one of the solutions to deal with the rapid flow
of information today, especially online news. This solution provides a shorter version
but still represents important parts of the original text so that the general description of
the contents of the entire text can be understood in a relatively shorter time. This
research took data from three online news sites which are kompas.com, detik.com, and
liputan6.com. Furthermore summarize the data using extractive methods by taking the
main idea from the original text without any modification. For that purpose, used
TextTeaser algorithm which utilizes the four elements consisting of text title, sentence
position, sentence length, and keywords frequency. The four elements of this text will
produce a score of each sentence to determine whether the sentence include in summary
or not. Generated summary was tested with intrinsic evaluation methods, including
recall (R), precision (P), and F-Score (F). The evaluation method then used to evaluates
the summary by TextTeaser with summary by TextRank for 3075 news articles. So that
60.11% of the total news has a value of F-Score β₯ 0.5 which means that the TextTeaser
algorithm is good enough in case to collect important sentences from news article.
Furthermore, from the data contained F-Score values > 0.7 at 31.36%, or about 884
news data that have a better summary to describe the whole contents of the news article.
Keyword: TextTeaser, TextRank, news, automatic text summarization, extractive
summary.
Universitas Sumatera Utara
vi
DAFTAR ISI
Hal.
Persetujuan ...................................................................................................................... i
Pernyataan ...................................................................................................................... ii
Ucapan Terima Kasih.................................................................................................... iii
Abstrak .......................................................................................................................... iv
Abstract .......................................................................................................................... v
Daftar Isi ....................................................................................................................... vi
Daftar Tabel ................................................................................................................ viii
Daftar Gambar............................................................................................................... ix
BAB 1 Pendahuluan ....................................................................................................... 1
Latar Belakang ....................................................................................................... 1
Rumusan Masalah .................................................................................................. 2
Batasan Masalah..................................................................................................... 3
Tujuan Penelitian.................................................................................................... 3
Manfaat Penelitian .................................................................................................. 3
Metodologi Penelitian ............................................................................................. 3
Sistematika Penulisan ............................................................................................. 4
BAB 2 Landasan Teori .................................................................................................. 6
Berita..................................................................................................................... 6
Karakteristik berita ........................................................................................... 6
Peringkasan Teks Otomatis ..................................................................................... 7
Algoritma TextTeaser ............................................................................................. 9
Algoritma TextRank .............................................................................................. 12
Periodic Tasks...................................................................................................... 15
Web Data Extraction ............................................................................................ 17
Python content extraction ............................................................................... 18
Android ............................................................................................................... 21
Library pendukung ......................................................................................... 22
Natural Language Toolkit (NLTK) ........................................................................ 24
REST................................................................................................................... 25
Evaluasi Hasil Ringkasan .................................................................................... 26
Penelitian Terdahulu ........................................................................................... 27
BAB 3 Analisis dan Perancangan Sistem .................................................................... 29
Arsitektur Umum.................................................................................................. 29
Analisis Data........................................................................................................ 30
Data Berita .................................................................................................... 31
Data stopword................................................................................................ 34
Analisis Sistem..................................................................................................... 35
Ekstraksi isi berita .......................................................................................... 35
Pembersihan teks berita .................................................................................. 36
Persiapan proses peringkasan .......................................................................... 36
Universitas Sumatera Utara
vii
Menentukan frekuensi keyword ...................................................................... 38
Menentukan skor judul teks ............................................................................ 43
Menentukan skor panjang kalimat ................................................................... 44
Menentukan skor posisi kalimat ...................................................................... 44
Menentukan skor total .................................................................................... 44
Perancangan Sistem .............................................................................................. 45
Perancangan antarmuka sistem ........................................................................ 45
BAB 4 Implementasi dan Pengujian Sistem ................................................................ 50
Implementasi Sistem............................................................................................. 50
Spesifikasi perangkat keras yang digunakan ..................................................... 50
Spesifikasi perangkat lunak yang digunakan .................................................... 51
Implementasi Perancangan Antarmuka .................................................................. 51
Tampilan halaman sign in ............................................................................... 51
Tampilan halaman sign up .............................................................................. 51
Tampilan halaman home ................................................................................. 52
Tampilan halaman news details ....................................................................... 53
Tampilan halaman settings.............................................................................. 53
Tampilan halaman choose news source ............................................................ 54
Hasil Ringkasan ................................................................................................... 54
Pengujian Hasil Ringkasan .................................................................................... 57
BAB 5 Kesimpulan dan Saran ..................................................................................... 62
Kesimpulan .......................................................................................................... 62
Saran ................................................................................................................... 62
Daftar Pustaka .............................................................................................................. 64
Universitas Sumatera Utara
viii
DAFTAR TABEL
Hal.
Tabel 2.1 Nilai berdasarkan skor posisi kalimat (Balbin, 2011) .................................. 10
Tabel 2.2 TextRank dibandingkan dengan sistem lain (Mihalcea & Tarau, 2004) ...... 14
Tabel 2.3 Contoh penggunaan crontab (Solem, 2015) ................................................ 17
Tabel 2.4 Penelitian terdahulu ..................................................................................... 28
Tabel 3.1 Contoh URL situs berita .............................................................................. 31
Tabel 3.2 Contoh stopword .......................................................................................... 35
Tabel 3.3 Contoh top keyword ..................................................................................... 39
Tabel 3.4 Skor keyword ............................................................................................... 40
Tabel 3.5 Menghitung nilai variabel DBS ................................................................... 40
Tabel 3.6 Skor total SBS .............................................................................................. 42
Tabel 3.7 Hitung fitur judul berita ............................................................................... 43
Tabel 3.8 Keterangan bagian-bagian tampilan server .................................................. 46
Tabel 4.1 Contoh hasil evaluasi sistem ........................................................................ 57
Tabel 4.2 Frekuensi nilai F-Score pada seluruh data ................................................... 58
Tabel 4.3 Frekuensi nilai F-Score berita kompas.com ................................................ 59
Tabel 4.4 Frekuensi nilai F-Score berita detik.com ..................................................... 60
Tabel 4.5 Frekuensi nilai F-Score berita liputan6.com................................................ 60
Universitas Sumatera Utara
ix
DAFTAR GAMBAR
Hal.
Gambar 2.1 Alur proses Celery (Smith, 2014) ............................................................ 16
Gambar 2.2 Contoh penggunaan Celery periodic tasks (Solem, 2015) ....................... 17
Gambar 2.3 Goose menentukan bagian yang bukan isi berita (Pfeiffer, 2014) ........... 19
Gambar 2.4 Goose Menentukan Lokasi Isi Berita (Pfeiffer, 2014) ............................. 19
Gambar 2.5 Goose Menandai Gambar Utama untuk Berita (Pfeiffer, 2014) .............. 20
Gambar 2.6 Contoh indikasi halaman bersambung ..................................................... 20
Gambar 2.7. Arsitektur PushBots (Google Developers, 2015) .................................. 24
Gambar 3.1 Arsitektur umum sistem peringkas berita ................................................ 30
Gambar 3.2 Indikasi berita bersambung tekno.kompas.com ........................................ 32
Gambar 3.3 Indikasi berita bersambung health.liputan6.com ..................................... 33
Gambar 3.4 Indikasi berita bersambung health.detik.com ........................................... 34
Gambar 3.5 Flowchart text preprocessing ................................................................... 37
Gambar 3.6 Contoh input teks ..................................................................................... 37
Gambar 3.7 Teks setelah menghilangkan tanda baca .................................................. 37
Gambar 3.8 Hasil penguraian kata dari teks dan huruf kecil ....................................... 38
Gambar 3.9 Kata-kata setelah penghapusan stopword ................................................ 38
Gambar 3.10 Input judul dan teks berita ...................................................................... 38
Gambar 3.11 Tampilan console server sistem peringkas ............................................. 45
Gambar 3.12 Rancangan (1) halaman sign in dan (2) halaman sign up ...................... 46
Gambar 3.13 Rancangan halaman home ...................................................................... 47
Gambar 3.14 Rancangan halaman news details ........................................................... 48
Gambar 3.15 Rancangan halaman Settings .................................................................. 48
Gambar 3.16 Rancangan halaman Choose News Source ............................................. 49
Gambar 4.1 Tampilan halaman sign in ........................................................................ 51
Gambar 4.2 Tampilan halaman sign up ....................................................................... 52
Gambar 4.3 Tampilan halaman home .......................................................................... 52
Gambar 4.4 Tampilan halaman news details ............................................................... 53
Gambar 4.5 Tampilan halaman settings....................................................................... 53
Gambar 4.6 Tampilan halaman choose news source ................................................... 54
Universitas Sumatera Utara
iv
ABSTRAK
Peringkas teks otomatis menjadi salah satu solusi untuk menghadapi pesatnya arus
informasi sekarang ini khususnya berita online. Solusi ini memberikan versi teks yang
lebih singkat namun tetap mewakili bagian penting dari teks asli. Penelitian ini
mengambil data dari tiga situs berita online yaitu kompas.com, detik.com, dan
liputan6.com. Kemudian data yang diperoleh diringkas menggunakan metode ekstraktif
yang bekerja dengan cara mengambil kalimat-kalimat penting dari teks asli tanpa
memodifikasinya. Untuk itu digunakan algoritma TextTeaser yang memanfaatkan
empat elemen yang terdiri dari judul teks, posisi kalimat, panjang kalimat, dan frekuensi
keyword untuk menentukan apakah kalimat termasuk ringkasan atau tidak. Selanjutnya
teks juga akan diringkas menggunakan algoritma TextRank yang bekerja dengan
memberikan peringkat pada graf representasi objek (kalimat) dalam teks untuk
menentukan apakah kalimat termasuk dalam ringkasan. Hasil ringkasan TextTeaser
kemudian diuji dengan mengevaluasi menggunakan metode evaluasi intrinsic termasuk
metode recall (R), precision (P), dan F-Score (F) dengan hasil ringkasan TextRank pada
3075 data berita. Sehingga 60,11% dari total data memiliki nilai F-Score β₯ 0,5 yang
berarti algoritma TextTeaser memiliki tingkat presisi yang cukup baik untuk mengambil
kalimat-kalimat penting dalam teks berita. Selanjutnya dari data tersebut, terdapat nilai
F-Score > 0,7 untuk 31,36% atau sekitar 884 berita yang memiliki presisi ringkasan
yang lebih baik untuk menggambarkan isi teks berita.
Kata kunci: TextTeaser, TextRank, berita, peringkasan teks otomatis, peringkasan
ekstraktif.
Universitas Sumatera Utara
v
ONLINE NEWS SUMMARIZATION SYSTEM USING
TEXTTEASER ALGORITHM
ABSTRACT
Automatic text summarization become one of the solutions to deal with the rapid flow
of information today, especially online news. This solution provides a shorter version
but still represents important parts of the original text so that the general description of
the contents of the entire text can be understood in a relatively shorter time. This
research took data from three online news sites which are kompas.com, detik.com, and
liputan6.com. Furthermore summarize the data using extractive methods by taking the
main idea from the original text without any modification. For that purpose, used
TextTeaser algorithm which utilizes the four elements consisting of text title, sentence
position, sentence length, and keywords frequency. The four elements of this text will
produce a score of each sentence to determine whether the sentence include in summary
or not. Generated summary was tested with intrinsic evaluation methods, including
recall (R), precision (P), and F-Score (F). The evaluation method then used to evaluates
the summary by TextTeaser with summary by TextRank for 3075 news articles. So that
60.11% of the total news has a value of F-Score β₯ 0.5 which means that the TextTeaser
algorithm is good enough in case to collect important sentences from news article.
Furthermore, from the data contained F-Score values > 0.7 at 31.36%, or about 884
news data that have a better summary to describe the whole contents of the news article.
Keyword: TextTeaser, TextRank, news, automatic text summarization, extractive
summary.
Universitas Sumatera Utara
BAB 1
PENDAHULUAN
Latar Belakang
Berita pada media massa online bertambah banyak setiap waktu karena selalu ada
sesuatu yang patut untuk diberitakan kepada khalayak. Hal ini membuat pembaca harus
menyiapkan waktu untuk mengakses penyedia berita baik melalui situs website atau
aplikasi kemudian membaca setiap pembaruan berita yang diminatinya. Memahami isi
teks berita keseluruhan memerlukan waktu yang relatif lama dibandingkan dengan teks
yang sudah diringkas. Sehingga berita yang sudah diringkas akan mempermudah
pembaca untuk memahami isi berita tersebut.
Menurut Aristoteles (2011) yang merujuk kepada (Radev et al. 2002;
Blake et al. 2001) peringkasan teks merupakan proses untuk menghasilkan teks yang
lebih sedikit ( 0).
Langkah selanjutnya untuk memperoleh nilai frekuensi keyword adalah dengan
menjumlahkan nilai πππ (π π ) dan π ππ (π π ) kemudian dibagi 2.0 * 10.0 seperti persamaan
(7).
πΎππ¦π€ππππΉπππ(π π ) =
(πππ (π π ) + π ππ (π π ))
2.0 β 10.0
(7)
Setelah memperoleh skor judul teks, posisi kalimat, panjang kalimat, dan
frekuensi keyword. Semua nilai tersebut ditotalkan menggunakan persamaan (8).
πππ‘πππππππ(π π ) =
(ππ + 1.5 + πΎπΉ β 2.0 + ππΏ β 0.5 + ππ β 1.0)
4.0
(8)
Pada persamaan (8), ππ adalah title score atau skor judul teks, πΎπΉ adalah
keyword frequency atau frekuensi keyword, ππΏ adalah sentence length atau skor panjang
kalimat, dan ππ adalah sentence position atau skor posisi kalimat.
Algoritma TextRank
Algoritma TextRank merupakan algoritma yang bekerja dengan memberikan peringkat
pada graf (Mihalcea & Tarau, 2004) representasi objek dalam teks. Graf biasanya
diperoleh dari dokumen teks. Algoritma yang berdasarkan graf pada umumnya
menentukan tingkat kepentingan suatu kalimat berdasarkan nilai simpul (vertex/node)
representasi kalimat tersebut. Semakin besar nilai simpul maka semakin dianggap
penting kalimat tersebut. Menurut (Mihalcea & Tarau, 2004), algoritma pencarian
peringkat dari graf dapat dianalogikan dengan pengambilan voting atau rekomendasi.
Universitas Sumatera Utara
13
Ketika sebuah simpul menuju pada simpul yang lain, berarti simpul tersebut sudah
memilih simpul yang lain tersebut. Semakin tinggi nilai vote yang diperoleh, semakin
tinggi tingkat kepentingan suatu simpul. Selain itu, tingkat kepentingan simpul yang
menuju simpul lain juga berperan penting untuk menentukan tingkat kepentingan
simpul yang dituju. Alhasil bobot sebuah sebuah simpul ditentukan berdasarkan banyak
simpul yang menujunya.
Pada peringkasan teks otomatis secara ekstraktif, TextRank memiliki beberapa
keunggulan antara lain:
ο·
Unsupervised, atau dengan kata lain TextRank dapat bekerja tanpa data training
untuk memproses data sesungguhnya.
ο·
Language independent, yang berarti TextRank tidak bergantung pada bahasa
tertentu atau pemahaman tentang suatu bahasa seperti grammar. Hal ini karena
TextRank bekerja hanya menggunakan kata-kata dalam teks. Keterbatasan
TextRank hanya pada saat pemisahan kalimat, kata yang berbeda pada bahasa
tertentu.
Simpul-simpul graf dalam algoritma TextRank selain berisi kalimat juga
mencakup unit teks seperti kata-kata, collocations (lokasi kalimat), dan sebagainya.
Kemudian sisi (edge) pada graf merepresentasikan hubungan antara kalimat yang
berelasi (similarity). Tanpa mengacu pada tipe elemen yang dimasukkan dalam graf,
menurut Mihalcea & Tarau (2004), implementasi algoritma berbasis graf pada
pemrosesan teks bahasa alami (contoh, bahasa Indonesia, bahasa Inggris, dan lain-lain)
mencakup empat tahap antara lain:
1. Identifikasi unit teks yang paling cocok untuk dijadikan simpul dalam graf.
2. Pemberian sisi antar simpul unit teks baik dengan bobot atau tidak, berarah atau
tidak berarah.
3. Proses menggunakan algoritma hingga objek graf bertemu satu sama lain
(convergence).
4. Urutkan simpul berdasarkan skornya. Nilai skor dimasukkan dalam simpul pada
saat proses algoritma.
Pada dasarnya algoritma TextRank dapat diimplementasikan pada dua jenis
aplikasi yaitu ekstraksi keyword dan peringkasan otomatis. Untuk implementasi pada
Universitas Sumatera Utara
14
peringkasan teks otomatis, algoritma ini bekerja dengan memberikan peringkat unit teks
berdasarkan teks yang diberikan. Menurut Mihalcea & Tarau (2004), algoritma ini
memiliki proses yaitu pertama membuat graf dari teks, untuk simpul berisi kalimatkalimat dalam teks. Kemudian untuk menentukan hubungan antar simpul digunakan
similarity content overlap yang dapat diperoleh dengan menghitung token yang ada
pada kalimat-kalimat tersebut. Misalkan pada dua kalimat ππ dan ππ yang akan dihitung,
kemudian kumpulan kata-kata ππ perwakilan dari kedua kalimat misalnya:
ππ = π€1π , π€2π , β¦ , π€ππ π dan begitu juga untuk kalimat ππ . Selain itu panjang masing-masing
kalimat log(|ππ |) atau log(|ππ |) selanjutnya dihitung menggunakan persamaan (9).
πππππππππ‘π¦(ππ , ππ ) =
|{π€π |π€π β ππ & π€π β ππ }|
log(|ππ |) + log(|ππ |)
(9)
Tingkat keberhasilan yang diperoleh dalam penelitian Mihalcea & Tarau
(2004) adalah mendapatkan peringkat lima besar dari 15 sistem peringkas lainnya. Hal
ini diperoleh dengan cara meringkas 567 data berita, kemudian hasil ringkasan diuji
dengan metode recall-oriented understudy for gisting evaluation (ROUGE). Metode
ROUGE bekerja dengan membandingkan teks asli berita dengan ringkasan manual
yang dibuat oleh manusia. Hasil peringkasan menggunakan TextRank seperti pada tabel
2.2, berada pada posisi ke tiga. Posisi tersebut sudah cukup bagus dan berhasil untuk
menentukan kalimat-kalimat penting dalam sebuah teks mengingat TextRank tidak
memerlukan supervisi dari manusia atau pemahaman tentang bahasa teks yang akan
diringkas.
Tabel 2.2 TextRank dibandingkan dengan sistem lain (Mihalcea & Tarau, 2004)
Sistem
S27
S31
TextRank
S28
S21
S29
basic (a)
0,4814
0,4715
0,4708
0,4703
0,4683
0,4502
ROUGE score β Ngram(1,1)
stemmed (b)
stemmed no-stopwords (c)
0,5011
0,4405
0,4914
0,4160
0,4904
0,4229
0,4890
0,4346
0,4869
0,4222
0,4681
0,4019
Untuk mendukung sistem dalam penelitian ini, algoritma TextRank akan
diimplementasikan menggunakan library Python Sumy yang merupakan kumpulan
Universitas Sumatera Utara
15
beberapa metode untuk meringkas teks baik yang bersumber dari dokumen HMTL atau
teks biasa (Belica, 2015).
Periodic Tasks
Pada sistem operasi unix-like seperti Linux memiliki sebuah fitur yang disebut cron
yang berguna untuk menjalankan tugas tertentu secara berkala pada waktu tertentu.
Cron merupakan sistem yang menjalankan instruksi tertentu pada satuan waktu yang
ditentukan. Pada umumnya cron mengerjakan daftar perintah pada crontab (cron table).
File ini berisi daftar perintah yang akan dijalankan oleh cron daemon pada jangka waktu
yang ditentukan. Setiap perintah dalam crontab dipisahkan dengan pembatas carriage
return atau garis baru.
Seperti cron, Python celery juga memiliki kemampuan untuk menjalankan
sebuah instruksi secara berkala. Pada penelitian ini, sistem cron yang digunakan
berbasis Python celery.
Python celery pertama kali diperkenalkan pada April 2009 dengan nama
βcrunchyβ. Celery berfungsi untuk menjalankan fungsi Python (atau dalam hal ini
disebut task) pada sistem secara asynchronous atau dengan kata lain beberapa task bisa
berjalan secara bersamaan. Kemudian celery akan menjalankan proses di luar proses
proses utama sistem atau proses yang berjalan di background atau di luar proses utama.
Artinya user tetap bisa menjalankan sistem tanpa harus menunggu setiap se