Published

Sentimen Analisis dengan Ekpansi Kueri menggunakan YAKE dan FastText

Published
Gaudhiwaa Hendrasto dan Izzati Mukhammad

Penelitian ini bertujuan untuk mendalami penggunaan metode ekspansi kueri dengan menggunakan Yake dan FastText pada dataset Twitter dalam meningkatkan analisis sentimen. Ekstraksi kata kunci dilakukan menggunakan Yake, algoritma yang dapat mengekstraksi kata kunci dari sebuah teks. Adapun FastText digunakan dalam memperluas kata kunci dan memperkaya representasi teks yang telah diekstraksi. Berbagai skenario praproses, skenario pengujian dan penggunaan kamus Indonesia Sentiment Lexicon (InSet) diimplementasikan untuk membandingkan metode mana yang dapat meningkatkan kualitas hasil analisis sentimen. Pada kasus ini prediksi sentimen dilakukan terhadap dua jenis dataset, dataset single-context imbalance dan dataset multi-context balance.

Dengan mempertimbangkan F-1 Score didapatkan bahwa pendekatan menggunakan Yake dan FastText dengan penambahan kamus InSet memiliki akurasi yang lebih baik dibandingkan penggunaan ekstraksi kueri menggunakan Yake dan atau ekspansi kueri menggunakan FastText saja. Pada penggunaan Yake dan atau FastText saja didapatkan skenario terbaik pada dataset single-context imbalance dan dataset multi-context balance berturut-turut adalah 0,44 dan 0,43. Sedangkan pada penambahan kamus InSet, didapatkan skenario terbaik pada dataset single-context imbalance dan dataset multi-context balance berturut-turut adalah 0,47 dan 0,45.

Kata Kunci: FastText , Query Expansion, Sentiment Analysis, Yet Another Keyword Extractor


Latar Belakang

Media sosial memiliki peran penting dalam penyebaran informasi di Indonesia. Menurut laporan We Are Social, pada Januari 2023, terdapat 167 juta pengguna aktif media sosial di Indonesia, yang setara dengan 60,4% dari populasi di dalam negeri (Ali, 2023). Twitter menjadi salah satu media sosial yang banyak digunakan di Indonesia, dengan jumlah pengguna mencapai 14,75 juta pada April 2023, menempati peringkat keenam di dunia (Katadata, 2023) Pengguna Twitter dapat berbagi informasi melalui platform ini dengan cara menyebarkan post dengan pengikut, melalui komentar, ataupun melakukan repost untuk menyebarkan postingan lebih luas. Melalui media sosial, pengguna dapat berpartisipasi, berinteraksi, berbagi, atau terlibat dalam jaringan sosial tanpa dibatasi oleh ruang dan waktu.

Media sosial, khususnya Twitter, dapat digunakan dalam analisis sentimen menggunakan kecerdasan buatan, terutama Natural Language Processing (NLP). Salah satu metode analisis sentimen yang dapat digunakan adalah lexicon based, yang melibatkan penghitungan skor sentimen keseluruhan teks berdasarkan skor sentimen dari kata penyusunnya. Melalui analisis sentimen di media sosial, pengguna dapat mengevaluasi sentimen positif, negatif, atau netral terhadap suatu topik atau tokoh.

Dalam analisis sentimen, terdapat dua metode yang sering digunakan, yaitu metode supervised learning dan metode berbasis leksikon. Meskipun metode berbasis leksikon cenderung lebih mudah diaplikasikan, kelemahan penggunaan kamus leksikon yang tersedia adalah membutuhkan keterlibatan manusia dalam proses pembuatan kamus dan kurang akurat dalam mengidentifikasi konteks dan makna kata dalam kalimat. Sementara itu, metode supervised learning menggunakan algoritma machine learning untuk mengklasifikasikan sentimen berdasarkan data latih yang telah diberi label. Meskipun memerlukan waktu dan sumber daya yang lebih banyak untuk mempersiapkan data latih, metode supervised learning cenderung lebih akurat dalam mengidentifikasi sentimen karena dapat memperhitungkan konteks dan makna kata dalam kalimat. Oleh karena itu, dalam memilih metode analisis sentimen, pengguna harus mempertimbangkan kelebihan dan kelemahan masing-masing metode dan memilih metode yang paling sesuai dengan kebutuhan analisis sentimen yang diinginkan.

Pada penelitian ini, dalam menganalisis sentimen, akan diterapkan metode berbasis leksikon menggunakan Yake dan FastText. Model Yake akan digunakan untuk mengekstraksi kata kunci dari sebuah kalimat teks. Selanjutnya, kata kunci yang telah diekstraksi oleh Yake akan diekspansi oleh FastText, menghasilkan kueri yang mirip secara makna kata. Adapun kamus Indonesia Sentiment Lexicon (InSet) digunakan sebagai skenario uji coba untuk membandingkan hasil akurasi dan F-1 score. Diharapkan pengujian yang dilakukan pada penelitian ini dapat memberikan wawasan terhadap penggunaan metode leksikon berbasis ekstraksi kata kunci menggunakan Yake dan ekspansi kueri menggunakan FastText.

