• Tidak ada hasil yang ditemukan

Penulis melakukan praproses terlebih dahulu untuk menjadikan data teks tweet menjadi lebih terstruktur dan berkualitas sebagai dataset untuk proses selanjutnya. Beberapa tahap praproses yang dilakukan penulis yaitu Case Folding (Lowercase), representasi emoji, representasi kontraksi, Cleaning, Stopword Removal, POS Tagging, dan lematisasi.

3.4.1. Case Folding

Metode praproses data teks yang pertama dilakukan penulis adalah Case Folding yaitu untuk mengkonversi semua karakter dalam string atau teks menjadi huruf kecil menggunakan teknik lowercase dalam bahasa pemrograman Python yaitu fungsi lower() yang merupakan metode bawaan dari Python yang mengembalikan string baru dengan semua karakter diubah menjadi huruf kecil.

3.4.2. Representasi Emoji

Dalam menangani suatu emoji untuk analisis sentimen, dilakukan representasi emoji menjadi sebuah teks. Penulis melakukan representasi emoji menggunakan fungsi demojize() yang terdapat dalam modul library

emoji. Modul ini hanya dapat menangani Unicode emoji seperti “ ”,

“ ”, “ ” dan sebagainya. Sedangkan untuk ASCII emoji seperti “:)”,

