stdsquare²
🎓 Kelas
stdsquare / materi / slides / pertemuan-10
Tema
Japan
Arcade
Dark Retro
Font
‹ Daftar slide Pertemuan 10: Text Mining & Analisis Sentimen

Text Mining & Analisis Sentimen

Mengekstrak makna dari teks bisnis dan ulasan pelanggan digital

Data Science Pertemuan 10 · Minggu 11 CPMK 1, 2, 3, 4

Agenda Pertemuan

Teori (75 menit)
  • NLP & preprocessing teks
  • Tokenisasi, stopword, stemming
  • Representasi teks: Bag-of-Words
  • Pembobotan TF-IDF
  • Konsep analisis sentimen
Praktik & Aplikasi (75 menit)
  • Pipeline preprocessing Bahasa Indonesia
  • Membangun matriks TF-IDF sederhana
  • Analisis sentimen ulasan Tokopedia
  • Studi kasus tweet merek Indonesia
  • Diskusi & tugas mingguan

Tujuan Pembelajaran

01
  • Menjelaskan konsep NLP dan perannya dalam ekosistem Data Science bisnis
02
  • Melakukan preprocessing teks (tokenisasi, stopword removal, stemming) pada data berbahasa Indonesia
03
  • Merepresentasikan teks dengan Bag-of-Words dan TF-IDF untuk analisis lanjutan
04
  • Menerapkan analisis sentimen pada ulasan pelanggan dan tweet merek untuk keputusan bisnis
Topik 1

NLP & Preprocessing Teks

Tokenisasi · Stopword Removal · Stemming

Apa itu NLP?

Natural Language Processing (NLP) adalah cabang kecerdasan buatan yang memungkinkan komputer memahami, menginterpretasi, dan menghasilkan bahasa manusia secara otomatis.

NLP menghubungkan dunia teks tidak terstruktur (ulasan, email, tweet) dengan analitik terstruktur yang bisa diolah mesin.

Aplikasi NLP di Bisnis Digital
AplikasiContoh Indonesia
Analisis sentimenUlasan Tokopedia, Shopee
ChatbotBRImo virtual assistant
Klasifikasi emailFilter spam Telkom
Pencarian semantikSearch Gojek, Traveloka
Ringkasan otomatisNews aggregator Kompas

Pipeline Preprocessing Teks

Teks Mentah"Produk bagus!"Normalisasilowercase, hapus simbolTokenisasi["produk", "bagus"]Stopword Removalhapus "dan", "yang", "di"Stemming"membeli" → "beli"Pipeline standar NLP Bahasa Indonesia
Normalisasi

Ubah ke huruf kecil, hapus tanda baca dan URL, standarisasi singkatan.

Tokenisasi

Pecah kalimat menjadi unit kata (token). Kalimat → daftar token.

Stemming / Lemmatisasi

Kurangi kata ke bentuk dasar: "membelikan" → "beli" (PySastrawi untuk BI).

Tokenisasi & Stopword: Contoh Nyata

Input: "Pengiriman barang dari toko ini sangat cepat dan produk berkualitas baik!"
TahapHasilCatatan
Normalisasi"pengiriman barang dari toko ini sangat cepat dan produk berkualitas baik"Huruf kecil, hapus "!"
Tokenisasi["pengiriman", "barang", "dari", "toko", "ini", "sangat", "cepat", "dan", "produk", "berkualitas", "baik"]11 token
Stopword removal["pengiriman", "barang", "toko", "sangat", "cepat", "produk", "berkualitas", "baik"]Hapus "dari", "ini", "dan" (3 stopword)
Stemming["kirim", "barang", "toko", "sangat", "cepat", "produk", "kualitas", "baik"]"pengiriman"→"kirim", "berkualitas"→"kualitas"
Topik 2

Representasi Teks: Bag-of-Words & TF-IDF

Dari kata menjadi angka yang bisa dihitung mesin

Bag-of-Words (BoW)

Bag-of-Words merepresentasikan teks sebagai frekuensi kemunculan kata, tanpa memperhatikan urutan kata.

Kelebihan: Sederhana, cepat dihitung, efektif untuk klasifikasi dasar.

Kelemahan: Mengabaikan konteks dan urutan kata; kata "tidak bagus" dan "bagus" dianggap mengandung "bagus".

Contoh Matriks BoW
Dokumenbaguscepatlambatproduk
Ulasan A2101
Ulasan B0011
Ulasan C1202

Setiap baris = satu dokumen (ulasan); setiap kolom = satu kata unik dari kamus.

TF-IDF: Pembobotan yang Lebih Cerdas

TF-IDF(t, d, D) = TF(t, d) × IDF(t, D)
TF — Term Frequency

Seberapa sering kata t muncul dalam dokumen d.

TF(t,d) = jumlah kemunculan t dalam d / total kata dalam d
IDF — Inverse Document Frequency