Tujuan

Tujuan kerja praktik ini adalah untuk meningkatkan akurasi analisis sentimen menggunakan pendekatan berbasis leksikon, yaitu ekstraksi kata kunci menggunakan Yake dan ekspansi kueri menggunakan FastText.

Manfaat

Manfaat kerja praktik ini adalah memberikan wawasan baru terhadap analisis sentimen menggunakan pendekatan berbasis leksikon dengan menggunakan ekstraksi kata kunci dan ekspansi kueri. Hasil penelitian ini diharapkan dapat meningkatkan hasil akurasi analisis sentimen dan dapat digunakan sebagai bahan pertimbangan pada penelitian yang akan datang.

Rumusan Masalah

Dari latar belakang dan tujuan yang telah ditentukan, maka dapat dirumuskan rumusan masalah, sebagai berikut:

  1. Bagaimana pengaruh ekstraksi kata kunci dan atau ekspansi kueri terhadap performa metode Lexicon-Based?

  2. Bagaimana pengaruh penambahan kamus InSet terhadap performa metode ekstraksi kata kunci dan ekspansi kueri?

Metodologi

Pada kerja praktik ini akan dibuat sebuah sistem yang dapat meningkatkan akurasi sentimen analisis menggunakan pendekatan ekstraksi kata kunci dan ekspansi kueri menggunakan Yake dan FastText. Dataset yang digunakan merupakan dua buah dataset Twitter yang telah di-scrapping dan telah dianotasi dengan sentimen positif, netral, dan negatif. Kedua dataset tersebut memiliki perbedaan karakteristik data, sehingga pada penelitian kali ini dataset tersebut dipisah, dan diberi nama dataset A (single-context imbalance) dan dataset B (multi-context balance). Kemudian dataset Twitter yang telah didapatkan akan dilakukan beberapa tahapan guna mendapatkan hasil sentimen. Adapun tahapan-tahapan yang dilakukan yakni: praproses, ekstraksi kata kunci menggunakan Yake, ekspansi kueri menggunakan FastText, penggunaan InSet, melakukan skenario praproses, melakukan skenario uji coba, serta tahapan akhir yaitu evaluasi. Pada evaluasi akan dilakukan penilaian sentimen analisis berdasarkan akurasi dan F-1 score. Adapun diagram alir mengenai metode penelitian ini dapat dilihat pada Gambar di bawah.

Dataset ini terdiri dari dataset A dan dataset B, dengan total data secara berturut-turut adalah 61.732 dan 42.692 baris data. Persebaran sentimen kedua dataset dapat dilihat pada Tabel 4.1 dan 4.2. Perlu dicermati bahwa pada dataset A terdapat ketidakseimbangan data, di mana persebaran data positif, negatif, dan netral cenderung tidak seimbang. Dalam tahap evaluasi, ketidakseimbangan data dapat memungkinkan terjadinya perbedaan akurasi yang cukup signifikan.

SentimenJumlahPersentase
Positif9.81815,90%
Netral23.07537,37%
Negatif28.83946,71%
Total61.732100%
SentimenJumlahPerbandingan
Positif12.61029,53%
Netral15.39836,06%
Negatif14.68434,39%
Total42.692100%

Persentase perbandingan sentimen positif, netral, dan negatif pada dataset A secara berturut turut adalah adalah 15,90%, 37,37%, dan 46,71%. Ini menunjukkan bahwa kecenderungan dataset A dominan pada sentimen netral dan negatif. Sedangkan pada dataset B, perbandingan sentimen positif, netral, dan negatif secara berturut turut adalah adalah 15,90%, 37,37%, dan 46,71%, di mana data ini cenderung seimbang.

Adapun contoh dataset A dan dataset B dapat dilihat pada Tabel di bawah.

