• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
6
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

Universitas Brawijaya

2777

Analisis Sentimen pada Ulasan Hotel dengan Fitur Score Representation

dan Identifikasi Aspek pada Ulasan Menggunakan K-Modes

Muhammad Hafiz Azhar1, Putra Pandu Adikara2, Yuita Arum Sari3

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]

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 scorerepresentation 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

1. PENDAHULUAN

Dalam dunia bisnis, bagaimana pendapat atau perasaan seorang konsumen terhadap suatu produk bisa menjadi sumber untuk pengembangan bisnis. Bagi suatu perusahaan, ulasan akan produk mereka berupa hal yang

positif akan memberikan gambaran yang bagus terkait produk tersebut bagi para konsumen lain. Ulasan yang positif juga berarti produk tersebut bagus untuk dipertahankan, namun jika ulasan tersebut berupa hal yang negatif, bisa menjadi bahan untuk evaluasi produk tersebut sehingga pengembangannya bisa lebih efektif. Untuk membantu suatu perusahaan dalam melihat

(2)

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.

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

representation untuk melakukan klasifikasi.

Untuk melakukan identifikasi aspek, pada penelitian ini akan menggunakan algoritme 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

Bag of Nouns kemudian LVQ2 untuk klasifikasi

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

2. DASAR TEORI

2.1 Analisis Sentimen Tingkat Aspek

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.

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.

2.2 Preprocessing

Preprocessing merupakan tahapan yang

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,

tokenizing, dan POS-Tagging. Untuk

case-folding dilakukan perubahan huruf kapital

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

stopwords dan juga menghilangkan karakter

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

POS-Tagging merupakan tahap untuk menandai

setiap kata termasuk ke dalam kelas apa.

2.3 K-Modes

K-Means merupakan algoritme

unsupervised yang sederhana yang hasilnya

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

measures) dan penentuan centroid baru.

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,

(3)

lakukan perhitungan untuk centroid baru dengan mengambil modus untuk setiap atribut pada setiap anggota kelompok. Ulangi pengelompokan hingga hasil pengelompokan tidak berubah atau nilai centroid tidak memiliki 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 (xj= yj) 1 (xj≠ yj) (2) 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+, S0,

S-]T adalah model ekstraksi fitur tersebut yang didapat dari persamaan (3).

S+= ∑ 𝑤 𝑖𝑠𝑖 𝐼̇∈𝑥 + (3) S0= ∑ 𝑤 𝑖𝑠𝑖 𝐼̇∈𝑥 0 S-= ∑ 𝑤 𝑖𝑠𝑖 𝐼̇∈𝑥 -

Satu kalimat terdiri dari tiga komponen yaitu nilai positif (S+), nilai netral (S0), dan nilai negatif (S-). Nilai tersebut didapat dari penjumlahan hasil perkalian bobot setiap kata (w) dengan score representation masing-masing kata seperti pada persamaan (4). Untup bobot (w) didapat dengan mengambil jumlah kemunculan kata. si+= 𝑓𝑖 + 𝑓𝑖++𝑓𝑖0+𝑓 𝑖− , (4) si0 = 𝑓𝑖 0 𝑓𝑖++𝑓𝑖0+𝑓 𝑖− , si-= 𝑓𝑖 − 𝑓𝑖++𝑓𝑖0+𝑓 𝑖−

Untuk score representation setiap nilai positif, netral, dan negatif, didapat dengan membagi frekuensi suatu kata pada kelasnya (positif, netral, atau negatif sesuai dengan pelabelan manual) dengan total frekuensi kata tersebut.

2.5 LVQ2

LVQ merupakan algoritme pembelajaran kompetitif yang disebut sebagai SOM versi supervised atau terbimbing. LVQ adalah metode klasifikasi dimana setiap unit output

merepresentasikan sebuah kelas. Algoritme ini diusulkan oleh Kohonen pada tahun 1986. Kemudian muncul varian-varian LVQ1, LVQ2, LVQ2.1, LVQ3, Gambar 1 adalah model jaringan dasar dari LVQ.

Gambar 1. Model jaringan dasar LVQ Sumber: Fausett (1994)

X = merupakan vektor dari data latih

T = kategori atau kelas target (sesuai ground

truth) untuk setiap x

wj = Vektor bobot untuk output

Cj = kategori atau kelas hasil pembelajaran dengan melihat kepada output

||x – wj || = Jarak Euclidean antara input dan bobot

Langkah 0.

Inisialisasi vektor awal untuk bobot awal dan inisialisasi learning rate.

Langkah 1.

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

Langkah 2.

Untuk setiap vektor input, lakukan Langkah 3-4

Langkah 3.

Cari nilai ||x-wj|| minimum sehingga diambil output

Langkah 4.

Perbaharui bobot wj dengan ketentuan

Jika T = Cj, maka (5) wj(baru) = wj(lama) + α[x – wj(lama)]

Jika T ≠ Cj, maka

wj(baru) = wj(lama) - α[x – wj(lama)]

Langkah 5.

Pegurangan learningrate.

α = α * Decα (6)

Langkah 6.

Tes apakah kondisi untuk berhenti terpenuhi. Kondisi untuk berhenti ini

(4)

