Analisis Sentimen pada Ulasan Hotel dengan Fitur Score Representation dan Identifikasi Aspek pada Ulasan Menggunakan K-Modes

  

Vol. 2, No. 9, September 2018, hlm. 2777-2782 http://j-ptiik.ub.ac.id

Analisis Sentimen pada Ulasan Hotel dengan Fitur Score Representation

dan Identifikasi Aspek pada Ulasan Menggunakan K-Modes

1 2 3 Muhammad Hafiz Azhar , Putra Pandu Adikara , Yuita Arum Sari

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: hafizazhar.ub@gmail.com, adikara.putra@ub.ac.id, yuita@ub.ac.id

  

Abstrak

  Dengan meningkatnya jumlah data ulasan yang masuk, perlu dibuat sebuah sistem yang dapat melakukan klasifikasi suatu ulasan termasuk ke dalam kelas positif atau negatif. Selain itu, perlu diketahui juga ulasan tersebut cenderung membahas tentang aspek apa. Pada penelitian ini dilakukan analisis sentimen pada tingkat aspek dengan klasterisasi menggunakan fitur Bag of Nouns untuk mendapatkan aspek dan klasifikasi sentimen dengan fitur score representation untuk melakukan analisis sentimen. Dengan tipe atribut yang berupa kategoris pada fitur Bag of Nouns, untuk melakukan klasterisasi lebih cocok digunakan algoritme K-Modes. Pada klasifikasi sentimen, fitur score

  

representation digunakan untuk LVQ2 yang dapat menangani hubungan antar atribut dan dapat menjadi

  alternatif dari algoritme pembelajaran mesin yang lain. Hasil dari penelitian ini menunjukkan jumlah klaster optimal adalah 7 untuk data dengan kelas seimbang dan 5 untuk data dengan kelas tidak seimbang. Kemudian, nilai rata-rata precision, recall, dan f1-score untuk data dengan kelas seimbang memberikan hasil precision 89,2%, recall 89,13%, dan f1-score 89,12% dengan menggunakan parameter optimal. Untuk data dengan kelas tidak seimbang memberikan hasil precision 87,38%, recall 73,07%, dan f1-score 76,46% dengan menggunakan parameter optimal. Bisa disimpulkan bahwa score representation ini dapat digunakan untuk proses klasifikasi sentimen.

  Kata kunci: analisis sentimen, ulasan hotel, k-modes, jaringan saraf tiruan, LVQ2, ekstraksi fitur

Abstract

  

As the number of review is rising, there is a need to make a system that can do classify a review belong

to which class, in this case there are positive and negative classes. Furthermore, we also need to know

what aspect that commented in the review. In this research, sentiment analysis at aspect level, Bag of

Nouns feature has been used for clustering to get aspect and sentiment classification with score

representation feature to classify sentiment. With categorical attribute for Bag of Nouns feature, K-

Modes is considered capable for clustering. In sentiment classification, score representation has been

used for LVQ2 that can handle the correlation between attribute and also become alternative for another

machine learning algorithm. Based on the evaluation with Silhouette Coefficient, the optimal number

for clustering balanced data set is 7 and 5 for unbalanced data set. Based on the evaluation with

precision, recall, and f1-score, the performance of the balanced data set are 89,2% for precision,

89,13% for recall, and 89,12% for f1-score. The evaluation for unbalanced data set are 87,38% for

precision, 73,07% for recall, and 76,46% for f1-score. It can be concluded that score representation

can be used for sentiment analysis.

  Keywords: sentimen analysis, hotel reviews, k-modes, neural network, LVQ2, feature extraction

  positif akan memberikan gambaran yang bagus 1. terkait produk tersebut bagi para konsumen lain.

   PENDAHULUAN

  Ulasan yang positif juga berarti produk tersebut Dalam dunia bisnis, bagaimana pendapat bagus untuk dipertahankan, namun jika ulasan atau perasaan seorang konsumen terhadap suatu tersebut berupa hal yang negatif, bisa menjadi produk bisa menjadi sumber untuk bahan untuk evaluasi produk tersebut sehingga pengembangan bisnis. Bagi suatu perusahaan, pengembangannya bisa lebih efektif. Untuk ulasan akan produk mereka berupa hal yang membantu suatu perusahaan dalam melihat

  Fakultas Ilmu Komputer Universitas Brawijaya