No.PositifNegatifNetral
1Kualitas Anies memang di atas 2 capres lainnya. Simpel aja kok ..kita lihat saja rekam jejaknya. Lihat dari narasumber yg sahih , bukan dari buzzer .Sama dok, saya gerah juga lihat kelakuan yg jabat skrg malahan sibuk urusan copras/capres.harusnya selesaikan janjinya, tinggal 9bln lagi loo.Bolehkah oposisi menyiapkan capres? Boleh saja. Yang gak boleh merasa dicurangi sebelum bertanding.
2KPU meyakinkan tahapan demi tahapan pemilu dilakukan sesuai UU dan akan diselenggarakan tepat waktu, yakni 14 Februari 2024.Setujuu.. mereka Oligardan ingin capres bonekaa lagi....SBY mau jadi capres y?
3Contoh capres yang gak suka selfie dan posting foto di medsosNorak lu Den,...apa yang dilakukan Ganjar sudah dilakukan Anies saat jadi gubernur,nah ini Ganjar mau jadi capres,baru action biar dianggap kerjanya bagusPKB mengusung Prabowo Subianto jadi capres - ANTARA Sulawesi Utara
4punchline yg duarr banget pak capresDari pada capres anda gagal pimpin JatengUdah bisa lah jadi capres
5Antusias masyarakat Banten sambut Ganjar Pranowo capres 2024Berarti presiden sekarang sibuk nya lagi ngurus copras capres bukan ngurusin kerjasama bilateralSttment di awal, biar nnti klo gagal jadi capres gak malu..
No.PositifNegatifNetral
1Pemerintah tetap berkomitmen untuk menjalankan pemilu sesuai tahapanKita dah buat yang terbaik tapi masih tetap rasa kecewaYa Allah pengen ngakak goler-goler aku sama trit ini
2Pemilu 2024 akan tetap sesuai jadwal!Setujuu.. mereka Oligardan ingin capres boneka lagi.... 😅😅Barusan liat tulisan di belakang truk rela injek kopling demi kamu bisa shopping
3Sdhlah kamu dan anak-anak.Tak kunjungi korban gempa nanti malah merepotkan tim gabungan TNI, Polisi, AMP, Basarnas perlAku tadi nge-RT wah wah wah
4Kita buktikan aja nanti di pilpres 2024 biar gua ga pernah nyoblos pemilu tp gua yakin Anies yg akan menangWarga Donggala membantah ada penjarahan kepada Antara yang menjadi media pertama yang menemui mereka, mereka mengharapkanIzinkan aku mengupload ini
5Peluang Duet Airlangga-Puan TerbukaJokowi pembohongSama aku kapan

Kedua dataset berisi cuitan twitter yang cenderung nonformal. Adapun karakteristik lainnya pada kedua dataset ini, yaitu: terdapat singkatan-singkatan kata, bahasa inggris, dan emotikon. Secara semantik, dataset B bersifat multi-konteks. Ini memungkinkan terjadinya perbedaan akurasi antara kedua dataset.

Praproses

Semua data akan dilakukan serangkaian tindakan praproses, seperti mengonversi teks ke huruf kecil, menghilangkan mention, hashtag, nomor telepon, tautan, emotikon, tanda baca, angka, kata-kata slang, kombinasi kata, kata-kata yang tidak relevan (stopwords), pengubahan kata menjadi kata baku (stemming), dan juga diterjemahkan ke dalam bahasa Indonesia. Adapun penjelasan terkait praproses yang digunakan sebagai berikut:

  1. Mengubah menjadi huruf kecil: Dilakukan perubahan huruf kapital menjadi huruf kecil.

  2. Penghapusan mention, hashtag, nomor telepon, dan tautan: Bagian-bagian yang disebutkan tidak berkaitan dengan analisis sentimen yang dilakukan, sehingga lebih baik untuk dihapus.

  3. Penghapusan emotikon: Emotikon merupakan ilustrasi karakter yang menunjukkan ekspresi wajah, sikap, atau emosi. Namun, penggunaan emotikon tidak sepenuhnya menggambarkan sentimen dari Twitter, bahkan dapat berlawanan atau sarkasme. Oleh sebab itu, dilakukan penghapusan emotikon.

  4. Penghapusan tanda baca: tanda baca seringkali tidak membawa informasi sentimen yang signifikan pada analisis sentimen. Analisis sentimen lebih berfokus pada kata-kata, frase, atau struktur kalimat yang mengandung sentimen positif, negatif, atau netral.

  5. Penghapusan angka: Angka berupa digit umumnya digunakan untuk menyatakan tahun, nomor, dan lain-lain. Data Twitter yang digunakan dalam penelitian ini memiliki konteks yang berbeda-beda, sehingga penggunaan angka dalam analisis sentimen dapat membuat bias angka pada konteks yang berbeda.

  6. Penghapusan kata alay: Kata alay merupakan kata yang berlebihan, dan cukup sering ditemukan pada platform Twitter. Perubahan kata alay menjadi formal bertujuan untuk memproses kata bermakna sama untuk dapat diberlakukan sama, sebagai contoh kata yg dan yang.

  7. Penghapusan gabungan kata: Dalam hal ini kata gabungan sering digunakan, seperti can’t yang berarti can not. Tahapan ini berguna agar kata gabungan dapat diberlakukan sama dengan kata penyusunnya.

  8. Penghapusan stopwords: Stopwords merupakan kata dengan makna yang kurang berarti, sehingga keberadaannya tidak diperlukan. Selain itu, penghapusan stopwords juga dapat meminimalkan waktu komputasi yang diperlukan.

  9. Stemming: merupakan proses penghapusan imbuhan pada kata menjadi bentuk dasarnya. Tahapan ini berguna menghindari variasi dari kata, dan membuat kata dengan bentuk imbuhan berbeda dapat diberlakukan sama.

  10. Penerjemaan ke bahasa Indonesia: Di dalam dataset yang digunakan, terdapat beberapa cuitan berbasa bahasa Inggris dan berbahasa Indonesia, sehingga diperlukan penerjemahan.

