Catatan pengantar untuk IF5153 Advanced Natural Language Processing (Semester 1 2026/2027, dosen: Ayu Purwarianti), mencakup kontrak kuliah (skema penilaian, jadwal, kebijakan penggunaan AI), definisi & ruang lingkup NLP, kategori tugas (task) NLP, benchmark evaluasi, serta sejarah singkat perkembangan bidang ini. Materi ini jadi fondasi konteks sebelum masuk ke topik teknis (Klasifikasi Teks, Word Representation, dst).

Informasi Umum Kuliah

  • Mata kuliah: IF5153 Advanced Natural Language Processing — mata kuliah level pascasarjana (S2) ITB.
  • Dosen: Ayu Purwarianti (ayu@itb.ac.id).
  • Jadwal: Senin 13.00-14.40, Rabu 10.00-10.50. Kelas bisa offline atau online (link diumumkan lewat Edunex/SIX).
  • Presensi: six.itb.ac.id. Materi kuliah: edunex.itb.ac.id.

Student Outcome & Course Outcome

Student Outcome (capaian program studi yang didukung mata kuliah ini): mahasiswa mampu mendesain dan membangun solusi berbasis komputasi melalui pendekatan interdisipliner/multidisipliner.

Course Outcome (capaian spesifik mata kuliah):

  1. Mahasiswa mampu menjelaskan pendekatan machine learning untuk berbagai task NLP.
  2. Mahasiswa mampu menjelaskan pendekatan berbasis transfer learning untuk berbagai task NLP.
  3. Mahasiswa mampu mengembangkan model NLP menggunakan pendekatan berbasis machine learning.
  4. Mahasiswa mampu mengembangkan model NLP menggunakan pendekatan berbasis transfer learning.

Silabus

  1. Basic NLP Tools: lexical, syntactic, semantic, reference resolution.
  2. Various NLP Task: Text Classification, Text Comparison/Similarity, Sequential Labelling, Sentiment Analysis, Question Answering, Dialogue System.
  3. Various NLP Technique: Shallow Machine Learning, Word Representation, Transfer Learning (Transformer based Encoder/Decoder).
  4. NLP/LLM Evaluation.

Skema Penilaian

  • Exercise/Homework.
  • Projects: paper exploration, serta implementasi NLP task dengan berbagai algoritma.
  • Practicum.
  • Mid term exam, Final term exam.
  • Kebijakan penggunaan AI: penggunaan AI diperbolehkan untuk belajar, tapi tidak diperbolehkan secara default untuk mengerjakan tugas. Pengecualian: pencarian literatur — AI boleh dipakai membantu mencari sumber, tapi mahasiswa tetap wajib membaca dan me-review literatur tersebut secara mandiri.
  • Spesifikasi Project (kerja kelompok): 1 tim = 3 mahasiswa. Setiap tim mendesain 1 pipeline NLP yang terdiri atas 3 task NLP (1 task per anggota), dengan eksperimen lengkap untuk masing-masing task. Presentasi project (minggu 14-15) terdiri dari: demo (menjalankan model NLP via command prompt, mencoba beberapa input) dan PPT (penjelasan algoritma & hasil eksperimen, termasuk error analysis).

CL vs NLP

Dua istilah yang sering tertukar tapi punya fokus berbeda:

Computational Linguistics (CL)Natural Language Processing (NLP)
FokusMempelajari proses komputasional dalam sebuah bahasa — bagaimana memahami, menghasilkan, dan mempelajari bahasaMetode untuk menyelesaikan masalah praktis yang melibatkan bahasa manusia
OrientasiBagaimana linguistik didukung oleh metode komputasional (mirip computational biology)Aplikasi konkret, contoh: mesin penerjemah (machine translation), question answering

Meski beda fokus, dalam praktiknya CL ≈ NLP — keduanya sering dipakai bertukar makna karena saling tumpang tindih secara signifikan.

Definisi NLP

Beberapa definisi NLP dari literatur:

  • [Goldberg, 2017]: NLP adalah bidang yang mendesain metode dan algoritma yang menerima input atau menghasilkan output berupa data bahasa alami yang tidak terstruktur (unstructured natural language data).
  • [Eisenstein, 2018]: NLP fokus pada desain dan analisis algoritma komputasional serta representasi untuk memproses bahasa manusia alami.
  • Definisi ringkas: NLP adalah bidang yang mempelajari metode, algoritma, dan representasi yang memproses input/output bahasa alami, mencakup teks maupun suara (speech).

Mengapa NLP Penting Dipelajari?

