C12 · NLP Terapan
Mengolah teks bahasa Indonesia yang berantakan menjadi keputusan yang bisa diperiksa: normalisasi slang dan campur kode, tokenisasi, baseline yang sulit dikalahkan, ekstraksi entitas dengan dekode terstruktur, sentimen per aspek, topik, metrik generasi, anotasi, dan pemantauan drift, lalu dibandingkan jujur dengan encoder bahasa Indonesia yang di-fine-tune di GPU gratis.
- 15 modul
- 73 latihan
- 89 istilah
Daftar modul
- 01Teks Indonesia apa adanyaGratis6 latihan
- 02Ejaan dan campur kodeGratis5 latihan
- 03Tokenisasi, morfologi, dan subkataCoding Studio5 latihan
- 04Baseline yang sulit dikalahkan: TF-IDF + regresi logistikCoding Studio5 latihan
- 05Pelabelan urutan dan NER dengan BIOCoding Studio5 latihan
- 06Dekode terstruktur: HMM, Viterbi, perceptron terstrukturCoding Studio4 latihan
- 07Sentimen per aspekCoding Studio5 latihan
- 08Topic modelingCoding Studio4 latihan
- 09Vektor kata, vektor kalimat, dan deduplikasiCoding Studio5 latihan
- 10Encoder bahasa Indonesia dan fine-tuningCoding Studio4 latihan
- 11Metrik generasi: BLEU, chrF, ROUGECoding Studio5 latihan
- 12Anotasi dan kesepakatanCoding Studio5 latihan
- 13Pemantauan drift teksCoding Studio6 latihan
- 14Bias, privasi, dan bahasa daerahCoding Studio5 latihan
- 15Proyek akhir: Tutur MakmurCoding Studio4 latihan
Modul 01–02 gratis; modul bergembok terbuka dengan Coding Studio. Lihat paket
Ada contoh atau latihan bertanda “Kerjakan di laptop”? Paket dan data C12 untuk menjalankannya di komputermu ada di panduan menjalankan kode di komputermu.
Tentang course ini
Mengolah teks bahasa Indonesia yang berantakan menjadi keputusan yang bisa diperiksa: normalisasi slang dan campur kode, tokenisasi, baseline yang sulit dikalahkan, ekstraksi entitas dengan dekode terstruktur, sentimen per aspek, topik, metrik generasi, anotasi, dan pemantauan drift, lalu dibandingkan jujur dengan encoder bahasa Indonesia yang di-fine-tune di GPU gratis.
Course pilihan jalur Data & AI sesudah C9, untuk ML Engineer dan AI Engineer yang bekerja dengan teks. Versi ini berupa Markdown yang bisa dibaca langsung di GitHub; latihannya diperiksa otomatis dan berjalan di peramban.
Posisi course
Kenapa course ini ada
Fondasi NLP di jalur ini tersebar. C2 mengubah teks menjadi angka dan
menulis Naive Bayes (k-NN dan Naive Bayes).
C9 menurunkan mesinnya: RNN, embedding, model bahasa, BPE, attention,
transformer, dan LoRA. C3 memakai model bahasa lewat API untuk embedding,
RAG, dan evaluasi. Yang belum ada adalah pekerjaan sehari-hari dengan teks
nyata: pesan pelanggan yang penuh gk, bgt, mantul, thanks, matur nuwun, harga 15rb, salah ketik, dan emoji. Juga label yang tidak disepakati
anotator, entitas yang batasnya jatuh di tengah kata, metrik yang memuji
ringkasan yang mengarang, dan kosakata yang berubah setiap bulan.
Di tempat kerja, masalah teks hampir tidak pernah gagal karena arsitektur
model. Masalah gagal karena normalisasi yang tidak sama antara pelatihan dan
produksi, evaluasi yang hanya melihat akurasi, entitas yang dihitung per
token, atau model yang diam-diam memburuk ketika pelanggan mulai menulis
paylater. C12 mengajarkan cara menangkap semua itu dengan kode yang
diperiksa.
Cara klasik dan cara modern
Cara klasik di course ini: Unicode dan normalisasi berbasis aturan, jarak edit dan korektor ejaan noisy channel, deteksi bahasa per token dengan n-gram karakter, pre-tokenizer dan stemming afiks bahasa Indonesia, BPE tingkat byte dan Unigram LM, TF-IDF dengan n-gram kata dan karakter plus regresi logistik, skema BIO, HMM dan Viterbi, perceptron terstruktur, leksikon dengan lingkup negasi, NMF dan LDA dengan Gibbs sampling, PPMI + SVD, SIF, MinHash dan LSH, BLEU/chrF/ROUGE, Fleiss' kappa, alpha Krippendorff, Dawid–Skene, dan BBSE. Semuanya ditulis sendiri dengan Python dan NumPy, lalu dicocokkan dengan scikit-learn atau SciPy bila pustakanya ada.
Cara modern: encoder bahasa Indonesia pralatih (keluarga IndoBERT) yang di-fine-tune di Google Colab atau Kaggle, model embedding kalimat multibahasa, sacreBLEU, alat anotasi, LLM sebagai pelabel atau penilai, dan agen AI yang menulis pipeline. Setiap hasil modern dibandingkan dengan baseline klasik di data dan pemisahan yang sama, dengan interval kepercayaan, biaya, dan latensi per prediksi.
Polanya sama di setiap modul: tulis versi klasik dan ukur, jalankan versi modern di Lab, lalu bandingkan dengan jujur.
Pemilik materi
C12 memiliki: normalisasi teks Indonesia, ejaan dan campur kode, morfologi dan Unigram LM, pelabelan urutan dan dekode terstruktur, sentimen per aspek, topic modeling, deduplikasi teks, metrik generasi, kesepakatan anotator multi-anotator, dan drift teks. C12 menautkan, tidak mengajarkan ulang:
| Konsep | Pemilik |
|---|---|
| Teks → angka, bag-of-words, TF-IDF dan k-NN kosinus ditulis sendiri, Naive Bayes | C2 · k-NN dan Naive Bayes |
| Regresi logistik, matriks konfusi, presisi/recall, kalibrasi | C2 · Regresi logistik dan klasifikasi, Evaluasi klasifikasi dan keputusan |
| k-means dan PCA | C2 · Belajar tanpa label |
| Metrik keadilan per kelompok | C2 · Data tak seimbang, keadilan, dan interpretabilitas |
| Embedding, model bahasa, perplexity, sampling, BPE dasar | C9 · Embedding dan model bahasa |
| Attention dan transformer | C9 · Transformer |
| Fine-tuning, LoRA, kuantisasi | C9 · Model terbuka, fine-tuning, LoRA |
| Kemiripan kosinus, indeks vektor, recall@k dan MRR | C3 · Embedding dan pencarian semantik |
| Golden set, Cohen's kappa, LLM sebagai penilai | C3 · Evaluasi |
| CER dan WER | C3 · Multimodal |
| Minimisasi, redaksi, retensi, UU PDP | C3 · Privasi, etika, dan kepatuhan |
| PSI, KS, CUSUM, label terlambat | C10 · Pemantauan dan drift |
| Jarak edit sebagai pemrograman dinamis | K1 · Pemrograman dinamis |
| Bootstrap dan uji permutasi | C1 · Sampling dan estimasi, Uji hipotesis |
Untuk siapa dan prasyarat
- Wajib: C2 Machine Learning (regresi logistik, evaluasi, validasi, bag-of-words dan Naive Bayes) dan C9 Deep Learning (embedding, transformer, PyTorch di Colab, fine-tuning).
- Dianjurkan: C3 AI Engineering, terutama Embedding dan pencarian semantik, Evaluasi, dan Multimodal. Modul 01, 09, 11, dan 12 memakai metriknya; bila kamu belum mengambil C3, setiap modul memberi ringkasan satu layar dan tautannya.
- F1 Python dan F5 Rilis untuk repo proyek dan Lab Tayang.
- Matematika: Aljabar Linear (SVD untuk LSA dan PPMI, faktorisasi matriks) dan Statistika dan Probabilitas (Bayes, EM, kappa, interval).
- Sapaan "kamu", sama dengan course lain.
Lingkungan lab
| Bagian | Di mana | Diperiksa |
|---|---|---|
| Normalisasi, ejaan, tokenisasi, BIO, Viterbi, perceptron, ABSA, NMF/LDA, PPMI/SIF/MinHash, metrik generasi, kesepakatan, drift | Peramban (Python di peramban dengan NumPy, pandas, SciPy, scikit-learn); pemeriksa memakai Python 3.12 dan 3.13 dengan versi paket yang sama | Otomatis |
Encoder bahasa Indonesia, fine-tuning, tokenizer dan embedding kalimat pralatih, seqeval dan CRF, sacreBLEU dan BERTScore, LLM sebagai pelabel, korpus bahasa daerah | Google Colab atau Kaggle Notebooks (GPU gratis, kuota berubah dan tidak dijamin) | Lab "Selesai bila:" |
| Demo publik (lencana Tayang) | Streamlit Community Cloud dari repo GitHub | Daftar periksa Tayang Modul 15 |
PyTorch, Transformers, sentence-transformers, dan sacreBLEU tidak tersedia
di peramban maupun di pemeriksa, jadi kodenya ditulis sebagai blok statis dan
dijalankan di Lab. Latihan terperiksa hanya memakai pustaka standar, NumPy,
pandas, SciPy, dan scikit-learn. Pustaka yang ada di peramban tetapi tidak di
pemeriksa (misalnya regex, NLTK, SentencePiece) tidak dipakai di latihan.
Kode Lab ditulis terhadap versi yang dicek penulis modul (tanggal dan versi dicatat di modulnya, sama seperti C9). Nama model pralatih, ukurannya, dan lisensinya dicek di halaman resminya saat modul ditulis dan ditandai perlu dicek ulang.
Satu kali menjalankan kode dibatasi 15 detik (korpus kecil, kosakata
terbatas; batas=N sampai 120 detik hanya untuk Gibbs sampling dan pelatihan
perceptron bila tidak bisa dihindari).
Waktu: ±6 jam per modul (Modul 10 termasuk Lab Colab) dan ±8 jam untuk Modul 15, total ±92 jam. Lab Colab di modul lain opsional dan, seperti bagian pendalaman dan Lab Tayang, di luar hitungan itu. Fine-tuning encoder di Colab wajib untuk proyek akhir.
Silabus (15 modul)
| Modul | Judul | Inti | Pendalaman | Lab/Proyek |
|---|---|---|---|---|
| 01 | Teks Indonesia apa adanya | Unicode (NFC/NFKC, spasi tak-putus, karakter lebar-nol, angka lebar), huruf kecil yang aman, huruf berulang (enaaak), angka dan rupiah (15rb, 15k, Rp 15.000 → Rp15.000), kamus slang per token utuh (bukan substring); normalisasi diukur dengan WER korpus terhadap bentuk baku | Emoji sebagai sinyal; kapan tidak menormalkan: rentang entitas, nama produk, kata kasar untuk moderasi | muat_pesan, bagian, normalisasi, wer_korpus di tutur.py; WER uji 0,3448 (mentah) → 0,2041 (kamus saja) → 0,0684 |
| 02 | Ejaan dan campur kode | Levenshtein dan Damerau terbatas (OSA) ditulis sendiri, korektor ejaan noisy channel (kandidat jarak ≤ 2 dari leksikon latih + frekuensi) diukur dengan WER dan presisi koreksi, daftar lindung untuk slang dan angka kata yang tidak boleh "dibetulkan", deteksi bahasa per token (n-gram karakter + Naive Bayes), indeks campur kode (CMI) per kanal dan dialek | SymSpell dan BK-tree untuk kandidat cepat; korektor yang bertemu kosakata baru | jarak_edit, Korektor, perbaiki_ejaan, bahasa_token, cmi; WER validasi 0,0554 → 0,0452 tanpa koreksi salah; akurasi label bahasa per bahasa di campur_kode.jsonl |
| 03 | Tokenisasi, morfologi, dan subkata | Pre-tokenizer regex dengan offset untuk teks Indonesia (klitik -nya/-ku/-mu, kata ulang, angka dan rupiah, emoji) dan rentang entitas yang jatuh di tengah token, stemming afiks gaya Nazief–Adriani yang disederhanakan dan kegagalannya, BPE tingkat byte dengan peringkat gabungan (BPE dasar dari C9 tidak diulang), Unigram LM dengan segmentasi Viterbi, fertilitas token per kata dan mengapa tokenizer berbahasa Inggris boros untuk teks Indonesia (biaya API di C3) | SentencePiece dan EM; emoji yang terdiri dari beberapa code point | tokenisasi, stem, BPEByte, segmentasi_unigram, fertilitas; rentang tidak sejajar 286 (spasi) → 56 → 2; Colab opsional: tokenizer pralatih |
| 04 | Baseline yang sulit dikalahkan: TF-IDF + regresi logistik | n-gram kata dan karakter yang tahan slang, sublinear_tf, trik hashing dan tabrakannya, softmax vs satu-lawan-semua, bobot kelas, macro-F1, matriks konfusi lima niat, ambang satu-lawan-semua untuk keluhan, analisis kesalahan per kanal, batas atas dari pesan yang memang ambigu | Membaca bobot, kalibrasi ulang (dari C2), model kecil atau LLM untuk triase pesan | model_niat, macro_f1, matriks_konfusi; uji akurasi 0,935 / macro-F1 0,9124 (angka rujukan) |
| 05 | Pelabelan urutan dan NER dengan BIO | Rentang karakter ↔ label token BIO/BIOES, rentang yang jatuh di dalam token (telurnya, rt 03?), memperbaiki urutan tidak sah, F1 per entitas tingkat rentang (cocok persis) vs akurasi token, F1 parsial, baseline kamus dan klasifikasi per token berfitur jendela | Entitas bersarang dan tumpang tindih; format CoNLL dan IOB1 | span_ke_bio, bio_ke_span, f1_entitas; F1 entitas uji kamus 0,9168, per token berfitur jendela 0,9773; Colab opsional: seqeval |
| 06 | Dekode terstruktur: HMM, Viterbi, perceptron terstruktur | HMM dari hitungan dengan pemulusan, Viterbi di ruang log dengan backpointer, transisi terlarang (O → I), perceptron terstruktur rata-rata (Collins 2002) dengan fitur token dan transisi; mengapa dekode terstruktur memperbaiki label per token, diuji juga di bulan produksi | CRF rantai linear dan algoritma maju–mundur (turunan tanpa latihan wajib); CRF di Colab | viterbi, hmm_latih, PerceptronTerstruktur; ekstraksi pesanan (produk, jumlah, waktu, lokasi, harga): F1 uji 0,7961 (per token) → 0,9896 |
| 07 | Sentimen per aspek | Deteksi kategori aspek multilabel, polaritas per aspek, lingkup negasi (tidak terlalu mahal, kurang ramah, bukan main enaknya), kontras tetapi, leksikon vs model TF-IDF dua tahap, metrik multilabel dan F1 pasangan aspek–sentimen, kesalahan per dialek dan di bulan produksi | Ekstraksi istilah aspek sebagai pelabelan urutan | sentimen_aspek, f1_aspek_sentimen; F1 pasangan uji 0,6838 (tanpa lingkup negasi) → 0,9823; ringkasan aspek per bulan |
| 08 | Topic modeling | NMF dengan pembaruan multiplikatif di atas TF-IDF, LDA dengan Gibbs sampling runtuh (berbenih), koherensi NPMI dihitung sendiri, stabilitas antarbenih (pencocokan Hungaria), menamai topik, NMI terhadap aspek sebenarnya | Perpleksitas dan koherensi tidak selalu sejalan | nmf, lda_gibbs, koherensi_npmi; topik keluhan per bulan; Colab opsional: pengelompokan embedding kalimat (gaya BERTopic) |
| 09 | Vektor kata, vektor kalimat, dan deduplikasi | PPMI + SVD (LSA) dari korpus sendiri, usulan entri kamus dari tetangga terdekat, rata-rata vektor dan SIF, pencocok FAQ warung diukur dengan recall@k dan MRR dari C3, MinHash + LSH untuk pesan hampir kembar (shingle karakter, kurva-S pita) dan label yang bertentangan; model embedding kalimat multibahasa di Colab | Deduplikasi korpus besar dan indeks vektor perkiraan (C3) | ppmi, sif, minhash, lsh_pasangan; deduplikasi pesan + pencocok FAQ |
| 10 | Encoder bahasa Indonesia dan fine-tuning | Dari transformer C9 ke encoder dua arah (MLM), tokenizer WordPiece, penyelarasan label kata ke subkata (subkata pertama, -100), jendela geser dengan stride, padding dinamis dan biayanya; fine-tuning keluarga IndoBERT untuk niat dan NER di Colab, LoRA opsional, perbandingan berpasangan dengan baseline (bootstrap/McNemar), biaya dan latensi per prediksi | Model untuk teks media sosial (IndoBERTweet), distilasi ke model kecil | selaraskan_label, jendela_geser, token_padding; notebook Colab encoder lawan baseline |
| 11 | Metrik generasi: BLEU, chrF, ROUGE | BLEU (presisi n-gram terpotong, penalti kependekan, korpus vs kalimat, pemulusan), chrF (n-gram karakter, β = 2), ROUGE-1/2/L (LCS), multi-rujukan, kepekaan tokenisasi, korelasi Kendall dan Spearman dengan nilai manusia (termasuk seri pada angka pecahan); ringkasan yang mengarang tetap mendapat skor tinggi, lalu ditangkap pemeriksaan fakta sederhana | sacreBLEU dan BERTScore (Colab), LLM sebagai penilai (C3) | bleu, chrf, rouge_l; laporan metrik ringkasan keluhan |
| 12 | Anotasi dan kesepakatan | Pedoman anotasi, Fleiss' kappa, alpha Krippendorff (nominal, data hilang), mutu setiap anotator tanpa kunci jawaban, kesepakatan rentang entitas (batas, jenis, terlewat), adjudikasi, Dawid–Skene (EM) vs suara mayoritas, label meragukan dari peluang validasi silang, pembelajaran aktif berbasis ketidakpastian | Alat anotasi (Label Studio, Argilla); LLM sebagai pelabel pertama dengan audit manusia | fleiss_kappa, alpha_krippendorff, dawid_skene; laporan mutu anotasi dan pedoman versi 2 |
| 13 | Pemantauan drift teks | Laju OOV dan token baru per bulan, alarm per blok 50 pesan dengan rata-rata bergerak (data tidak bertanggal), divergensi Jensen–Shannon sebaran token, drift prediksi, estimasi pergeseran label BBSE, uji permutasi pada pusat vektor kalimat, sampel untuk dilabel ulang; PSI/KS/CUSUM dari C10 dipakai | Drift konsep vs drift kovariat pada teks, jadwal pelatihan ulang (C10) | laju_oov, js_divergensi, bbse; laporan drift September–Desember |
| 14 | Bias, privasi, dan bahasa daerah | Evaluasi per dialek dan per kanal dengan n dan interval bootstrap, sumber celah (ucapan terima kasih dan negasi berbahasa daerah) dengan uji kontrafaktual, augmentasi kontrafaktual, redaksi data pribadi dengan pola dan model token diukur dengan recall dan set uji ketahanan (defensif), lembar data dan kartu model, lisensi korpus publik | Korpus bahasa daerah di Colab | metrik_per_kelompok, redaksi_pesan; laporan keadilan per dialek dan kartu model |
| 15 | Proyek akhir: Tutur Makmur | Merakit pipeline: redaksi → normalisasi → niat → ekstraksi pesanan → sentimen aspek, lalu topik dan drift per bulan; triase "balas segera" dengan ambang dari validasi; interval bootstrap; laporan_tutur yang menolak laporan tidak jujur dan ke_markdown; notebook Colab encoder | Lencana Tayang: demo Streamlit + kartu model | Repo + hasil_tutur.json + LAPORAN.md + notebook + demo publik |
Proyek: Tutur Makmur
Peserta membangun tutur, pustaka NLP mini untuk kotak pesan Warung
Makmur. Setiap hari warung menerima pesan lewat WhatsApp, ulasan
marketplace, dan komentar media sosial: pesanan, pertanyaan stok dan harga,
keluhan kurir, dan pujian. tutur meredaksi nomor telepon dan lokasi,
menormalkan teks, memilah niat dan pesan yang perlu dibalas segera,
mengekstrak pesanan (produk, jumlah, waktu, lokasi, harga), membaca sentimen
per aspek, merangkum topik keluhan, mengukur ringkasan otomatis, menilai mutu
label anotator, dan memberi alarm ketika bahasa pelanggan bergeser. Data:
2.400 pesan sintetis berkebenaran (data/pesan.jsonl, Januari–Desember 2026)
dengan bentuk baku, niat, aspek, dan entitas. Kontrak:
proyek-tutur.md.
Lencana Tayang (bukan syarat lulus): demo "Tutur Makmur" di Streamlit
Community Cloud yang menjalankan pipeline tutur dengan NumPy dan
scikit-learn di CPU, dengan kartu model, GitHub Actions hijau, dan README
portofolio. Daftar periksa lengkap ada di
Modul 15.
Kerangka setiap modul
Modul ditulis langsung dalam mode langkah (satu layar satu ide, setiap layar berakhir dengan interaksi), dengan bagian:
# Modul NN · Judul
> **Hasil belajar:** 3–5 kemampuan yang bisa diamati
> **Prasyarat:** modul sebelumnya dan modul course lain (bertaut, dengan judul topiknya)
> **Waktu:** ± X jam
> **Hasil lab:** apa yang ditambahkan ke `tutur`
## Intinya (3–5 butir)
## 1..N. Bagian per konsep (contoh dulu, lalu penjelasan singkat; cek, animasi, playground, latihan)
## Di balik layar (mekanisme di bawah pustaka; dipakai latihan)
## N+1. Proyek: Tutur Makmur (lab; "Selesai bila:"; Lab Colab untuk cara modern)
## N+2. Belajar bersama AI (tugas tanpa AI, tugas dengan AI, bandingkan)
## N+3. Pendalaman (opsional) (studi kasus rekaan, di skala enterprise)
## Rangkuman (3–7 butir)
## Sumber (dokumentasi resmi + rujukan klasik, bertanggal)
Bekerja dengan agen, pola yang sama di setiap modul. Kerjakan dulu tugas
kecil tanpa AI agar kamu tahu jawaban yang benar. Lalu minta agen menulis
kode dengan instruksi yang menyebut kontrak, contoh teks yang sulit, dan tes
yang harus gagal pada kode naif. Kesalahan agen di NLP jarang memunculkan
galat: normalisasi yang beda antara latih dan produksi, kosakata yang dibangun
dari data uji, F1 yang dihitung per token, \b yang memotong Rp15.000, atau
metrik yang memakai tokenisasi berbeda. Yang menangkapnya adalah tes sifat,
angka rujukan, dan contoh sulit yang sudah kamu kumpulkan sendiri.
Aturan isi:
- Tulis, ukur, bandingkan. Setiap teknik klasik ditulis sendiri dan dicocokkan dengan pustaka bila ada (scikit-learn, SciPy); setiap teknik modern dibandingkan dengan baseline di pemisahan yang sama.
- Angka dari kode, bukan dari ingatan. Akurasi, F1, WER, BLEU, kappa, dan laju OOV di prosa diambil dari contoh yang diperiksa mesin; angka rujukan ada di kontrak.
- Tes memeriksa perilaku pada teks sulit, bukan bentuk:
Rp 15.000dengan spasi tak-putus, klitik yang menempel pada entitas, negasi berlapis, pesan yang memang ambigu, kosakata baru. Kode awal yang naif harus gagal. - Keacakan selalu berbenih (
np.random.default_rng(0)ataurandom.Random(0)); hasil Gibbs sampling dan perceptron dibandingkan dengan toleransi yang disebut di perintah. - Pustaka berat hanya di Lab, dengan versi dan tanggal cek; nama model, ukuran, dan lisensinya dicek di halaman resminya.
- Data sintetis. Semua pesan, produk, lokasi, dan nomor fiktif; tidak ada nama orang. Korpus publik hanya dipakai di Lab Colab sebagai pembanding, dengan lisensinya disebut.
- Studi kasus memakai skenario rekaan yang mewakili kejadian umum, ditandai rekaan.
- Sumber klasik bergantian: Jurafsky & Martin Speech and Language Processing (edisi ke-3, draf daring); Manning & Schütze Foundations of Statistical Natural Language Processing (1999); Manning, Raghavan & Schütze Introduction to Information Retrieval (2008); Eisenstein Introduction to Natural Language Processing (2019); makalah asli di setiap modul.
- Patokan CS2023: knowledge area Artificial Intelligence (Natural Language Processing, Machine Learning).
Batas cakupan
Disentuh sekilas atau di luar cakupan: pengenalan dan sintesis suara (ASR di C3 Multimodal), penerjemahan mesin sebagai sistem (metriknya dibahas di Modul 11), parsing sintaksis dan dependensi, model generatif besar dan pelatihannya (C9 dan C3), RAG (C3), serta pelatihan tokenizer berskala besar. Moderasi konten dibahas dari sisi pengukuran dan privasi, bukan sebagai sistem lengkap.
Hubungan dengan course lain
| Course | Hubungan |
|---|---|
| C2 Machine Learning | Prasyarat wajib: teks → angka, Naive Bayes, regresi logistik, evaluasi, keadilan |
| C9 Deep Learning | Prasyarat wajib: embedding, BPE dasar, attention, transformer, PyTorch di Colab, LoRA |
| C3 AI Engineering | Dianjurkan: embedding dan pencarian, evaluasi dan kappa, CER/WER, privasi; C12 menautkan |
| C10 MLOps | Rujukan: PSI/KS/CUSUM dan pelatihan ulang (Modul 13); penyajian model untuk demo |
| C13 CV Terapan | Course saudara: struktur, pola Lab, dan anotasi serupa; tidak saling mensyaratkan |
| K1 Struktur Data & Algoritma | Rujukan: pemrograman dinamis (jarak edit, Viterbi) dan tabel hash (MinHash) |
| F5 Rilis | Peralatan proyek dan Lab Tayang |
Sumber
Rujukan utama course; setiap modul mencantumkan sumbernya sendiri dengan tanggal cek.
- Jurafsky, D., & Martin, J. H. Speech and Language Processing, edisi ke-3 (draf daring).
- Manning, C. D., & Schütze, H. (1999). Foundations of Statistical Natural Language Processing. MIT Press.
- Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press.
- Eisenstein, J. (2019). Introduction to Natural Language Processing. MIT Press.
- Sennrich, R., Haddow, B., & Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. ACL. Kudo, T. (2018). Subword Regularization. ACL.
- Adriani, M., dkk. (2007). Stemming Indonesian: A Confix-Stripping Approach. ACM TALIP.
- Ramshaw, L., & Marcus, M. (1995). Text Chunking using Transformation-Based Learning. Collins, M. (2002). Discriminative Training Methods for Hidden Markov Models. EMNLP.
- Blei, D., Ng, A., & Jordan, M. (2003). Latent Dirichlet Allocation. JMLR. Lee, D., & Seung, H. S. (2001). Algorithms for Non-negative Matrix Factorization. NIPS.
- Arora, S., Liang, Y., & Ma, T. (2017). A Simple but Tough-to-Beat Baseline for Sentence Embeddings. ICLR. Broder, A. (1997). On the Resemblance and Containment of Documents.
- Devlin, J., dkk. (2019). BERT. NAACL. Wilie, B., dkk. (2020). IndoNLU. AACL. Koto, F., dkk. (2020). IndoLEM and IndoBERT. COLING.
- Papineni, K., dkk. (2002). BLEU. ACL. Popović, M. (2015). chrF. WMT. Lin, C.-Y. (2004). ROUGE. Post, M. (2018). A Call for Clarity in Reporting BLEU Scores. WMT.
- Fleiss, J. L. (1971). Measuring Nominal Scale Agreement among Many Raters. Krippendorff, K. (2004). Content Analysis. Dawid, A. P., & Skene, A. M. (1979). Maximum Likelihood Estimation of Observer Error-Rates Using the EM Algorithm.
- Lipton, Z., Wang, Y.-X., & Smola, A. (2018). Detecting and Correcting for Label Shift with Black Box Predictors. ICML.
- Winata, G. I., dkk. (2023). NusaX: Multilingual Parallel Sentiment Dataset for 10 Indonesian Local Languages. EACL.