p-ISSN : 2460-3562 / e-ISSN : 2620-8989

## Perbandingan Metode Word2vec Model Skipgram pada Ulasan Aplikasi Linkaja menggunakan Algoritma Bidirectional LSTM dan Support Vector Machine
Puji Ayuningtyas a1 , Henri Tantyoko a2
a Program Studi Teknik Informatika, Institut Teknologi Telkom Purwokerto Jalan D.I. Panjaitan No. 128, Kecamatan Purwokerto Selatan, Purwokerto, Kabupaten Banyumas, Jawa Tengah.
1 20102122@ittelkom-pwt.ac.id
2 henri@ittelkom-pwt.ac.id

## Abstrak
Word embedding adalah langkah pemrosesan kata yang bertujuan memetakan setiap kata ke dalam bentuk vektor. Salah  satu  jenis  word  embedding  yang  sering  digunakan  dalam  penelitian  pemrosesan  bahasa  alami  yaitu Word2Vec. Pemilihan algoritma yang tepat dapat membantu meningkatkan performa metode word embedding dalam melakukan tugasnya pada klasifikasi data teks. Penelitian bertujuan untuk mengetahui hasil kinerja word embedding metode Word2Vec ketika diimplementasikan dalam algoritma deep learning dan machine learning. Pada  penelitian  ini  menggunakan  algoritma  deep  learning  Bidirectional  LSTM  dan  algoritma  machine  learning Support Vector Machine (SVM). Pengumpulan data dilakukan menggunakan metode crawling dengan mengakses id  Aplikasi  LinkAja  di  Google  Play  Store.  Dataset  yang  dikumpulkan  sebanyak  35560  baris.  Pelabelan  data dilakukan dengan membagi ke dalam 2 kelas target yaitu kelas positif (score 1) dan kelas negatif (score 0). Pada tahap vektorisasi, penelitian ini menggunakan metode Word2Vec dengan arsitektur skipgram. Terdapat 4 (empat) parameter  yang  digunakan,  yaitu  vector  size,  window,  min  count,  dan  sg.  Arsitektur  Bidirectional  LSTM menggunakan  model  sequential  dengan  menambahkan  3  lapisan  neural  network,  yaitu  lapisan  embedding, bidirectonal, dan dense. Sedangkan arsitektur SVM menggunakan parameter kernel Radial Basis Function (RBF). Untuk tahap akhir pengujian algoritma didapatkan hasi akurasi algoritma bidirectional LSTM (BiLSTM) sebesar 0.9505 yang artinya lebih tinggi dari algoritma support vector machine (SVM) dengan nilai akurasi 0.93.
Kata kunci: Bidirectional LSTM, Skipgram, Support Vector Machine, Word2Vec

## Comparison of the Word2vec Skipgram Model Method Linkaja Application Review using Bidirectional LSTM Algorithm and Support Vector Machine

## Abstract
Word  embedding  is  a  phase  in  word  processing  that  seeks  to  convert  each  word  into  a  vector  representation. Word2Vec  is  a  sort  of  word  embedding  that  is  frequently  utilized  in  natural  language  processing  research. Choosing the proper algorithm can help increase the performance of the word embedding method while doing text data  categorization  tasks.  This  research  uses  the  Bidirectional  LSTM  deep  learning  algorithm  and  the  Support Vector Machine (SVM) machine learning algorithm. The crawling approach was used to obtain data by accessing the LinkAja Application ID on the Google Play Store. The total number of rows in the dataset was 35560. Labeling data involves categorizing it into two target classes: positive (score 1) and negative (score 0). This study employs the  Word2Vec  approach  with  skipgram  architecture  during  the  vectorization  stage.  Vector  size,  window,  min count, and sg are the four parameters employed. The bidirectional LSTM architecture employs a sequential model that  consists  of  three  neural  network  layers:  embedding,  bidirectional,  and  dense.  In  the  meanwhile,  the  SVM architecture employs the Radial Basis Function (RBF) kernel parameters. For the final stage of algorithm testing, the  accuracy  of  the  bidirectional  LSTM  (BiLSTM)  algorithm  was  0.9505,  which  means  it  was  higher  than  the support vector machine (SVM) algorithm with an accuracy value of 0.93.
Keywords: Bidirectional LSTM, Skipgram, Support Vector Machine, Word2Vec