No.Teknik PraprosesTeks
1Teks AsliMudah-mudahan kita pilih capres yang benar, partai yang benar," seru Muzani.
2Huruf Kecilmudah-mudahan kita pilih capres yang benar, partai yang benar," seru muzani.
3Penghapusan Emojimudah-mudahan kita pilih capres yang benar, partai yang benar," seru muzani.
4Penghapusan Tanda Bacamudahmudahan kita pilih capres yang benar partai yang benar seru muzani
5Penghapusan Angkamudahmudahan kita pilih capres yang benar partai yang benar seru muzani
6Penghapusan Kata-kata Alaymudahmudahan kita pilih capres yang benar partai yang benar seru muzani
7Penghapusan Gabungan Katamudahmudahan kita pilih capres yang benar partai yang benar seru muzani
8Penghapusan Stopwordsmudahmudahan pilih capres partai seru muzani
9Stemmingmudahmudahan pilih capres partai seru muzani
10Translatemudahmudahan pilih capres partai seru muzani

Ekstraksi Kata Kunci menggunakan Yake

Setelah tahap praproses data Twitter, dilakukan ekstraksi kata kunci menggunakan Yake. Ekstraksi kata kunci dilakukan terhadap sentimen positif, netral, dan negatif. Selain itu konfigurasi parameter Yake juga dilakukan guna meningkatkan performa secara optimal. Parameter Yake yang digunakan adalah ngram=1, windowSize=1, dedupLim=0.9, dedupFunc=’seqm’, dan top=100.

Pada tahap ini juga diimplementasikan Part of Speech (POS) tagging, di mana hanya kata sifat (j) dan kata kerja (v) yang akan diekstrak kata kuncinya. Adapun kata benda (n) tidak dimasukkan untuk diesktrak, karena jika dibandingkan dengan kata sifat dan kata kerja, hasilnya tidak begitu signifikan. Hal ini juga untuk mengoptimalkan agar ekstraksi kata kunci pada suatu sentimen tidak menghasilkan kata kunci di luar sentimen tersebut.

Beberapa daftar kata juga ditambahkan secara manual pada setiap sentimen agar daftar kata tersebut tidak dimasukkan ke dalam hasil ekstraksi kata kunci sentimen. Adapun contoh daftar kata yang tidak dimasukkan adalah sebagai berikut:

delete_this_keyword_neutral = [‘salah’, ‘kayak’, ‘wkwk’, …] delete_this_keyword_positive= [‘serentak’, ‘lupa’, ‘aneh’, …] delete_this_keyword_negative = [‘coba’, ‘cari’, ‘butuh’, …]

Setelah dilakukan ekstraksi, didapatkan 100 kata kunci tertinggi pada setiap sentimen. Hasil dari kata kunci yang telah diekstrak pada sentimen positif, netral, dan negatif dapat dilihat pada Gambar 4.2, 4.3, dan 4.4. Hasil tersebut merupakan hasil ekstraksi dari dataset A pada salah satu skenario uji coba.

Ekspansi Kueri Menggunakan FastText

Setelah tahap ektraksi kata kunci, selanjutnya dilakukan ekspansi untuk mendapatkan kata-kata yang similar atau mirip dengan kata yang telah diekstraksi. Model FastText yang digunakan berasal dari website resmi FastText, pada model yang digunakan sudah terdapat kosa kata bahasa indonesia lengkap yang sudah dilatih dari dataset Common Crawl dan Wikipedia, oleh karenanya dalam penelitian ini menggunakan model tersebut dan menggunakan fitur fitur ekspansi kueri yang sudah ada didalamnya seperti menampilkan kata kata yang mirip atau saling berhubungan bedasarkan nilai dari vektor kata kunci tersebut ditambah dengan proses preproses dalam pemilihan kosa kata yang akan diambil yaitu berupa kata yang tidak memiliki tanda baca. Gambar di bawah menunjukkan representasi hasil dari ekspansi kueri menggunakan FastText.

Kamus Indonesia Sentiment Lexicon (InSet)

Kamus InSet dipakai sebagai salah satu uji coba skenario. Kamus ini terdiri dari 3.610 kata positif dan 6.610 kata negatif, dengan masing-masing kata pada sentimen memiliki bobot yang berbeda-beda. Bobot pada kamus ini berkisar antara -5 sampai dengan 5, di mana minus menyatakan kata negatif dan positif menyatakan kata positif. Kamus ini akan membantu pendeteksian sentimen pada teks di dataset, di mana kata-kata yang terdeteksi akan dijumlahkan bobotnya. Pada umumnya, teks dengan jumlah bobot positif akan menjadi sentimen positif dan teks dengan jumlah bobot negatif akan menjadi sentimen negatif. Berikut pada Tabel 4.6 dan 4.7 menunjukkan beberapa contoh bobot dari masing-masing sentimen pada kamus InSet.

No.WordWeight
1terimakasih5
2promo3
3mohon2
4lebar3
5sesal-4
6pengen-2
7linu-4
8ngga-2

Skenario Uji Coba

Pada penelitian ini dilakukan tiga skema skenario uji coba. Skenario uji coba penelitian ini terdiri dari tujuh skenario praproses, lima skenario pengujian, dan tiga skenario threshold. Berikut merupakan deskripsi dari masing-masing skenario:

