Ferrent Georgina Rini Tacoh
A little introduction, this is my first portofolio in Bisa AI Academy for Natural Language Processing task. In this project, I build sentiment model for Google Play Store user review datasets. Google Play Store is a digital Android market to sell Google Play product, that developed by Google. In Google Play Store, there is a review and sentiment of user for each apps. In this project I using several model such as using Logistic Regression, Decision Tree, Random Forest, and Neural Network. The datasets could be accessed on Kaggle: https://www.kaggle.com/datasets/lava18/google-play-store-apps?select=googleplaystore_user_reviews.csv
Natural Language Processing (NLP) adalah cabang dari Artificial Intelligence (AI) atau kecerdasan buatan yang berhubungan dengan interaksi antara komputer dan manusia menggunakan bahasa alami (natural language), salah satu penerapannya adalah Analisis Sentimen. Analisis sentimen merupakan salah satu bidang dari Natural Language Processing (NLP) yang membangun sebuah sistem untuk mengenali dan mengekstrak opini dalam bentuk teks. Informasi dalam bentuk teks saat ini banyak tersedia di internet dalam format forum, blog, media sosial, dan situs yang berisi ulasan. Tujuannya adalah untuk mendapatkan opini dari pengguna di platform.
Datasets
Datasets bisa dengan melakukan akses dari kaggle. Adapun tautan tercantum sebagai berikut: https://www.kaggle.com/datasets/lava18/google-play-store-apps?select=googleplaystore_user_reviews.csv
Text Preprocessing
Jumlah Data
Setelah beberapa penerapan proses eksperimen yang dikerjakan, data yang digunakan sangat banyak dan memiliki banyak missing value. Maka dari itu ada sejumlah pengurangan data yang semula 64295 baris dan 5 kolom yang berupa ‘App’, ‘Translated_Review’, ‘Sentiment’, ‘Sentiment_Polarity’, dan ‘Sentiment_Subjectivity', dikurangi menjadi 37427 baris 2 kolom setelah menghilangkan missing value, dan menggunakan kolom yang ditetapkan sebagai target yaitu kolom 'Sentiment' dan sebagai feature yaitu 'Translated_Review'. Karena sebanyak 37427 data pun terlalu banyak jika di fit transform vektorisasi, sehingga diputuskan untuk mengurangi banyaknya data yang digunakan. Dipangkaslah beberapa data, sehingga total data yang digunakan 13427 baris dan 2 kolom
Target & Feature
Variabel target dari data yang digunakan adalah pada kolom Sentiment yang mempunyai label kelas diantaranya: Positive, Negative dan Netral. Berikut visualisasi label kelas Sentiment terhadap data:
Banyaknya jumlahnya kelas pada sentiment dituliskan sebagai berikut:
Feature yang digunakan adalah kolom 'Translated_Review', yang mana akan melewati sejumlah tahapan text preprocessing, mulai dari di lowercase, menghilangkan special characters, tokenisasi dan stopwords dengan library nltk (karena datanya berbahasa inggris, lemmatization, hingga vektorisasi fit_transform().toarray() dan bag of words
Wordcloud
Wordcloud atau Tag cloud adalah sebuah kata yang berisi banyak kata dalam berbagai ukuran, yang mewakili frekuensi atau pentingnya setiap kata. Wordcloud yang digunakan bisa di adjust, namun untuk eksperimen ini dengan background putih, cmap = ‘hsv’, dan random_state=42.
Modeling & Conclusion
Modeling yang digunakan menggunakan Logistic Regression, Decision Tree, Random Forest, and Neural Network, dengan hasil masing-masing sebagai berikut:
Eksperimen ini juga di upload di repositori github saya, yang bisa diakses
https://github.com/ferrenttacoh/googleplaystoremodeling
Sekian dari saya, terima kasih banyak.
~Ferrent