## I. P ENDAHULUAN
Natural  Language  Processing (NLP)  atau  pemrosesan bahasa  alami  merupakan  cabang  ilmu  dalam  kecerdasan buatan  yang  memungkinkan  komputer  dapat  menelaah, memahami, dan mengolah data teks [1]. Dalam melakukan penelitian terkait NLP, yang harus dilakukan di awal adalah tahap  mengumpulkan  data  ( collecting  data ),  memahami data  ( data  understanding ),  dan  pembersihan  data  ( data preprocessing ).  Selanjutnya,  setelah  pembersihan  data terdapat  tahapan  penting  yaitu word  embedding .  Tahap word  embedding dapat  memengaruhi  hasil  penelitian terkait  klasifikasi  data  teks.  Hal  ini  selaras  dengan penelitian yang dilakukan oleh [2] dengan membandingkan 3 (tiga) metode word embedding yaitu Glove, Word2Vec, dan  FastText  didapatkan  hasil  akurasi yang  berbeda pada setiap metode. Word2Vec memiliki akurasi sebesar 92.5%, Glove sebesar 95.8%, dan FastText sebesar 97.2%.
Word embedding adalah langkah pemrosesan kata yang bertujuan  memetakan  setiap  kata  ke  dalam  bentuk  vektor [3].  Salah  satu  jenis  word  embedding  yang  sering digunakan dalam penelitian pemrosesan bahasa alami yaitu Word2Vec.  Word2Vec  menggunakan  dasar  model  deep learning  yaitu  jaringan  syaraf  tiruan  dalam  pembentukan vektor matriks. Word2Vec pertama kali dibuat pada tahun 2013  oleh  Google.  Penelitian  terkait  Word2Vec  salah satunnya yang dilakukan oleh [4] dengan membandingkan 2 model Word2Vec yaitu CBoW dan SkipGram.
Klasifikasi  data  teks  merupakan  suatu  metode  yang dilakukan  untuk  mengelompokkan  data  teks  berdasarkan kategori  tertentu  yang  sebelumnya  telah  dilakukan pelatihan  ( training ) [5]. Proses klasifikasi data teks  dapat dilakukan dengan menggunakan machine learning dan/atau deep learning.  Seperti yang dilakukan pada penelitian  [6] yang  membandingkan  kinerja  algoritma  deep  learning Recurrent Neural Network (RNN) dan  algoritma machine learning Naïve Bayes. Dalam penelitian tersebut dijelaskan bahwa  RNN  memberikan  hasil  akurasi  yang  lebih  tinggi dibandingkan Naïve Bayes.
Pemilihan  algoritma  yang  tepat  dapat  membantu meningkatkan  performa  metode word  embedding dalam melakukan tugasnya pada klasifikasi data teks. Penggunaan algoritma deep learning cenderung memberikan hasil yang lebih  baik  daripada  machine  learning  [7].  Namun  ketika dikombinasikan  dengan  metode word  embedding yang kurang  tepat,  maka  akan  memberikan  hasil  akurasi  yang kurang optimal.  Hal ini selaras dengan penelitian [8], [9]. Dalam  2  (dua)  penelitian  tersebut,  performa  algoritma machine  learning  lebih  optimal  dibandingkan  algoritma deep  learning  ketika  keduanya  dikombinasikan  dengan word embedding TF-IDF.
Berdasarkan  referensi  yang  sudah  jabarkan,  maka penulis  melakukan  penelitian  yang  bertujuan  untuk mengetahui  hasil  kinerja word  embedding metode Word2Vec  ketika  diimplementasikan  dalam  algoritma deep  learning  dan  machine  learning.  Pada  penelitian  ini menggunakan algoritma deep learning Bidirectional LSTM dan  algoritma  machine  learning  Support  Vector  Machine (SVM).  Algoritma  Bidirectional  LSTM  adalah  algoritma yang  menggabungkan  antara  Bidirectional  RNN  dan LSTM [10]. Sedangkan algoritma Support Vector Machine
merupakan  algoritma  machine  learning  yang  bekerja dengan  cara  menempatkan  hyperplane  di  tempat  yang paling  signifikan  diantara  2  kelas.  SVM  tepat  digunakan untuk data yang besar dan memiliki banyak dimensi [9].

## II. M ETODOLOGI
Metode penelitian secara garis besar disusun sebanyak 6 tahap, yaitu tahap pengumpulan data, pra pemrosesan data, vektorisasi, pelabelan data, klasifikasi, dan evaluasi.
Gambar 1. Alur penelitian
Dari yang terlihat pada Gambar 1, masing-masing tahap dijelaskan secara lebih detail pada subbab selanjutnya.

## A. Pengumpulan Data
Pengumpulan data merupakan tahap awal dari rangkaian penelitian.  Pengumpulan  data  dilakukan  dengan  cara crawling  data.  Crawling  data  adalah  pengumpulan informasi/data  yang  diambil  dari  website  atau  forum diskusi  dari  media  sosial  [11].  Crawling  data  pada penelitian  ini dilakukan pada platform  Google  Play  Store dengan  pengambilan  data  sebanyak  35560  baris  dan  11
kolom. Parameter yang digunakan antara lain language atau bahasa,  country  atau  negara,  sort  atau  pengurutan,  count atau  jumlah  data  yang  akan  diambil,  dan  filter  terhadap score atau rating yang diambil.
Setelah  mendapatkan  data,  kemudian  masuk  tahap splitting data. Splitting data digunakan untuk memilih dan menyeleksi kolom mana saja yang akan digunakan dalam penelitian,  dan  membuang  kolom  yang  tidak  diperlukan. Tahap  terakhir  yang  dilakukan  pada  pengumpulan  data adalah  drop  data  duplicates,  yaitu  membuang  baris  data yang memiliki duplikat atau baris komentar yang sama.

## B. Prapemrosesan Data
Dataset  yang  telah  didapatkan  disebut  data  mentah, karena  belum  melalui  tahap  pemrosesan  data.  Langkah awal  sebelum  dilakukan  pemrosesan  data,  dalam  NLP disebut  prapemrosesan  data  ( data  preprocessing ).    Tahap preprocessing  data secara  general  terbagi  menjadi  6 (enam),  yaitu cleaning  data,  case  folding,  tokenizing, slangword removal, stopword removal, dan stemming . Cleaning  data adalah  proses  untuk  menghapus  tanda baca, username, hastags, karakter khusus, emoji, dan URL [12], [13]. Case folding adalah proses mengubah seluruh kalimat pada dataset menjadi huruf kecil atau non-kapital (lowercase),  atau  huruf  kapital  ( uppercase )  [14]. Tokenisasi ( tokenizing) adalah tahap untuk memecah tiap kalimat  menjadi  kata  (yang  disebut  sebagai  token)  dan disimpan  kedalam  bentuk  array  [15].  Tahap  slangword removal  adalah  tahap  yang  bertujuan  mengganti  dengan kata  yang  telah  distandarisasi  oleh  KBBI  atau menghilangkan  kata  gaul  (slang)  [16].  Kata  gaul  dalam Bahasa  Indonesia  antara  lain sih,  dong,  deh ,  dan  yang lainnya. Stopword removal yaitu proses penghapusan kata yang  memiliki  makna  ganda,  atau  yang  tidak  memiliki makna  yang  dapat  memengaruhi  hasil  klasifikasi  secara signifikan  [17].  Stemming  adalah  tahap  untuk  mengubah kata berimbuhan (awalan dan akhiran) menjadi kata dasar, misalnya kata “mengambilkan” akan diubah menjadi kata dasar “ambil” [18].