No.Deskripsi
1Case folding, hapus link, hapus emoji, hapus tanda baca, hapus nomor
2Case folding, hapus link, hapus emoji, hapus tanda baca, hapus nomor, hapus stopwords
3Case folding, hapus link, hapus emoji, hapus tanda baca, hapus nomor, hapus stopwords, stemming
4Case folding, hapus link, hapus emoji, hapus tanda baca, hapus nomor, hapus kata alay, hapus gabungan kata, translate
5Hapus kata alay, hapus gabungan kata, translate
6Case folding, hapus link, hapus emoji, hapus tanda baca, hapus nomor, hapus kata alay, hapus stopwords, stemming
7Case folding, hapus link, hapus emoji, hapus tanda baca, hapus kata alay, hapus stopwords, hapus gabungan kata

Pada Tabel 4.8 terdapat tujuh skenario yang berisi tahapan-tahapan praproses yang berbeda-beda. Diasumsikan bahwa tahap praproses berpengaruh terhadap nilai akurasi pada tahap evaluasi. Skenario praproses ini dimaksudkan agar mendapatkan nilai akurasi terbaik. Tahapan-tahapn praproses pada skenario mencakup case folding, hapus link, hapus emoji, hapus tanda baca, hapus nomor, hapus stopwords, stemming, hapus kata alay, hapus gabungan kata, dan translate. Adapun skenario praproses ini akan dikombinasikan dengan skenario pengujian, yaitu skenario evaluasi atau penilaian sentimen analisis.

No.Deskripsi
1Yake (-1 dan 1), FastText (-1 dan 1)
2InSet (-5 s.d. 5), Yake (-1 dan 1), FastText (-1 dan 1)
3InSet (-5 s.d. 5), Yake (-5 dan 5), FastText (-5 s.d 5)
4InSet (-5 s.d. 5) jika + ketemu + ambil paling besar, Yake (-1 dan 1), FastText (-1 dan 1)
5InSet (-1 dan 1), Yake (-1 dan 1), FastText (-1 dan 1)
6Yake (-1 dan 1)
7FastText (-1 dan 1)

Pada Tabel 4.9 dijabarkan deskripsi skenario pengujian. Skenario pengujian penting dilakukan sebagai upaya peningkatkan akurasi sentimen analisis menggunakan pendekatan ekstraksi kata kunci Yake, ekspansi kueri FastText, serta kamus InSet. Masing-masing skenario memiliki rentang bobotnya masing-masing, di mana normalnya InSet memiliki kisaran bobot -5 yang menyatakan kata negatif sampai dengan 5 yang menyatakan kata positif. Sedangkan Yake dan Fastext memiliki nilai -1 yang menyatakan kata negatif dan 1 yang menyatakan kata positif. Pada skenario pengujian dilakukan uji coba penggunaan salah satu komponen (Yake atau FastText saja), dua komponen (Yake dan FastText), atau tiga komponen (Yake, FastText, dan InSet). Masing-masing dari tiga komponen tersebut memiliki variasi bobot sentimen yang berbeda-beda.

No.Deskripsi
1Threshold netral (0)
2Threshold netral (-1 s.d 1)
3Threshold netral (-2 s.d 2)
4Threshold netral (-3 s.d 3)

Penting untuk mendefinisikan threshold netral pada penelitian ini. karena pada masing-masing tools analisis sentimen bobotnya berbeda-beda. Threshold netral dimaksudkan agar data tidak bias terhadap bobot Yake, FastText, dan InSet. Dengan begitu, diharapkan hasil ini dapat meningkatkan akurasi sentimen netral.

Skenario Uji Coba Dataset A dengan threshold netral 0

Praprosesuji1uji2uji3uji4uji5uji6uji7AVG
10,40,360,360,360,390,430,390,384
20,420,380,380,380,390,430,410,399
30,420,380,370,380,390,410,440,399
40,40,380,370,380,40,430,380,391
50,40,360,360,360,390,430,390,384
60,420,390,380,390,410,410,430,404
70,40,360,350,360,380,430,380,380
AVG0,4090,3730,3670,3730,3930,4240,4030,392

Skenario Uji Coba Dataset A dengan threshold netral -1 hingga 1

Praprosesuji1uji2uji3uji4uji5uji6uji7AVG
10,460,390,380,390,440,460,390,416
20,460,410,40,410,450,460,410,429
30,460,40,390,410,450,460,440,430
40,450,40,390,40,450,460,380,419
50,460,390,380,390,440,460,390,416
60,460,410,390,410,460,460,430,431
70,450,380,390,390,440,460,380,413
AVG0,4570,3970,3890,40,4470,460,4030,422

Skenario Uji Coba Dataset A dengan threshold netral -2 hingga 2

Praprosesuji1uji2uji3uji4uji5uji6uji7AVG
10,460,410,40,410,460,460,460,437
20,470,430,410,430,460,460,460,446
30,460,430,410,430,470,460,460,446
40,460,420,410,420,460,460,460,441
50,460,410,40,410,460,460,460,437
60,460,430,410,430,470,460,460,446
70,460,40,390,40,460,460,460,433
AVG0,4610,4190,4040,4190,4630,460,460,441

