ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW PRODUK KECANTIKAN MENGGUNAKAN
EXTREME GRADIENT BOOSTING
SKRIPSI
JESSIE GABRIELLA SILALAHI 171402100
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2021
ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW PRODUK KECANTIKAN MENGGUNAKAN
EXTREME GRADIENT BOOSTING
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
JESSIE GABRIELLA SILALAHI 171402100
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2021
PERSETUJUAN
Judul : ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW
PRODUK KECANTIKAN MENGGUNAKAN EXTREME GRADIENT BOOSTING
Kategori : SKRIPSI
Nama : JESSIE GABRIELLA SILALAHI
Nomor Induk Mahasiswa : 171402100
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dani Gunawan, ST., M.IT. Sarah Purnamawati ST., M.Sc.
NIP 198209152012121002 NIP. 198302262010122003
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
Romi Fadillah Rahmat, B.Comp.Sc., M.Sc.
NIP. 198603032010121004
iii PERNYATAAN
ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW PRODUK KECANTIKAN MENGGUNAKAN
EXTREME GRADIENT BOOSTING
SKRIPSI
Saya mengakui bahwa skripsi ini merupakan hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 12 Juli 2021
JESSIE GABRIELLA SILALAHI 171402100
UCAPAN TERIMA KASIH
Segala hormat, mulia dan berkat kepada Tuhan yang Maha Esa atas segala kasih-Nya sehingga penulis dapat menyelesaikan skripsi yang menjadi ketentuan untuk menerima gelar Sarjana Komputer, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Penulis juga tidak mampu menyelesaikan skripsi ini tanpa bimbingan, doa dan dukungan dari semua pihak.
Adapun dalam kesempatan ini, dengan segala kerendahan hati penulis mengucapkan terimakasih kepada:
1. Keluarga penulis, Orangtua Ayah Abner Johan Silalahi dan Ibu Junnetty Ambarita, Kakak Cynthia Bernadetta Silalahi serta Adik Daniel Steven Silalahi yang selalu mendoakan, memberi perhatian, serta dukungan.
2. Bapak Dr. Muryanto Amin, S.Sos., M.Si selaku Rektor Universitas Sumatera Utara.
3. Ibu Dr. Maya Silvi Lydia, M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera.
4. Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc selaku Ketua Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.
5. Ibu Sarah Purnamawati, ST., M.Sc. selaku Sekretaris Program Studi S1 Teknologi Informasi Universitas Sumatera Utara dan selaku Dosen Pembimbing I dan Bapak Dani Gunawan ST., M.T. selaku Dosen Pembimbing II yang telah selalu meluangkan waktu untuk membimbing dan memberikan dan saran yang membangun kepada penulis.
6. Bapak Baihaqi Siregar S.Si., M.Kom selaku Dosen Pembanding I, dan Bapak Indra Aulia, S.TI, M.Kom selaku Dosen Pembanding II yang telah memberi saran guna penyempurnaan skripsi.
7. Dosen Pengajar di Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.
8. Staff dan pegawai di Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.
9. Sahabat dan teman seperjuangan penulis di perkuliahan Milinda Kirana Sembiring, Lenny Tobing, Arnessa Julia Damanik, Fani Theresa Hutabarat, dan Destri Celcylia Silitonga yang selalu berjuang bersama.
10. Abang terbaik penulis selama masa perkuliahan, Sahat Gebima Sihotang dan Aldo Stepanus Simarmata yang selalu menyemangati dan memotivasi penulis.
11. Teman-teman angkatan 2017 Teknologi Informasi Universitas Sumatera Utara.
v 12. Semua pihak yang berperan langsung maupun tidak langsung yang tidak dapat ditulis
satu persatu yang telah membantu penulis dalam penyelesaian skripsi ini.
Semoga Tuhan yang Maha Esa selalu memberikan berkat kepada semua pihak yang telah memberikan doa dan dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, 12 Juli 2021
JESSIE GABRIELLA SILALAHI
ABSTRAK
Produk kecantikan atau kosmetik merupakan salah satu bagian yang cukup populer di berbagai kalangan, termasuk pada kalangan wanita. Setiap produk kecantikan atau kosmetik memiliki fungsi yang berbeda untuk menjaga dan merawat kebersihan tubuh. Perkembangan pola hidup yang cukup pesat menyebabkan maraknya brand baru yang hadir menawarkan keunggulan masing-masing produk. Hal ini menyebabkan pengguna kesulitan untuk memilih jenis produk kecantikan yang sesuai dengan kebutuhan mereka. Setiap pengguna berhak untuk memberikan review atau tanggapan mengenai produk yang mereka gunakan. Sehingga dapat menjadi informasi dan pandangan kepada pengguna lain yang ingin menggunakan sebuah produk.
Selain itu, hasil review tanggapan mengenai suatu produk kecantikan juga dapat memberikan informasi kepada pihak perusahaan pembuat produk untuk memperbaiki kualitas produk kecantikan mereka. Review berupa produk yang kecantikan yang diberikan pengguna memiliki jenis sentimen yang beragam seperti positif, negatif atau netral. Namun pada proses identifikasi review produk tersebut, masih perlu dilakukan analisis terhadap sentimen produk berdasarkan aspek produk yang terdapat dalam kalimat review. Analisis sentimen berdasarkan aspek produk dilakukan untuk memberian identifikasi yang lebih jelas dan manfaat yang lebih baik untuk pengembangan pelayanan produk. Untuk itu dibutuhkan suatu pendekatan untuk mengatasi permasalahan analisa sentimen terhadap review produk berdasarkan aspek produk tersebut dengan membangun sistem untuk mengidentifikasi sentimen berdasarkan aspek. Penelitian ini menggunakan 1500 data yang berupa review produk kecantikan pada situs femaledaily.
Tahapan preproses yang dilakukan pda penelitian ini berupa cleaning, case folding, punctual removal, normalization, stopword removal, dan stemming. Penerapan ekstraksi fitur berupa TF-IDF dilakukan untuk proses pembobotan kata menjadi vector dan akan diidentifikasi menggunakan metode Extreme Gradient Boosting. Dengan menerapkan metode evaluasi confussion matrix mendapatkan total rata-rata nilai akurasi berdasarkan empat aspek produk sebesar 90%.
Kata Kunci : analisis sentimen berdasarkan aspek, TF-IDF, Extreme Gradient Boosting, Confussion Matrix.
vii
ASPECT BASED SENTIMENT ANALYSIS ON BEAUTY REVIEW PRODUCT USING EXTREME
GRADIENT BOOSTING
ABSTRACT
Beauty products or cosmetics is one part that quite popular in various circles, especially for woman. Each beauty or cosmetic product has a different function to maintain and care for cleanliness of the body. The development pattern of life quite rapidly causing widespread new brands that are present to offer the advantages of each product. It causing consumer to choose the best type of beauty product that is accordance with their needs. Each consumer has a right to leave a comment, review or feedback regarding the product that they used. It can give an information and viewpoint to others consumer that want to use a beauty product. Besides that, the results of a review feedback about a beauty product also can provide information to the company that making that beauty products to improve the quality of their beauty product.
Review of beauty product has given by user has kind of sentiment such as positive, negative, and neutral. But in the process of identity the reviews product, the analysis sentiment based on an aspect product are needed. Aspect based sentiment analysis based on an aspect gives an identification more obvious and the benefits well for the development of service products. It takes an approach to overcome the problem of analysis of sentiment toward the reviews product based on an aspect product to establish a system to identify sentiment based on an aspect. This study uses 1500 data of beauty product reviews on femaledaily site. The preprocessing stages carried out of this study were deleting all emoji and other character that not important, changing all words to lowercase, deleting of symbols and punctuation, normalization all the words, and delete all the stopwords. This study also uses a weighting words into vector using TF-IDF and will be identifies using the Extreme Gradient Boosting method. By applying the evaluation method of confussion matrix, produces an average accuracy of 90%.
Keywords : aspect based sentiment analysis, TF-IDF, extreme gradient boosting, confussion matrix
DAFTAR ISI
PERSETUJUAN ii
PERNYATAAN iii
UCAPAN TERIMA KASIH iv
ABSTRAK vi
ABSTRACT vii
DAFTAR ISI viii
DAFTAR TABEL x
DAFTAR GAMBAR xii
BAB 1 PENDAHULUAN 1
1.1. Latar Belakang 1
1.2. Rumusan Masalah 3
1.3. Tujuan Penelitian 3
1.4. Batasan Masalah 3
1.5. Manfaat Penelitian 3
1.6. Metodologi Penelitian 4
1.7. Sistematika Penulisan 5
BAB 2 LANDASAN TEORI 6
2.1. Text Processing 6
2.2. Sentiment Analysis 6
2.3. Aspect Based Sentiment Analysis 7
2.4. TF-IDF (Term Frequency-Inverse Document Frequency) 7
2.5. Extreme Gradient Boostig (XGBoost) 8
2.6. Penelitian Terdahulu 11
2.7. Perbedaan Penelitian 15
ix
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 16
3.1. Dataset 16
3.2. Arsitektur Umum 17
3.2.1. Input 18
3.2.2. Text Preprocessing 18
3.2.2.1. Cleaning 18
3.2.2.2. Case Folding 19
3.2.2.3. Punctual Removal 19
3.2.2.4. Normalization 20
3.2.2.5. Stopword Removal 21
3.2.2.6. Stemming 21
3.2.3. TF-IDF (Term Frequency-Inverse Document Frequency) 22 3.2.4. Extreme Gradient Boosting (XGBoost) 25
3.3. Perancangan Sistem 29
3.3.1. Rancangan Tampilan Beranda 30
3.3.2. Rancangan Tampilan Training 30
3.3.3. Rancangan Tampilan Testing 31
3.4. Metode Evaluasi 31
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 34
4.1. Implementasi Sistem 34
4.1.1. Spesifikasi Perangkat Lunak dan Perangkat Keras 34
4.1.2. Implementasi Perancangan Antarmuka 34
4.2. Implementasi Model 39
4.2.1. Implementasi Model Extreme Gradient Boosting 39
4.3. Pengujian Sistem 42
4.4. Evaluasi Model 52
BAB 5 KESIMPULAN DAN SARAN 61
5.1. Kesimpulan 61
5.2. Saran 61
DAFTAR PUSTAKA 62
DAFTAR TABEL
Tabel 2.1. Penelitian Terdahulu 13
Tabel 3.1. Pengelompokan Data 16
Tabel 3.2. Contoh Kalimat Review 18
Tabel 3.3. Tahapan Cleaning 19
Tabel 3.4. Tahapan Case Folding 19
Tabel 3.5. Tahapan Punctual Removal 20
Tabel 3.6. Tahapan Normalization 20
Tabel 3.7. Tahapan Stopword Removal 21
Tabel 3.8. Tahapan Stemming 21
Tabel 3.9. Kemunculan Term Pada Dokumen 22
Tabel 3.10. Skor DF 23
Tabel 3.11. Skor IDF 24
Tabel 3.12. Skor TF-IDF 24
Tabel 3.13. Data Membangun Pohon XGBoost 25
Tabel 3.14. Perhitungan Error ke-1 26
Tabel 3.15. Perhitungan Error ke-2 26
Tabel 3.16. Perhitunagn Error ke-3 27
Tabel 3.17. Penerapan Confussion Matrix 32
Tabel 4.1. Implementasi XGBoost 39
Tabel 4.2. Hasil Pengujian Sistem 51
Tabel 4.3. Keterangan Sentimen Negative Aspek Harga Confussion Matrix 54 Tabel 4.4. Keterangan Sentimen Netral Aspek Harga Confussion Matrix 54 Tabel 4.5. Keterangan Sentimen Positive Aspek Harga Confussion Matrix 54 Tabel 4.6. Keterangan Sentimen Negative Aspek Kemasan Confussion Matrix 54 Tabel 4.7. Keterangan Sentimen Netral Aspek Kemasan Confussion Matrix 55 Tabel 4.8. Keterangan Sentimen Positive Aspek Kemasan Confussion Matrix 55 Tabel 4.9. Keterangan Sentimen Negative Aspek Kualitas Confussion Matrix 55 Tabel 4.10. Keterangan Sentimen Netral Aspek Kualitas Confussion Matrix 55 Tabel 4.11. Keterangan Sentimen Positive Aspek Kualitas Confussion Matrix 55
xi Tabel 4.12. Keterangan Sentimen Negative Aspek Aroma Confussion Matrix 56
Tabel 4.13. Keterangan Sentimen Netral Aspek Aroma Confussion Matrix 56 Tabel 4.14. Keterangan Sentimen Positive Aspek Aroma Confussion Matrix 56
DAFTAR GAMBAR
Gambar 2.1. Contoh data mentah femaledaily review 6
Gambar 2.2. Bagan algoritma XGBoost 8
Gambar 2.3. Proses Boosting 10
Gambar 3.1. Arsitektur Umum 17
Gambar 3.2. Node pohon XGBoost ke-1 26
Gambar 3.3. Node pohon XGBoost ke-2 27
Gambar 3.4. Node pohon XGBoost ke-3 27
Gambar 3.5. Perhitungan nilai similiarity dan gain 28 Gambar 3.6. Perhitungan nilai similiarity dan gain pada split 28
Gambar 3.7. Perhitungan proses pemangkasan 29
Gambar 3.8. Perhitungan proses output 29
Gambar 3.9. Rancangan tampilan Beranda 30
Gambar 3.10. Rancangan tampilan Training 30
Gambar 3.11. Rancangan tampilan Testing 31
Gambar 4.1. Tampilan Beranda 35
Gambar 4.2. Tampilan training sebelum proses dijalankan 35 Gambar 4.3. Tampilan training setelah proses dijalankan 36 Gambar 4.4. Tampilan testing sebelum proses dijalankan 36 Gambar 4.5. Tampilan testing setelah proses dijalankan 37
Gambar 4.6. Hasil Evaluasi Aspek Harga 37
Gambar 4.7. Hasil Evaluasi Aspek Kemasan 38
Gambar 4.8. Hasil Evaluasi Aspek Kualitas 38
Gambar 4.9. Hasil Evaluasi Aspek Aroma 38
Gambar 4.10. Node pohon XGBoost 42
Gambar 4.11. Pengujian 300 Data Aspek Harga 42
Gambar 4.12. Pengujian 300 Data Aspek Kemasan 43
Gambar 4.13. Pengujian 300 Data Aspek Kualitas 43
Gambar 4.14. Pengujian 300 Data Aspek Aroma 43
xiii
Gambar 4.15. Pengujian 500 Data Aspek Harga 44
Gambar 4.16. Pengujian 500 Data Aspek Kemasan 44
Gambar 4.17. Pengujian 500 Data Aspek Kualitas 44
Gambar 4.18. Pengujian 500 Data Aspek Aroma 45
Gambar 4.19. Pengujian 800 Data Aspek Harga 45
Gambar 4.20. Pengujian 800 Data Aspek Kemasan 46
Gambar 4.21. Pengujian 800 Data Aspek Kualitas 46
Gambar 4.22. Pengujian 800 Data Aspek Aroma 46
Gambar 4.23. Pengujian 1000 Data Aspek Harga 47
Gambar 4.24. Pengujian 1000 Data Aspek Kemasan 47
Gambar 4.25. Pengujian 1000 Data Aspek Kualitas 47
Gambar 4.26. Pengujian 1000 Data Aspek Aroma 48
Gambar 4.27. Pengujian 1200 Data Aspek Harga 48
Gambar 4.28. Pengujian 1200 Data Aspek Kemasan 49
Gambar 4.29. Pengujian 1200 Data Aspek Kualitas 49
Gambar 4.30. Pengujian 1200 Data Aspek Aroma 49
Gambar 4.31. Pengujian 1500 Data Aspek Harga 50
Gambar 4.32. Pengujian 1500 Data Aspek Kemasan 50
Gambar 4.33. Pengujian 1500 Data Aspek Kualitas 50
Gambar 4.34. Pengujian 1500 Data Aspek Aroma 51
Gambar 4.35. Confussion Matrix Aspek Harga 52
Gambar 4.36. Confussion Matrix Aspek Kemasan 53
Gambar 4.37. Confussion Matrix Aspek Kualitas 53
Gambar 4.38. Confussion Matrix Aspek Aroma 53
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Produk kecantikan atau kosmetik ialah salah satu bagian yang cukup populer di kalangan wanita. Umumnya, wanita menggunakan produk kecantikan atau kosmetik untuk menjaga kebersihan tubuh, merawat tubuh, bahkan untuk mempercantik tubuh (Iswari et al, 2013). Hal ini menyebabkan penggunaan produk kecantikan menjadi bagian dari pola hidup. Dengan berkembangnya pola hidup, maka perkembangan brand produk kecantikan juga bertambah.
Dari pertambahan brand produk kecantikan tersebut, menyebabkan jumlah pengguna terhadap produk kecantikan juga akan bertambah. Maraknya brand yang menawarkan keunggulan suatu produk menyebabkan konsumen sulit untuk menentukan produk kecantikan yang sesuai dengan kebutuhan.
Salah satu usaha yang boleh dilakukan untuk mengurangi kesulitan konsumen ketika menentukan produk kecantikan ialah membaca review tentang produk tersebut. Review produk merupakan tanggapan, opini, atau ulasan seseorang mengenai suatu produk. Umumnya, review suatu produk kecantikan dapat memuat beberapa aspek yang dapat dievaluasi, seperti harga, kemasan, kualitas dan aroma produk. Evaluasi terhadap review tersebut dapat berguna sebagai pandangan dan bahan pertimbangan untuk konsumen ketika memilih produk yang ingin dibeli.
Namun, banyaknya review, jumlah pengguna dan rating mengenai suatu produk belum memberikan identifikasi kejelasan yang baik mengenai suatu produk. Penelitian mengenai analisis sentimen masih dilakukan dengan pengujian menggunakan keseluruhan data, sehingga untuk pemrosesannya masih mencakup keseluruhan (Faris, 2020).
Suatu bidang penelitian yang melakukan kajian terhadap pendapat, sikap, sentimen, opini, evaluasi dan emosi individu berdasarkan teks, terhadap satu entitas seperti jasa dan produk dikenal dengan sentimen analisis (Liu, 2012). Analisis sentimen berdasarkan aspek memiliki manfaat yang lebih jelas dan lebih baik dalam proses analisa sentimen. Pada bidang produk dan jasa, penerapan aspect based sentiment analysis dalam pengolahan analisis review
2 aspek produk dari pengguna dapat memberikan hasil yang lebih baik dan mengidentifikasi pengembangan pelayanan produk. Penggunaan suatu produk yang semakin banyak, menyebabkan review tentang produk juga bertambah banyak, dan data akan terus bertambah.
Dengan bertambahnya data tersebut akan membutuhkan waktu komputasi yang tinggi dalam proses pengolahannya. Ekstrasi fitur merupakan salah satu penyelesaian yang boleh dilakukan dalam mengendalikan proses komputasi yang tinggi. Dalam proses pengolahan, dibutuhkan sebuah metode yang dilatih untuk menganalisa sentimen yang akan diuji.
Penelitian terkait sudah pernah dilakukan oleh pihak sebelumnya dengan menerapkan metode yang beragam, diantaranya penelitian oleh Nasa Zata Dina et al. (2020) melakukan penelitian berjudul Aspect Based Sentiment Analysis of Employee’s Review Experience. Pada penelitian ini, dataset yang digunakan berupa ulasan pengalaman pekerja dari situs Glassdoor.
Penelitian ini menggunakan POS Tagging dan TF. Nilai precision terbaik yang didapat pada penelitian ini adalah sebesar 86,67% pada ulasan perusahaan Google pada aspek company benefit.
Mhd Theo Ari Bangsa et al. (2020) melakukan penelitian Aspect-Based Sentiment Analysis of Online Marketplace Reviews Using Convolutional Neural Network. Penelitian ini dilakukan untuk mengklasifikasi sentimen bahasa Indonesia berbasis aspek terhadap ulasan pada toko online bukalapak.com, dengan menerapkan metode CNN dan Word2Vec. Hasil akurasi pengujian yang didapat pada penelitian ini adalah sebesar 85,54%.
Pada penelitian ini, penulis menggunakan algoritma Extreme Gradient Boosting (XGBoost) dalam proses klasifikasi sentimen berdasarkan aspek. Metode XGBoost merupakan salah satu metode yang mampu menghasilkan nilai akurasi yang cukup baik dalam bidang klasifikasi terbukti pada penelitian yang berjudul Sentiment Analysis for e-payment Service Providers Using Evolution Extreme Gradient Boosting oleh D. A. Al-Qudah et al. (2020) dengan akurasi sebesar 82,8%.
Berdasarkan latar belakang diatas, maka penulis mengajukan penelitian yang berjudul
“ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW PRODUK KECANTIKAN MENGGUNAKAN EXTREME GRADIENT BOOSTING”.
1.2 Rumusan Masalah
Untuk meningkatkan kualitas produk kecantikan, perusahaan perlu menganalisa opini dari pengguna. Dalam proses analisa tersebut, perusahaan akan mengekstrak informasi dalam jumlah yang banyak serta membutuhkan waktu komputasi yang cukup tinggi. Sehingga dibutuhkan pendekatan analisis dalam proses analisa opini pengguna yang mengolah data dalam jumlah yang banyak.
1.3 Tujuan Penelitian
Dilakukannya penelitian ini dengan tujuan untuk menganalisa implementasi algoritma Extreme Gradient Boosting dalam mengklasifikasi sentiment terhadap aspek pada review produk kecantikan.
1.4 Batasan Masalah
Yang menjadi batasan pemasalahan pada penelitian ini ialah:
1. Data menggunakan bahasa Indonesia.
2. Penentuan sentimen berdasarkan kata dan tidak dari emoji.
3. Aspek yang diuji meliputi harga, kemasan, kualitas, dan aroma.
1.5 Manfaat Penelitian
Manfaat dari penelitian ini yaitu :
1. Mempelajari implementasi kinerja metode ekstraksi fitur TF-IDF dan algoritma Extreme Gradient Boosting pada aspect based sentiment analysis untuk review produk.
2. Sebagai informasi kepada pihak perusahaan guna meningkatkan produk kecantikan mereka berdasarkan review pengguna.
4
1.6 Metodologi Penelitian
Tahapan dalam proses penelitian diuraikan sebagai berikut:
1.6.1. Studi Literatur
Penulis mengkaji filosofi dan pemahaman yang berinterkoneksi dengan penelitian.
Pemahaman tersebut dikumpulkan melalui bahan refrensi, literatur, penelitian sudah pernah dilakukan sebelumnya dan sejumlah sumber lain yang berkaitan dalam penelitian ini.
1.6.2. Analisis Permasalahan
Penulis menganalisa teori-teori yang sudah dikumpulkan sebelumnya dan mengkaji pemahaman metode yang diterapkan untuk mengatasi permasalahan pada penelitian ini.
1.6.3. Perancangan
Penulis melakukan rancangan arsitektur umum, mengumpulkan data, dan merancang tampilan antarmuka sistem.
1.6.4. Implementasi
Penulis menerapkan rancangan yang telah ditetapkan untuk membangun sitem.
1.6.5. Pengujian
Penulis akan melakukan proses uji performa pada implementasi tersebut untuk memastikan sistem yang dibangun berjalan dengan baik.
1.6.6. Penyusunan Laporan
Penulis akan melengkapi dokumentasi laporan dari penelitian yang dilakukan dalam bentuk skripsi.
1.7. Sistematika Penulisan
Sistematika penulisan yang dilakukan dalam penelitian ini diuraikan menjadi sejumlah bagian utama yakni:
Bab 1: Pendahuluan
Bab pendahuluan menguraikan penjelesan latar belakang judul penelitian “Aspect Based Sentiment Analysis Pada Review Produk Kecantikan Menggunakan Extreme Gradient Boosting”, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian dan sistematika penulisan.
Bab 2: Landasan Teori
Bab landasan teori menguraikan konsep terkait yang diterapkan dalam proses pemahaman masalah yang akan dikaji pada penelitian ini serta kosep teori yang berhubungan dengan klasifikasi sentiment, metode XGBoost dan ekstraksi fitur,
Bab 3: Analisis dan Perancangan Sistem
Pada bab ini didapat informasi berupa analisis proses arsitektur umum, penerapan metode XGBoost, klasifikasi sentiment, dan rancangan sistem yang dibuat.
Bab 4: Implementasi dan Pengujian Sistem
Penjelasan pada bagian implementasi dan pengujian sistem didapat informasi berupa penerapan analisis dan perancangan sistem yang disusun pada Bab 3 dan pemaparan uji sistem yang telah disusun.
Bab 5: Kesimpulan dan Saran
Pada bab ini didapat informasi berupa kesimpulan dari bahasan penelitian yang dilakukan dan saran untuk penelitian yang akan dilakukan berikutnya.
BAB 2
LANDASAN TEORI
2.1. Text Preprocessing
Data berupa teks memiliki derau dan perlu dilakukan filtrasi pada saat pengolahan data sehingga lebih mudah dan terstruktur untuk pencapaian akurasi yang lebih baik. Penggunaan teknik preprocessing yang tepat, dapat membantu suatu model Machine Learning memiliki kualitas yang lebih baik (Kannan et al., 2015). Pada tahap ini, data yang diolah dipersiapkan untuk menghasilkan clean words yang akan digunakan untuk tahap proses selanjutnya.
Penerapan proses tahap text processing di penelitian ini terdiri dari cleaning, case folding, punctual removal, normalization, stopword removal, dan stemming. Penggunaan data bersumber dari situs Female Daily dan diperoleh dengan proses crawling. Pada Gambar 2.1 merupakan contoh data mentah pada sistus Female Daily.
Gambar 2.1. Contoh data mentah femaledaily review 2.2. Sentiment Analysis
Sentimen analisis adalah suatu metode yang digunakan untuk menganalisa suatu pernyataan, opini, dan sentimen yang mendasari perasaan dan bersumber dari dalam teks (Liu, 2012).
Sentimen analisis merupakan proses pengolahan teks yang berupa kalimat atau paragraph seperti pendapat atau guna menghasilkan nilai sentimen. Nilai tersebut dapat ditentukan dengan menganalisa setiap kalimat, dan kemudian mengelompokkan kedalam jenis positif, negatif, dan netral.
Polaritas positif (1), digunakan untuk melambangkan sentimen yang bersifat positif seperti pernyataan yang mengarah kebahagiaan dan persetujuan. Polaritas negatif (-1) digunakan untuk melambangkan sentimen yang bersifat negatif seperti pernyataan yang mengarah penolakan, amarah, dan kecewa. Polaritas netral (0) digunakan untuk
melambangkan sentimen yang tidak menujukkan sentimen positif atau sentimen negatif (Ridi Ferdiana et al. 2019)
Dalam bidang penelitian seperti Natural Language Processing (NLP), Text Mining, serta Data Mining, implementasi sentimen analisis berguna untuk bagian produk dan jasa guna melakukan evaluasi dan meningkatkan mutu produk dan jasa melalui opini dan pendapat dari pengguna (King, 2011).
2.3. Aspect Based Sentiment Analysis
ABSA (Aspect Based Sentiment Analysis) ialah metode pengolahan analisa yang lanjutan dari bidang dari sentimen analisis. Sentimen analisis merupakan proses pengolahan data teks untuk menghasilkan nilai sentimen tersebut. Namun pada sentimen analisis, pengolahan data yang digunakan masih menggunakan secara keseluruhan. Tujuan dari ABSA ini adalah untuk menganalisis sejumlah teks dan menentukan sentimen pada setiap aspek yang berbeda. Selain itu, ABSA juga digunakan untuk memkasimalkan performa analisis sentimen. Aspect Based Sentiment Analysis (ABSA) dapat menganalisis teks yang tidak terstruktur. Kemudian teks tersebut dipecah menjadi beberapa bagian aspek dan dilakukan alokasi masing-masing tingkatan sentimen menjadi kelompok sentimen positive, negative, dan netral (Pontiki et al, 2016).
Menurut Liu (2012) analisis sentimen berdasarkan aspek dilakukan karena lebih memfokuskan pada hal yang lebih rinci. Pada analisis sentimen berdasarkan aspek, opini akan di analisa dan kemudian membagi kelompok kalimat tersebut dengan nilai sentimen positif, negatif, netral dan target dari opini itu. Target ini digunakan dalam proses analisa kalimat yang terdapat dalam sebuah kalimat. Misalkan terdapat dalam sebuah kalimat review “produk ini bagus dan ampuh banget di kulit aku, namun baunya sedikit menyengat dan aneh. untuk harga juga ini mahal”. Dari contoh kalimat review tersebut, disimpulkan bahwa kualitas produk itu bagus dan ampuh sehingga digolongkan menjadi positif, namun ketika dianalisa lebih rinci terdapat kalimat yang memiliki nilai negative karena pada aroma itu bau dan harga juga mahal.
Hal tersebut ialah menjadi hal yang diperhatikan pada analisis sentimen berdasarkan aspek untuk sebuah produk.
2.4. TF-IDF (Term Frequency – Inverse Document Frequency)
TF-IDF ialah salah satu teknik pembobotan kata yang digunakan dalam mencerminkan relevan kata muncul dalam sebuah dokumen. Nilai bobot yang terdapat di dalam sebuah kata dapat
8 ditentukan dengan menggunakan kata unik dalam dokumen. Untuk menghitung kemunculan kata di dalam dokumen dapat menggunakan TF. Skor tersebut dihasilkan dari jumlah term i yang muncul dalam dokumen j terhadap jumlah seluruh term pada dokumen j dan ditunjukkan pada persamaan 2.1. Nilai TF akan semakin besar ketika nilai kata yang muncul pada dokumen banyak.
tf(ij)= 𝑓𝑑 (𝑖)
𝑓𝑑(𝑗) (2.1)
Sedangkan IDF dapat digunakan untuk menghitung seringnya kata muncul didalam kumpulan seluruh dokumen. Proses pencarian kata unik akan terhambat ketika didalam sebuah dokumen terdapat kata yang dominan muncul. Sehingga untuk mendapat skor idf ditunjukkan pada persamaan 2.1. Dan untuk mendapat skor tf-idf ditunjukkan pada persamaan 2.2. Pada nilai IDF, nilai akan semakin besar ketika kata yang muncul pada dokumen sedikit.
idf (t, D) = log 𝑁
𝑑𝑓(𝑡)+1 (2.2)
tftdft = tft x idft (2.3)
Berdasarkan persamaan 2.2 dan 2.3, idft ialah nilai inverse document frequency term t, dan D ialah sejumlah keseluruhan dokumen, df(t) ialah sejumlah dokumen yang ditemukan term t.
2.5.Extreme Gradient Boosting (XGBoost)
Extreme Gradient Boosting atau XGBoost merupakan salah satu jenis metode ensemble berdasarkan gradient boosting tree, sehingga menghasilkan performa kerja yang lebih cepat dan scalable karena mampu mengatasi masalah klasifikasi dan regresi (Chen et al, 2016).
Rancangan pembangunan dari metode ini dilakukan dengan penggabungan kinerja boosting dan gradient boosting machine (Friedman, 2001). Pada Gambar 2.2 merupakan bagan algoritma XGBoost.
Gambar 2.2. Bagan Algortima XGBoost (Mo et al., 2019)
Metode XGBoost berproses dengan menerapkan setiap predictor atau prediksi secara sekuensial dan mengubah menjadi model berdasarkan nilai residual error yang terjadi pada model sebelumnya untuk meningkatkan kinerja proses klasifikasi (Schapire et al, 1998).
Persamaan yang digunakan untuk mendapatkan nilai prediksi awal atau h0 (x)dan nilai residual error (Ŷ) dari model pertama dengan menerapkan persamaan 2.4 dan 2.5 berikut.
h0 (x) = mean (Y) (2.4)
Ŷ = Y - h0 (x) (2.5)
Setelah proses pembangun model pertama dibangun, dilanjutkan dengan membangun model kedua dengan menerapkan nilai residual error yang dihasilkan dari model pertama untuk memperoleh nilai prediksi kedua. Kemudian pada proses pembangunan model ketiga akan menerapkan nilai residual error yang dihasilkan dari model pertama dan kedua untuk memperoleh nilai prediksi ketiga. Dari hasil prediksi tersebut akan dilakukan perhitungan nilai prediksi dari model sebelumnya dan diuraikan pada persamaan 2.6
Ŷi(t)= ∑𝑡𝑘=1𝑓k(xi) (2.6)
Dengan keterangan sebagai berikut:
Ŷi(t) = merupakan nilai prediksi
fk(xi) = merupakan model baru yang akan dibangun.
t = merupakan jumlah total model dari keseluruhan model pohon
Dan selanjutnya dengan menggunakan gradient boosting, nilai error dapat diperkecil pada saat model baru dibuat (Annisa et al, 2017). Model yang belajar akan membentuk garis vertikal dan horizontal untuk proses klasifikasi, sehingga akan menghasilkan hasil yang baik. Pada Gambar 2.3 merupakan gambar ilustrasi proses boosting.
10
Gambar 2.3. Proses Boosting (Sumber: datacamp.com)
Cara kerja yang dilakukan metode Extreme Gradient Boosting (Dayananda, 2020) pada saat proses klasifikasi yakni:
1. Lakukan input data.
2. Langkah berikutnya adalah memprediksi dengan menghitung nilai residual pada seluruh titik dari nilai prediksi sebelumnya.
3. Pada langkah ketiga ini, akan dilakukan perbandingan berdasarkan letak pohon. Pada saat pohon ke-i sudah dibangun dan belum mencapai pohon ke-m, maka pohon ke-m akan dilatih, namun ketika pohon ke-i sudah mencapai pohon ke-m maka prediksi akhir akan dilakukan.
4. Langkah berikutnya adalah dengan menghitung nilai similiarity diuraikan pada persamaan 2.7 dan nilai gain yang diuraikan pada persamaan 2.8 pada seluruh pohon untuk menemukan pohon yang split.
Similiarity Score = ( ∑Ŷ𝑖)
2
∑[𝑃𝑟𝑒𝑣𝑖𝑜𝑢𝑠 𝑓𝑖(𝑥).(1−𝑃𝑟𝑒𝑣𝑖𝑠𝑖𝑜𝑠 𝑓𝑖(𝑥)]+𝜆 (2.7) Dengan keterangan sebagai berikut:
∑Ŷ𝑖 = nilai residual
𝑃𝑟𝑒𝑣𝑖𝑜𝑢𝑠 𝑓𝑖(𝑥) = nilai probabilitas pada saat f(i)
𝜆 = nilai parameter untuk pemangkasan node (0)
𝐺𝑎𝑖𝑛 = (𝐿𝑒𝑓𝑡similiarity + 𝑅𝑖𝑔ℎ𝑡similiarity) – Rootsimiliarity (2.8) Dengan keterangan sebagai berikut:
𝐿𝑒𝑓𝑡similiarity = nilai similiarity pada node sebelah kiri
𝑅𝑖𝑔ℎ𝑡similiarity = nilai similiarity pada node sebelah kanan
𝑅𝑜𝑜𝑡similiarity = nilai similiarity pada akar node
5. Apabila node memiliki nilai gain yang maksimal, maka split akan dilakukan kembali.
6. Berikutnya adalah dengan melakukan pruning atau pemangkasan yang bertujuan untuk memperkecil ukuran node serta menghilangkan bagian node yang memiliki performa yang kecil dan pemrosesan.
7. Menghitung nilai output untuk semua leaf dengan tujuan mendapatkan pohon terakhir dari model ke-m yang diuraikan pada persamaan 2.9.
Output Value = ( ∑Ŷ𝑖)
∑[𝑃𝑟𝑒𝑣𝑖𝑜𝑢𝑠 𝑓𝑖(𝑥).(1−𝑃𝑟𝑒𝑣𝑖𝑠𝑖𝑜𝑠 𝑓𝑖(𝑥)]+𝜆 (2.9)
Dengan keterangan sebagai berikut:
∑Ŷ𝑖 = nilai residual
𝑃𝑟𝑒𝑣𝑖𝑜𝑢𝑠 𝑓𝑖(𝑥) = nilai probabilitas pada saat f(i)
𝜆 = nilai parameter untuk pemangkasan node (0) 8. Menghtiung prediksi dari model ke-m.
9. Pada langkah terakhir, proses perulangan dilakukan kembali pada langkah ketiga untuk dilakukan prediksi akhir.
2.6.Penelitian Terdahulu
Beberapa penelitian terkait dengan bermacam model yang telah dilakukan pihak sebelumnya, yakni penelitian oleh Malik et al. (2019) melakukan penelitian Comparation Analysis of Ensemble Technique With Boosting (XGBoost) and Bagging (Random Forest) for Classify Splice Junction DNA Sequence Category. Dalam penelitiannya, melakukan perbandingan metode ensamble yaitu Extreme Gradient Boosting dan Random Forest pada klasifikasi rangkaian DNA. Hasil terbaik didapat menunjukkan 96,24% pada penerapan metode Extreme Gradient Boosting
Jun Sheng et al. (2019) melakukan penelitian Sentiment Analysis of Chinese Product Reviews using Gated Recurrent Unit. Penelitian ini bertujuan untuk menganalisis sentimen pengguna dengan menggunakan bahasa cina pada suatu platform e-commerce Cina, dan mengklasifikasikan sentimen tersebut dengan menggunakan Gated Recurrent Unit. Pengujian dataset dipisah menjadi dua bagian kelompok yakni positif dan negatif. Bagian pertama dengan
12 membagi data uji seimbang (50:50) menunjukkan akurasi sebesar 87,66%, sedangkan hasil pada data uji tidak seimbang (18:82) menunjukkan akurasi sebesar 87,9%.
D. A. Al-Qudah et al. (2020) melakukan penelitian dengan judul Sentiment Analysis for e- payment Service Providers Using Evolution Extreme Gradient Boosting Penelitian ini bertujuan untuk mengklasifikasikan sentiment masyarakat terhadap penyedia layana pembayarna elektronik. Penelitian ini menerapkan metode ekstrasi fitur TF-IDF. Dan untuk metode klasifikasi sentimen, melakukan perbandingan metode XGBoost, J84, Naïve Bayes, dan KNN untuk mengkategorikan sentimen ke positif, negatif dan netral. Hasil akurasi terbaik yang didapat adalah dengan penerapan metode XGBoost sebesar 82,8%.
Nasa Zata Dina et al. (2020) melakukan penelitian berjudul Aspect Based Sentiment Analysis of Employee’s Review Experience. Pada penelitian ini, dataset yang digunakan berupa ulasan pengalaman pekerja dari situs Glassdoor. Penelitian ini menggunakan POS Tagging dan TF. Nilai precision terbaik dalam penelitian ini terdapat pada ulasan perusahaan Google sebesar 86,67% pada aspek company benefit. Sedangkan nilai recall terbaik terdapat pada ulasan perusahaan Google yaitu sebesar 95,8% pada aspek culture value.
Mhd. Theo Ari Bangsa et al. (2020) melakukan penelitian Aspect-Based Sentiment Analysis of Online Marketplace Reviews Using Convolutional Neural Network. Penelitian ini dilakukan untuk mengklasifikasi sentimen bahasa Indonesia berdasarkan aspek dari ulasan bukalapak.com, dengan menerapkan metode CNN dan Word2Vec. Hasil akurasi pengujian yang didapat pada penelitian ini adalah sebesar 85.54%.
Penelitian berjudul Klasifikasi Sentimen Masyarakat Terhadap Kinejra KPK Menggunakan Algoritma Multinomial Naïve Bayes (Novalina, 2020). Penelitian ini dilakukan untuk mengklasifikasikan sentimen kinerja KPK, dengan menggunakan multinomial naïve bayes dan TF-IDF pada pembobotan kata. Hasil akurasi yang didapat adalah 85.64%
Rincian singkat penelitain yang telah dilakukan ditampilkan dalam Tabel 2.1 Tabel 2.1 Penelitian terdahulu
No Peneliti Metode Judul Keterangan
1. Malik et al.
(2019)
Extreme Gradient Boositng dan Random Forest
Comparation Analysis of Ensemble Technique With Boosting (XGBoost) and Bagging (Random Forest) for
Classify Splice Junction DNA Sequence Category
Peneliti melakukan perbandingan metode antara XGBoost dan Random Forest dalam proses klasifikasi rangkaian DNA. Hasil terbaik yang didapat untuk klasifiksi adalah sebesar 96,24%
pada penerapan metode XGBoost
2. Jun Sheng et al. (2019)
Gated Recurrent Unit
Sentiment Analysis of Chinese Product Reviews using Gated Recurrent Unit
Menganalisis sentimen pengguna pada platform e-commerce Cina dengan menggunakan bahasa cina, dan pengklasifikasi
sentimen tersebut menggunakan GRU. Pengujian dataset dibagi menjadi 2 bagian yaitu seimbang dan tidak seimbang. Hasil
akurasi dengan data uji seimbang (50:50) sebesar 87,66%,
sedangkan akurasi dengan data uji tidak seimbang (18:82) sebesar 87,9%.
14
Tabel 2.1. Penelitian Terdahulu (Lanjutan)
No Peneliti Metode Judul Keterangan
3. D. A. Al- Qudah et al.
(2020)
XGBoost Sentiment Analysis for e- payment Service Providers Using Evolution Extreme Gradient Boosting
Penelitian ini dilakukan untuk menganalisis sentiment
pengguna terhadap penyediaan layanan pembayaran elektronik.
Dengan menerapkan beberapa metode seperti XGBoost, J84, Naïve Bayes, dan KNN, didapat hasil akurasi terbaik dengan penerapan metode XGBoost sebesar 82,8%.
4. Nasa Zata Dina et al.
(2020)
POS Tagging dan TF
Aspect Based Sentiment Analysis of Employee’s Review Experience
Pada penelitian ini, dataset yang digunakan bersumber pada situs Glassdoor berupa ulasan
pengalaman pekerja.
Menerapkan metode POS Tagging dan TF, menghasilkan nilai precision terbaik sebesar 86,67% untuk aspek company benefit. Dan sebesar 95,8% nilai recall terbaik yang didapat untuk aspek culture value.
5. Mhd. Theo Ari Bangsa et al. (2020)
Convolutional Neural
Network dan Word2Vec
Aspect-Based Sentiment
Analysis of Online Marketplace Reviews Using Convolutional Neural Network
Penelitian ini bertujuan untuk mengklasifikasikan sentimen bahasa Indonesia berdasrkan aspek dari ulasan bukalapak.com dengan menggunakan metode CNN dan Word2Vec. Hasil akurasi yang didapat adalah sebesar 85,54%.
Tabel 2.1. Penelitian Terdahulu (lanjutan)
No Peneliti Metode Judul Keterangan
6. Novalina, 2020
TF-IDF dan Multinomial Naïve Bayes
Klasifikasi sentimen masyarakat
terhadap kinerja KPK dengan Multinomial Naïve Bayes
Peneliti melakukan klasifikasi sentimen masyarakat terhadap
kinerja KPK dengan
menggunakan multinomial naïve bayes dan TF-IDF pada pembobotan kata. Hasil akurasi yang didapat adalah 85.64%
2.7.Perbedaan Penelitian
Ada sejumlah hal yang membedakan penelitian ini dengan sejumlah penelitian yang sudah diuraikan. Pada penelitian sebelumnya beberapa peneliti masih hanya melakukan penelitian pada sentiment analysis. Selain itu, sejumlah peneliti yang telah meneliti analisis sentimen berdasarkan aspek, belum terdapat yang melakukan penelitian terhadap hasil review produk kecantikan berdasarkan empat aspek seperti harga, kemasan, kualitas dan aroma suatu produk. Sehingga pada penelitan ini, peneliti melakukan penelitian analisis sentimen berdasarkan aspek terhadap produk kecantikan dengan menerapkan metode Extreme Gradient Boosting.
16
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1.Dataset
Penggunaan data di penelitian ini merupakan kumpulan review produk kecantikan yang sudah melewati proses crawling yang bersumber dari situs female daily, dan akan disimpan dalam format .csv. Review untuk produk kecantikan tersebut didapat dari beberapa kategori produk seperti sun protection, serum, toner, scrub, perfume dan lip product dengan menggunakan bahasa Indonesia. Jumlah data dari hasil crawling produk adalah 1500 data. Lalu data tersebut dibagi menjadi data latih dan data uji dengan rasio 0,8:0,2. Sehingga sejumlah 1200 ialah data latih, dan 300 data uji. Data latih dilakukan pemberian nilai label secara manual oleh penulis menjadi tiga kelompok sentiment yakni review dengan sentiment positive, negative, dan netral.
Dalam menentukan label sebuah kalimat, harus dilakukan validasi data dengan melibatkan pandangan dari berbagai pihak (William et al, 2020). Sehinga label data telah divalidasi dengan cara membagi data review kedalam 10 file excel, dan disetiap masing-masing file terdapat sejumlah 150 data. Penulis kemudian mengirimkan data tersebut kepada 30 orang responden, yang dikelompokkan menjadi 3 orang dan untuk setiap kelompok responden melakukan evaluasi terhadap data yang berbeda. Latar belakang dari responden ialah pengguna yang umumnya paham, peduli dan antusias terhadap produk kecantikan dan berjenis kelamin perempuan dengan intensitas usia 18-21 tahun. Sehingga dapat diperoleh keseluruhan jumlah data seperti tabel 3.1.
Pengelompokkan data dapat dilihat pada Tabel 3.1 berikut:
Tabel 3.1. Pengelompokkan Data
Dataset Aspek Positive Negative Netral
Harga 392 331 477
Kemasan 330 252 618
Tabel 3.1. Lanjutan Pengelompokkan Data
Dataset
Aspek Positive Negative Netral
Kualitas 512 273 415
Aroma 418 260 522
3.2.Arsitektur Umum
Terdapat beberapa tahapan pemrosesan yang diterapkan dalam penelitian ini. Tahapan-tahapan tersebut yakni mengumpulkan data yang diterapkan pada proses training dan testing. Langkah berikutnya yaitu Pre-processing yakni proses Cleaning, Case Folding, Punctual Removal, Normalization, Stopword Removal, dan Stemming. Kemudian data tersebut akan melalui proses pembobotan kata dengan menggunakan tf-idf. Kemudian, data akan dilatih dan menghasilkan suatu model yang akan digunakan pada proses uji. Arsitektur umum yang menggambarkan metode penelitian terlihat pada Gambar 3.1
Gambar 3.1. Arsitektur Umum
18
3.2.1 Input
Input pada penelitian ini berupa data review produk kecantikan dan terdiri dari enam kategori produk kecantikan seperti sun protection, serum, toner, scrub, perfume dan lip product. Data berupa kumpulan review sudah dipisah berdasarkan kategori secara manual ke 3 bagian yakni positif, negatif, dan netral. Setiap review yang dinyatakan positif (1) adalah ketika menyatakan sentimen berdasarkan pernyataan bahagia dan persetujuan. Review yang dinyatakan negative (-1) ketika menyatakan pernyataan kecewa, amarah dan penolakan. Dan untuk review yang dinyatakan netral (0) adalah ketika aspek yang bersangkutan tidak terdapat didalam kalimat review. Data tersebut akan menjadi acuan untuk sistem dapat dilatih. Contoh kalimat review diuraikan pada tabl 3.2 berikut.
Tabel 3.2. Contoh Kalimat Review
Kalimat Kelompok Aspek
Harga Kemasan Kualitas Aroma 1. aku tidak suka karena di wajah aku ini iritasi
dan kering banget. untuk harga ini cukup terjangkau
1 0 -1 0
2. produk terbaik yang aku punya karena cocok dan ampuh banget di wajah aku yang kering.
tapi ini bau dan aneh. dia terbuat dari kaca sehingga gampang pecah
0 -1 1 -1
3. Aku suka banget sama kemasannya karena dia praktis dan kokoh. Untuk isi segini mahal ini menurut aku dia juga tenang di wajah, dan untuk aroma ini harum
-1 1 0 1
3.2.2 Text Processing
Pada tahap ini data sudah ada akan di proses pada tahapan preprocessing, yaitu;
3.2.2.1 Cleaning
Cleaning merupakan tahap awal yang dilakukan. Cleaning befungsi membersihkan data dari term yang tidak diperlukan yang dapat mempengaruhi makna kata. Pada penelitian ini, proses cleaning dilakukan untuk menghilangkan emoji dan beberapa entitas karakter seperti spasi,
petik ganda, dan karaker yang tidak dibutuhkan sehingga dapat mengurangi derau dari data yang akan digunakan. Contoh tahap cleaning ditunjukkan tabel 3.3.
Tabel 3.3. Tahapan Cleaning
Review sebelum diproses Review setelah Proses Cleaning SUMPAH YA PRODUK INI BIKIN
SEDIH BANGET!!!! BURUK BANGET!!!
😭  pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu
harganya mahal kan jadi kecewa banget. ga akan repurchase lg.
SUMPAH YA PRODUK INI BIKIN SEDIH BANGET!!!! BURUK BANGET!!!
pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.
3.2.2.2 Case Folding
Proses ini merupakan tahap yang berfungsi untuk melakukan penyeragaman seluruh huruf kapital pada kalimat review menjadi huruf kecil (lowercase). Penyeragaman karakter pada tahap ini mempermudah untuk menghapus karakter yang tidak dibutuhkan untuk proses berikutnya. Penerapan proses case folding ditunjukkan tabel 3.4.
Tabel 3.4. Tahapan Case Folding
Review sebelum Proses Case Folding Review setelah Proses Case Folding SUMPAH YA PRODUK INI BIKIN SEDIH
BANGET!!!! BURUK BANGET!!! pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.
sumpah ya produk ini bikin sedih banget!!!!
buruk banget!!! pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.
3.2.2.3 Punctual Removal
Punctual Removal dilakukan untuk menghilangkan semua tanda baca dan angka yang terdapat pada review kalimat sehingga menjadi karakter yang lebih sederhana untuk diproses pada tahap berikutnya. Contoh tahap punctual removal ditunjukkan pada tabel 3.5.
20
Tabel 3.5. Tahapan Punctual Removal
Review sebelum Proses Punctual Removal Review setelah Proses Punctual Removal sumpah ya produk ini bikin sedih banget!!!!
buruk banget!!! pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.
sumpah ya produk ini bikin sedih banget buruk banget pas pake bikin muka jd ungu padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu bikin muka ungu udah gitu harganya mahal kan jadi kecewa banget ga akan repurchase lg
3.2.2.4 Normalization
Normalization merupakan proses yang dilakukan untuk menormalisasi kata dalam data. Tahap ini dilakukan untuk memperbaiki penulisan kata seperti singkatan dan typo sehingga kata yang dihasilkan menjadi terstruktur. Struktur kalimat dan kosakata, merupakan hal yang mendasar pada proses normalization. Hasil yang lebih baik akan diperoleh ketika variasi kata dalam kalimat lebih spesifik dan dalam jumlah yang sedikit. Pada penelitian ini, penulis menggunakan sebuah dictionary yang telah disediakan sebelumnya dan penulis juga menyusun dictionary yang baru sehingga pemrosesan pada tahap normalisasi akan lebih baik. Proses yang dilakukan pada tahap ini dengan melakukan penormalan kata singkatan seperti “bikin” menjadi “buat”,
“pake” menjadi “pakai”, “jd” menjadi “jadi”, “bener” menjadi “benar”, “matte” menjadi
“kering”, “gt” menjadi “begitu”, “ku” menjadi “aku”, “yg” menjadi “yang”, “udah” menjadi
“sudah”, “ga” menjadi “tidak”, “repurchase” menjadi “beli lagi”, “lg” menjadi “lagi”, serta kata-kata typo lain yang tidak sesuai dengan bahasa Indonesia. Contoh tahap normalization ditunjukkan pada tabel 3.6.
Tabel 3.6. Tahapan Normalization
Review sebelum Proses Normalization Review setelah Proses Normalization sumpah ya produk ini bikin sedih banget
buruk banget pas pake bikin muka jd ungu padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu bikin muka ungu udah gitu harganya mahal kan jadi kecewa banget ga akan repurchase lg
sumpah ya produk ini buat sedih banget buruk banget pas pakai buat muka jadi ungu padahal ini benar benar buat kering begitu di muka aku yang super berminyak ini tapi sayang nya itu buat muka ungu sudah begitu harganya mahal kan jadi kecewa banget tidak akan beli lagi lagi
3.2.2.5 Stopword Removal
Stopword Removal ialah proses yang dilakukan untuk menghilangkan kata-kata yang sering muncul dan tidak berguna serta kata hubung lainnya tidak bermakna. Tahap ini dilakukan untuk menghilangkan kalimat menjadi kalimat yang lebih sederhana. Pada penelitian ini penulis menggunakan library NLTK (Natural Language Tool Kit) dalam proses stopword removal.
Adapun contoh kata yang akan dihapus seperti “ya”, “ini”, “buat”, “padahal”, “benar”, “di”,
“aku”, “yang”, “tapi”, “nya”, “itu”, “sudah”, “begitu”, “kan”, “jadi”, “akan”, “beli”. Contoh tahap stopword removal ditunjukkan pada tabel 3.7.
Tabel 3.7. Tahapan Stopword Removal
Review sebelum diproses Review setelah dilakuaStopword Removal sumpah ya produk ini buat sedih banget
buruk banget pas pakai buat muka jadi ungu padahal ini benar benar buat kering begitu di muka aku yang super berminyak ini tapi sayang nya itu buat muka ungu sudah begitu harganya mahal kan jadi kecewa banget tidak akan beli lagi lagi
sumpah produk sedih banget buruk banget pas pakai muka ungu kering muka super berminyak sayang muka ungu harganya mahal kecewa banget tidak beli
3.2.2.6 Stemming
Stemming dilakukan untuk menghilangkan imbuhan kata yang ada dalam kalimat review menjadi kata dasar. Penghilangan imbuhan kata ditujukan dalam pemudahan menemukan kata yang muncul agar sesuai makna. Pada penelitian ini, stemming dilakukan menggunakan library Sastrawi, namun pada pemrosesannya penggunaan library Sastrawi membutuh waktu yang cukup tinggi dalam prosesnya. Contoh tahap stemming ditampilkan pada tabel 3.8 berikut
Tabel 3.8. Tahapan Stemming
Review sebelum Stemming Review setelah Proses Stemming sumpah produk sedih banget buruk banget
pas pakai muka ungu kering muka super berminyak sayang muka ungu harganya mahal kecewa banget tidak beli
sumpah produk sedih banget buruk banget pas pakai muka ungu kering muka super minyak sayang muka ungu harga mahal kecewa banget tidak beli
22
3.2.3. TF-IDF (term frequency-inverse document frequency)
TF-IDF ialah salah satu teknik pembobotan kata yang digunakan untuk mencerminkan a relevan kata muncul dalam sebuah dokumen. Nilai bobot yang terdapat didalam sebuah kata dapat ditentukan dengan menggunakan kata unik dalam dokumen agar dapat diproses menjadi model yang akan digunakan pada klasifikasi Extreme Gradient Boosting. Nilai TF akan semakin besar ketika nilai kata yang muncul pada dokumen banyak. Pada nilai IDF, nilai akan semakin besar ketika kata yang muncul pada dokumen sedikit.
Nilai parameter pada jumlah dokumen dapat dijadikan sebagai nilai minimal pembobotan kata yang muncul. Nilai tersebut berupa min_df = 1 dan ngram_range = (1,1).
Nilai akurasi akan lebih baik jika dalam penentuan nilai bobot dilakukan penentuan parameter (G.A. Dalaorao, et al 2019). Pada penelitian ini penerapan TF-IDF dilakukan dengan memanfaatkan n = 1 (unigram). N-gram merupakan teknik ekstraksi fitur TF-IDF yang menghasilkan n kata menjadi satu bagian dengan cara memisahkan kata dalam kalimat. Contoh penerapan teknik unigram TF-DF adalah mengubah kata “aroma produk harum” menjadi [‘aroma’, ‘produk’, ‘harum’]. Contoh penerapaan untuk menghitung skor TF, DF, dan IDF berdasarkan 2 dokumen review berikut ditampilkan pada tabel 3.9, tabel 3.10, dan tabel 3.11.
Dokumen 1 : harga murah banget. namun menurut aku aroma ini bau dan menyengat banget Dokumen 2 : produk ini harga murah. ini cair banget. dan aroma harum
Tabel 3.9. Kemunculan Term pada Dokumen term D1 D2 Skor TF harga 1 1 2/13 = 0.15 murah 1 1 2/13 = 0.15 banget 1 0 1/13 = 0.07 namun 1 0 1/13 = 0.07 menurut 1 0 1/13 = 0.07
aku 1 0 1/13 = 0.07
aroma 1 1 2/13 = 0.15
ini 1 2 3/13 = 0.23
bau 1 0 1/13 = 0.07
Tabel 3.9. Lanjutan Kemunculan Term pada Dokumen
dan 1 1 2/13 = 0.15
menyengat 1 0 1/13 = 0.07 banget 1 1 2/13 = 0.15 produk 1 0 1/13 = 0.07 cair 0 1 1/13 = 0.07 harum 0 1 1/13 = 0.07
Pada nilai df, didapat dari jumlah dokumen letak term muncul, ditunjukkan tabel 3.10.
Tabel 3.10. Skor DF term D1 D2 Skor DF
harga 1 1 2
murah 1 1 2
banget 1 0 1
namun 1 0 1
menurut 1 0 1
aku 1 0 1
aroma 1 1 2
ini 1 2 3
bau 1 0 1
dan 1 1 2
menyengat 1 0 1
banget 1 1 2
produk 1 0 1
cair 0 1 1
harum 0 1 1
24 Dengan menerapkan persamaan 2.2, dapat dilakukan untuk menghitung nilai idf, ditunjukkan tabel 3.11.
Tabel 3.11. Skor IDF term Skor DF Skor IDF
Harga 2 Log ( 2
2+1) = 0.18
murah 2 Log ( 2
2+1) = 0.18
banget 1 Log ( 2
1+1) = 0
namun 1 Log ( 2
1+1) = 0
menurut 1 Log ( 2
1+1) = 0
aku 1 Log ( 2
1+1) = 0
aroma 2 Log ( 2
2+1) = 0.18
ini 3 Log ( 2
3+1) = 0.30
bau 1 Log ( 2
1+1) = 0
dan 2 Log ( 2
2+1) = 0.18
menyengat 1 Log ( 2
1+1) = 0
banget 2 Log ( 2
2+1) = 0.18
produk 1 Log ( 2
1+1) = 0
Dengan menerapkan persamaan 2.3 untuk menghitung nilai tf-idf, ditunjukkan tabel 3.12.
Tabel 3.12. Nilai TF-IDF
term Skor TF Skor IDF Skor TF-IDF
namun 0.07 0 0
menurut 0.07 0 0
aku 0.0.7 0 0
aroma 0.15 0.18 0.027
ini 0.23 0.30 0.069
bau 0.07 0 0
Tabel 3.12. Lanjutan Nilai TF-IDF
term Skor TF Skor IDF Skor TF-IDF
dan 0.15 0.18 0.027
menyengat 0.07 0 0
banget 0.15 0.18 0.027
produk 0.07 0 0
cair 0.07 0 0
harum 0.07 0 0
3.2.4. Extreme Gradient Boosting (XGBoost)
Extreme Gradient Boosting ialah metode yang dipalikasikan pada penelitian ini. Metode ini berupa metode ensamble berdasarkan gradient boosting. Nilai error dapat diperkecil pada saat model baru dibuat. Model yang belajar akan membentuk garis vertikal dan horizontal untuk proses klasifikasi, sehingga akan menghasilkan hasil yang baik. Pada metode ini, ukuran depth dan jumlah pohon merupakan hal yang penting untuk mengurangi loss function yang digunakan sebagai nilai kualitas struktur pohon. Apabila nilai semakin kecil, maka model yang dihasilkan juga semakin baik. Sehingga perlu dilakukan pemangkasan atau pruning untuk setiap pohon yang memiliki performa kurang baik.
Adapun penerapan yang dilakukan dalam membangun pohon pada metode Extreme Gradient Boosting:
Data yang sudah melewati proses preprocessing akan memasuki tahap pengklasifikasian menggunakan XGBoost dan data tersebut diinisialisasi menjadi data [X,Y] seperti yang diuraikan pada tabel 3.13 merupakan contoh data yang berikan:
Tabel 3.13. Data Membangun Pohon XGBoost
X Y
3 0
9 1
15 1
18 0
26 1. Lakukan prediksi awal. Pada penelitian ini nilai parameter base_score atau prediksi
awal f0(x) adalah 0.5.
2. Lakukan proses perhitungan untuk mencari nilai error atau residuals. Hasil proses perhitungan ditunjukkan tabel 3.14
Tabel 3.14. Perhitungan Error ke-1 X Y f0(x) Ŷ = y-f0(x)
3 0 0.5 -0.5
9 1 0.5 0.5
15 1 0.5 0.5
18 0 0.5 -0.5
3. Pada model latih, untuk mencegah split, pohon yang dibangun dibagi menjadi beberapa bagian, ditampilkan diGambar 3.2. Cara perhitungan ditampilkan digambar 3.2 didapat pada perhitungan tabel 3.14.
Gambar 3.2. Contoh Membangun Pohon XGBoost ke-1
Proses pada bagian kedua ditampilkan diGambar 3.3, dan proses perhitungan ditunjukkan tabel 3.15.
Tabel 3.15. Perhitungan Error ke-2
X Y Fo(x) Ŷ
3 0 0.5 -0.5
9 1 0.5 0.5
15 1 0.5 0.5
18 0 0.5 -0.5
Gambar 3.3. Contoh Membangun Pohon XGBoost ke-2
Proses pada bagian ketiga seperti pada Gambar 3.4, dan proses perhitungan diuraikan dalam tabel 3.16
Tabel 3.16. Perhitungan Error ke-3
X Y Fo(x) Ŷ
3 0 0.5 -0.5
9 1 0.5 0.5
15 1 0.5 0.5
18 0 0.5 -0.5
Gambar 3.4. Contoh Membangun Pohon XGBoost ke-3
4. Langkah berikutnya adalah menentukan batasan nilai root dengan menghitung nilai rata-rata antara 2 titik split dengan menerapkan persamaan 2.7 dan persamaan 2.8.
Proses perhitungan ditunjukkan di Gambar 3.5
28
Gambar 3.5. Perhitungan nilai similiarity dan gain
5. Lakukan pemisahan untuk pohon yang memiliki nilai gain maksimal dan akan dilakukan split yang ditunjukkan di Gambar 3.6
Gambar 3.6. Contoh Perhitungan nilai similiarity dan gain pada saat split
6. Dilanjutkan dengan melakukan pemangkasan untuk memperkecil ukuran pohon.
Berdasarkan gambar 3.6 dapat disimpulkan internal root x<4 menjadi konstruksi pohon karena memiliki nilai gain yang maksimal. Proses pemangkasan ditunjukkan pada gambar 3.7
Gambar 3.7. Contoh Proes Pemangkasan
7. Lakukan perhitungan untuk mencari nilai output untuk mendapatkan model pohon dengan menggunakan persamaan 2.9. Proses perhitungan output ditampilkan diGambar 3.8.
Gambar 3.8. Perhitungan Output
8. Lakukan kembali perulangan pada langkah ketiga untuk mendapatkan hasil terbaik pada pohon XGBoost.
3.3. Perancangan Sistem
Dalam penelitian ini sistem dibuat berbasis one-page web sebagai media antarmuka sistem dengan pengguna yang bertujuan untuk mempermuudah pengguna dalam menjalankan sistem.
Rancangan sistem pada penelitian terdari dari tiga halaman bagian, diantara halaman beranda, halaman training dan halaman testing. Adapun penjelasan rancangan untuk setiap bagian yang diterapkan pada sistem adalah sebagai berikut.
30 3.3.1 Rancangan Tampilan Beranda
Gambar 3.9 Rancangan Tampilan Beranda Dengan keterangan sebagai berikut:
1. Button A berfungsi menampilkan halaman beranda 2. Button B berfungsi menampilkan halaman training 3. Button C berfungsi menampilkan halaman testing
4. Button D berfungsi untuk mengarahkan ke halaman proses training 3.3.2 Rancangan Tampilan Training
Gambar 3.10 Rancangan Tampilan Training
Dengan keterangan sebagai berikut:
1. Button A berfungsi sebagai input file data training 2. Button B berfungsi untuk memulai proses training
3. Button C berfungsi untuk menampilkan hasil proses training yaitu berupa review sebelum dan sesudah tahap preprocessing diikuti nilai kategori sentimen setiap aspek yang sudah ditentukan
3.3.3. Rancangan Tampilan Testing
Gambar 3.11 Rancangan Tampilan Testing Dengan keterangan sebagai berikut:
1. Button A berfungsi untuk input file pada saat proses testing 2. Button B berfungsi untuk memulai proses testing
3. Button C berfungsi untuk manampilkan hasil proses testing yaitu berupa review kalimat sebelum dan sesudah tahap preprocessing, dan nilai kategori sentimen berdasarkan aspek sebelum dan sesudah diuji.
3.4. Metode Evaluasi
Untuk mengidentifikasi hasil pemrosesan sebuah model yang sudah dilatih perlu dilakukan evaluasi. Dalam penelitian ini, metode evaluasi yang diterapkan yaitu metode confussion matrix. Evaluasi yang digunakan dalam metode ini dapat ditentukan dengan berbagai cara seperti precision, recall, F-1Score, dan accuracy. Penerapan metode evaluasi confussion matrix ditunjukkan tabel 3.17 berikut:
32
Tabel 3.17. Penerapan Confussion Matrix
Label Secara Manual
Positive Negative Neutral
Hasil Identifikasi
Positive (1)
(TP) True Positve
(FP) False Positive
(FP) False Positive Negative
(-1)
(FN) False Negative
(TN) True Negative
(FN) False Negative Neutral
(0)
(FNet) False Netral
(FNet) False Netral
(TNet) True Netral
Dengan keterangan sebagai berikut:
- True Positive (TP) : representasi kelas aktual berlabel positif yang diprediksi kalimat positif.
- False Positive (FP) : representasi kelas aktual berlabel negatif yang diprediksi kalimat positif
- True Negative (TN): representasi kelas aktual berlabel negatif yang diprediksi kalimat negatif
- False Negative (FN): representasi kelas aktual berlabel positif yang diprediksi kalimat negatif
- True Netral (TNet): representasi kelas aktual berlabel netral yang diprediksi kalimat netral
- False Netral (FNet) : representasi kelas aktual berlabel netral yang diprediksi bukan kalimat netral.
Untuk menghitung nilai precission, recall, F1-score, dan accuracy pada metode evaluasi confussion matrix yang digunakan, ditunjukan dipersamaan 3.1, 3.2, 3.3, dan 3.4 berikut:
Precision = 𝑇𝑃
𝑇𝑃+𝐹𝑃 x 100 % (3.1)
Recall = 𝑇𝑃
𝑇𝑃+𝐹𝑁 x 100 % (3.2)
F1 – score = 2 𝑥 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑥 𝑅𝑒𝑐𝑎𝑙𝑙
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙 x 100 % (3.3)
Accuracy = 𝑇𝑃+𝑇𝑁+𝑇𝑁𝑡
𝑇𝑃+𝑇𝑁+𝑇𝑁𝑡+𝐹𝑁+𝐹𝑁𝑡+𝐹𝑃 x 100 % (3.4)