Pemeriksa ulasan e-commerce
Bintang lima itu asli, atau cuma settingan?
Tempel link produk. Sistem membaca pola IndoBERT dan lonjakan LOF, lalu mengklasifikasikan mana yang layak dipercaya.
Live Scan
Memindai ulasan baru
Ulasan Diperiksa
14.752
Hasil Verifikasi
ASLI 10.210 · PALSU 4.542
Riwayat Cek
i.12345.67890 · ditemukan
01 · TEKSTUAL
IndoBERT
Embedding pola bahasa Indonesia
02 · LONJAKAN
Local Outlier Factor
Anomali waktu & rating burst
03 · KLASIFIKASI
XGBoost
Fusion label Asli / Palsu
Hero navy + lime: radar sweep, chip ASLI/PALSU, dan live stats dari database.
07 / Data & AI
Fake Review Detection
AI-powered fake review detection for e-commerce — identify suspicious patterns in product reviews.
03 / Context
Problem
E-commerce platforms struggle with fake reviews that mislead buyers. Manual detection is slow and inconsistent, damaging trust and sales.
04 / Concept
Solution
Built an AI system using IndoBERT to classify reviews as genuine or fake based on text patterns, account behavior, and review timing. Provides confidence scores and explanations.
01 / Outcome
Deliverable
- Public interface: paste product link to check reviews
- Admin panel: upload CSV, batch processing, and caching
- IndoBERT + LOF + XGBoost fusion pipeline
- Duplicate handling and confidence scoring
02 / Process
Workflow
- 1User pastes a marketplace product link
- 2System scrapes reviews → preprocess with IndoBERT tokenizer
- 3LOF detects rating burst anomalies
- 4XGBoost fuses text embeddings + LOF scores → classification
- 5Results show: Genuine / Fake with confidence percentage
05 / System
Architecture
- Frontend: Next.js with API routes for scraping and inference
- ML Pipeline: IndoBERT embeddings → LOF anomaly → XGBoost classifier
- Caching: Redis for processed product results
- Deployment: Docker with model versioning
06 / Diagram
Flowchart
Publik menempel link produk — sistem parse otomatis. Admin login dan upload CSV. Pipeline hybrid IndoBERT + LOF + XGBoost memproses semuanya.
Publik
Cek UlasanTempel link produk di halaman cek, sistem parse product_id otomatis, lalu tampilkan ringkasan Asli/Palsu dari database. Jika belum ada, isi email untuk notifikasi.
Admin
Upload CSVLogin session-based ke panel admin. Upload CSV ulasan, pipeline hybrid memproses preprocessing hingga klasifikasi IndoBERT+LOF+XGBoost dengan cache.
Sistem
Prediction PipelinePipeline otomatis: deteksi duplikat → preprocessing teks (SymSpell, Sastrawi, slang) → IndoBERT embeddings → PCA → LOF anomaly → XGBoost fusion → simpan ke SQLite.
| Menu | Publik | Admin | Sistem |
|---|---|---|---|
| Landing page statistik | ● | ○ | ○ |
| Cek via link produk | ● | ○ | ○ |
| Risk level banner | ● | ○ | ○ |
| Filter hasil label + teks | ● | ● | ○ |
| Form email notifikasi | ● | ○ | ○ |
| Upload CSV + prediksi | ○ | ● | ○ |
| Lihat semua ulasan (pagination) | ○ | ● | ○ |
| Riwayat pencarian publik | ○ | ● | ○ |
| Preprocessing: case fold, slang, stem | ○ | ○ | ● |
| IndoBERT embedding + PCA | ○ | ○ | ● |
| LOF anomaly scoring | ○ | ○ | ● |
| XGBoost fusion klasifikasi | ○ | ○ | ● |
| Flask-Caching + duplikat handling | ○ | ○ | ● |
PUBLIK
Cek via linkBuka website
Tempel link produk
Parse product_id
regex i.shopid.productidAda di DB?
Tidak · Form emailYa · Tampilkan hasilLihat Asli/Palsu
ADMIN
Upload CSVLogin admin
Upload CSV ulasan
Cek duplikat
skip baris samaPipeline hybrid
Hasil & pagination
SISTEM
Pipeline hybridCSV diterima
Preprocessing teks
SymSpell · Sastrawi · slangIndoBERT embeddings
base-p1 → 768PCA reduksi
768 → 50LOF anomaly
suspicion_degreeXGBoost fusion
Asli / PalsuSimpan ke SQLite
07 / Data
Database Design
Skema database SQLite aplikasi Fake Review Detection. Dua tabel independen: reviews menyimpan data ulasan + hasil prediksi, dan history mencatat riwayat pencarian publik. PK emas.
08 / Features
Full Features
Marketplace fake review detection: public check via product link, admin CSV upload, IndoBERT + LOF + XGBoost pipeline, caching, and duplicate handling.
Public landing page
Hero with shield animation + live stats (total reviews checked, fake ratio). Framework section explains IndoBERT, LOF, XGBoost. Hybrid architecture SVG from review → label.
Check via product link
User pastes marketplace product URL, system parses product_id automatically (regex i.shopid.productid), then shows Real/Fake summary from database.
Risk level banner
Automatic banner (green = low, yellow = mid, red = high) based on fake review percentage. Quick visual guide before reading details.
Result filter & pagination
Filter by label (All/Real/Fake) and text availability (All/With/Without). Pagination 12 per page with prev/next navigation.
Email notification form
If product is not in database yet, show email form. Admin gets notification to upload that product's data.
Separate admin panel
Session-based login (admin password). Three menus: Upload CSV (drag & drop), View Reviews (global pagination + filter), Check History (link & status log).
Text preprocessing pipeline
Case folding → URL/HTML/mention cleaning → typo correction (SymSpell) → slang normalization (JSON + CSV) → stopword removal (with negation exceptions) → stemming (Sastrawi).
Hybrid IndoBERT + LOF + XGBoost
IndoBERT base-p1 extracts 768-dim embeddings → PCA reduction to 50 → LOF computes suspicion_degree per product_id from daily rating bursts → XGBoost fusion classifies Real/Fake + confidence score.
Caching & duplicate handling
Flask-Caching (FileSystemCache, 1-hour timeout) memoizes process_and_predict_file results. Duplicate detection by username + product_id + posting_time + review_text before insert.