Aplikasi web untuk preprocessing teks menggunakan NLP (Natural Language Processing) dengan Python sebagai backend dan Vue.js sebagai frontend.
-
Preprocessing Teks Otomatis
- Pembersihan data (hapus emoji, karakter khusus, angka)
- Tokenisasi (pemisahan kata)
- Stopword removal (hapus kata umum)
- Support untuk teks Bahasa Indonesia
-
Upload Dataset
- Upload file CSV sendiri (maks. 16MB)
- Validasi otomatis format CSV
- Preview dataset setelah upload
- Auto-select dataset yang baru diupload
-
Dua Mode Input
- Dataset Processing: Proses file CSV secara batch
- Custom Text: Proses teks manual secara real-time
-
Visualisasi Hasil
- Tabel perbandingan teks asli dan hasil preprocessing
- Badge untuk tokens dan filtered tokens
- Preview dataset sebelum diproses
- Python 3.13.6
- Flask (Web Framework)
- Pandas & NumPy (Data Processing)
- NLTK (Tokenization)
- Sastrawi (Indonesian Stemmer)
- Emoji (Emoji Removal)
- Vue 3
- Vite
- Bun (Package Manager & Runtime)
code/
├── backend/
│ ├── app.py # Flask API server
│ ├── nlp_processor.py # NLP preprocessing pipeline
│ └── requirements.txt # Python dependencies
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── DatasetProcessor.vue
│ │ │ └── CustomTextProcessor.vue
│ │ ├── App.vue
│ │ ├── main.js
│ │ └── style.css
│ ├── index.html
│ ├── vite.config.js
│ └── package.json
├── datasets/
│ └── dataset_ui_nlp - Sheet1.csv
└── README.md
cd backend
# Buat virtual environment (opsional tapi direkomendasikan)
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# atau
venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txtcd frontend
# Install dependencies dengan Bun
bun installTerminal 1 - Backend:
cd backend
python app.pyBackend akan berjalan di http://localhost:5000
Terminal 2 - Frontend:
cd frontend
bun run devFrontend akan berjalan di http://localhost:3000
Linux/Mac:
chmod +x run.sh
./run.shWindows:
run.bat-
Buka browser dan akses
http://localhost:3000 -
Upload Dataset (Opsional):
- Klik "Dataset Processing" tab
- Pada bagian "Upload Dataset Baru", klik "Choose File"
- Pilih file CSV dari komputer Anda (maks. 16MB)
- Klik tombol "Upload"
- Dataset akan otomatis tersimpan dan terpilih
-
Mode Dataset Processing:
- Pilih dataset dari dropdown (atau gunakan dataset yang baru diupload)
- Klik tombol "Refresh" untuk memperbarui daftar dataset
- Pilih kolom teks yang ingin diproses
- Tentukan jumlah data yang akan diproses
- Klik "Proses Dataset"
- Lihat hasil preprocessing dalam tabel
-
Mode Custom Text:
- Klik tab "Custom Text"
- Masukkan teks manual atau pilih contoh
- Klik "Proses Teks"
- Lihat hasil preprocessing
- Input Teks: Ambil teks dari dataset atau input manual
- Cleaning:
- Konversi ke lowercase
- Hapus emoji
- Hapus URL, mention, hashtag
- Hapus angka
- Hapus tanda baca dan karakter khusus
- Tokenisasi: Pisahkan teks menjadi kata-kata
- Stopword Removal: Hapus kata-kata umum yang tidak bermakna
- Output: Tampilkan hasil dalam tabel
GET /api/health- Health checkGET /api/datasets- List available datasetsPOST /api/upload-dataset- Upload new CSV dataset (max 16MB)POST /api/load-dataset- Load and preview datasetPOST /api/preprocess- Preprocess datasetPOST /api/preprocess-custom- Preprocess custom text
- Pastikan Python backend berjalan di port 5000
- Cek apakah semua dependencies terinstall
- Jalankan
python app.pydi folder backend
NLTK akan otomatis mendownload resource yang diperlukan saat pertama kali dijalankan.
Pastikan file CSV ada di folder datasets/
Aplikasi ini dikembangkan untuk tugas Pemrosesan Bahasa Alami.
MIT License