“:(“, “:o”, dan sebagainya penulis menggunakan teknik substitusi dengan modul library re yaitu modul yang menyediakan dukungan untuk Regular Expressions dalam melakukan pencocokan pola atau memanipulasi teks dengan berbagai cara sesuai yang dibutuhkan, penulis menggunakan fungsi sub() yaitu metode yang digunakan untuk menggantikan kemunculan suatu pola dengan string lain. Pada penelitian yang dilakukan pada tahun 2020 oleh Huseyn Hasanli mengenai analisis sentimen menggunakan data dari tweet sudah melakukan representasi emoji, namun hanya emoji jenis Unicode saja. Oleh karena itu penulis menambahkan emoji jenis ASCII untuk direpresentasikan juga. Untuk data emoji Unicode penulis mengambil referensi dari situs web https://unicode.org/emoji/charts-14.0/full-emoji- list.html dan yang digunakan penulis hanya emoji yang berupa ekspresi atau perasaan manusia dengan total kamus emoji sebanyak 145 emoji.

3.4.3. Representasi Kontraksi

Penulis menemukan beberapa kontraksi atau bisa juga disebut sebagai kata singkatan seperti negasi dan kata slang dalam Bahasa Inggris pada data tweet. Contoh kata negasi sepeti “don’t”, “haven’t”, “can’t” dan sebagainya, sedangkan contoh kata kontraksi seperti “you’re”, “i’m”, dan contoh kata slang seperti “lol”, “idk”, “bcoz” dan masih banyak lainnya.

Untuk kata slang penulis menggunakan slang_dictionary sebagai kunci dalam penggantian kata slang dengan makna asli atau kalimat lengkapnya dari kata tersebut. Jika kata tersebut terdapat dalam slang_dictionary maka akan digantikan dengan makna yang sesuai dari kata slang tersebut, jika tidak maka kata asli tidak diubah. Lalu untuk negasi dan kontraksi penulis menggunakan modul library contractions dengan fungsi fix() yaitu metode untuk mengkonversi teks yang memiliki kata kontraksi seperti yang sudah dijelaskan sebelumnya. Penggunaan modul contractions dalam representasi kontraksi karena penulis hanya perlu menangani kontraksi dalam teks

karena modul contractions memiliki daftar kata kontraksi umum dalam Bahasa Inggris dan menyediakan fungsi untuk ekspansi kontraksi tersebut.

3.4.4. Cleaning

Selanjutnya penulis melakukan cleaning terhadap teks untuk mengurangi noise dan informasi yang tidak relevan sehingga analisis lebih akurat. Teknik yang dilakukan pada tahap cleaning ini menggunakan metode regular expressions yaitu dengan menggantikan suatu pola dengan suatu string lain yang terdapat pada modul re. Beberapa tahap dalam cleaning yang dilakukan penulis seperti berikut:

3.4.4.1. retweet (rt)

Menghapus elemen pada teks tweet yang berupa hasil dari me-retweet dari postingan orang lain, elemen yang dihapus yaitu

“rt” yang terdapat pada awal kalimat tweet.

3.4.4.2. URL

Menghapus hyperlink atau URL yang terdapat pada tweet, biasanya tertulis dengan diawali “http” atau “https”.

3.4.4.3. hashtag

Menghapus simbol “#” pada sebuah hashtag pada tweet sehingga hanya teks di belakang simbol # saja yang tersisa.

3.4.4.4. Mention (@username)

Menghapus mention sebuah username pada tweet karena hanya berisikan nama akun seseorang dan informasi ini tidak penting untuk digunakan dalam analisis sentimen.

3.4.4.5. Karakter selain alfabet

Menghapus karakter selain dari huruf atau alfabet pada teks tweet seperti angka, spesial karakter dan tanda hubung.

3.4.4.6. Karakter berulang

Menghapus karakter berulang pada bagian akhir kata seperti

“soooo” menjadi “so” atau “yessssss” menjadi “yes”.

3.4.4.7. Whitespace

Menghapus ruang kosong atau biasanya jarak baris suatu paragraf dengan paragraf berikutnya, sehingga menjadi hanya satu paragraf saja dalam suatu tweet

3.4.5. Stopwords Removal

Proses selanjutnya yang dilakukan penulis adalah Stopwords Removal yaitu menghapus kata-kata dengan tata bahasa berfrekuensi tinggi yang biasanya diabaikan dalam aplikasi pengambilan teks. Penulis menggunakan corpus dari modul nltk yang sudah menyediakan berbagai Stopwords Corpus dalam berbagai bahasa salah satunya Bahasa Inggris.

Penggunaan modul nltk pada tahap Stopword Removal karena selain menyediakan kamus stopwords dalam berbagai bahasa, modul ini sangat cocok untuk pemrosesan yang hanya ingin melakukan Stopwords Removal dan tidak memiliki keterbatasan dalam kostumisasi kamus stopwords yang ingin diubah, ditambah atau dihapus dapat dilakukan secara langsung.

3.4.6. POS Tagging

Pada proses selanjutnya, penulis melakukan POS Tagging menggunakan fungsi pos_tag() dari modul nltk untuk melakukan penandaan part-of-speech (POS) pada teks sehingga setiap kata pada teks memiliki tanda POS yang terkait. Lalu setelah itu mengambil tanda POS WordNet yang sesuai. WordNet adalah database leksikal yang mengkategorikan kata- kata ke dalam berbagai jenis kata, WordNet diambil dari corpus yang tersedia di modul nltk. Teks dipetakan dengan tanda POS yang biasa digunakan dalam tanda POS, seperti “J” untuk kata sifat, “V” untuk kata kerja, “N” untuk kata benda, dan “R” untuk kata keterangan ke tanda POS dalam format WordNet.

3.4.7. Lematisasi

Setelah POS Tagging, proses selanjutnya yang dilakukan adalah lematisasi. Lematisasi dilakukan pada setiap kata dalam teks yang sudah memiliki tanda POS WordNet yang sesuai, lematisasi dilakukan menggunakan fungsi WordNetLemmatizer() dari modul nltk.stem. Tujuan dari proses lematisasi ini adalah mengubah setiap kata menjadi bentuk dasar

atau kamusnya. Karena POS Tagging yang dilakukan menggunakan modul nltk, sehingga agar lebih akurat dalam melakukan lematisasi maka dari itu penulis menggunakan modul yang berasal dari library yang sama yaitu nltk.

Dokumen terkait