## C. Pelabelan Data
Pelabelan sentimen adalah tahap memberikan satu kelas target  atau  kelas  data  dengan  tujuan  untuk  mengetahui kelompok  kelas  dari  pendapat/opini  seseorang  terhadap suatu  peristiwa  [19].  Pengelompokan  data  yang  umum digunakan  adalah  positif,  netral,  negatif  [20]  atau  hanya menggunakan  2  kelas  yaitu  positif  dan  negatif  [21]. Penetapan  jumlah  kelas  data  bergantung  pada  tujuan penelitian yang akan dilakukan.

## D. Vektorisasi Word2Vec
Vektorisasi merupakan tahap dimana susunan teks akan diubah menjadi bentuk vektor yang berisi angka. Salah satu metode  vektorisasi  yang  dapat  digunakan  adalah Word2Vec.  Word2Vec  dapat  merepresentasikan  kata menjadi sebuah vektor dengan besar embedding size yang sudah ditentukan [22]. Dalam teorinya, Word2Vec dibagi menjadi 2 macam, yaitu model skipgram dan model CBoW.
Dua  model  ini  memiliki  arsitektuur  dan  cara  kerja  yang berbeda. Pada penelitian ini menggunakan arsitektur model Skipgram.
Arsitektur  Word2Vec  model  Skipgram  dapat  dilihat pada  Gambar  2.  Cara  kerja  model  skipgram  yaitu  model akan  menggunakan kata  saat ini  ( current  word )  atau  w(t) sebagai input untuk mempelajari dan memprediksi konteks sebagai target. Skipgram mempelajari distribusi probabilitas dari kata pada kalimat dengan windows (jarak antar kata input dengan kata konteks) yang telah ditentukan.
Gambar 2 Arsitektur Word2Vec model SkipGram

## E. Learning Model
1) Bidirectional Long Sort-Term Memory (BiLSTM)
Bidirectional  LSTM  (BiLSTM)  memiliki  bentuk arsitektur saraf berulang, yang melibatkan dua jenis LSTM dengan arah berlawanan yaitu LSTM saraf maju (forward) dan  LSTM saraf mundur (backward) [23]. Sehingga, cara kerja  BiLSTM  yaitu  dengan  menggabungkan  dua hidden state ( hidden  state  forward dan hidden  state  backward ) menjadi final  state .  Arsitektur  Bidirectional  LSTM  dapat dilihat pada Gambar 3.
Gambar 3 Arsitektur Bidirectional LSTM [24]
2) Support Vector Machine (SVM)
Algoritma Support Vector Machine (SVM) adalah salah satu algoritma klasifikasi yang memiliki cara kerja mencari hyperplane terbaik. Istilah hyperplane pada SVM merujuk pada  garis  pemisah  antar  kelas  target  [25].  Sedangkan istilah margin merujuk pada jarak antara garis hyperplane dengan data terdekat di masing-masing kelas (kelas positif dilambangkan  dengan  angka  +1,  dan  kelas  negative
dilambangkan dengan angka -1). Data dengan jarak paling dekat  dengan hyperplane disebut support  vector [25] . Persamaan SVM dapat dilihat pada rumus [26]: 𝑤. 𝑥 + 𝑏 = 0 Dengan keterangan : w = parameter hyperplane yang dicari x = titik data input pada algoritma SVM b = nilai bias Arsitektur SVM dapat dilihat pada Gambar 4.
Gambar 4 Arsitektur Support Vector Machine [27]

## F. Model Evaluation
Evaluasi  matriks  bertujuan  melakukan  penilaian  hasil pengujian  model  terhadap  data  uji  yang  belum  pernah dilatih  pada  model.  Pada  penelitian  ini,  hasil  pengujian menunjukkan bagaimana performa metode word embedding  Word2Vec  model  skipgram  ketika  diterapkan pada  algoritma  machine  learning  dan  deep  learning. Evaluasi  klasifikasi  menggunakan  metode  perhitungan akurasi dengan rumus :
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑗𝑢𝑚𝑙𝑎ℎ 𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑏𝑒𝑛𝑎𝑟 𝑗𝑢𝑚𝑙𝑎ℎ 𝑠𝑒𝑙𝑢𝑟𝑢ℎ 𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑋 100%

## III. H ASIL DAN P EMBAHASAN

## A. Pengumpulan Data
Pengumpulan  data  dilakukan  menggunakan  metode crawling dengan mengakses id Aplikasi LinkAja di Google Play  Store.  Dataset  yang  dikumpulkan  berukuran  35560 baris dan 11 kolom. Splitting data dilakukan dengan hanya mengambil  kolom-kolom  yang  akan  digunakan  untuk proses  klasifikasi  teks.  Terdapat  2  (dua)  kolom  yang digunakan,  yaitu  kolom  content  dan  score.  Sehingga dataset setelah proses splitting data berukuran 35560 baris dan 2 kolom. Selanjutnya, dilakukan pengecekan terhadap data duplikat. Dalam dataset ini, terdapat 80 data duplikat dan  kemudian  dilakukan  penghapusan  data  duplikat. Sehingga didapatkan dataset berukuran 35480 baris dan 2 kolom.
TABEL I D ATASET YANG DIGUNAKAN No Content Score
1 Aplikasi  aneh,  suruh  upgrade  tapi  sampai skrg  ga  ada  perubahan  atau  masih  dalam proses  padahal  udah  lebih  dari  4x24  jam, padahal  niat  isi  saldo  buat  bayar  kuliah  eh ternyata  sama  aja  sulit.  Mohon  ditingkatkan dan  di  proses  lebih  cepat,  gara  gara  kendala
1
ini akun gabisa diapa""in mau tf uang gabisa hadehhhh,  tolong  ditingkatkan  sesegera mungkin
2 Dompet digital yang mudah sekali digunakan, fitur  yang  ada  juga  lengkap  mulai  dari telekomunikasi, transportasi, hiburan, beli/bayar tagihan dan banyak lagi 5

