Anda di halaman 1dari 24

BAB 3

METODOLOGI PENELITIAN

3.1 Metodologi Penelitian

Metodologi yang diterapkan dalam penelitian ini terdiri dari beberapa tahap,

yakni sebagai berikut:

1. Studi Literatur

Studi literatur dilakukan untuk mempelajari dan memperdalam teori-teori

terkait dengan metode yang dapat diimplementasikan dalam peringkas teks

otomatis, implementasi algoritme TextRank, word embedding sebagai

representasi karakter alfanumerik ke dalam bentuk vektor, penggunaan one-hot

encoding, TF-IDF, dan FastText, serta metrik evaluasi dalam mengukur

performa algoritme yang diimplementasikan. Tahap ini dilakukan dengan

melakukan studi dari berbagai referensi seperti jurnal dan buku terkait.

2. Analisis Kebutuhan

Analisis kebutuhan dilakukan untuk mengetahui apa yang dibutuhkan dalam

melakukan implementasi algoritme ke dalam sistem, seperti penentuan

perangkat lunak dan perangkat keras yang dipakai. Pada tahapan ini juga

dilakukan pengumpulan data berupa teks berita yang di dapat dari situs berita

online secara manual untuk diuji dalam sistem.

3. Perancangan dan Pembuatan Aplikasi

Perancangan dilakukan agar rancangan aplikasi dapat dibuat sesuai dengan

kebutuhan dan memiliki proses terstruktur. Tahapan ini mencakup pembuatan

21
flowchart dari penelitian yang dilakukan, dilanjutkan dengan pembuatan sistem

berdasarkan hasil perancangan tersebut. Proses pembuatan mencakup penulisan

kode dan visualisasi dari dataset serta hasil penelitian menggunakan bahasa

pemrograman Python.

4. Pengujian dan Evaluasi Hasil Pengujian

Pengujian dilakukan untuk memastikan sistem berjalan dengan baik dan

memiliki fungsionalitas yang sesuai dengan tujuan awal. Evaluasi hasil

pengujian juga dilakukan untuk menguji dan melakukan validasi terhadap hasil

peringkasan yang dilakukan sistem. Evaluasi ini dilakukan dengan

membandingkan hasil ringkasan sistem dengan hasil ringkasan dari pakar atau

native speaker terpilih. Nilai precision, recall, dan f-measure yang dihasilkan

akan dievaluasi untuk membuat kesimpulan atas rumusan masalah yang telah

dijabarkan sebelumnya.

5. Konsultasi dan Penulisan Naskah Penelitian

Penulisan naskah penelitian dilakukan sebagai bentuk dokumentasi penelitian

sehingga dapat dijadikan sebagai referensi dan sarana ilmu pengetahuan untuk

penelitian selanjutnya. Konsultasi dilakukan agar penelitian tetap terarah dan

memperoleh saran sehingga dapat berjalan dengan baik.

3.2 Perancangan Aplikasi

Perancangan sistem direpresentasikan menggunakan flowchart. Terdapat

flowchart utama yang menjelaskan alur kerja sistem secara keseluruhan, kemudian

untuk setiap modul dalam flowchart utama dijelaskan kembali secara lebih

mendetail pada bagian selanjutnya.

22
3.2.1 Flowchart Utama

Proses diawali dengan melakukan import library dan file pendukung proses

penelitian. File pendukung berisikan dua hal, pertama artikel beserta hasil

rangkuman dari pakar; kedua, data training pada TfidfVectorizer berisi kumpulan

kalimat berita pada situs CNNindonesia dan Kompas.com selama satu tahun

terakhir. Proses dilanjutkan dengan melakukan preprocessing pada data berita yang

berasal dari 2 situs berbeda sehingga teks berita dapat bertransformasi menjadi

bentuk yang lebih mudah dicerna oleh algoritme TextRank. Selanjutnya dilakukan

pembobotan dan pemeringkatan dengan menggunakan algoritme TextRank juga

analisa menggunakan compression ratio pada hasil ringkasan. Terakhir, hasil

evaluasi pada analisa kemudian akan ditampilkan dalam bentuk grafik plot. Alur

sistem utama dapat dilihat pada Gambar 3.1.

Gambar 3.1 Flowchart Utama

23
3.2.2 Flowchart Preprocessing