Skenario Uji Coba Dataset A dengan threshold netral -3 hingga 3

Praprosesuji1uji2uji3uji4uji5uji6uji7AVG
10,370,420,430,420,390,360,370,394
20,360,440,450,440,380,360,360,399
30,360,440,440,440,380,360,360,397
40,370,420,430,410,390,360,370,393
50,360,420,420,410,390,360,360,389
60,360,440,440,440,380,360,360,397
70,360,430,440,430,380,360,360,394
AVG0,3630,430,4360,4270,3840,360,3630,395

Pada dataset A, skenario praproses 6 memiliki nilai akurasi tertinggi di antara semua skenario praproses. Pada skenario pengujian, skenario dengan akurasi tertinggi cenderung silih berganti antara skenario pengujian 5 dan 6. Pada skenario threshold, didapatkan skenario threshold -3 s.d 3 memiliki tingkat akurasi yang paling tinggi.

Skenario Uji Coba Dataset B dengan threshold netral 0

Praprosesuji1uji2uji3uji4uji5uji6uji7AVG
10,420,40,420,40,410,430,390,410
20,430,430,440,430,420,430,390,424
30,410,430,420,420,420,430,380,416
40,410,40,410,40,410,420,380,404
50,420,40,40,40,40,430,380,404
60,410,430,430,430,420,420,380,417
70,420,430,430,420,420,420,380,417
AVG0,4170,4170,4210,4140,4140,4260,3830,413

Skenario Uji Coba Dataset B dengan threshold netral -1 hingga 1

Skenariouji1uji2uji3uji4uji5uji6uji7AVG
10,40,410,420,410,410,390,390,404
20,40,440,420,410,410,390,390,409
30,390,430,430,430,420,390,390,411
40,390,410,420,410,410,390,380,401
50,390,410,410,40,40,390,390,399
60,390,430,430,430,420,390,430,417
70,390,430,420,430,410,390,380,407
AVG0,3930,4230,4210,4170,4110,390,3930,407

Skenario Uji Coba Dataset B dengan threshold netral -2 hingga 2

Skenariouji1uji2uji3uji4uji5uji6uji7AVG
10,380,420,430,420,40,370,380,400
20,370,440,450,450,390,370,380,407
30,370,440,440,440,440,370,390,413
40,370,410,420,410,40,370,380,394
50,370,410,420,410,40,370,380,394
60,370,440,440,440,40,370,390,407
70,370,430,440,430,390,370,380,401
AVG0,3710,4270,4340,4290,4030,370,3830,402

Skenario Uji Coba Dataset B dengan threshold netral -3 hingga 3

Skenariouji1uji2uji3uji4uji5uji6uji7AVG
10,370,420,430,420,390,360,370,394
20,360,440,450,440,380,360,360,399
30,360,440,440,440,380,360,360,397
40,370,420,430,410,390,360,370,393
50,360,420,420,410,390,360,360,389
60,360,440,440,440,380,360,360,397
70,360,430,440,430,380,360,360,394
AVG0,3630,430,4360,4270,3840,360,3630,395

Pada dataset B, skenario praproses dengan nilai akurasi tertinggi silih berganti antara skenario praproses 2, 6, dan 3. Pada skenario pengujian, skenario dengan akurasi tertinggi juga cenderung silih berganti antara skenario pengujian 6, 2, dan 3. Pada skenario threshold, didapatkan skenario threshold 0 memiliki tingkat akurasi yang paling tinggi.

Perbandingan hasil skenario dataset A dan B

Pada dataset A, terlihat jika rentang threshold semakin tinggi, maka nilai akurasi semakin tinggi. Pada dataset B, jika rentang threshold semakin tinggi, maka akurasi semakin rendah. Berikut representasi data akurasi beserta threshold pada Tabel 5.9 dan 5.10.

No.ThresholdAkurasi
100,392
2-1 s.d 10,422
3-2 s.d 20,441
4-3 s.d 30,450
No.ThresholdAkurasi
100,413
2-1 s.d 10,407
3-2 s.d 20,402
4-3 s.d 30,395

Ini mungkin terjadi karena persebaran dataset A yang imbalance, di mana sentimen netral cenderung tinggi dibandingkan dengan sentimen lainnya. Jika threshold-nya tinggi, kemungkinan prediksi netralnya juga akan tinggi. Dengan demikian ini menjelaskan bahwa mengapa threshold tinggi menyebabkan akurasi tinggi pada dataset B. Sedangkan pada dataset B, persebaran data sentimennya cenderung balance. Dengan demikian, jika threshold-nya semakin tinggi, maka maka probabilitas prediksi netralnya juga akan tinggi. Oleh karena itu, pada dataset B, threshold yang tinggi dapat menyebabkan akurasi yang semakin rendah.

