Front Page

Welcome to CS4248 Natural Language Processing!

Jump to the separate page [ Frequently Asked Questions

This module deals with computer processing of human languages, including the use of neural networks and deep learning in natural language processing. The topics covered include: regular expressions, words and edit distance, n-grams, part-of-speech tagging, feed-forward neural networks, neural network training, word embedding, convolutional neural networks, recurrent neural networks, sequence-to-sequence models with attention, transformers, context-free grammars, syntactic parsing, semantics, and discourse.

N.B. We will be teaching and using the Python programming language throughout this class and Jupyter Notebook via Google Colab. We will using Python 3.x, and largely the SciKitLearn and PyTorch libraries.

Lecture Sections

There are two lecture sections for this course.  Each lecture section will be taught by a different instructor.  You should attend only your section unless specifically excused by the instructor or your tutorial leader.  

  • L1 (Min): Fridays, 9:00–12:00, Lecture Theatre 15
  • L2 (Chris): Mondays, 18:30–21:30, Seminar Room 2 (COM1 0204)

Due to the unusual spacing between lectures on Mondays and Fridays, we've decided to coordinate the two lectures together by timing it such that the L1 section handles each unit first on Friday morning (say, on NUS Week x) and L2 receives the same unit's lecture on Monday evening (on NUS Week x+1).   Tuesdays through Thursdays of NUS Week x+1 will feature Tutorials on the appropriate subject matter.  You'll see the Canvas modules adjusted as appropriate such that units start on Friday and finish on Thursday.

Tutorial Sessions

[Updated 3 Jan 2023]

There will be tutorials for this class starting in Week 03. These sessions will be the primary means by which we touch base with you and get to know you personally. Tutorials will be held roughly bi-weekly (once every two weeks). Please do attend these sessions physically, as they will not be webcasted (although tutorial solutions will be distributed, you must come to the sessions to get the complete picture, and to be a part of the class).

These tutorial session timings still subject to change. Please see NUSMods for the most up-to-date details. As an enrolled student, you are entitled to one tutorial placement, and need to attend that slot even if not optimal for you. Note that all tutorials are physical; they will take place in person at the School. Check with your tutorial leader for more details.

Tutorial Sessions:

  • Tutorial 1: Tuesdays, 12:00–13:00, Seminar Room 6 (COM1 0203): Led by Xu Lin
  • Tutorial 2: Tuesdays, 13:00–14:00, Seminar Room 6 (COM1 0203): Led by Miao Yisong
  • Tutorial 3: Tuesdays, 14:00–15:00, Seminar Room 6 (COM1 0203): Led by Xu Lin
  • Tutorial 4: Tuesdays, 15:00–16:00, Seminar Room 6 (COM1 0203): Led by Xu Lin
  • Tutorial 5: Wednesdays, 12:00–13:00, Seminar Room 6 (COM1 0203): Led by Miao Yisong 
  • Tutorial 6: Wednesdays, 13:00–14:00, Seminar Room 6 (COM1 0203): Led by Miao Yisong
  • Tutorial 7: Wednesdays, 14:00–15:00, Seminar Room 6 (COM1 0203): Led by Ou Longshen
  • Tutorial 8: Wednesdays, 15:00–16:00, Seminar Room 6 (COM1 0203): Led by Ou Longshen
  • Tutorial 9: Wednesdays, 16:00–17:00, Seminar Room 6 (COM1 0203): Led by Ou Longshen

Course Characteristics

Modular Credits: 4.

Prerequisites (each bullet is required):

  • (CS3243 Introduction to Artificial Intelligence or CS3245 Information Retrieval), and
  • (MA1102R Calculus (Deprecated) or MA2002 Calculus or MA1505 Mathematics I or MA1507 Advanced Calculus (Deprecated) or MA1521 Calculus for Computing or:
    • (both MA1511 Engineeering Calculus and MA1512 Differential Equations for Engineering)), and
  • (EE2012/A Analytical Methods in Electrical and Computer Engineering, or MA2216 Probability, or ST2131 Probability, or ST2334 Probability and Statistics).

Questions about prerequisities and waivers are handled centrally by the department. For this semester (Semester 2220), please contact cs-curriculum@comp.nus.edu.sg to describe your case and seek any waivers regarding prerequisites.

Workload

(3-0.5-0-3-3.5): 10 hours per week

Translation:

  • 3 lecture hours per week.
  • 0.5 hours of tutorials per week (biweekly).
  • 3 hours for projects, assignments, fieldwork, etc., per week.
  • 3.5 hours for preparatory work by a student per week.