Text Preprocessing : Ulasan Shopee App

Arief Rachman Hakim

Sosial Media


1 orang menyukai ini
Suka

Summary

Ulasan dari sebuah aplikasi adalah sebuah kunci dari bagaimana kesuksesan kinerja dari aplikasi tersebut untuk memenuhi kebutuhan user. Oleh karena itu, kita sebagai developer harus aware terhadap kolom ulasan dari aplikasi yang telah kita buat untuk sebagai feedback fitur mana saja yang harus diimprove lagi. Pada kesempatan kali ini, saya akan mempraktekkan text preprocessing dari sebuah dataset ulasan aplikasi shopee dari google play store yang sudah saya scraping. Untuk proses scraping saya akan menaruhnya pada portofolio information retrieval agar lebih sesuai dengan course yang dibahas. Untuk proses text preprocessing tersendiri ada beberapa tahap yaitu filtering, casefolding, tokenizing, dan stemming.

Description

Dataset yang digunakan dan resource yang lain :

https://drive.google.com/drive/folders/1DfWn6TfT1PGK5PKsNf98nZwDQNBG4hbu?usp=sharing 

Library yang digunakan : 

  • nltk
  • numpy
  • pandas
  • sklearn
  • sastrawi
  • swifter
  • matplotlib
  • wordcloud
  • matplotlib
  • emoji

 

Tutorial :

1. Install Library

 

2. Import Gdrive, untuk teman-teman yang ingin mengakses bisa didownload terlebih dahulu di atas deskripsi ini

 

3. Import Library

 

4. Membuka dataset hasil scraping ulasan pada google play store

Dataset terdiri dari dua fitur yaitu ulasan dan label yang memiliki panjang 2000 rows. Ulasan berisi tentang kalimat mengenai ulasan user terhadapa aplikasi shopee, sedangkan label berisi jumlah rating yang diberikan user terhadap aplikasi. Jumlah rating terdiri dari 1 sampai 5, semakin besar jumlah rating maka ulasan menjadi semakin positif sehingga data ulasan pada google play ini dapat digunakan untuk klasifikasi hingga sentiment analysis.

 

5. Menghapus fitur ulasan dengan label 3

Saya menghapus fitur ulasan ber label 3 karena pada saat ini saya tidak menggunakan kategori Neutral pada Klasikasinya. 

 

6. Identifikasi panjang dataset

Panjang dataset berkurang hal ini dikarenakan fitur ulasan ber label 3 sudah dihapus

 

7. Merubah label menjadi Negative dan Positive

 

8. Print data 

Identifikasi fitur ulasan masih belum bersih, contohnya banyaknya emoji, dan berbagai karakter yang tidak kita gunakan.

 

9. Proses Filtering

Untuk proses filter pertama adalah menghapus Emoji dengan bantuan library emoji dan metode encode & decode ascii

Selanjutnya kita akan filter untuk menghilangkan berbagai karakter dengan bantuan regex (re)

 

10. Proses Casefolding

Proses ini akan membuat text pada fitur ulasan menjadi lower/ menjadi kecil

 

11. Proses Tokenizing

Proses ini membuat token-token dalam sebuah kalimat

 

12. Proses Stemming

Proses Stemming pertama ini akan merubah kata yang berjenis slang words agar menjadi kata yang lebih baku. Untuk metode yang dipakai adalah pencocokan dengan kamus kata baku.

Hasil dapat kita lihat kata akan menjadi lebih baku

Selanjutnya adalah proses stopwords removal, stopwords adalah sejumlah kata yang berada pada stoplist yang valuenya kurang dibutuhkan.

Selanjutnya proses stemming dengan Stemmer dari Sastrawi

Hasil dapat kita lihat terdapat bagian kata yang diubah menjadi bentuk dasarnya

 

13. Visualisasi dengan Wordcloud 

Proses ini mengambil hanya fitur ulasan yang selanjutnya diubah menjadi Series yang disimpan pada variable data_word

Proses ini merubah Series menjadi bertipe String, hal ini karena library wordcloud hanya menerima String

Visualisasi data dengan wordcloud, seperti yang dapat kita lihat frekuensi kata yang paling banyak muncul adalah lambat

 

14. Pembagian variable dan menggunakan Tfidf sebagai ekstrasi fitur

Saya menggunakan Tfidf sebagai metode untuk ekstrasi fitur. Selanjutnya, variable X adalah fitur ulasan yang sudah dirubah menjadi vector dengan bantuan tfidf dengan bertipe unicode. Untuk variable Y adalah fitur label dari dataset

 

15. Split Data dan Label Encoder

Proses ini melakukan split data menjadi data train dan data test, selanjutnya melakukan label encoder pada variable y_train dan y_test. Hal ini bertujuan agar sesuai ketika melakukan klasifikasi dengan algoritma selanjutnya dan seperti yang sudah kita tahu variable X sudah diubah menjadi vector dengan bantuan tfidf

 

16. Klasifikasi dengan Algoritma Naive Bayes

 

17. Evaluasi Model pada Algoritma Naive Bayes

Pada algoritma naive bayes menghasilkan akurasi sebesar 80%

 

18. Klasifikasi dengan Algoritma SVM

 

19. Evaluasi Model pada Algoritma SVM

Pada algoritma SVM menghasilkan akurasi sebesar 86%

 

20. Perbandingan Hasil Akurasi

Hasil akhir dapat kita simpulkan bahwa klasifikasi dengan algoritma SVM menghasilkan akurasi lebih baik dibandingkan algoritma Naive Bayes.

 

21. Dokumentasi Kode

https://drive.google.com/drive/folders/1DfWn6TfT1PGK5PKsNf98nZwDQNBG4hbu?usp=sharing 

Informasi Course Terkait
  Kategori: Natural Language Processing
  Course: Basic Text Processing