SkenarioSentimenYakeTotal YakeFastTextTotal FastText
1Positif591855521.719
Negatif77719
Netral49448
2Positif591855521.719
Negatif77719
Netral49448
3Positif291152781.103
Negatif56535
Netral30290
4Positif571805291.682
Negatif75705
Netral48448
5Positif591855471.711
Negatif77717
Netral49447
6Positif311192961.140
Negatif57546
Netral31298
7Positif591815471.685
Negatif74695
Netral48443
SkenarioSentimenYakeTotal YakeFastTextTotal FastText
1Positif641866011.748
Negatif75706
Netral47441
2Positif631855921.741
Negatif75706
Netral47443
3Positif341213201.153
Negatif57540
Netral30293
4Positif581835381.710
Negatif77724
Netral48448
5Positif641863111.144
Negatif75550
Netral47283
6Positif331203111.144
Negatif58550
Netral29283
7Positif581825341.692
Negatif78724
Netral46434

Pada Tabel 5.11 dan 5.12 dijabarkan jumlah hasil ektraksi dan ekspansi dengan skenario threshold 0 pada dataset A dan B. Pada skenario praproses 3 dan 6, duplikasi kata kunci yang muncul cenderung lebih banyak di antara praproses lainnya. Hal ini mengakibatkan terms yang dihasilkan cenderung lebih sedikit.

Evaluasi terhadap skenario pengujian 1 (Yake & FastText range bobot -1 dan 1) pada dataset A ditampilkan pada Tabel 5.13.

Skenario-1 (Threshold 0)0 (Threshold 0)1 (Threshold 0)Akurasi-1 (Threshold -3 s.d 3)0 (Threshold -3 s.d 3)1 (Threshold -3 s.d 3)Akurasi
10,370,470,330,40,020,630,050,46
20,520,140,280,360,020,630,040,46
30,520,130,310,360,010,630,030,46
40,520,140,270,360,010,630,060,46
50,50,280,290,390,020,630,050,46
60,30,540,340,430,020,630,030,46
70,290,510,260,390,010,630,060,46

Data yang disajikan pada Tabel 5.13 menunjukkan bahwa akurasi saja tidak bisa menjadi tolak ukur suatu skenario dikatakan baik dalam memprediksi sentimen. Dapat dilihat bahwa pada threshold -3 s.d 3 F-1 score yang dihasilkan pada prediksi -1, 0, dan 1, berturut-turut, adalah 0,02, 0,63, dan 0,05. Ini menunjukkan perbedaan yang signifikan terhadap threshold 0, di mana prediksi -1, 0,, dan 1, berturut-turut, adalah 0,37, 0,47, dan 0,33. Pada threshold -3 s.d 3 prediksi senitmen yang benar cenderung tidak seimbang jika dibandingkan dengan threshold 0. Data F-1 score yang ditunjukkan membuktikan bahwa dengan threshold tinggi maka sebagian besar prediksi akan jatuh pada sentimen netral. Threshold -3 s.d 3 tidak selaras dengan skenario pengujian 1, di mana bobot ekstraksi dan ekspansi hanya berkisar antara -1 dan 1 (Yake dan FastText). Oleh karena itu F-1 Score pada threshold netral -3 s.d 3 pada pengujian 1 sangat baik dalam memprediksi sentimen netral, tetapi sangat buruk dalam memprediksi sentimen negatif dan positif.

Selain itu, performa pada masing-masing skenario berkaitan dengan jumlah sentimen positif, netral, dan negatif pada Yake, FastText, dan InSet. Gambar di atas menunjukkan confusion matrix pada dataset A skenario praproses 1, prediksi 1, dan threshold 0 dengan jumlah sentimen positif, negatif, dan netral, berturut-turut, adalah 552, 719, dan 448 (Tabel 5.11). Hasil dari confusion matrix akan memiliki kecenderungan memprediksi sentimen negatif. Ini disebabkan karena terms yang dihasilkan pada proses Yake dan FastText lebih banyak terms dengan sentimen negatif.

Sebagai perbandingan, disajikan pula Gambar di bawah berupa confusion matrix pada dataset A, praproses 1, prediksi 1, dan threshold -3 s.d 3. Meskipun jumlah sentimen yang dihasilkan Yake dan FastText sama seperti threshold 0 pada Gambar di bawah, tetapi pada threshold -3 s.d 3, confusion matrix yang dihasilkan akan cenderung berpusat pada sentimen netral. Jatuhnya sebagian besar prediksi pada sentimen netral disebabkan karena penggunaan threshold -3 s.d 3.

Kesimpulan