Preprocessing dilakukan untuk mempersiapkan teks menjadi data olah pada

tahap berikutnya. Beberapa langkah preprocessing pada penelitian ini yaitu

penggabungan berita (text combining), pemecahan kalimat, filtering, stemming, dan

tokenizing kata. Alur pada langkah preprocessing dapat dilihat pada Gambar 3.2.

Gambar 3.2 Flowchart Preprocess

Setiap modul dalam flowchart preprocessing dijelaskan kembali secara

lebih mendetail sebagai berikut:

A. Flowchart Text Combining

Text combining dilakukan untuk menggabungkan dua teks berita menjadi

satu. Hal ini dilakukan untuk memudahkan proses preprocessing dan perhitungan

cosine similarity pada proses implementasi algoritme TextRank. Hasil dari tahap

ini kemudian akan disimpan dalam bentuk DataFrame dengan nama

24
data[‘combined_news’]. Alur pada langkah text combining dapat dilihat pada

Gambar 3.3.

Gambar 3.3 Flowchart Text Combining

B. Flowchart Pemecahan Kalimat

Pada proses ini, berita yang sudah melalui proses text combining kemudian

akan dipecah menjadi kumpulan kalimat. Pemecahan ini dilakukan dengan

menggunakan library nltk, kelas sent_tokenize. Hasil dari tahap ini kemudian akan

disimpan dalam bentuk DataFrame dengan nama data[‘tokenized’]. Alur pada

langkah pemecahan kalimat dapat dilihat pada Gambar 3.4.

Gambar 3.4 Flowchart Pemecahan Kalimat

25
C. Flowchart Filtering

Filtering atau stopwords removal dilakukan untuk menghapus kata-kata

umum yang tidak terlalu penting. Proses filtering pada penelitian ini menggunakan

library Python Sastrawi. Kata-kata pada berita kemudian akan dibandingkan

dengan kata-kata pada kamus stopwords pada library Phyton Sastrawi. Jika kata

pada berita tersebut sesuai dengan kata pada kamus stopwords, maka kata tersebut

akan dihapus. Alur pada langkah filtering dapat dilihat pada Gambar 3.5.

Gambar 3.5 Flowchart Filtering


D. Flowchart Stemming

Stemming dilakukan untuk mencari kata dasar pada setiap kata di berita

dengan mengiterasi array dalam DataFrame yang sudah diproses sebelumnya pada

proses filtering. Proses stemming dilakukan dengan menggunakan library Python

26
Sastrawi. Hasil dari tahap ini kemudian akan disimpan dalam bentuk DataFrame

dengan nama data[‘stemmed’]. Alur pada langkah stemming dapat dilihat pada

Gambar 3.6.

Gambar 3.6 Flowchart Stemming

E. Flowchart Tokenizing Kata

Pada proses tokenizing kata, kalimat pada berita yang sudah dilakukan

stemming akan dipecah per kata pada kalimat tersebut dengan delimiter spasi.

Setelah itu, akan dimasukkan ke dalam array baru yang berisi pemecahan kata pada

setiap kalimat. Hasil dari tahap ini kemudian akan disimpan dalam bentuk

DataFrame dengan nama data[‘word_tokenized’]. Alur pada langkah tokenizing

kata dapat dilihat pada Gambar 3.7.

27
Gambar 3.7 Flowchart Tokenizing Kata

3.2.3 Flowchart TextRank

Setelah melakukan tahap preprocessing pada dataset, dilakukan

pembobotan dan pemeringkatan kalimat menggunakan algoritme TextRank.

Sebelumnya, tiap kalimat harus melalui proses representasi kata atau kalimat

berupa konversi karakter alfanumerik ke dalam bentuk vector. Dalam mengubah

karakter menjadi representasi integer diperlukan word dictionary. Word dictionary

adalah kumpulan kata yang akan digunakan dalam proses mengubah token menjadi

integer. Sebagai contoh, jika ada token/kata “saya” dalam input kalimat, sistem

akan mencari kata “saya” pada word dictionary. Kemudian sistem akan mengecek

pada indeks keberapa kata yang dicari tersebut dan memberikan bobot sesuai

dengan bobot kata tersebut pada word dictionary.

28
Dalam penelitian ini, diterapkan beberapa metode dalam memperoleh word

