Lewati ke konten utama
C12

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.

Mulai Modul 01

Daftar modul

  1. 01Teks Indonesia apa adanyaGratis6 latihan
  2. 02Ejaan dan campur kodeGratis5 latihan
  3. 03Tokenisasi, morfologi, dan subkataCoding Studio5 latihan
  4. 04Baseline yang sulit dikalahkan: TF-IDF + regresi logistikCoding Studio5 latihan
  5. 05Pelabelan urutan dan NER dengan BIOCoding Studio5 latihan
  6. 06Dekode terstruktur: HMM, Viterbi, perceptron terstrukturCoding Studio4 latihan
  7. 07Sentimen per aspekCoding Studio5 latihan
  8. 08Topic modelingCoding Studio4 latihan
  9. 09Vektor kata, vektor kalimat, dan deduplikasiCoding Studio5 latihan
  10. 10Encoder bahasa Indonesia dan fine-tuningCoding Studio4 latihan
  11. 11Metrik generasi: BLEU, chrF, ROUGECoding Studio5 latihan
  12. 12Anotasi dan kesepakatanCoding Studio5 latihan
  13. 13Pemantauan drift teksCoding Studio6 latihan
  14. 14Bias, privasi, dan bahasa daerahCoding Studio5 latihan
  15. 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:

KonsepPemilik
Teks → angka, bag-of-words, TF-IDF dan k-NN kosinus ditulis sendiri, Naive BayesC2 · k-NN dan Naive Bayes
Regresi logistik, matriks konfusi, presisi/recall, kalibrasiC2 · Regresi logistik dan klasifikasi, Evaluasi klasifikasi dan keputusan
k-means dan PCAC2 · Belajar tanpa label
Metrik keadilan per kelompokC2 · Data tak seimbang, keadilan, dan interpretabilitas
Embedding, model bahasa, perplexity, sampling, BPE dasarC9 · Embedding dan model bahasa
Attention dan transformerC9 · Transformer
Fine-tuning, LoRA, kuantisasiC9 · Model terbuka, fine-tuning, LoRA
Kemiripan kosinus, indeks vektor, recall@k dan MRRC3 · Embedding dan pencarian semantik
Golden set, Cohen's kappa, LLM sebagai penilaiC3 · Evaluasi
CER dan WERC3 · Multimodal
Minimisasi, redaksi, retensi, UU PDPC3 · Privasi, etika, dan kepatuhan
PSI, KS, CUSUM, label terlambatC10 · Pemantauan dan drift
Jarak edit sebagai pemrograman dinamisK1 · Pemrograman dinamis
Bootstrap dan uji permutasiC1 · 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

BagianDi manaDiperiksa
Normalisasi, ejaan, tokenisasi, BIO, Viterbi, perceptron, ABSA, NMF/LDA, PPMI/SIF/MinHash, metrik generasi, kesepakatan, driftPeramban (Python di peramban dengan NumPy, pandas, SciPy, scikit-learn); pemeriksa memakai Python 3.12 dan 3.13 dengan versi paket yang samaOtomatis
Encoder bahasa Indonesia, fine-tuning, tokenizer dan embedding kalimat pralatih, seqeval dan CRF, sacreBLEU dan BERTScore, LLM sebagai pelabel, korpus bahasa daerahGoogle Colab atau Kaggle Notebooks (GPU gratis, kuota berubah dan tidak dijamin)Lab "Selesai bila:"
Demo publik (lencana Tayang)Streamlit Community Cloud dari repo GitHubDaftar 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)