Kesimpulan yang didapat setelah melaksanakan beberapa skenario ektraksi kata kunci Yake, ekspansi kueri FastText, dan kamus Inset adalah sebagai berikut:

  1. Ekstraksi kata kunci dan ekspansi kueri dapat meningkatkan dan mengurangi nilai akurasi sentimen dan F1-Score. Berdasarkan penelitian ini, hal ini bergantung terhadap dua faktor, yakni:
  • Threshold netral yang digunakan: Pada penelitian ini normalnya hasil kata kunci Yake dan ekspansi kueri FastText yang dihasilkan memiliki bobot 1 (positif) atau -1 (negatif), dengan tersebut threshold yang pantas digunakan adalah 0. Hal ini disebabkan karena bobot yang digunakan pada hasil kueri relatif kecil, maka threshold yang digunakan sebaiknya memiliki range yang kecil.
  • Banyaknya kueri yang dihasilkan: Pada penelitian ini banyaknya kueri sangat berpengaruh terhadap hasil sentimen. Seandainya hasil kueri yang dihasilkan lebih banyak terhadap sentimen negatif, maka prediksi sentimen yang dihasilkan akan cenderung memprediksi sentimen negatif. Pada penggunaan Yake dan atau FastText, dengan juga mempertimbangkan F-1 Score, didapatkan skenario terbaik pada dataset A dan dataset B, berturut-turut adalah, 0,44 (menggunakan FastText saja, threshold netral 0) dan 0,43 (menggunakan Yake saja, threshold netral 0).
  1. Penggunaan kamus InSet dapat meningkatkan dan menurunkan akurasi sentimen. Hal ini bergantung terhadap threshold netral dan banyaknya sentimen pada kamus InSet.
  • Thershold netral yang pantas digunakan pada percobaan kamus InSet adalah -2 s.d 2 atau -3 s.d 3, sebab bobot pada kamus InSet cenderung relatif besar yakni -5 s.d 5. Perlu diketahui juga bahwa pada kamus InSet memiliki kueri sentimen negatif 2x lebih banyak dibandingkan sentimen positif. Maka dengan menggunakan kamus InSet dapat dipastikan bahwa kecenderungan data prediksi akan berada pada sentimen negatif.

  • Pada penggunaan InSet, dengan juga mempertimbangkan F-1 Score, didapatkan skenario terbaik pada dataset A dan dataset B, berturut-turut adalah, 0,47 (menggunakan InSet, Yake, dan FastText, threshold netral -2 s.d. 2) dan 0,45 (menggunakan InSet, Yake, dan FastText, threshold netral -2 s.d. 2).

Saran

Saran untuk penggunaan ekstraksi kata kunci dan ekspansi kueri sebagai analisis sentimen:

  1. Mempertimbangkan penggunaan skenario uji coba parameter model ekstraksi kata kunci Yake dan ekspansi kueri FastText.
  2. Mempertimbangkan penggunakan nilai threshold netral yang sesuai dengan bobot yang digunakan.
  3. Mempertimbangkan penggunakaan skenario menggunakan kamus lexicon lain, selain InSet. Sebab kamus InSet memiliki sentimen negatif 2x lebih banyak daripada sentimen positif.

Daftar Pustaka

Amien, M. (2023). Sejarah dan Perkembangan Teknik Natural Language Processing (NLP) Bahasa Indonesia. TINJAUAN TENTANG SEJARAH, PERKEMBANGAN TEKNOLOGI, DAN APLIKASI NLP DALAM BAHASA INDONESIA. Jurnal Mediapsi.

Annur, Cindy Mutia. (2023). Jumlah Pengguna Twitter di Indonesia Capai 14,75 Juta per April 2023, Peringkat Keenam Dunia. https://databoks.katadata.co.id/datapublish/2023/05/31/jumlah-pengguna-twitter-di-indonesia-capai-1475-juta-per-april-2023-peringkat-keenam-dunia

CHHOEUN, Tola. (2023, Maret 14). What are some common challenges or pitfalls of lexicon-based sentiment analysis. Linkedin. https://www.linkedin.com/advice/1/what-some-common-challenges-pitfalls-lexicon-based.

Fasttext. (2022). Word Vectors for 157 Languages. https://fasttext.cc/docs/en/crawl-vectors.html

Fasttext. (2022). FastText Library for Efficient Text Classification and Representation Learning. https://fasttext.cc/

Fasttext. (2022). Word Representations. https://fasttext.cc/docs/en/unsupervised-tutorial.html

Flores, Veronica & Jasa, Lie & Linawati, Linawati. (2020). Analisis Sentimen untuk Mengetahui Kelemahan dan Kelebihan Pesaing Bisnis Rumah Makan Berdasarkan Komentar Positif dan Negatif di Instagram. Majalah Ilmiah Teknologi Elektro. 19. 49. 10.24843/MITE.2020.v19i01.P07.

INESCTEC. (2023). YAKE!. https://www.inesctec.pt/en/technologies/yake#

Koto, Fajri & Rahmaningtyas, Gemala. (2017). InSet Lexicon: Evaluation of a Word List for Indonesian Sentiment Analysis in Microblogs. 10.1109/IALP.2017.8300625.

LIAAD. (2018). Yet Another Keyword Extractor (YAKE). https://liaad.github.io/yake/

Prakash, T. N., & Aloysius, A. (2021). Lexicon Based Sentiment Analysis (LBSA) to Improve the Accuracy of Acronyms, Emoticons, and Contextual Words. Society of Statistics, Computer and Applications,(Accepted-Forthcoming).

Turing. How Does Natural Language Processing Function in AI?. https://www.turing.com/kb/natural-language-processing-function-in-ai

Xhymshiti, Meriton. (2020). Domain independence of Machine Learning and lexicon based methods in sentiment analysis. https://essay.utwente.nl/81995/

Ditulis oleh Gaudhiwaa Hendrasto dan Izzati Mukhammad