Natural Language Processing

Curriculum Guideline

Effective Date:
Course
Discontinued
No
Course Code
CSIS 3400
Descriptive
Natural Language Processing
Department
Computing Studies & Information Systems
Faculty
Commerce & Business Administration
Credits
3.00
Start Date
End Term
Not Specified
PLAR
No
Semester Length
15 Weeks
Max Class Size
35
Course Designation
None
Industry Designation
None
Contact Hours

Lecture/Seminar: 4 hours per week

Method(s) Of Instruction
Lecture
Seminar
Learning Activities

Lecture, seminars, demonstrations, and hands-on exercises/projects in the lab

Course Description
This course teaches the theories and hands-on skills for natural language processing (NLP). Students will learn how to collect, process, and analyze natural language data or text data using various algorithms and automatic approaches. Students will have hands-on practice writing programs to build different NLP related applications.
Course Content

Course Content:              

1)      Introduction to Natural Language Processing

2)      NLP data representation

  1. Vector Space Model (One-hot encoding, Bag of Words, N-Grams, TF-IDF)
  2. POS Tagging
  3. Word Embedding

3)      Text Categorization

  1. Naive Bayes Classifier, Logistic Regression, Support Vector Machine,
  2. Deep Learning Approaches such as CNN, LSTM, Pre-trained Models

4)      Information Extraction

  1. Keyphrase Extraction, Name Entity Recognition,
  2. Relation Extraction

5)      NLP Applications

  1. Chatbot
  2. Text Summarization
  3. Recommender System
  4. Machine Translation
  5. Question-answering System
  6. Review Analysis
  7. Sentiment Analysis
Learning Outcomes

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

1)      Demonstrate different NLP concepts like corpora, tokens, N-grams, grammar, etc.

2)      Model different forms of NLP data using appropriate representation methods.

3)      Apply suitable methods to solve different NLP problems including Part-of-speech (POS) tagging, chunking, Named-Entity recognition (NER), text categorization, etc.

4)      Create a program for solving a particular NLP task.

5)      Evaluate different NLP systems with appropriate metrics.

6)      Apply deep learning methods to train NLP models.

7)      Create NLP-related applications such as chatbot, sentiment analysis, recommender systems, etc.

Means of Assessment

Evaluation will be carried out in accordance with the Douglas College Evaluation Policy.

Labs/Assignments

0-10%

Project(s)

15-25%

Quizzes

0 -10%

Midterm Examination*

30-40%

Final Examination*

35-40%

Total

100%

Some of these assessments may involve group work.

* Practical hands-on computer exam

In order to pass the course, students must, in addition to receiving an overall course grade of 50%, also achieve a grade of at least 50% on the combined weighted examination components (including quizzes, tests, exams).

Students may conduct research as part of their coursework in this class. Instructors for the course are responsible for ensuring that student research projects comply with College policies on ethical conduct for research involving humans, which can require obtaining Informed Consent from participants and getting the approval of the Douglas College Research Ethics Board prior to conducting the research.

Textbook Materials

Practical Natural Language Processing by Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana, latest edition, O'Reilly Media, Inc.

Natural Language Processing with PyTorch by Delip Rao, Brian McMahan, latest edition, O'Reilly Media, Inc.

Natural Language Processing with Python – Analyzing Text with the Natural Language Toolkit by Steven Bird, Ewan Klein, and Edward Loper (https://www.nltk.org/book/)

or other textbooks as approved by the department

Prerequisites

CSIS 1175 (minimum grade C)