Tiga motivasi utama:

  • Trilyunan dokumen tersedia di internet — kebutuhan memproses teks dalam jumlah masif.
  • Proficiency in Local Language — kebutuhan teknologi yang memahami bahasa lokal (bukan cuma bahasa Inggris), relevan khususnya untuk konteks Indonesia.
  • Human friendly technology — kebutuhan antarmuka teknologi yang alami bagi manusia (voice assistant, chatbot, dsb).

Industri NLP berkembang pesat, dengan banyak pemain besar dan lokal: Google, Yahoo, Bing, Google Translate, Siri, Lexalytics — juga pemain lokal seperti Prosa.ai dan Bahasa.ai (AI untuk Bahasa Indonesia), Kata.ai, serta model-model besar terbaru seperti GPT/ChatGPT, Gemini, Copilot. Prospek kariernya dinilai sangat baik, tergantung kreativitas.

Ruang Lingkup NLP (Text)

NLP untuk teks mencakup tiga kapabilitas inti:

  • Natural Language Understanding (NLU) — memahami makna dari teks input.
  • Natural Language Generation (NLG) — menghasilkan teks output.
  • Text Analytics — menganalisis teks (mis. untuk insight/statistik).

Input NLP bisa datang dari berbagai sumber: suara (lewat speech recognition), bahasa isyarat (lewat sign language recognition), dokumen/berita, media sosial, halaman web, maupun buku/dokumen fisik (lewat OCR). Outputnya juga beragam: knowledge graph, dokumen ringkas, dashboard analitik, penilaian otomatis (misal automated essay scoring), hingga chatbot/asisten virtual.

Kategori Task NLP

Task-task NLP dapat dikelompokkan menjadi 4 kategori besar (kategori ini akan jadi kerangka acuan untuk topik-topik teknis berikutnya, terutama Text Classification dan Sequential Labeling):

1. Text Classification

Memberi label/kategori ke keseluruhan teks/dokumen secara otomatis (input → label). Contoh:

  • Spam filtering — label: spam vs bukan spam.
  • Sentiment analysis — label: positive, negative, neutral.
  • Emotion detection — label: happy, sad, angry, surprise.
  • Language identification — label: English, Indonesia, dst.

2. Text Comparison

Membandingkan dua input teks sekaligus (input1 + input2 → label). Contoh:

  • Document clustering — label: mirip atau tidak.
  • Plagiarism detection — label: plagiat atau tidak.
  • Short answer scoring — label: skor.
  • Information retrieval — label: relevan atau tidak.

3. Sequential Labeling

Setiap token dalam teks diklasifikasikan ke sebuah label token, memakai label token sebelumnya sebagai konteks tambahan. Contoh:

  • POS (Part of Speech) Tagger — label: Noun (NN, NNS), Verb (VBZ), dst.
  • Named Entity Tagger — label: Person, Location, Organization, Event, Date, Other, dst. Contoh: kalimat “KSTI was held at ITB” dilabeli token-per-token → KSTI=Event, was/held/at=Other, ITB=Loc.
  • Question Answering (factoid question) juga bisa dipandang sebagai sequential labeling: kalimat sumber dilabeli token mana yang merupakan jawaban (label “Answer”) dan mana yang bukan (label “O”).
  • Aspect-based Sentiment Analysis menggabungkan sequential labeling (menandai aspect marker dan sentiment marker dalam kalimat) dengan text classification (menentukan nilai sentimen +/- untuk tiap aspek yang ditemukan).

4. Seq2seq (Sequence to Sequence)

Mentransformasi input teks menjadi output teks yang dimaksud — tergolong generative problem. Contoh: machine translation, text summarization, chatbot, lexical normalization (contoh kasus: MultiLexNorm, normalisasi teks informal multibahasa).

Sumber Acuan & Benchmark

  • NLPProgress.com — situs yang melacak state of the art untuk berbagai task NLP (POS tagging, NER, sentiment analysis, machine translation, question answering, semantic parsing, dst).
  • GLUE (General Language Understanding Evaluation) — benchmark standar berisi kumpulan task (CoLA, SST-2, MRPC, STS-B, QQP, MNLI, QNLI, RTE, WNLI) untuk mengevaluasi kemampuan model bahasa secara umum.
  • SemEval / Senseval — rangkaian shared task tahunan sejak 1998 (Senseval-1 @ Sussex) hingga SemEval terbaru, mencakup task seperti semantic textual similarity, aspect based sentiment analysis, sentiment analysis in Twitter, dsb.

Sejarah Singkat Perkembangan NLP