dictionary (secara global dan lokal) dan permodelan embedding terhadap algoritme

TextRank. Terdapat flowchart utama untuk menjelaskan alur kerja sistem secara

keseluruhan, kemudian untuk setiap modul dalam flowchart utama dijelaskan

kembali secara lebih mendetail pada bagian selanjutnya. Alur pada algoritme

TextRank dapat dilihat pada Gambar 3.8. Seluruh proses wajib dijalani dalam

melakukan tahap TextRank, kecuali membuat word dictionary. Proses ini hanya

dijalankan apabila proses perolehan word dictionary dilakukan secara global.

Gambar 3.8 Flowchart TextRank

29
A. Perolehan Word Dictionary

Dalam penelitian ini, diterapkan dua metode dalam perolehan word

dictionary yaitu secara global dan lokal. Proses perolehan word dictionary secara

global dilakukan terhadap seluruh kalimat pada dataset berita (sebanyak 60 topik

atau dengan total 120 berita). Word dictionary yang dihasilkan akan digunakan

untuk setiap kalimat pada dataset. Oleh karena itu, word dictionary pada topik 1

dan topik 2 sama. Sedangkan pada proses perolehan word dictionary secara lokal

dilakukan terhadap seluruh kalimat pada setiap topik berita (setiap 1 topik berita).

Word dictionary yang dihasilkan akan digunakan untuk setiap kalimat pada berita

dengan topik yang sama. Oleh karena itu, word dictionary pada topik 1 dan topik 2

akan berbeda.

Dalam penelitian ini juga diterapkan 3 permodelan embedding yang

menghasilkan word dictionary dengan cara yang berbeda-beda. Pembentukan word

dictionary secara global dilakukan di luar proses pembuatan similarity matrix.

Sedangkan proses pembentukan word dictionary secara lokal akan dilakukan pada

proses pembuatan similarity matrix. Tiga permodelan tersebut di antaranya one-hot

encoding, TF-IDF, dan FastText. Untuk setiap model akan dijelaskan secara lebih

mendetail pada bagian selanjutnya.

A.1 One-Hot Encoding

Pembentukan word dictionary pada model one-hot encoding dihasilkan

dengan mencari token/kata unik pada seluruh kalimat di berita dan menyimpannya

dalam sebuah array dengan nama wordDictionaryOHE. Alur pada pembentukan

word dictionary dengan permodelan one-hot encoding dapat dilihat pada Gambar

3.9.

30
Gambar 3.9 Flowchart Word Dictionary Global Dengan Model One-Hot
Encoding
A.2 TF-IDF

Pembentukan word dictionary pada model TF-IDF dihasilkan dengan

mencari token/kata unik pada seluruh berita melalui proses training pada model

TF-IDF menggunakan library TfidfVectorizer. Terdapat 2 tipe pengujian dalam

metode ini di antaranya memanfaatkan data training yang berasal dari kumpulan

kalimat berita pada situs CNNindonesia dan Kompas.com selama satu tahun

terakhir untuk menguji pengaruh parameter max_features pada model dan

penggunaan data training yang berasal dari seluruh dataset. Data tersebut

sebelumnya telah melalui tahap preprocess dan disimpan dalam modul Pickle.

Untuk mengetahui word dictionary yang dihasilkan model, digunakan method

get_feature_names yang sudah disediakan library. Alur pada pembentukan word

dictionary dengan permodelan TF-IDF dapat dilihat pada Gambar 3.10.

31
Gambar 3.10 Flowchart Word Dictionary Global Dengan Model TF-IDF

A.3 FastText

Pembentukan word dictionary pada model FastText dihasilkan dengan

mencari token/kata unik pada seluruh berita melalui proses training pada model

FastText menggunakan library FastText. Data yang digunakan pada proses training

berasal dari kumpulan seluruh kalimat berita pada dataset yang kemudian disimpan

dalam file dengan format .txt bernama fasttext-train.txt. Untuk melakukan proses

training, digunakan method train_unsupervised yang telah disediakan oleh library.

Model yang digunakan dalam melakukan representasi kata adalah Skipgram. Alur

pada pembentukan word dictionary dengan permodelan FastTest dapat dilihat pada

Gambar 3.11.

32
Gambar 3.11 Flowchart Word Dictionary Global Dengan Model FastText