ModulJudulIntiPendalamanLab/Proyek
01Teks Indonesia apa adanyaUnicode (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 bakuEmoji sebagai sinyal; kapan tidak menormalkan: rentang entitas, nama produk, kata kasar untuk moderasimuat_pesan, bagian, normalisasi, wer_korpus di tutur.py; WER uji 0,3448 (mentah) → 0,2041 (kamus saja) → 0,0684
02Ejaan dan campur kodeLevenshtein 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 dialekSymSpell dan BK-tree untuk kandidat cepat; korektor yang bertemu kosakata barujarak_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
03Tokenisasi, morfologi, dan subkataPre-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 pointtokenisasi, stem, BPEByte, segmentasi_unigram, fertilitas; rentang tidak sejajar 286 (spasi) → 56 → 2; Colab opsional: tokenizer pralatih
04Baseline yang sulit dikalahkan: TF-IDF + regresi logistikn-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 ambiguMembaca bobot, kalibrasi ulang (dari C2), model kecil atau LLM untuk triase pesanmodel_niat, macro_f1, matriks_konfusi; uji akurasi 0,935 / macro-F1 0,9124 (angka rujukan)
05Pelabelan urutan dan NER dengan BIORentang 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 jendelaEntitas bersarang dan tumpang tindih; format CoNLL dan IOB1span_ke_bio, bio_ke_span, f1_entitas; F1 entitas uji kamus 0,9168, per token berfitur jendela 0,9773; Colab opsional: seqeval
06Dekode terstruktur: HMM, Viterbi, perceptron terstrukturHMM 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 produksiCRF rantai linear dan algoritma maju–mundur (turunan tanpa latihan wajib); CRF di Colabviterbi, hmm_latih, PerceptronTerstruktur; ekstraksi pesanan (produk, jumlah, waktu, lokasi, harga): F1 uji 0,7961 (per token) → 0,9896
07Sentimen per aspekDeteksi 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 produksiEkstraksi istilah aspek sebagai pelabelan urutansentimen_aspek, f1_aspek_sentimen; F1 pasangan uji 0,6838 (tanpa lingkup negasi) → 0,9823; ringkasan aspek per bulan
08Topic modelingNMF 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 sebenarnyaPerpleksitas dan koherensi tidak selalu sejalannmf, lda_gibbs, koherensi_npmi; topik keluhan per bulan; Colab opsional: pengelompokan embedding kalimat (gaya BERTopic)
09Vektor kata, vektor kalimat, dan deduplikasiPPMI + 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 ColabDeduplikasi korpus besar dan indeks vektor perkiraan (C3)ppmi, sif, minhash, lsh_pasangan; deduplikasi pesan + pencocok FAQ
10Encoder bahasa Indonesia dan fine-tuningDari 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 prediksiModel untuk teks media sosial (IndoBERTweet), distilasi ke model kecilselaraskan_label, jendela_geser, token_padding; notebook Colab encoder lawan baseline
11Metrik generasi: BLEU, chrF, ROUGEBLEU (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 sederhanasacreBLEU dan BERTScore (Colab), LLM sebagai penilai (C3)bleu, chrf, rouge_l; laporan metrik ringkasan keluhan
12Anotasi dan kesepakatanPedoman 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 ketidakpastianAlat anotasi (Label Studio, Argilla); LLM sebagai pelabel pertama dengan audit manusiafleiss_kappa, alpha_krippendorff, dawid_skene; laporan mutu anotasi dan pedoman versi 2
13Pemantauan drift teksLaju 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 dipakaiDrift konsep vs drift kovariat pada teks, jadwal pelatihan ulang (C10)laju_oov, js_divergensi, bbse; laporan drift September–Desember
14Bias, privasi, dan bahasa daerahEvaluasi 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 publikKorpus bahasa daerah di Colabmetrik_per_kelompok, redaksi_pesan; laporan keadilan per dialek dan kartu model
15Proyek akhir: Tutur MakmurMerakit 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 encoderLencana Tayang: demo Streamlit + kartu modelRepo + 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.000 dengan 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) atau random.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

CourseHubungan
C2 Machine LearningPrasyarat wajib: teks → angka, Naive Bayes, regresi logistik, evaluasi, keadilan
C9 Deep LearningPrasyarat wajib: embedding, BPE dasar, attention, transformer, PyTorch di Colab, LoRA
C3 AI EngineeringDianjurkan: embedding dan pencarian, evaluasi dan kappa, CER/WER, privasi; C12 menautkan
C10 MLOpsRujukan: PSI/KS/CUSUM dan pelatihan ulang (Modul 13); penyajian model untuk demo
C13 CV TerapanCourse saudara: struktur, pola Lab, dan anotasi serupa; tidak saling mensyaratkan
K1 Struktur Data & AlgoritmaRujukan: pemrograman dinamis (jarak edit, Viterbi) dan tabel hash (MinHash)
F5 RilisPeralatan 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.