Course Code |
Course Title |
Weekly Hours* |
ECTS |
Weekly Class Schedule |
T |
P |
AID405 |
Natural Language Processing |
3 |
2 |
6 |
|
Prerequisite |
None |
It is a prerequisite to |
|
Lecturer |
|
Office Hours / Room / Phone |
|
E-mail |
|
Assistant |
|
Assistant E-mail |
|
Course Objectives |
By the end of this course, students will be able to:
1. Explain the recent developments and innovations in natural language processing and their applications in various domains.
2. Implement and evaluate different types of natural language processing models using Python and its libraries.
3. Apply natural language processing models to solve real-world problems of interest.
4. Explore and research advanced topics in natural language processing and present their findings.
|
Textbook |
The required textbooks for this course are:
[1] Vajjala, S., Gupta, A., Majumder, B., & Surana H. (2020). Practical Natural Language Processing: A Comprehensive Guide to Building Real-World NLP Systems. O’Reilly Media.
[2] Jurafsky, D., & Martin J.H. (2019). Speech and Language Processing (3rd ed.). Prentice Hall.
|
Additional Literature |
- The recommended textbooks for this course are:
-
- [1] Manning C.D., & Schütze H. (1999). Foundations of Statistical Natural Language Processing. MIT Press.
- [2] Goldberg Y. (2017). Neural Network Methods for Natural Language Processing. Morgan & Claypool Publishers.
|
Learning Outcomes |
After successful completion of the course, the student will be able to: |
- Explain the recent developments and innovations in natural language processing and their applications in various domains.
- Implement and evaluate different types of natural language processing models using Python and its libraries.
- Apply natural language processing models to solve real-world problems of interest.
- Explore and research advanced topics in natural language processing and present their findings.
|
Teaching Methods |
There will be a 1 hour of theory and explaining the background of the topic, then we will continue with the programming and practice |
Teaching Method Delivery |
Face-to-face |
Teaching Method Delivery Notes |
|
WEEK |
TOPIC |
REFERENCE |
Week 1 |
Introduction to Natural Language Processing |
PNLPP: Ch. 1; SLP: Ch. 1 |
Week 2 |
Text Processing and Regular Expressions Assignment 1: Text Processing with NLTK |
PNLPP: Ch. 2; SLP: Ch. 2 |
Week 3 |
Language Modeling and Text Classification |
PNLPP: Ch. 3; SLP: Ch. 3 & 4 |
Week 4 |
Information Extraction and Named Entity Recognition Assignment 2: Information Extraction and Named Entity Recognition with spaCy |
PNLPP: Ch. 4; SLP: Ch. 5 & 7 |
Week 5 |
Machine Translation and Sequence-to-Sequence Models |
PNLPP: Ch. 5; SLP: Ch. 10 & 11 |
Week 6 |
Word Embeddings and Neural Language Models Assignment 3: Word Embeddings and Neural Language Models with PyTorch |
PNLPP: Ch.6; SLP: Ch.6 |
Week 7 |
Midterm exam |
|
Week 8 |
Transformers and Contextualized Embeddings |
PNLPP: Ch.7; SLP: Ch.12 |
Week 9 |
Natural Language Generation and Text Summarization Assignment 4: Natural Language Generation with Hugging Face Transformers |
PNLPP: Ch.8; SLP: Ch.23 |
Week 10 |
Dialogue Systems and Chatbots |
PNLPP: Ch.9; SLP: Ch.24 |
Week 11 |
Advanced Topics in Natural Language Processing (I) - Self-Supervised Learning and Contrastive Learning Assignment 5: Self-Supervised Learning and Contrastive Learning with PyTorch Lightning |
PNLPP: Ch.10 |
Week 12 |
Advanced Topics in Natural Language Processing (II) - Graph Neural Networks and Geometric Deep Learning |
PNLPP: Ch.11 |
Week 13 |
Advanced Topics in Natural Language Processing (III) - Meta-Learning and Few-Shot Learning Assignment 6: Meta-Learning and Few-Shot Learning with Reptile |
PNLPP: Ch.12 |
Week 14 |
Advanced Topics in Natural Language Processing (IV)- Large Language Models |
Hands-on |
Week 15 |
Final Project Presentations and Course Summary and Feedback |
|