## B. Pra Pemrosesan Data
Tahap  pra  pemrosesan  data  dimulai  dari  pembersihan data dari karakter yang tidak berguna, seperti angka, tanda baca,  emoji  dan  yang  lainnya.  Seperti  yang  dapat  dilihat dalam tabel 2, hasil setelah cleaning data tidak ada angka dan tanda baca.
TABEL III
H ASIL C LEANING D ATA
Sebelum Cleaning Data Setelah Cleaning Data
Aplikasi aneh, suruh upgrade tapi sampai  skrg  ga  ada  perubahan atau masih dalam proses padahal udah lebih dari 4x24 jam, padahal niat isi saldo buat bayar kuliah eh ternyata sama aja sulit.
Aplikasi aneh  suruh upgrade tapi sampai  skrg  ga  ada  perubahan atau masih dalam proses padahal udah  lebih dari   x   jam   padahal niat isi saldo buat bayar kuliah eh ternyata sama aja sulit
Tahap  kedua  yaitu  case  folding  yang  bertujuan mengubah  seluruh  huruf  menjadi  satu  keseragaman lowercase.  Seperti  yang  dapat  dilihat dalam  tabel  3,  hasil setelah case folding tidak ada huruf kapital pada kalimat.
TABEL III H ASIL C ASE F OLDING

## Sebelum Case Folding Setelah Case Folding
Aplikasi aneh  suruh upgrade tapi sampai  skrg  ga  ada  perubahan atau masih dalam proses padahal udah  lebih dari   x   jam   padahal niat isi saldo buat bayar kuliah eh ternyata sama aja sulit
aplikasi aneh  suruh upgrade tapi sampai  skrg  ga  ada  perubahan atau masih dalam proses padahal udah  lebih dari   x   jam   padahal niat isi saldo buat bayar kuliah eh ternyata sama aja sulit
Setelah  semua  kalimat  menjadi  lowercase,  masuk  ke tahap  ketiga  yaitu  tokenizing  yang  bertujuan  memecah kalimat  menjadi  satuan  kata.  Seperti  yang  dapat  dilihat dalam tabel 4, hasil setelah tokenizing adalah  satuan kata yang tersimpan pada array.
TABEL IV H ASIL T OKENIZING
Sebelum Tokenizing
Setelah Tokenizing aplikasi  aneh  suruh upgrade  tapi sampai  skrg  ga  ada  perubahan atau masih dalam proses padahal udah lebih dari x jam padahal niat isi  saldo  buat  bayar  kuliah  eh ternyata sama aja sulit ['aplikasi', 'aneh', 'suruh', 'upgrade',  'tapi',  'sampai',  'skrg', 'ga',  'ada',  'perubahan',  'atau', 'masih', 'dalam', 'proses', 'padahal', 'udah', 'lebih', 'dari', 'x', 'jam', 'padahal', 'niat', 'isi', 'saldo', 'buat', 'bayar', 'kuliah', 'eh', 'ternyata', 'sama', 'aja', 'sulit']
Setelah  mendapatkan  data  token,  kemudian  ke  tahap keempat  yaitu  slangword  removal  yang  berfungsi mengubah  kata  gaul  menjadi  kata  yang  sesuai  dengan KBBI.  Seperti  yang  dapat  dilihat  dalam  tabel  5,  hasil setelah  slangword  removal  misalnya  kata  ‘skrg’  menjadi ‘sekarang’, ‘ga’ menjadi ‘tidak’, ‘aja’ menjadi ‘saja’, dan ‘udah’ menjadi ‘sudah’.
TABEL V H ASIL S LANGWORD R EMOVAL
Sebelum Slangword Removal Setelah Slangword Removal
['aplikasi', 'aneh', 'suruh', 'upgrade',  'tapi',  'sampai',  'skrg',
'ga',  'ada',  'perubahan',  'atau',
'masih',
'dalam', 'proses',
'padahal', 'udah', 'lebih', 'dari', 'x',
'jam', 'padahal', 'niat', 'isi', 'saldo', 'buat', 'bayar', 'kuliah', 'eh', 'ternyata', 'sama', 'aja', 'sulit'] ['aplikasi', 'aneh', 'suruh', 'meningkatkan',  'tapi',  'sampai', 'sekarang', 'tidak', 'ada', 'perubahan', 'atau', 'masih', 'dalam', 'proses', 'padahal', 'sudah', 'lebih', 'dari', 'jam', 'padahal', 'niat', 'isi', 'saldo', 'buat', 'bayar', 'kuliah', 'ternyata', 'sama',
'saja', 'sulit']
Masuk  ke  tahap  kelima  yaitu  stopword  removal  yang berfungsi menghilangkan kata yang tidak penting atau yang Ketika dihapus tidak merubah makna kalimat. Seperti yang dapat dilihat dalam tabel 6, hasil setelah stopword removal banyak kata yang dihilangkan misalnya kata ‘tapi’, ‘buat’, dan ‘saja’.
TABEL VI H ASIL S TOPWORD R EMOVAL Sebelum Stopword Removal Setelah Stopword Removal ['aplikasi', 'aneh', 'suruh',
'meningkatkan',  'tapi',  'sampai',
'sekarang',
'tidak', 'ada', 'perubahan', 'atau', 'masih', 'dalam', 'proses', 'padahal', 'sudah', 'lebih', 'dari', 'jam', 'padahal', 'niat', 'isi', 'saldo', 'buat',
'bayar', 'kuliah', 'ternyata', 'sama',
'saja', 'sulit']
['aplikasi', 'aneh', 'suruh', 'meningkatkan', 'perubahan', 'proses', '', 'jam', 'niat', 'isi', 'saldo', 'bayar', 'kuliah', 'sulit']
Masuk ke tahap keenam yaitu stemming yang berfungsi mengubah  kata  berimbuhan  menjadi  kata  dasar.  Seperti yang  dapat  dilihat  dalam  tabel  7,  hasil  setelah  stemming mengubah  kata  ‘meningkatkan’  menjadi  ‘tingkat’,  dan ‘perubahan’ menjadi ‘ubah’.
TABEL VIIII H ASIL S TEMMING Sebelum Stemming
Setelah Stemming
['aplikasi', 'aneh', 'suruh', 'meningkatkan', 'perubahan', 'proses',  'jam',  'niat',  'isi',  'saldo', 'bayar', 'kuliah', 'sulit'] ['aplikasi', 'aneh', 'suruh', 'tingkat',  'ubah',  'proses',  'jam', 'niat', 'isi', 'saldo', 'bayar', 'kuliah', 'sulit']
Setelah  melakukan  beberapa  tahapan  pra  pemrosesan data, didapatkan data bersih yang dapat dilihat pada tabel 8. Hasil pra pemrosesan data menjadi kalimat yang sederhana untuk memudahkan tahap pemrosesan selanjutnya.
TABEL VIII H ASIL P RA P EMROSESAN D ATA Sebelum Pra Pemrosesan Data Setelah Pra Pemrosesan Data Aplikasi aneh, suruh upgrade tapi sampai skrg ga ada perubahan atau masih dalam proses padahal udah lebih  dari  4x24  jam,  padahal  niat isi  saldo  buat  bayar  kuliah  eh ternyata sama aja sulit. aplikasi aneh suruh tingkat ubah proses  jam  niat  isi  saldo  bayar kuliah sulit