Seberapa unik kata t di seluruh koleksi D. Kata umum ("dan", "ini") mendapat bobot rendah.

IDF(t,D) = log(N / df(t)) — N = total dokumen, df(t) = dokumen yang memuat t
Contoh TF-IDF (3 ulasan, kata "pengiriman")
UlasanTFIDFTF-IDF
A (muncul 2×, 50 kata)0,04log(3/2)≈0,180,007
B (tidak muncul)00,180,000
C (muncul 1×, 30 kata)0,0330,180,006
TF-IDF memberi bobot tinggi pada kata yang sering dalam satu dokumen tapi jarang di dokumen lain — kata yang membedakan satu dokumen dari yang lain.

BoW vs TF-IDF: Kapan Menggunakan Apa?

DimensiBag-of-WordsTF-IDF
KompleksitasSangat sederhanaSedikit lebih kompleks
Performa sentimenBaseline yang baikLebih akurat (umumnya)
Kata umumDiberi bobot samaDireduksi otomatis
Dataset kecil (<1.000 dok)Cukup efektifLebih direkomendasikan
Dataset besar (>100.000 dok)Cukup efektifSangat direkomendasikan
Library PythonCountVectorizer (sklearn)TfidfVectorizer (sklearn)
Praktis: Dalam proyek Data Science, TF-IDF hampir selalu menjadi pilihan default untuk representasi teks sebelum mencoba pendekatan embedding yang lebih canggih.

Coba Sendiri: Hitung TF-IDF & Bag-of-Words

Masukkan beberapa kalimat ulasan berbahasa Indonesia, amati bagaimana bobot BoW dan TF-IDF tiap kata dihitung dan dibandingkan.

Topik 3

Analisis Sentimen

Ulasan Tokopedia · Tweet Merek · Aplikasi Bisnis

Apa itu Analisis Sentimen?

Analisis Sentimen (atau Opinion Mining) adalah proses mengidentifikasi dan mengekstrak opini subjektif dari teks — umumnya diklasifikasikan sebagai Positif, Negatif, atau Netral.
Dua Pendekatan Utama

1. Berbasis Leksikon: Gunakan kamus kata berpolaritas (mis. SentiWordNet, InSet untuk BI). Cepat, tidak perlu training data.

2. Berbasis Machine Learning: Latih classifier (Naive Bayes, SVM, LSTM, BERT) dengan data berlabel. Lebih akurat untuk domain spesifik.

Output Analisis Sentimen
Ulasan (singkat)SentimenSkor
"Produknya bagus, cepat sampai!"Positif+0.82
"Paket datang rusak, sangat kecewa"Negatif-0.79
"Barang sesuai deskripsi"Netral+0.12
"Pengiriman lama tapi produk oke"Campuran+0.15

Skor sentimen: +1 (sangat positif) hingga -1 (sangat negatif). Nilai di atas adalah ilustrasi.

Studi Kasus: Ulasan Tokopedia

Skenario: Tim produk Tokopedia ingin mengidentifikasi aspek yang paling sering dikomplain pembeli pada kategori elektronik.
Pipeline Analisis
  1. Scraping/export ulasan via API atau dataset publik
  2. Preprocessing (normalisasi → tokenisasi → stopword → stemming)
  3. Representasi TF-IDF per ulasan
  4. Klasifikasi sentimen dengan Logistic Regression
  5. Aspect-based: identifikasi kata kunci per aspek
  6. Dashboard visualisasi tren sentimen
Contoh Output Aspek Sentimen
Aspek% Positif% Negatif
Kualitas produk~82%~18%
Kecepatan pengiriman~65%~35%
Kesesuaian deskripsi~74%~26%
Layanan penjual~70%~30%
Harga/value~78%~22%

Angka ilustratif — pola umum dari riset e-commerce Indonesia.

Studi Kasus: Analisis Tweet Merek Indonesia

Skenario: Tim digital marketing Telkom Indonesia memantau sentimen publik di Twitter/X terkait peluncuran paket internet baru.
Tantangan Khusus Tweet
  • Bahasa informal & slang: "gak", "bngt", "mantul" (mantap betul)
  • Singkatan: "tp", "yg", "krn", "sm"
  • Emoji sebagai sentimen: 😊 = positif, 😡 = negatif
  • Sarkasme: "Wah koneksinya kenceng banget 😒" (ironi)
  • Campuran Indonesia-Inggris (code-switching)
Preprocessing Tambahan untuk Tweet
LangkahContoh
Hapus @mention, #hashtag, URL"@Telkom mantap" → "mantap"
Normalisasi slang (kamus)"gak" → "tidak", "bngt" → "banget"
Konversi emoji ke teks😊 → "senang", 😡 → "marah"
Hapus duplikat (retweet)RT @... dihapus
Deteksi bahasa (filter non-BI)Pisahkan tweet Inggris

