Social listening & comment analytics platform untuk TikTok — scrape, simpan, analisis, dan visualisasikan komentar TikTok dalam satu pipeline terintegrasi.
TikTok Comment Intelligence adalah sistem social listening end-to-end yang mengumpulkan komentar video TikTok melalui Apify, menyimpannya ke SQLite, lalu menganalisisnya dengan berbagai teknik NLP ringan (tanpa library berat) dan menampilkannya dalam dashboard interaktif Streamlit.
Project ini dirancang untuk menjawab pertanyaan bisnis/riset seperti:
- 🗣️ Apa yang sedang dibicarakan audiens? (Top Keywords & Frasa)
- 📈 Kapan komentar melonjak? (Trend & Spike Detection)
- 😊 Bagaimana emosi audiens terhadap konten? (Sentiment Analysis)
- 🎯 Apa niat di balik komentar? (Intent Detection: kritik, pertanyaan, ajakan, spam, dll.)
- 🚨 Komentar mana yang berisiko dan perlu moderasi? (Risk Scoring)
- 🕒 Jam berapa audiens paling aktif? (Peak Hours Analysis)
- ✅ Text cleaning: URL, mention, hashtag, simbol, angka
- ✅ Normalisasi bahasa gaul Indonesia (
bgt → banget,amrik → amerika, dll.) - ✅ Light stemming Bahasa Indonesia (tanpa library eksternal)
- ✅ Sentiment analysis berbasis kamus + deteksi emoji (🤲 😡 )
- ✅ Intent detection: spam, toxic, permintaan, ajakan, pertanyaan, kritik, pujian, diskusi
- ✅ Risk scoring & flag
needs_moderation
- ✅ Volume komentar per jam / hari / minggu / bulan (granularitas otomatis)
- ✅ Spike detection (z-score) dengan guard anti false-positive
- ✅ Peak hours audiens
- ✅ Top keywords & frasa (unigram + bigram)
- ✅ Trend sentimen per periode
- ✅ Metrik ringkasan (total komentar, user unik, moderasi, risk score)
- ✅ Filter per akun TikTok
- ✅ Grafik interaktif: trend volume, jam aktif, pie sentimen, top keywords
- ✅ Tabel komentar lengkap + export CSV sekali klik
- Buat virtual environment dan aktifkan:
python -m venv venv
venv\Scripts\Activate.ps1- Install dependensi:
pip install -r requirements.txt
pip install -r requirements-dashboard.txt # jika ingin dashboard- Jalankan scraper (contoh):
python main.py- Jalankan dashboard (opsional):
streamlit run dashboard.pytiktok-comment-intelligence/
├── data/ # Database SQLite (auto-generated)
├── output/ # Hasil export analisis (CSV/Excel)
├── src/
│ ├── __init__.py
│ ├── config.py # Konfigurasi, env, validasi URL
│ ├── utils.py # Utility helpers
│ ├── scraper.py # Client Apify TikTok scraper
│ ├── database.py # Layer SQLite + migrasi skema
│ ├── preprocessing.py # Cleaning, slang, stemming
│ ├── insights.py # Sentiment, intent, risk score
│ ├── trend.py # Time series, spike, keywords
│ └── report.py # Export & ringkasan CLI
├── main.py # Pipeline CLI (python main.py --scrape)
├── dashboard.py # Aplikasi Streamlit
├── refresh_analysis.py # Hitung ulang NLP tanpa scrape ulang
├── requirements.txt # Dependensi inti
├── requirements-dashboard.txt # Dependensi dashboard (streamlit, plotly)
├── .env.example # Template environment variables
├── .gitignore
└── README.md
## Konfigurasi
- `src/config.py` berisi konfigurasi aplikasi (database path, API keys, setelan scraping).
- Beberapa parameter bisa dikendalikan lewat environment variables atau langsung di `config.py`.
Contoh variabel environment yang mungkin perlu di-set:
- `APIFY_TOKEN` — token untuk Apify (jika digunakan)
- `DATABASE_URL` — path SQLite kustom (default: `data/database.db`)
## 🚀 Instalasi & Setup
### 1. Prasyarat
- Python **3.11+** (disarankan 3.11 untuk stabilitas maksimal)
- Akun & API Token [Apify](https://console.apify.com/account#/integrations)
### 2. Clone & Install
```bash
git clone https://github.com/salimz-arch/tiktok-comment-intelligence.git
cd tiktok-comment-intelligence
python -m venv venv
# Windows
venv\Scripts\Activate.ps1
# Linux / macOS
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dashboard.txt
copy .env.example .env # Windows
cp .env.example .env # Linux / macOSIsi file .env:
APIFY_TOKEN=apify_api_xxxxxxxxxxxxxxxxxxxxxxxx
ACTOR_ID=BDec00yAmCm1QbMEI
TIMEZONE=Asia/Jakartastreamlit run dashboard.py- Paste satu atau beberapa URL video TikTok di sidebar.
- Klik 🚀 Mulai Scrape & Analisis.
- Dashboard otomatis memperbarui seluruh grafik & insight.
# Scraping + analisis penuh
python main.py --scrape
# Analisis ulang dari database (tanpa scraping)
python main.py
# Terapkan ulang engine NLP ke data lama
python refresh_analysis.pyHasil export tersimpan otomatis di folder output/.
LICENSE
[salim-arch]
- GitHub: @salimz-arch
- LinkedIn:
Dibuat dengan untuk komunitas data Indonesia