## C. Pelabelan Dataset
Setelah dataset selesai pada tahap pra pemrosesan data, kemudian  dilakukan  pengecekan  kembali  terkait  adanya data  null  atau  data  kosong.  Terdapat  4  baris  data  yang kosong,  sehingga  diperlukan  langkah  penghapusan  data kosong.  Setelah  data  kosong  dihapus,  maka  jumlah  baris data yang akan dilakukan pelabelan data sebanyak  35476
baris  dan  2  kolom.  Persebaran  label  data  dimulai  pada Tabel IX berikut,
TABEL IX H ASIL P ELABELAN D ATA Data Asli Setelah Pelabelan Score 1  sebanyak  11633  data.
Score 2  sebanyak  1720  data. Score 3  sebanyak  1481  data. Score 4  sebanyak  1196  data. Score 5 sebanyak 19450 data.
Score 0  sebanyak  14831  data. Score 1 sebanyak 20645 data.
Tabel IX, Pelabelan data dilakukan dengan membagi ke dalam 2 kelas target yaitu kelas positif ( score 1) dan kelas negatif  ( score 0).  Pengelompokan  kelas  target  ditentukan dengan  menggabungkan score 1,2,  dan  3  menjadi  kelas negatif,  sedangkan score 4  dan  5  menjadi  kelas  positif. Perbandingan jumlah label positif dan negatif dapat dilihat pada Gambar 5.
Gambar 5 Perbandingan jumlah kelas negatif dan kelas positif

## D. Vectorizer
Pada  tahap  vektorisasi,  penelitian  ini  menggunakan metode Word2Vec dengan arsitektur skipgram. Perancangan metode Word2Vec dimulai dengan memecah sebuah  kalimat  menjadi  unit  terkecil  yaitu  kata  (disebut token). Pemisahan kalimat menjadi token ini menggunakan perintah split() dan  hasil  token  akan  disimpan  dalam sebuah variabel.  Kemudian, library yang digunakan dalam pemodelan Word2Vec adalah library gensim dengan class models.Word2Vec.
Terdapat  4  (empat)  parameter  yang  digunakan,  yaitu vector size, window, min count, dan  sg. Parameter vector size  dengan vector_size=150 yang  berarti  setiap  kata akan direpresentasikan sebagai vektor dengan panjang 150. Parameter window dengan window=5 yang berarti jumlah kata maksimum yang diizinkan antara kata target dan kata konteks  sebanyak  5  kata.  Parameter  min  count  dengan min_count=1 yang berarti jumlah minimum kemunculan suatu  kata  agar  kata  tersebut  diproses  dalam  pembuatan model adalah sekali. Terakhir, parameter sg dengan sg=1 yang  berarti  menggunakan  metode  Skip-gram,  sedangkan jika sg=0 maka Continuous Bag of Words (CBOW) yang akan digunakan.
Model  yang  sudah  dibuat,  lalu  dilatih  dengan  korpus yang sudah dilakukan tokenisasi. Kemudian setelah proses
latih  selesai,  model  akan  disimpan  dengan  perintah save() dengan  ekstensi  file .model ,  dan  jika  akan digunakan  kembali  dapat  dimuat  ulang  dengan  perintah load() .