Alur Implementasi End-to-End

1. Data CollectionAPI, scraping,dataset publik2. PreprocessingNormalisasi,token, stem3. Feature ExtractionTF-IDF,matriks fitur4. ModellingTrain/test split,Naive Bayes / LR5. Evaluasi & DeployAccuracy, F1,dashboard bisnisMetrik EvaluasiAccuracy · Precision · RecallF1-Score · Confusion MatrixOutput BisnisDashboard sentimen real-timeAlert negatif → tim CSIterasi ModelLabel tambah → retrainA/B test model

Studi Kasus BRImo: Social Listening

BRI menggunakan analisis sentimen untuk memantau persepsi publik terhadap aplikasi BRImo di media sosial dan app store, memungkinkan tim produk bereaksi cepat terhadap isu teknis.
Nilai Bisnis yang Terukur
  • Deteksi dini gangguan layanan dari lonjakan sentimen negatif
  • Benchmark persepsi vs kompetitor (OVO, Dana, GoPay)
  • Prioritas fitur berdasarkan keluhan terbanyak
  • Laporan brand health otomatis mingguan
Contoh Sinyal Sentimen Real-time
WaktuSentimen Neg %Kata Kunci Puncak
Senin 08.00~12%transfer, login
Senin 09.15~38%error, gagal, down
Senin 09.30~45%server, maintanance
Senin 11.00~15%sudah normal, thanks
Lonjakan sentimen negatif pukul 09.15 bisa memicu alert otomatis ke tim NOC & customer service — jauh lebih cepat dari laporan manual.

Diagram: Arsitektur Sistem Analisis Sentimen

SUMBER DATATwitter / XTokopediaData IngestionAPI / ScraperPreprocessingPySastrawi + NLTKSentiment ModelTF-IDF + LR / BERTDashboardAlert & LaporanPenyimpanan DataDatabase teks + label sentimenRetraining & MonitoringDrift detection · A/B modelKomponen inti (model)Komponen pendukungAliran data tidak langsungArsitektur sistem analisis sentimen — grayscale ilustratif

Rangkuman

5 Key Takeaway Pertemuan 10
1. NLP = Jembatan Teks ke Data

NLP memungkinkan mesin "membaca" jutaan teks dan mengekstrak insight yang tidak mungkin dilakukan manual.

2. Preprocessing = Fondasi Kualitas

Tokenisasi, stopword removal, dan stemming menentukan kualitas seluruh pipeline. Garbage in → garbage out.

3. TF-IDF > BoW untuk Bisnis

TF-IDF memberi bobot lebih cerdas pada kata bermakna. Gunakan sebagai representasi default sebelum mencoba embedding.

4. Sentimen = Suara Pelanggan Otomatis

Analisis sentimen mengubah ribuan ulasan dan tweet menjadi metrik bisnis yang actionable dalam hitungan detik.

5. Konteks Indonesia = Tantangan Ekstra

Bahasa informal, slang, afiksasi kompleks, dan code-switching membuat NLP Bahasa Indonesia butuh preprocessing khusus (PySastrawi, kamus slang).

Tugas & Diskusi

Tugas Mingguan (Individual)

Analisis 50 Ulasan Produk

  1. Pilih satu produk di Tokopedia/Shopee — ambil minimal 50 ulasan (copy-paste ke spreadsheet)
  2. Lakukan preprocessing manual: identifikasi stopword dan bentuk dasar kata kunci
  3. Hitung frekuensi 10 kata paling sering (setelah preprocessing)
  4. Klasifikasikan secara manual: positif / negatif / netral per ulasan
  5. Buat ringkasan: apa aspek yang paling dikomplain? Apa rekomendasi bisnis Anda?

Format: Laporan 1–2 halaman + spreadsheet ulasan berlabel. Kumpul sebelum P11.

Pertanyaan Diskusi
  • Menurut Anda, mengapa sarkasme menjadi tantangan terbesar dalam analisis sentimen otomatis?
  • Dalam konteks bisnis digital Indonesia, sentimen platform mana yang lebih representatif: Twitter/X atau ulasan e-commerce? Mengapa?
  • Jika Anda menjalankan UMKM online, aspek sentimen apa yang akan Anda pantau pertama kali?
Bahan Eksplorasi Mandiri: Library Python yang berguna — PySastrawi (stemming BI), NLTK, scikit-learn (TF-IDF, Naive Bayes), TextBlob (sentimen dasar).

Pertanyaan?

?

Silakan ajukan pertanyaan sebelum kita tutup sesi.

Preview Pertemuan 11 — Evaluasi Model & Manajemen Bias
  • Metrik evaluasi model: Accuracy, Precision, Recall, F1-Score, ROC-AUC
  • Confusion matrix: membaca dan menginterpretasi
  • Bias dalam model ML: jenis, sumber, dan cara mitigasi
  • Fairness dalam sistem AI bisnis