COURSE DESCRIPTION AND APPLICATION INFORMATION

Course Name Code Semester T+A+L (hour/week) Type (C / O) Local Credit ECTS
Natural Language Processing Project CMPE 406 Spring 03+00+02 Elective 4 8
Academic Unit: Computer Engineering Department
Mode of Delivery: Face to face
Prerequisites: None
Language of Instruction: English
Level of Course Unit: Undergraduate
Course Coordinator: Rahim DEHKHARGHANİ
Course Lecturer(s): Rahim DEHKHARGHANİ
Course Objectives: This course aims to provide general and task-specific knowledge of analyzing textual data types to extract useful information. Students will practically work on a problem using text mining techniques to extract the mentioned information. They can use any programming language for this purpose but Python will be used during the lectures to implement the taught theoretical techniques in the theoretical part of the course. At the end of the semester, students must be able to preprocess textual data and prepare them for the main task such as spell correction, POS tagging, text classification, semantic analysis, sentiment analysis, and so on.
Course Contents: The course will cover topics such as text preprocessing and normalization, regular expressions, spell correction, POS tagging, sentiment analysis, text classification and naïve Bayes, classification and evaluation of classification algorithms, Word semantics and Word Embeddings.
Learning Outcomes of the Course Unit (LO):
  • 1- Ability to Preprocess, and analyze the textual data to understand it.
  • 2- Ability to implement the NLP techniques of this course such as spell correction, text classification and POS tagging using a programming language such as Python.
  • 3- Ability to use a programming language such as Python and its libraries to perform classification, and clustering on textual data.
Planned Learning Activities and Teaching Methods: In-class learning. Programming homework will be done individually. But design and implementation of a solution for a real-world problem will be done as a group work. All theoretical concepts taught in this course will be implemented in its coding section.


WEEKLY SUBJECTS AND RELATED PREPARATIONS

WeekSubjectsRelated Preperation
1 Introduction to NLP and Python Lecture slides and reading material
2 Text processing and Regular expressions Lecture slides and reading material
3 Text processing and Regular expressions Lecture slides and reading material
4 Minimum Edit Distance Lecture slides and reading material
5 N-gram language models and LLMs Lecture slides and reading material
6 Text classification and Naïve Bayes Lecture slides and reading material
7 Spell correction Lecture slides and reading material
8 POS tagging and Live Project 1 Lecture slides and reading material
9 Vector semantics Lecture slides and reading material
10 Sentiment Analysis Lecture slides and reading material
11 Affective analysis and Emotions Lecture slides and reading material
12 Introduction to Word embeddings Lecture slides and reading material
13 Word Semantic and relations Lecture slides and reading material
14 Live Project 2 Lecture slides and reading material


REQUIRED AND RECOMMENDED READING

1) Speech and Language Processing, Jurafsky and Martin, Draft chapters in progress, 2021
2) Foundations of Statistical Natural Language Processing, Christopher D. Manning and Henrich Schütze, The MIT Press, Cambridge, Masachusetts , London, England, 2000


OTHER COURSE RESOURCES

Lecture slides, websites such as Stanford NLP parser


ASSESSMENT METHODS AND CRITERIA

Semester RequirementsNumberPercentage of Grade (%)
Project 2 55
Presentation / Jury 2 45
Total: 4 100


WORKLOAD

EventsCountDuration (Hours)Total Workload (hour)
Course Hours31442
Laboratory21428
Project250100
Preparation for Presentation / Jury13030
Total Workload (hour):200


THE RELATIONSHIP BETWEEN COURSE LEARNING OUTCOMES (LO) AND PROGRAM QUALIFICATIONS (PQ)

# PQ1 PQ2 PQ3 PQ4 PQ5 PQ6 PQ7 PQ8 PQ9
LO1                  
LO2                  
LO3