B. Flowchart Membuat Similarity Matrix

Dalam proses pembuatan similarity matrix ada 2 proses utama yaitu

mengukur kemiripan antara dua kalimat terhadap word dictionary (sentence

similarity) dan normalisasi matriks similarity. Hasil dari tahap ini adalah matrix

yang berisi nilai similarity antara sebuah kalimat dengan kalimat lain pada suatu

berita. Alur utama pada tahap pembuatan similarity matrix dapat dilihat pada

Gambar 3.12, kemudian untuk setiap modul dalam flowchart dijelaskan kembali

secara lebih mendetail pada bagian selanjutnya.

33
Gambar 3.12 Flowchart Similarity Matrix

B.1 Sentence Similarity Dengan Word Dictionary Global

Pada proses perhitungan sentence similarity, setiap kalimat yang

dibandingkan akan mengalami representasi kata sesuai dengan word dictionary dan

permodelan embedding yang dibangun. Kemudian, akan dihitung nilai kemiripan

antar dua kalimat tersebut sesuai dengan rumus cosine similarity. Berikut

merupakan alur perhitungan sentence similarity pada masing-masing permodelan

embedding dengan menggunakan word dictionary secara global.

B.1 One-Hot Encoding

Proses embedding pada model one-hot encoding dimulai dengan

menginisasi matrix vektor1 dan vektor2 dengan nilai 0 sesuai dengan panjang word

dictionary secara global. Nilai pada matrix akan berubah menjadi 1 pada posisi

34
index ke-i ketika kata ke-i pada word dictionary berada pada kalimat yang ingin

direpresentasikan. Similarity antar kalimat diperoleh dengan membandingkan

matrix pada vektor1 dan vektor2 sesuai dengan rumus cosine similarity. Alur

sentence similarity dengan permodelan one-hot encoding dengan word dictionary

global dapat dilihat pada Gambar 3.13.

Gambar 3.13 Flowchart Sentence Similarity Global Dengan One-Hot Encoding

35
B.2 TF-IDF

Proses embedding pada model TF-IDF dimulai dengan membangun matrix

menggunakan model TfidfVectorizer yang telah dibangun sebelumnya

menggunakan data training. Setelah itu, kalimat akan direpresentasikan

menggunakan method transform yang sudah disediakan oleh library. Similarity

antar kalimat diperoleh dengan membandingkan matrix pada vektor1 dan vektor2

sesuai dengan rumus cosine similarity. Alur sentence similarity dengan permodelan

TF-IDF dengan word dictionary global dapat dilihat pada Gambar 3.14.

Gambar 3.14 Flowchart Sentence Similarity Global Dengan TF-IDF

B.3 FastText

Proses embedding pada model FastText dimulai dengan membangun matrix

menggunakan model yang telah dibangun sebelumnya menggunakan data training.

36
Setelah itu, kalimat akan direpresentasikan menggunakan method

get_sentence_vector yang sudah disediakan oleh library. Similarity antar kalimat

diperoleh dengan membandingkan matrix pada vektor1 dan vektor2 sesuai dengan

rumus cosine similarity. Alur sentence similarity dengan permodelan FastText

dengan word dictionary global dapat dilihat pada Gambar 3.15.

Gambar 3.15 Flowchart Sentence Similarity Global Dengan FastText

B.2 Sentence Similarity Dengan Word Dictionary Lokal

Berikut merupakan alur perhitungan sentence similarity pada masing-

masing permodelan embedding dengan menggunakan word dictionary secara lokal.

37
B.2.1 One-Hot Encoding

Proses embedding pada model one-hot encoding dimulai dengan

memperoleh word dictionary berdasarkan unique word pada 2 berita yang sedang

diuji. Setelah itu, menginisasi matrix vektor1 dan vektor2 dengan nilai 0 sesuai

dengan panjang word dictionary yang telah diperoleh. Nilai pada matrix akan

berubah menjadi 1 pada posisi index ke-i ketika kata ke-i pada word dictionary

berada pada kalimat yang ingin direpresentasikan. Similarity antar kalimat

diperoleh dengan membandingkan matrix pada vektor1 dan vektor2 sesuai dengan

rumus cosine similarity. Alur sentence similarity dengan permodelan one-hot