## E. Learning Model
1) Bidirectional LSTM
Sebelum  masuk  dalam  arsitektur  bidirectional  LSTM, terdapat  tahap  dimana  dataset  dilakukan  tahap  tokenisasi ulang  dan  padding.  Tokenisasi  dan  padding  diperlukan untuk  memproses  data  teks  dan  membentuk  input  yang sesuai  untuk  model.  Dengan  tokenisasi,  teks  diubah menjadi  urutan  token,  sementara  padding  memastikan bahwa semua urutan memiliki panjang yang seragam untuk keperluan pemrosesan oleh model. Setelah tahap tokenisasi ulang  dan  padding,  model  Word2Vec  yang  sudah  dilatih dan  disimpan  kemudian  dimuat  ulang  dalam  sebuah variabel.
Arsitektur  Bidirectional  LSTM  menggunakan  model sequential dengan menambahkan 3 lapisan neural network. Lapisan pertama yaitu lapisan embedding. Pada lapisan ini terdapat  parameter  masukan  jumlah  kata  unik,  dimensi vektor embedding, panjang input sequence, dan parameter yang digunakan membekukan embedding weights selama pelatihan  model,  agar  bobot  embedding  tidak  diperbarui selama pelatihan. Lapisan kedua adalah lapisan bidirectional.  LSTM  (Long  Short-Term  Memory)  adalah jenis  lapisan  yang  baik  dalam  menangani  dependensi jangka  panjang  dalam  data  sequence.  Algoritma Bidirectional LSTM memungkinkan lapisan LSTM dengan arah  maju  (forward)  dan  mundur  (backward),  sehingga dapat  membantu  model  untuk  menangkap  informasi  dari kedua  arah.  Penelitian  ini  menggunakan  lapisan  LSTM dengan  100  (seratus)  unit  dan  mengembalikan  urutan (sequence)  sebagai  output,  dan  menggunakan  output  dari lapisan  LSTM  ini  untuk  menjadi  input  untuk  lapisan berikutnya.  Lapisan  ketiga  adalah  lapisan  dense  dengan satu  neuron  dan  fungsi  aktivasi  sigmoid.  Lapisan  ini bertugas  menghasilkan  output  biner  karena  aktivasi sigmoid  menghasilkan  nilai  antara  0  dan  1,  cocok  untuk masalah klasifikasi biner.
Terakhir, dilakukan konfigurasi proses pelatihan model sebelum  program  digunakan  dalam  proses  pelatihan.  Ini melibatkan  beberapa  parameter  penting  yaitu  optimizer, loss  function,  dan  matriks  akurasi.  Pada  penelitian  ini menggunakan  algoritma  optimisasi  Adam  yang  efisien dalam menyesuaikan laju pembelajaran secara adaptif, loss function binary cross-entropy untuk tugas klasifikasi biner, dan  matriks  akurasi  untuk  mengukur  kinerja  model menggunakan metrik akurasi selama pelatihan dan evaluasi.
2) Support Vector Machine
Pada algoritma Support Vector Machine juga dilakukan pemanggilan  model  Word2Vec  untuk  digunakan  sebagai input  pada  algoritma  SVM  (Support  Vector  Machine) classifier.  Pertama,  membuat  function  untuk  pembuatan vektor  dokumen  (document  vectors).  Pada  function  ini terdapat  2  (dua)  argumen  yaitu  pemanggilan  model Word2Vec dan representasi tokenisasi dari dataset. dengan tujuan  pengecekan  kemungkinan  apabila  tidak  ada  kata
yang cocok dengan kosa kata model, fungsi mengembalikan  vektor  nol  dengan  dimensi  yang  sesuai dengan dimensi vektor dalam model Word2Vec.sebaliknya jika  ada  kata-kata  yang  cocok,  fungsi  mengembalikan vektor rata-rata dari vektor kata-kata tersebut.
Arsitektur  SVM  disusun  dengan  membuat  objek  dari kelas  SVC  (Support  Vector  Classification)  yang merupakan  implementasi  SVM  untuk  tugas  klasifikasi dalam  library  Scikit-learn,  dan  parameter  kernel  RBF menentukan  bahwa  kernel  yang  akan  digunakan  adalah Radial Basis Function (RBF) atau Gaussian kernel. Kernel ini  umum  digunakan  dalam  SVM  untuk  menangani masalah yang tidak dapat dipisahkan secara linear di ruang fitur asli. Kemudian arsitektur SVM dilatih menggunakan metode  fit,dengan  input  data  latih  yang  sudah  ditentukan sebelumnya.  setelah  dilatih,  kemudian  model  akan dilakukan  pengujian  seberapa  'benar'  model  dapat memprediksi  kelas  untuk  setiap  sampel  dalam  data pengujian.

## F. Evaluasi

## 1)
Bidirectional LSTM
Algoritma Bidirectional LSTM dilatih dengan 10 epoch dan  batch  size  64.    Memberikan  hasil  evaluasi  train  loss sebesar  0.1350,  accuracy  0.9509,  validation  loss  0.1865, dan validation accuracy sebesar 0.9313.
Gambar 6 Output Pelatihan Model BiLSTM
Gambar 7 Grafik Peningkatan Train Accuracy dan Grafik Penurunan Train Loss
2) Support Vector Machine
Pada  Gambar  9,  terlihat  bahwa  model  SVM  dapat memprediksi  kelas  negatif  dengan  benar  sebanyak  2749, dan frekuensi salah memprediksi sebanyak 146. Sedngkan untuk kelas positif, model SVM dapat memprediksi dengan benar  sebanyak  3846,  dan  frekuensi  prediksi  salah sebanyak 355.
Gambar 8 Confussion matrix Algoritma SVM
Pada  gambar  10,  dapat  dilihat  bahwa  model  SVM memiliki  akurasi  sebesar  0.93,  dengan  diikuti  oleh precision rata-rata sebesar 0.925, recall rata-rata 0.93, dan F1 score rata-rata 0.93.
Gambar 9 Classification report Algoritma SVM
Pada  gambar  11,  dapat  dilihat  bahwa  perbandingan kinerja  model  algoritma  SVM  memiliki  akurasi  sebesar 0.93, sedangkan algoritma BiLSTM sebesar 0.9505.
Gambar 10 Perbandingan akurasi SVM dan BiLSTM