bisa dengan batas jumlah iterasi atau nilai learning rate sudah terlalu kecil.

Untuk versi LVQ 2 terdapat tambahan yaitu,

- Terdapat winning unit dan runner-up yang merupakan kelas yang berbeda - Target kelas dari input sama dengan

runner-up

- Jarak input dengan bobot untuk kelas winning unit hampir sama dengan bobot untuk kelas runner-up. Hal ini bisa diketahui jika memenuhi kedua syarat berikut, ⅆ𝐶𝑟> 1 − 𝜖 (7) dan ⅆ𝑟𝐶 < 1 + 𝜖

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

wwin(baru) = wwin(lama) - α[x – wwin(lama)]

wrunnerup(baru) = wrunnerpup(lama) + α[x –

wrunnerup(lama)]

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. Selanjutnya baru dilakukan klasifikasi dengan LVQ2 dengan menggunakan fitur score

representation. Gambar 2 menunjukkan diagram

alir untuk pelatihan pada sistem analisis sentimen tingkat aspek yang akan dibuat. Pelatihan dimaksudkan untuk mendapatkan

centroid untuk klasterisasi aspek yang relevan

dan mendapat bobot yang ideal untuk klasifikasi sentimen menuju kelas positif atau negatif.

Gambar 2. Diagram Alir Pelatihan Sistem Analisis Sentimen Tingkat Aspek

4. PENGUJIAN DAN ANALISIS

Terdapat dua macam skenario kumpulan data atau data set yang digunakan dalam pengujian disini. Pertama, data set kelas seimbang (selanjutnya disebut A) dengan jumlah data 154 (77 positif dan 77 negatif). Kedua, data 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.

(5)

4.1 Pengujian dan Analisis Klasterisasi

Dilakukan 7 kali percobaan pada data A dan data B dengan mengubah jumlah klaster sehingga didapat jumlah klaster yang optimal. Untuk mendapatkan jumlah klaster yang optimal dapat dilihat dari nilai Silhouette Coefficient tertinggi. Dari setiap klaster untuk 7 macam 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 seperti yang tertera pada Tabel 2. Untuk data B akan digunakan jumlah klaster sebanyak 5 sehingga aspek yang akan didapat seperti yang tertera pada Tabel 3.

Gambar 3. Grafik Silhouette Coefficient Data A

Tabel 2. Hasil Pengujian Data A Terhadap Jumlah Klaster 7

Gambar 4. Grafik Silhouette Coefficient Data B

Tabel 3. Hasil Pengujian Data 5 Terhadap Jumlah Klaster 5

Untuk data A cenderung stabil dengan melihat dari perubahan nilai SC dari jumlah klaster 3 sampai 9. Terjadinya penurunan yang cukup signifikan untuk nilai rata-rata Silhouette

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 macam pengujian terhadap parameter learning

rate, epsilon, Decα, maksimum epoch, dan

pengaruh keseimbangan data. Dari pengujian dalam mengambil nilai parameter optimal 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

(6)

Tabel 5.Confusion Matrix Pengujian 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.

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

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. 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 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.

6. DAFTAR PUSTAKA

Farhadloo, M. dan Rolland, E., 2013. “Multi-Class Sentiment Analysis with Clustering and Score Representation”. 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”.

Gambar

Gambar 1. Model jaringan dasar LVQ  Sumber: Fausett (1994)  X   =  merupakan vektor dari data latih
Gambar 2. Diagram Alir Pelatihan Sistem  Analisis Sentimen Tingkat Aspek
Tabel 3. Hasil Pengujian Data 5 Terhadap  Jumlah Klaster 5

Referensi

Dokumen terkait

Proses analisis sentimen mencakup dua proses yaitu pra-proses dan klasifikasi sentimen. Pra-proses merupakan proses untuk mempersiapkan data menjadi format yang lebih mudah

Dari perolehan nilai tersebut dapat disimpulkan bahwa metode deep belief network sudah baik dalam melakukan klasifikasi data ulasan hotel, karena pada pengujian ini

Berdasarkan dari penelitian yang telah dilakukan kini dapat disimpulkan proses dari klasifikasi sentimen komentar toxic di grup komunitas AOV dari komentar yang

proses TF-IDF memiliki pengaruh untuk melakukan klasifikasi agar hasilnya lebih baik.Oleh karena itu, penulis ingin membangun analisis sentimen terhadap dataset ulasan film

Proses dalam Analisis Sentimen memerlukan metode BM25 yang digunakan sebagai pembobotan kata, Improved K-Nearest Neighbor sebagai penentuan dalam memilah sentimen

KESIMPULAN Pada tahap evaluasi dihasilkan performa dari pengujian data menggunakan algoritma naïve bayes dan k-nearest neighbor pada analisis sentimen ulasan aplikasi tokopedia di

Use Case Aplikasi Analisis Sentiment Pada penelitian ini, aplikasi pemodelan yang dikembangkan adalah analisa sentimen pada klasifikasi data tweet dengan algoritma Naïve Bayes

Kesimpulan Berdasarkan dari penelitian yang telah dilakukan, dapat disimpulkan bahwa analisis sentimen menggunakan metode Support Vector Machine SVM sebagai metode klasifikasi, Term