Aplikasi web untuk menganalisis sentimen teks menggunakan algoritma Naive Bayes dan CountVectorizer. Aplikasi ini menggunakan PHP dan Python untuk analisis sentimen bahasa Indonesia.
- Preprocessing teks:
- Konversi emoji ke teks
- Pembersihan data
- Penghapusan stopwords
- Tokenisasi
- Stemming menggunakan Sastrawi
- Ekstraksi fitur menggunakan CountVectorizer
- Klasifikasi sentimen menggunakan Naive Bayes
- Labeling menggunakan lexicon
- Visualisasi:
- Diagram batang probabilitas sentimen
- Word cloud
- PHP >= 7.4
- Python >= 3.8
- Composer
- Web server (Apache/Nginx)
- Dependensi Python:
- numpy >= 1.24.0
- pandas >= 2.0.0
- scikit-learn >= 1.3.0
- matplotlib >= 3.7.0
- seaborn >= 0.12.0
- mysql-connector-python >= 8.0.0
- Clone repositori ini
- Install dependensi dengan Composer:
composer install
- Install dependensi Python:
pip install -r requirements.txt
- Pastikan direktori
datadanmodelsdapat ditulis oleh web server - Buat file konfigurasi database di
config.php - Import skema database dari
database.sql
- Buka aplikasi di browser
- Masukkan teks yang ingin dianalisis
- Klik tombol "Analisis"
- Hasil analisis akan ditampilkan dalam bentuk:
- Label sentimen (positif/negatif)
- Skor sentimen
- Diagram probabilitas
- Word cloud
.
├── assets/ # Asset statis (CSS, JS, gambar)
│ ├── css/
│ └── js/
├── data/ # Data dan resource
│ ├── emoji_convert.json
│ ├── emoticons.json
│ ├── english_id.json
│ ├── lexicon/
│ ├── stopwords_id.txt
│ ├── testing/ # File pengujian (tidak di-upload ke GitHub)
│ └── uploads/
├── database/ # Database schema
│ └── schema.sql
├── includes/ # File konfigurasi dan helper
│ ├── config.php
│ ├── memory_helper.php
│ └── nav_template.php
├── lib/ # Library PHP custom
│ ├── CountVectorizer.php
│ ├── MyTokenCountVectorizer.php
│ ├── NaiveBayes.php
│ ├── Preprocessing.php
│ └── Visualization.php
├── models/ # Model machine learning (file besar tidak di-upload ke GitHub)
├── pages/ # Halaman aplikasi
│ ├── about.php
│ ├── analyze.php
│ ├── dataset.php
│ ├── download_dataset.php
│ ├── predict.php
│ ├── result.php
│ └── train.php
├── scripts/ # Python scripts
│ ├── predict.py
│ └── train.py
├── index.php # Halaman utama
└── composer.json
Beberapa file tidak disertakan dalam repositori GitHub karena ukurannya yang besar atau karena merupakan file pengujian:
-
File model machine learning di direktori
models/:naive_bayes.datnaive_bayes.pklvectorizer.pkl
-
File pengujian di direktori
data/testing/dan file test di root direktori.
File-file ini akan dibuat secara otomatis saat menjalankan proses training atau dapat diminta secara terpisah jika diperlukan.
MIT License