Introduction to Natural Language Processing 2025


Goals

  • Understanding Core NLP Concepts: Equip students with a solid foundation in Natural Language Processing, including classical and deep learning approaches.
  • Hands-On Experience: Provide practical experience in developing NLP applications using modern libraries like NLTK, spaCy, and Hugging Face.
  • Exposure to Cutting-Edge Techniques: Introduce students to advanced concepts like Transformers, BERT, and Large Language Models (LLMs).
  • Project-Based Learning: Foster creativity and application of NLP techniques in real-world scenarios through a capstone project.
  • Ethical Considerations: Encourage critical thinking about ethical implications, biases, and fairness in NLP models.


Learning Outcomes

By the end of this course, students will be able to:

  1. Understand the basic concepts of NLP, including text preprocessing, tokenization, and word embeddings.
  2. Implement traditional and deep learning techniques for NLP tasks such as text classification, sentiment analysis, and language modeling.
  3. Explain and use pre-trained language models like Word2Vec, BERT, and GPT, and apply them to NLP tasks.
  4. Fine-tune Large Language Models (LLMs) for specific applications like text generation and summarization.
  5. Work on a team-based project, using datasets to develop a fully functional NLP system, and present the findings.

Readings and Textbooks

Prerequisites

  • Proficiency in Python programming language (or the willingness to pick it up during the course).
  • Familiarity with basic ML Algorithms (e.g. Logistic Regression, SVM).
  • Basic Understanding of Linear Algebra and Probability (Helpful).