DekadePerkembangan
1940-1950Mulai muncul Machine Translation berbasis rule-based; jurnal MT (Mechanical Translation) terbit 1954; konferensi internasional MT pertama 1952
1960Teddington International Conference on Machine Translation of Languages and Applied Analysis (1961) memperkenalkan berbagai konsep NLP: morfologi, sintaks, semantik, leksikon (untuk interpretasi & generasi); ALPAC Report (1966) mengkritik hasil MT, mendorong riset bergeser ke task NLP lain (leksikon, grammar, dst)
1970Muncul conceptual ontologies — representasi data yang dapat dipahami komputer
1980Rule-based parsing, semantik, RST (Rhetorical Structure Theory)
1990Metode stokastik, HMM (Hidden Markov Model)
2000Machine learning unsupervised dan semi-supervised
2010Representation learning, DNN (Deep Neural Network)
2018Transfer learning → era Language Model (BERT, GPT, dst)

Perkembangan ini sejalan dengan roadmap topik teknis di silabus: dari shallow machine learning & word representation (mewakili era 1990-2010-an) menuju transfer learning berbasis Transformer encoder/decoder (era 2018 ke atas).

Flashcard

flashcards Apa perbedaan fokus antara Computational Linguistics (CL) dan Natural Language Processing (NLP)? :: CL fokus mempelajari proses komputasional dalam bahasa (bagaimana memahami, menghasilkan, dan mempelajari bahasa — mirip computational biology), sedangkan NLP fokus pada metode untuk menyelesaikan masalah praktis yang melibatkan bahasa manusia (contoh: machine translation, question answering). Meski beda fokus, keduanya sering dianggap CL ≈ NLP. Sebutkan tiga motivasi utama mengapa NLP penting dipelajari menurut materi pengantar ini :: Trilyunan dokumen tersedia di internet yang perlu diproses; kebutuhan proficiency dalam bahasa lokal (bukan cuma bahasa Inggris); dan kebutuhan teknologi yang human-friendly (voice assistant, chatbot, dsb). Sebutkan empat kategori besar task NLP beserta pola input-outputnya :: Text Classification (teks → label untuk keseluruhan dokumen), Text Comparison (dua teks → label perbandingan), Sequential Labeling (tiap token → label token, memakai label token sebelumnya sebagai konteks), dan Seq2seq (teks input → teks output, generative). Berikan tiga contoh task yang termasuk kategori Text Classification beserta label masing-masing :: Spam filtering (label: spam vs bukan spam), sentiment analysis (label: positive/negative/neutral), dan language identification (label: English/Indonesia/dst). Bagaimana Named Entity Tagger bekerja sebagai contoh Sequential Labeling? :: Named Entity Tagger memberi label ke setiap token dalam kalimat (bukan ke keseluuhan kalimat), misalnya Person, Loc, Org, Event, Date, Other — contoh: “KSTI was held at ITB” dilabeli KSTI=Event, ITB=Loc, token lain=Other. Mengapa Aspect-based Sentiment Analysis dianggap menggabungkan Sequential Labeling dan Text Classification? :: Karena tahap menandai aspect marker dan sentiment marker pada kalimat adalah sequential labeling (per token), sedangkan tahap menentukan nilai sentimen (+/-) untuk tiap aspek yang ditemukan adalah text classification. Apa itu GLUE dan apa fungsinya dalam riset NLP? :: GLUE (General Language Understanding Evaluation) adalah benchmark standar berisi kumpulan task (single-sentence, similarity/paraphrase, inference) yang dipakai untuk mengevaluasi kemampuan pemahaman bahasa sebuah model secara umum dan membandingkan performa antar model. Apa dampak ALPAC Report (1966) terhadap arah riset NLP? :: ALPAC Report mengkritik hasil Machine Translation berbasis rule-based yang saat itu dikembangkan, sehingga mendorong pergeseran fokus riset ke task-task NLP lain seperti leksikon dan grammar, bukan hanya MT. Sebutkan urutan era pendekatan NLP dari tahun 1990 hingga 2018 berdasarkan timeline sejarah di materi ini :: 1990: metode stokastik dan HMM; 2000: machine learning unsupervised dan semi-supervised; 2010: representation learning dan DNN; 2018: transfer learning menuju era Language Model. Apa kebijakan penggunaan AI untuk mengerjakan tugas di mata kuliah IF5153, dan apa pengecualiannya? :: AI diperbolehkan untuk belajar, tapi secara default tidak diperbolehkan untuk mengerjakan tugas. Pengecualiannya adalah pencarian literatur — AI boleh membantu mencari sumber, tetapi mahasiswa tetap wajib membaca dan me-review literatur tersebut sendiri.