## IV. K ESIMPULAN
Berdasarkan hasil dan pembahasan dari penelitian yang telah  dilakukan,  maka  dapat  ditarik  kesimpulan  bahwa word  embedding  metode  Word2Vec  dengan  model skipgram dapat bekerja dengan baik pada kedua algoritma yang  diujikan,  baik  machine  learning  maupun  deep learning.  Tetapi,  untuk  tahap  akhir  pengujian  algoritma didapatkan  hasi  akurasi  algoritma  bidirectional  LSTM (BiLSTM)  sebesar  0.9505  yang  artinya  lebih  tinggi  dari algoritma  support  vector  machine  (SVM)  dengan  nilai akurasi  0.93.  Hal  ini  selaras  dengan  penelitian  yang dilakukan oleh [28] yang juga memberikan hasil penelitian yang  sama,  bahwa  penggunaan  Word2Vec  memberikan kinerja  yang  lebih  optimal  apabila  diimplementasikan dalam algoritma deep learning dibandingkan dengan ketika di algoritma machine learning.
D AFTAR P USTAKA
[1] M.  Amien,  “Sejarah  dan  Perkembangan  Teknik Natural  Language  Processing  (NLP)  Bahasa Indonesia: Tinjauan tentang sejarah, perkembangan teknologi, dan aplikasi NLP dalam bahasa Indonesia,” Mar. 2023, [Online]. Available: http://arxiv.org/abs/2304.02746 [2] E. M. Dharma, F. Lumban Gaol, H. Leslie, H.  S. Warnars,  and  B.  Soewito,  “THE  ACCURACY COMPARISON AMONG WORD2VEC, GLOVE, AND FASTTEXT TOWARDS CONVOLUTION NEURAL NETWORK (CNN) TEXT CLASSIFICATION,” J  Theor  Appl  Inf  Technol , vol.  31,  no.  2,  2022,  [Online].  Available: www.jatit.org
[3] B.  Bramantyo,  M.  Pajar,  K.  Putra,  and  N. Hendrastuty,  “Implementasi  Recurrent  Neural Network Pada Multiclass Text Classification Judul Berita,” JURNAL MEDIA BORNEO , vol. 1, no. 1,
2023, doi: 10.58602/mediaborneo.v1i1.6.
[4] F.  Wahyu  Kurniawan  and  W.  Maharani, “Indonesian  Twitter  Sentiment  Analysis  Using Word2Vec,” 2020. [Online]. Available: http://ow.ly/ZbTB50yf0jH [5] Riza  Adrianti  Supono  and  Muhammad  Azis Suprayogi,  “Perbandingan  Metode  TF-ABS  dan TF-IDF Pada Klasifikasi Teks Helpdesk Menggunakan K-Nearest Neighbor,” Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) , vol. 5, no. 5, pp. 911–918, Oct. 2021, doi: 10.29207/resti.v5i5.3403.
[6] Merinda  Lestandy,  Abdurrahim  Abdurrahim,  and Lailis Syafa’ah, “Analisis Sentimen Tweet Vaksin
COVID-19  Menggunakan  Recurrent  Neural Network  dan  Naïve  Bayes,” Jurnal  RESTI
(Rekayasa Sistem dan Teknologi Informasi) , vol. 5, no. 4, pp. 802–808, Aug. 2021, doi: 10.29207/resti.v5i4.3308.
[7] S.  Senhadji  and  R.  A.  S.  Ahmed,  “Fake  news detection  using  naïve  Bayes  and  long  short  term memory  algorithms,” IAES  International  Journal of  Artificial  Intelligence ,  vol.  11,  no.  2,  pp.  746– 752,  Jun.  2022,  doi:  10.11591/ijai.v11.i2.pp746- 752.
[8] D.  A.  Kristiyanti  and  Sri  Hardani,  “Sentiment Analysis  of  Public  Acceptance  of  Covid-19 Vaccines  Types  in  Indonesia  using  Naïve  Bayes, Support  Vector  Machine,  and  Long  Short-Term Memory  (LSTM),” Jurnal  RESTI  (Rekayasa Sistem dan Teknologi Informasi) , vol. 7, no. 3, pp. 722–732, Jun. 2023, doi: 10.29207/resti.v7i3.4737.
[9] T.  L.  Nikmah,  M.  Z.  Ammar,  and  Y.  R.  Allatif, “Comparison of LSTM, SVM, and naive bayes for classifying sexual  harassment tweets,” Journal  of Soft Computing Exploration , vol. 3, no. 2, pp. 131– 137, Sep. 2022, doi: 10.52465/joscex.v3i2.85.
[10] G.  Xu,  Y.  Meng,  X.  Qiu,  Z.  Yu,  and  X.  Wu, “Sentiment  analysis  of  comment  texts  based  on BiLSTM,” IEEE Access , vol. 7, pp. 51522–51532, 2019, doi: 10.1109/ACCESS.2019.2909919.
[11] M.  Murnawan,  “PEMANFAATAN  ANALISIS
SENTIMEN UNTUK PEMERINGKATAN
POPULARITAS  TUJUAN  WISATA,” Jurnal Penelitian Pos dan Informatika , vol. 7, no. 2, p. 109, Dec. 2018, doi: 10.17933/jppi.2017.070203.
[12] P. Arsi and R. Waluyo, “ANALISIS SENTIMEN WACANA PEMINDAHAN IBU KOTA INDONESIA  MENGGUNAKAN  ALGORITMA
SUPPORT VECTOR MACHINE (SVM),” vol. 8,
no. 1, pp.
147–156, 2021, doi: 10.25126/jtiik.202183944.
[13] O.  I.  Gifari,  M.  Adha,  I.  Rifky  Hendrawan,  F. Freddy,  and  S.  Durrand,  “Analisis  Sentimen Review  Film  Menggunakan  TF-IDF  dan  Support Vector  Machine,” JIFOTECH  (JOURNAL  OF INFORMATION  TECHNOLOGY ,  vol.  2,  no.  1, 2022.
[14] H. P. P. Zuriel and A. Fahrurozi, “IMPLEMENTASI ALGORITMA KLASIFIKASI  SUPPORT  VECTOR  MACHINE UNTUK  ANALISA  SENTIMEN  PENGGUNA TWITTER  TERHADAP  KEBIJAKAN  PSBB,” Jurnal Ilmiah Informatika Komputer , vol. 26, no. 2, pp. 149–162, 2021, doi: 10.35760/ik.2021.v26i2.4289.
[15] M.  Işik  and  H.  Dağ,  “The  impact  of  text preprocessing on the prediction of review ratings,” Turkish  Journal  of  Electrical  Engineering  and Computer  Sciences ,  vol.  28,  no.  3.  Turkiye Klinikleri, pp. 1405–1421, 2020. doi: 10.3906/elk- 1907-46.
[16] A.  Elcholiqi  and  A.  Musdholifah,  “Chatbot  in Bahasa  Indonesia  using  NLP  to  Provide  Banking Information,” IJCCS  (Indonesian  Journal  of Computing and Cybernetics Systems) , vol. 14, no. 1, p. 91, Jan. 2020, doi: 10.22146/ijccs.41289.
[17] D. Intan Af et al. , “Pengaruh Parameter Word2Vec terhadap Performa Deep Learning pada Klasifikasi Sentimen,” vol. 6, no. 3, 2021.
[18] S.  B.  S,  D.  Khyani,  N.  N.  M,  and  D.  B.  M,  “An Interpretation of Lemmatization and Stemming in Natural  Language  Processing,”  2020.  [Online].
Available:
https://www.researchgate.net/publication/3483068
33
[19] Y. Vikriansyah Wijaya, A. Erfina, and C. Warman, “Analisis Sentimen Seputar UU ITE menggunakan Algoritma  Support  Vector  Machine,” Progresif: Jurnal  Ilmiah  Komputer  STMIK  Banjarbaru ,  vol. 17,  no.  2,  pp.  1–14,  2021,  [Online].  Available: https://databoks.katadata.co.id/
[20] R.  Rasenda,  H.  Lubis,  and  R.  Ridwan, “Implementasi  K-NN  Dalam  Analisa  Sentimen Riba Pada Bunga Bank Berdasarkan Data Twitter,” JURNAL MEDIA INFORMATIKA BUDIDARMA , vol.  4,  no.  2,  p.  369,  Apr.  2020,  doi: 10.30865/mib.v4i2.2051.
[21] W. Parasati, F. Abdurrachman Bachtiar, and N. Y. Setiawan, “Analisis Sentimen Berbasis Aspek pada Ulasan  Pelanggan  Restoran  Bakso  President
Malang  dengan  Metode  Naïve  Bayes  Classifier,” 2020. [Online]. Available: http://j-ptiik.ub.ac.id [22] J. Amalia, J. Pakpahan, M. Pakpahan, Y. Panjaitan, F.  Informatika  dan  Teknik  Elektro,  and  I. Teknologi  Del,  “Model  Klasifikasi  Berita  Palsu Menggunakan Bidirectional LSTM Dan
Word2Vec  Sebagai  Vektorisasi,” Jurnal  Teknik Informatika  dan  Sistem  Informasi ,  vol.  9,  no.  4, 2022, [Online]. Available: http://jurnal.mdp.ac.id
[23] A. Muzakir and U. Suriani, “Model Deteksi Berita Palsu  Menggunakan  Pendekatan  Bidirectional Long Short-Term Memory (BiLSTM),” Journal of Computer and Information Systems Ampera , vol. 4, no. 2, 2023, doi: 10.51519/journalcisa.v4i2.397.
[24] A.  R.  Isnain,  A.  Sihabuddin,  and  Y.  Suyanto, “Bidirectional Long Short Term Memory Method and  Word2vec  Extraction  Approach  for  Hate Speech Detection,” IJCCS (Indonesian Journal of Computing and Cybernetics Systems) , vol. 14, no. 2, p. 169, Apr. 2020, doi: 10.22146/ijccs.51743.
[25] H. N. Irmanda and R. Astriratma, “Klasifikasi Jenis Pantun  dengan  Metode  Support  Vector  Machines (SVM),” RESTI , vol. 1, no. 3, pp. 915–922, 2020.
[26] S.  Y.  Pangestu,  Y.  Astuti,  and  L.  D.  Farida, “ALGORITMA SUPPORT VECTOR MACHINE UNTUK KLASIFIKASI SIKAP POLITIK TERHADAP  PARTAI  Politik  Indonesia,” Jurnal Mantik  Penusa ,  vol.  3,  no.  1,  pp.  236–241, 2019, [Online]. Available: https://t.co/eF
[27] D.  D.  Dewi,  N.  Qisthi,  S.  Sarah,  S.  Lestari,  Z.
Hidayah,  and  S.  Putri,  “PERBANDINGAN METODE NEURAL NETWORK DAN SUPPORT VECTOR MACHINE DALAM KLASIFIKASI DIAGNOSA
PENYAKIT DIABETES,” Jurnal Ilmiah Indonesia , vol. 3, no. 9, pp. 828–839, 2023, doi: 10.36418/cerdika.xxx.
[28] N.  O.  Idris,  W.  Widyawan,  and  T.  B.  Adji, Classification of Radicalism Content from Twitter Written in Indonesian Language using Long Short Term Memory . IEEE, 2019.