CS 5134/6034: Natural Language Processing
University of Cincinnati
Spring 2024

Instructor: Tianyu Jiang
TA: Dylan Hutson (hutsondm at mail.uc.edu)
Time: Tues&Thur 9:30 - 10:50 am
Location: RECCENTR 3250
Office Hour:
     Tianyu Jiang, Tues 10:55-11:55 am, Rhodes Hall 889
     Dylan Hutson, Wed 2:00-3:00 pm, Rhodes Hall 850E (inside the CEAS library)

Course Description
This course will provide a basic introduction to natural language processing (NLP). We will learn the fundamentals of different subfields within NLP, and study theoretical concepts and algorithms for various NLP problems. Topics covered include text classification, language modeling, word embeddings, sequence tagging, syntactic parsing, semantic parsing, question answering, and others. By the end of this course, you will have a good understanding of the research questions and methods in different areas of NLP, and have the skills to build NLP tools for new issues.

Grading
  • Assignments (4): 40%
  • Midterm Exam (in-class): 25%
  • Project: 35%
  • Bonus: 5% (class attendance)

  • Late Policy: 24 hour grace period with 10% penalty. No points after 24 hours.
    Regrading Policy: Regrade requests must be made within two weeks of the score being posted on Canvas.
    Electronic Submission: All assignments and project reports need to be submitted electronically via Canvas.

    Prerequisites
    This course assumes a good background in basic probability, statistics, linear algebra, and good programming skills in Python3. Prior knowledge of machine learning is helpful, but not required. The class is mainly for advanced undergraduates and graduate students in computer science, but we welcome other interested students with the necessary background and programming skills.

    Textbook
    Dan Jurafsky and James Martin. Speech and Language Processing, 3rd Edition (Feb 3, 2024 draft).

    Schedule (Tentative)
    Week Date Topic Reading Assignment
    1 01/09 Introduction to NLP Ch. 1 & 2
    01/11 Morphology Ch. 2
    2 01/16 N-gram Language Models Ch. 3 a1 out
    01/18 N-gram contd. Ch. 3
    3 01/23 Naive Bayes Ch. 4
    01/25 Logistic Regression Ch. 5
    4 01/30 Part-of-Speech Tagging Ch. 8 a1 due, a2 out
    02/01 HMM and Viterbi Ch. 8
    5 02/06 Sequence Labeling Ch. 8 project instructions out
    02/08 Lexical Semantics Ch. 6
    6 02/13 Distributional Representations Ch. 6 a2 due
    02/15 Word Embeddings Ch. 6
    7 02/20 Neural Networks for NLP Ch. 7 proposal due, a3 out
    02/22 Recurrent Neural Network Ch. 9
    8 02/27 Transformers Ch. 10
    02/29 Fine-Tuning and Masked Language Modeling Ch. 11
    9 03/05 LLM contd. a3 due
    03/07 Midterm Exam
    10 03/12 Spring Break
    03/14 Spring Break
    11 03/19 Constituency Parsing Ch. 17 intermediate report due
    03/21 Dependency Parsing Ch. 18
    12 03/26 Semantic Role Labeling Ch. 20
    03/28 Question Answering Ch. 14
    13 04/02 Machine Translation Ch. 13
    04/04 Information Extraction Ch. 19
    14 04/09 Project Presentations
    04/11 Project Presentations
    15 04/16 Project Presentations final report due
    04/18 Project Presentations

    Project Resources
  • You can choose to reimplement/improve a published work at NLP Conferences from the last 5 years (since 2018):
  •      ACL , EMNLP , NAACL

  • Or from the following tasks:
    1. Hate Speech Detection (ISHate Dataset)
    2. Winograd Schema Challenge (WSC2016, WinoGrande2020)
    3. BrainTeaser QA (SemEval2024: Task 9)
    4. Clickbait Challenge (SemEval2023: Task 5)
    5. Structured Sentiment Analysis (SemEval2022: Task 10)