encoding dengan word dictionary lokal dapat dilihat pada Gambar 3.16 dan Gambar

3.17.

Gambar 3.16 Flowchart Sentence Similarity Lokal Dengan One-Hot Encoding

38
Gambar 3.17 Lanjutan Flowchart Sentence Similarity Lokal Dengan One-Hot
Encoding
B.3 TF-IDF

Proses embedding pada model TF-IDF dimulai dengan membangun model

dan word dictionary pada 2 berita yang sedang diuji. Setelah itu, kalimat akan

direpresentasikan menggunakan method transform yang sudah disediakan oleh

library. Similarity antar kalimat diperoleh dengan membandingkan matrix pada

vektor1 dan vektor2. Alur sentence similarity dengan permodelan TF-IDF dengan

word dictionary lokal dapat dilihat pada Gambar 3.18.

39
Gambar 3.18 Flowchart Sentence Similarity Lokal Dengan TF-IDF

B.4 FastText

Proses embedding pada model FastText dimulai dengan membangun model

dan word dictionary pada 2 berita yang sedang diuji. Setelah itu, kalimat akan

direpresentasikan menggunakan method get_sentence_vector yang sudah

disediakan oleh library. Similarity antar kalimat diperoleh dengan membandingkan

40
matrix pada vektor1 dan vektor2. Alur sentence similarity dengan permodelan

FastText dengan word dictionary global dapat dilihat pada Gambar 3.19.

Gambar 3.19 Flowchart Sentence Similarity Lokal Dengan FastText

C. Flowchart Normalisasi Matrix

Setelah melalui proses pembuatan similarity matrix, diperoleh matrix yang

mengandung nilai similarity antara sebuah kalimat dengan kalimat lainnya dalam

sebuah berita. Nilai yang diperoleh pada matrix tersebut memiliki rentang nilai

yang terlalu besar atau kadang terlalu kecil. Oleh sebab itu, diperlukan adanya

normalisasi matrix agar nilainya berada pada rentang yang sama. Contoh matrix

41
similarity sebelum normalisasi dan matrix similarity setelah normalisasi dapat

dilihat pada Gambar 3.20. Alur pada tahap normalisasi matrix dapat dilihat pada

Gambar 3.21.

Gambar 3.20 Contoh Matrix Similarity Sebelum dan Sesudah Normaliasi

Gambar 3.21 Flowchart Normalisasi Matrix

D. Flowchart PageRank

Proses perhitungan nilai kalimat dengan menggunakan algoritme TextRank

diawali dengan pembacaan matrix similarity yang telah disimpan sebelumnya pada

proses pembuatan matrix similarity. Lalu, dengan menggunakan rumus TextRank

dihitung nilai pada kalimat tersebut. Nilai yang diperoleh kemudian akan

dibandingkan dengan nilai yang lama dengan menghitung delta atau selisih dari

kedua nilai tersebut. Proses akan terus berulang hingga delta sudah lebih kecil

dibandingkan threshold (eps). Kemudian, nilai kalimat yang diperoleh dapat

dilakukan pemeringkatan dari nilai yang terbesar ke nilai terkecil dengan

42
menggunakan function sort pada Python. Index kalimat hasil pemeringkatan

disimpan dalam bentuk DataFrame. Alur pada tahap pengaplikasian algoritme

TextRank dapat dilihat pada Gambar 3.22.

Gambar 3.22 Flowchart PageRank

3.2.4 Flowchart Analisa Compression Ratio

Proses analisa compression ratio dimulai dengan menerima input berupa

nilai compression yang ingin diaplikasikan pada sistem. Dalam penelitian ini, akan

dilakukan pengujian terhadap nilai compression ratio sebesar kelipatan lima dari

rentang 20 sampai 80 berdasarkan panjang kalimat pada hasil pemeringkatan sistem

dan pakar. Setelah hasil compression dari sistem dan pakar diperoleh, akan

dilakukan evaluasi nilai precision, recall, dan f-measure untuk memperoleh akurasi

pada sistem. Hasil akurasi ditampilkan dalam bentuk grafik plot. Alur pada tahap

analisa compression ratio dapat dilihat pada Gambar 3.23.

43
Gambar 3.23 Flowchart Analisa Compression Ratio

44

Anda mungkin juga menyukai