Course SummaryProspective Students
Course Summary
(3 credits) Natural Language Processing (NLP) is Natural Language Processing, or NLP for short, is a subfield of Computer Science and linguistics and involves the interactions between computers and humans. The study of NLP refers to the automatic manipulation of natural language, like speech and text. Most work in NLP – which has both theoretical and applied elements – is aimed at making computers understand text and identify meaningful information and eventually improve the relationship between computers and basic language.
*Prerequisites: STAT 500 and A-I 570* (*or DAAN 570)
Overview
This course presents an overview of statistical natural language processing. However, it mainly focuses on representation learning and deep neural networks to quickly build breakthrough NLP systems (e.g., question answering) using single end-to-end neural networks, instead of relying on a pipeline of separate intermediate tasks (e.g., part-of-speech tagging and dependency parsing). The course also covers the main theory and cutting-edge research in NLP and emphasizes hands-on experience and assignments to implement many of the algorithms discussed in class.
Throughout this course, you will learn to implement NLP tasks presented in each lesson, ranging from text classification, to language models, automatic machine translation, to dialogue systems and speech recognition via hands-on assignments. Throughout the course the practical implementation of these applications with deep neural networks is also discussed. You will also have the opportunity to prove your skills by building small projects using Keras/ Tensorflow and NLTK.
This course has one pre-requisite: A-I 570 (Deep Learning)
Course Objectives
The objective of this course is to provide theoretical foundations and hands-on experience in Natural Language Processing. After successfully completing this course, you will be able to:
- Demonstrate understanding of natural language rpocessing tasks, models, and techniques.
- Identify suitable representation models for natural language problems.
- Implement end-to-end NLP systems.
- Evaluate, validate, optimize, and fine-tune NLP systems performance and accuracy.
- Evaluate safety, bias and ethics issues related to models of natural language processing.
Course Materials
There are no required textbooks for this course. However, you may find the following text to be beneficial:
Recommended Textbook
Kamath, U., Liu, J., Whitaker, J. (2019). Deep Learning for NLP and Speech Recognition (1st. ed.). Springer Publishing Company, Incorporated. ISBN: 978-3030145958.
A free PDF version of the Deep Learning for NLP and Speech Recognition is available via Springer website where you can download a digital copy. If you’d prefer a physical copy, you may purchase the textbook from a vendor of your choice.
Required Software
Instructions on how to access the required software will be provided in Lesson 2.
- Anaconda: https://www.anaconda.com/download/
- Jupyter as the web based interactive shell.
Proctored Exams
Proctored Exams- None
Grading and Examinations
Assignment | Points Each | Quantity | Percentage of Final Grade |
Assignment | 100 | 3 | 30% |
SEEQ Survey (formerly SRTEs) | 100 | 1 | 2% |
Scientific Reading | 100 | 1 | 8% |
Project Proposal | 100 | 1 | 10% |
Project Presentation | 100 | 1 | 10% |
Project Deliverable | 100 | 1 | 30% |
Discussion Forums | 5 | 5 | 10% |
Grades will be based on the following scale:
A = 94 – 100, A- = 90 – 93, B+ = 87 – 89, B = 84 – 86, B- = 80 – 83, C+ = 77 – 79, C = 70 – 76, D = 60 – 69, and F = 60 and below.
Assignments
Assignments will be given periodically throughout this course. Due dates are specified in the syllabus. Assignments will constitute 30% of your final grade. Completing the Assignments promptly and carefully is necessary for learning the material. Collaboration with fellow students is allowed and encouraged on Assignments. However, each student must turn in their own written work which reflects their own understanding of the material. Please be sure to complete all parts of each question and upload your completed file to the assignment by the due date indicated in the Course Syllabus.
Scientific Reading
You will be assigned a scientific paper on various topics related to NLP and you will write a review in your own words. You are expected to work independently on the paper and use whatever material that you have at your disposal. Scientific Reading & Review is worth 10% of your grade.
Final Programming Project
Throughout this course you will work in teams of 2-3 students to create an NLP Project. Please read the Project Description provided in the Student Resources module thoroughly. Do not hesitate to contact your instructor if you need additional guidance or support.
Please contact your group members and begin discussing the project within the first two weeks of the course. To locate your group, select People from the course navigation menu and click on the Groups tab. Join your assigned group and visit the group homepage. On your group homepage click the People tab to see the names of students in your group.
A Project Proposal and Preliminary Write-Up for your project will be due in Week 5. Your team will prepare a project proposal and preliminary write-up in a MS Word document (2-3 pages)
The final project will be due at the end of the course and will consist of the deliverables outlined on the Project Description page. Your instructor will create team folders on OneDrive for each group to submit their deliverables.
Course Topics
- Overview of Natural Language Processing (NLP)
- Extracting and Processing text Data
- Common NLP Tasks
- Vector Semantics and Embeddings
- Convolutional Neural Networks for Text Classification
- Sequence Processing with RNN
- Language Modeling
- Transformers and Attention
- Machine Translation and Seq2Seq
- Transfer Learning
- Chatbot/Conversational AI
- Speech Recognition
- Advanced Topics in NLP and End-to End NLP Process
Prospective Students
For more information on this program, check out the Master of Artificial Intelligence website!