2777 bagaimana sentimen masyarakat terhadap produknya, perlu adanya sistem yang dapat merangkum bagaimana arah ulasan tersebut, yaitu dengan analisis sentimen pada tingkat aspek.

  Berdasarkan data yang ada di situs TripAdvisor, HARRIS Hotel memiliki total ulasan terbanyak untuk hotel yang berada di Malang. Dengan ramainya ulasan hotel ini, orang yang ingin mencari penginapan di Malang mungkin akan menemukan HARRIS Hotel sebagai rekomendasi.

  stopwords dan juga menghilangkan karakter

  Secara umum algoritme K-Modes memiliki tahapan-tahapan dari penentuan jumlah klaster dengan memasukkan centroid awal, kemudian setiap objek dimasukkan ke dalam kelompok terdekat jaraknya dengan centroid. Jika semua objek sudah memiliki kelompok masing-masing,

  measures) dan penentuan centroid baru.

  cukup baik untuk permasalahan klasterisasi yang umum. K-Means akan bekerja pada atribut atau fitur dengan nilai numerik namun tidak pada atribut dengan tipe kategorikal (Huang, 1998). Pada K-Modes yang berbeda adalah dari segi pengukuran ketidaksamaan (dissimilarity

  unsupervised yang sederhana yang hasilnya

  K-Means merupakan algoritme

  2.3 K-Modes

  Tagging merupakan tahap untuk menandai setiap kata termasuk ke dalam kelas apa.

  selain alfabet. Untuk tokenizing adalah memisahkan setiap token atau kata. Untuk POS-

  menjadi huruf kecil. Untuk filtering, dilakukan penghilangan kata yang ada dalam daftar

  Analisis sentimen sendiri dapat dibagi ke dalam tiga tingkatan, yaitu tingkat dokumen, tingkat kalimat, dan tingkat aspek (Schouten dan Frasincar, 2015). Dalam penelitian ini akan mengambil tingkat aspek. Berdasarkan peneletian oleh Farhadloo dan Rolland (2013), mereka menggunakan fitur Bag of Nouns untuk melakukan klasterisasi dan fitur score

  tokenizing, dan POS-Tagging. Untuk case- folding dilakukan perubahan huruf kapital

  dilakukan untuk mengolah data awal agar memberikan hasil yang baik nantinya saat diproses dengan metode yang sudah dipilih. Pada tahap ini, terdapat beberapa tahapan di dalamnya, yaitu case-folding, filtering,

  2.2 Preprocessing Preprocessing merupakan tahapan yang

  Untuk aspek itu sendiri, ada yang menggunakan aspek yang sudah ditentukan sebelumnya dan ada yang dicari dengan menggunakan metode tertentu. Pada proses analisis sentimen tingkat aspek terdapat tiga tahap yang dapat dilakukan, yaitu identifikasi, klasifikasi, dan agregasi (Schouten dan Frasincar, 2015). Namun, dalam penelitian ini hanya menggunakan tahap identifikasi dan klasifikasi.

  Untuk ruang lingkup analisis sentimen sendiri, dapat terbagi ke dalam tiga tingkatan, yaitu tingkat dokumen, tingkat kalimat, dan tingkat aspek. Untuk analisis sentimen tingkat dokumen, sentimen diambil berdasarkan keseluruhan bacaan yang ada di dokumen. Kemudian, untuk analisis sentimen tingkat kalimat terdapat dua tugas, yang pertama megidentifikasi apakah kalimat tersebut termasuk subjektif atau objektif dan yang kedua adalah mengklasifikasi kalimat yang subjektif apakah positif, negatif, atau netral (Westerski, A., 2007). Terakhir, tingkatan yang akan diteliti dalam penelitian ini, yaitu analisis sentimen tingkat aspek. Pada tingkatan ini, bukan hanya menentukan bagaimana sentimennya, tetapi juga pada aspek apa sentimen tersebut ditujukan.

  dengan fitur score representation. Data yang akan diolah adalah ulasan dari HARRIS Hotel & Conventions Malang dengan Bahasa Indonesia.

  Bag of Nouns kemudian LVQ2 untuk klasifikasi

  Untuk melakukan identifikasi aspek, pada penelitian ini akan menggunakan algoritme K- Modes yang merupakan modifikasi dari K- Means. Karena atribut yang digunakan untuk klasterisasi bertipe kategoris sehingga akan lebih cocok saat menggunakan metode K-Means (Huang, 1998). Setiap klaster akan merepresentasikan aspek yang mewakili semua dokumen dalam klasternya. Untuk melakukan klasifikasi sentimen, pada penelitian ini akan menggunakan algoritme LVQ. Berdasarkan penelitian yang dilakukan oleh Jamadar dan Kakade (2015), LVQ dapat menyaingi algoritme SVM pada studi kasus deteksi tumor otak dengan memberikan akurasi yang lebih tinggi. Dengan itu dalam penelitian ini akan dilakukan analisis sentimen tingkat aspek menggunakan metode K-Modes untuk klasterisasi dengan fitur

  representation untuk melakukan klasifikasi.

2. DASAR TEORI

2.1 Analisis Sentimen Tingkat Aspek

  lakukan perhitungan untuk centroid baru dengan merepresentasikan sebuah kelas. Algoritme ini mengambil modus untuk setiap atribut pada diusulkan oleh Kohonen pada tahun 1986. setiap anggota kelompok. Ulangi Kemudian muncul varian-varian LVQ1, LVQ2, pengelompokan hingga hasil pengelompokan LVQ2.1, LVQ3, Gambar 1 adalah model tidak berubah atau nilai centroid tidak memiliki jaringan dasar dari LVQ. perubahan besar.

  Untuk mengukur jarak dalam K-Modes menggunakan dissimilarity measures seperti yang dijelaskan pada persamaan (1) dan persamaan (2).

  1( , ) = ∑ ( , ) (1)

  =1

  Dimana 0 (x = y )

  j j

  (2) ( , ) = { 1 (x ≠ y )

  j j

  2.4 Score Representations

  Merupakan model ekstraksi fitur yang diusulkan oleh Farhadloo dan Rolland (2013) yang dalam penelitian mereka dapat meningkatkan akurasi cukup signifikan . [S , S ,

  • Gambar 1. Model jaringan dasar LVQ

  T

  ] S adalah model ekstraksi fitur tersebut yang

  • Sumber: Fausett (1994) didapat dari persamaan (3). +

  = merupakan vektor dari data latih

  X S = ∑

  • ̇∈

  = kategori atau kelas target (sesuai ground

  T (3)

  truth ) untuk setiap x

  S = ∑

  ̇∈ = Vektor bobot untuk output

  wj

  = kategori atau kelas hasil pembelajaran

  Cj - S

  • ̇∈

  = ∑

  dengan melihat kepada output Satu kalimat terdiri dari tiga komponen

  || x || = Jarak Euclidean antara input dan

  • – wj
    • yaitu nilai positif ( S ), nilai netral ( S ), dan nilai bobot
      • negatif ( S ). Nilai tersebut didapat dari Langkah 0.

  penjumlahan hasil perkalian bobot setiap kata Inisialisasi vektor awal untuk bobot awal

  ( w) dengan score representation masing-masing dan inisialisasi learning rate. kata seperti pada persamaan (4). Untup bobot Langkah 1. ( w) didapat dengan mengambil jumlah

  Selama kondisi untuk berhenti belum kemunculan kata. terpenuhi, lakukan Langkah 2-6 ,

  • Langkah 2.

  s = −

  i

  Untuk setiap vektor input, lakukan Langkah (4) , 3-4 s i Langkah 3.

  =

  −

  Cari nilai || || minimum sehingga x-wj s

  • i

  =

  − +

  diambil output

  • Langkah 4.

  Untuk score representation setiap nilai Perbaharui bobot wj dengan ketentuan positif, netral, dan negatif, didapat dengan

  , (5)

  Jika T = Cj maka membagi frekuensi suatu kata pada kelasnya

  ( ) = ( ) + [ ( )]

  (positif, netral, atau negatif sesuai dengan wj baru wj lama x lama α – wj

  ,

  pelabelan manual) dengan total frekuensi kata Jika maka T ≠ Cj tersebut. wj ( baru ) = wj ( lama ) - [ x ( lama )]

  α – wj Langkah 5.

  2.5 LVQ2 .

  Pegurangan learning rate (6)

  α = α * Decα LVQ merupakan algoritme pembelajaran Langkah 6. kompetitif yang disebut sebagai SOM versi

  Tes apakah kondisi untuk berhenti supervised atau terbimbing. LVQ adalah metode terpenuhi. Kondisi untuk berhenti ini klasifikasi dimana setiap unit output bisa dengan batas jumlah iterasi atau nilai learning rate sudah terlalu kecil. Untuk versi LVQ 2 terdapat tambahan yaitu,

  • yang merupakan kelas yang berbeda

  Terdapat winning unit dan runner-up

  • runner-up

  Target kelas dari input sama dengan

  • winning unit hampir sama dengan bobot untuk kelas runner-up. Hal ini bisa diketahui jika memenuhi kedua syarat berikut,

  Jarak input dengan bobot untuk kelas

  ⅆ

  (7) > 1 −

  ⅆ

  dan

  ⅆ

  < 1 +

  ⅆ

  Jika kondisi diatas terpenuhi maka, bobot akan diperbaharui dengan ketentuan,

  (baru) = (lama) - [ (lama)]

  w win w win x

  • – w win

  α

  wr unnerup w runnerpup x α

  • – (baru) = (lama) + [

  (lama)]

  w runnerup 3.

   PERANCANGAN

  Pada perancangan sistem terdapat cara kerja sistem secara keseluruhan mulai dari data mentah hingga didapat centroid akhir dan bobot ideal. Pada proses ini terlebih dahulu melakukan

  preprocessing terhadap data mentah tadi

  sehingga dapat diproses untuk mendapatkan aspek-aspek yang banyak dibahas pada sekumpulan ulasan dengan menggunakan algoritme K-Modes dengan fitur Bag of Nouns.

  Gambar 2. Diagram Alir Pelatihan Sistem

  Selanjutnya baru dilakukan klasifikasi dengan Analisis Sentimen Tingkat Aspek

  LVQ2 dengan menggunakan fitur score

  representation. Gambar 2 menunjukkan diagram 4.

PENGUJIAN DAN ANALISIS

  alir untuk pelatihan pada sistem analisis Terdapat dua macam skenario kumpulan sentimen tingkat aspek yang akan dibuat. data atau data set yang digunakan dalam

  Pelatihan dimaksudkan untuk mendapatkan pengujian disini. Pertama, data set kelas

  centroid untuk klasterisasi aspek yang relevan

  seimbang (selanjutnya disebut A) dengan jumlah dan mendapat bobot yang ideal untuk klasifikasi data 154 (77 positif dan 77 negatif). Kedua, data sentimen menuju kelas positif atau negatif. set kelas tidak seimbang (selanjutnya disebut B) dengan jumlah data 277 (200 positif dan 77 negatif). Untuk pembagian data latih dan data uji menggunakan perbandingan 7:3, 7 untuk data latih, 3 untuk data uji. Tabel 1 menunjukkan rincian pembagian data untuk data latih dan data uji dengan menunjukkan jumlah dokumen positif dan negatif.

  Tabel 1. Pembagian Data Set

4.1 Pengujian dan Analisis Klasterisasi

  Dilakukan 7 kali percobaan pada data A dan data B dengan mengubah jumlah klaster

  Gambar 4. Grafik Silhouette Coefficient sehingga didapat jumlah klaster yang optimal.

  Data B Untuk mendapatkan jumlah klaster yang optimal dapat dilihat dari nilai Silhouette Coefficient

  Tabel 3. Hasil Pengujian Data 5 Terhadap

  tertinggi. Dari setiap klaster untuk 7 macam Jumlah Klaster 5 pengujian jumlah klaster tersebut, diambil 3 kata dengan kemunculan terbanyak pada klaster dengan nilai SC tertinggi untuk mewakili klasternya seperti yang ditunjukkan pada Gambar 3 dan Gambar 4. Jadi, untuk pengujian pada data A ini akan digunakan jumlah klaster sebanyak 7 sehingga aspek yang akan didapat

  Untuk data A cenderung stabil dengan seperti yang tertera pada Tabel 2. Untuk data B melihat dari perubahan nilai SC dari jumlah akan digunakan jumlah klaster sebanyak 5 klaster 3 sampai 9. Terjadinya penurunan yang sehingga aspek yang akan didapat seperti yang cukup signifikan untuk nilai rata-rata Silhouette tertera pada Tabel 3. Coefficient pada data B saat memasuki jumlah klaster 6, menunjukkan kecenderungan untuk dokumen yang ditempatkan pada suatu klaster masih cukup dekat dengan klaster di sebelahnya. Artinya, ada kecenderungan untuk klaster- klaster tersebut bersinggungan untuk mengelompokkan suatu dokumen. Hal seperti ini mungkin terjadi karena ada data yang outlier.

  4.2 Pengujian dan Analisis Klasifikasi

  Untuk klasifikasi dilakukan beberapa

  Gambar 3. Grafik Silhouette Coefficient

  macam pengujian terhadap parameter learning Data A

  rate, epsilon,

  Decα, maksimum epoch, dan pengaruh keseimbangan data. Dari pengujian

  Tabel 2. Hasil Pengujian Data A Terhadap

  dalam mengambil nilai parameter optimal Jumlah Klaster 7 didapat nilai learning rate 0,2, epsilon 0,2,

  Decα 0,4, maksimum epoch 20. Dengan menggunakan parameter tersebut dilakukan pengujian terhadap data A dan data B. Hasilnya dibuat confusion

  matrix untuk melihat kesesuaian antara ground truth dan hasil prediksi dari sistem. Tabel 4

  menunjukkan confusion matrix untuk data A. Tabel 5 menunjukkan confusion matrix untuk data B.

  Tabel 4. Confusion Matrix Pengujian

  Klasifikasi Data A Dengan parameter yang telah memberikan hasil evaluasi yang optimal, nilai parameter tersebut digunakan lagi untuk menguji data tidak seimbang. Hasil evaluasi untuk data seimbang mendapatkan nilai rata-rata precision 89,2%,

  recall

  6. DAFTAR PUSTAKA

  Klasifikasi Data B Dengan confusion matrix ini kemudian dihitung nilai precision, recall, dan f1-score. Untuk hasil evaluasi dengan precision, recall, dan f1-score ditunjukkan pada Tabel 6.

  Tabel 6. Pengujian Klasifikasi Data A dan

  Data B Hasil pengujian pada data B menunjukkan nilai f1-score untuk kelas positif lebih tinggi dibanding pada data A namun untuk kelas negatif lebih tinggi pada data A. Ini menunjukkan ketidakseimbangan jumlah data negatif yang lebih sedikit pada data B membuat pengujiannya kurang bisa mengenali saat data tidak seimbang. Namun, secara keseluruhan data A dapat memberikan nilai f1-score yang lebih baik. Artinya, keseimbangan data cukup penting dalam penggunaan fitur score representation dan algoritme LVQ2.

  Farhadloo, M. dan Rolland, E., 2013. “Multi- Class Sentiment Analysis with Clustering and Score Representation”.

  0,1192319 dan data tidak seimbang dengan 5 klaster memperoleh rata-rata Silhouette

  Coefficient 0,06112402.

  Kemudian dari sisi klasifikasi, dengan menggunakan data seimbang, dilakukan beberapa pengujian terhadap parameter yang dapat mempengaruhi hasil evaluasi dalam nilai

  precision , recall, dan, f1-score. Parameter yang

  diujikan adalah α (learning rate), ϵ (parameter untuk window), Decα, jumlah maksimum epoch.

  Tabel 5. Confusion Matrix Pengujian

  89,13%, dan f1-score 89,12%. Hasil evaluasi untuk data tidak seimbang mendapatkan nilai rata-rata precision 87,38%, recall 73,07%, dan f1-score 76,46%. Dapat disimpulkan bahwa data seimbang memberikan hasil yang lebih baik dibandingkan data tidak seimbang dengan melihat kepada nilai rata-rata f1-score yang lebih tinggi.

5. KESIMPULAN

  Berdasarkan hasil pengujian dari implementasi sistem klasterisasi aspek dan klasifikasi sentimen yang telah dilakukan, dapat disimpulkan bahwa untuk dua macam data set, yaitu seimbang dan tidak seimbang yang mana jumlah ulasan atau dokumen yang akan diklaster juga berbeda. Perbedaan jumlah data dapat mempengaruhi jumlah klaster yang ideal. Dalam kasus ini didapat jumlah klaster 7 untuk data seimbang dan jumlah klaster 5 untuk data tidak seimbang sebagai jumlah klaster yang ideal. Jumlah klaster ideal tersebut diambil berdasarkan rata-rata Silhouette Coefficient tertinggi untuk beberapa macam jumlah klaster yang diujikan pada data seimbang dan data tidak seimbang. Data seimbang dengan 7 klaster memperoleh rata-rata Silhouette Coefficient

  2013

  IEEE 13th International Conference on Data Mining Workshops, Dallas, TX, 2013, pp. 904-912

  Huang, Z. 1998. “Extensions to the k-Means Algorithm for Clustering Large Data Sets with Categorical Values”. Data Mining and Knowledge Discovery 2, 283

  • –304 (1998 Schouten, K. dan Frasincar, F., 2015. “Survey on

  Aspect- Level Sentiment Analysis”.

  IEEE Transactions on Knowledge and Data Engineering, vol. 28, no. 3, pp. 813-830, March 1 2016

  Westerski, A., 2007. “Sentiment Analysis: Introduction and the State of the Art overview”.