Skip to main content

BIM 432 - Natural Language Processing

Faculty of Engineering and Natural Sciences · Software Engineering (English 30%) · Undergraduate

ECTS: 5 T+P+L: 2+0+1 Departmental Elective
Coordinator: Dr. Öğr. Üyesi Gökçe KARAHAN ADALI

Course Objective

The aim of this course is to teach the basic concepts and techniques in the field of Natural Language Processing (NLP), to develop skills in working with text data, and to enable students to implement various NLP applications with Python and related libraries. In addition, the course aims to enable students to practice language models, sentiment analysis, text summarization, machine translation and chatbot development, and to develop solutions to real-world NLP problems.

Course Content

The definition of NLP, its uses and the structure of the language (morphology, syntax, semantics) will be explained. Basic usage of Python and popular NLP libraries (NLTK, spaCy, Hugging Face) will be demonstrated. Students will learn how to process text data using tokenization, stopwords extraction, lemmatization and stemming. Students should practice text preprocessing steps with Python. Bag of Words (BoW) and TF-IDF methods are used to convert text to numeric data. Discover relationships between words with Word2Vec, GloVe and FastText. Logistic regression and Naive Bayes classifiers are used for sentiment analysis. RNN, LSTM, GRU and Transformer architectures are introduced. The basics of language models such as BERT, GPT, T5 and their use with Hugging Face are explained. Turkish NLP challenges and preprocessing operations on Turkish texts using Zemberek library. Students practice on Turkish texts. Noun entity recognition (NER) and word sense disambiguation (WSD) methods are taught. NER model is developed with spaCy to recognize entities in texts. Machine translation methods (rule-based, statistical, neural) and Transformer-based models are taught. English-Turkish translation is practiced with MarianMT. Abstractive and extractive summarization methods and TextRank algorithm are explained. Students summarize Turkish news texts. Rule-based and learning-based chatbots are introduced. University information chatbot is developed using Rasa and DialoGPT. Knowledge extraction and Transformer based question-answer systems are taught. Question and answer applications with BERT. Big language models (GPT-4, LLaMA) and ethical issues in NLP (bias, misinformation) are discussed. Text generation is done using GPT-4 API. Challenges in NLP projects and model evaluation metrics (Perplexity, BLEU, ROUGE, F1-score) are taught. Students perform model optimization on the projects. Students present their projects and demonstrate what they have learned.

Required Resources

1-Jackson, P., & Moulinier, I. (2002). Natural language processing for online applications. Philadelphia: John Benjamins.

2- Hagiwara, M. (2021). Real-World Natural Language Processing: Practical applications with deep learning. Simon and Schuster.

3- Patel, A. A., & Arasanipalai, A. U. (2021). Applied Natural Language Processing in the Enterprise, O'Reilly Media, Inc..

4- Indurkhya, N., & Damerau, F. J. (2010). Handbook of natural language processing. Chapman and Hall/CRC.

5- Manning, C., & Schutze, H. (1999). Foundations of statistical natural language processing. MIT press.

Recommended Resources

1- Indurkhya, N., & Damerau, F. J. (2010). Handbook of natural language processing. Chapman and Hall/CRC.

2- Manning, C., & Schutze, H. (1999). Foundations of statistical natural language processing. MIT press.

Explanations

1- Quiz and/or assignment will be related to the week's topics. 1 homework/quiz will be given.

2- For the implementation part, students are expected to develop projects in accordance with the content of the course and to present the developed projects as presentations during class time in the 14th week.

Rules

1. Attendance: According to the regulations, if a student does not attend 30% of the total course hours, he/she is absent from the course (DZ) and fails.
2. Academic honesty: In immoral cases such as plagiarism and copying, you will be subject to the necessary criminal sanctions by opening a disciplinary investigation in accordance with the relevant regulation of IZU.

Course Learning Outcomes

  1. Explain the fundamental concepts of Natural Language Processing and text processing workflows.
  2. Apply text preprocessing techniques such as tokenization, normalization, stemming, and lemmatization.
  3. Develop machine learning and deep learning models for NLP tasks such as text classification and sentiment analysis.
  4. Evaluate and interpret the performance of NLP models using metrics such as accuracy, precision, recall, and F1-score.
  5. Design and implement an NLP project on real-world text data, and analyze and report the results in a technical manner.
  6. Develops engineering solutions for natural language processing and machine learning systems while taking into account ethical, privacy, and social implications.

Core Area Distribution

(46) Mathematics and Statistics%30 (48) Computing%40 (52) Engineering and Engineering Trades%30

Teaching Methods

ExpressionQuestion-AnswerExercise and PracticeGuided PracticeExperiment - Test / Lab/ Workshop / Field PracticeSelf studyProblem SolvingProject Based Learning (Including Field Work)

Assessment & Evaluation

HomeworkPerformance Assignment ( Lab / Workshop / Field Work / Seminar / Presentation / Completion Study / ThesisProject / DesignTesting (Essay / Tests: True-Falls, multiple-choice, short answer, matching)

ECTS / Workload

ActivityQuantityDuration (h)Total Workload
Course Duration (Including Exam Week)16348
Out of Class Study Period000
Midterm000
Quiz122
Assignment166
Practice11010
Final122

Course Schedule

WeekSubjectPreparation
1Introduction to Natural Language ProcessingCourse notes
2Linguistics fundamentals and language modelsWeek 1
3Grammar and language modelsWeek 2
4Morphological AnalysisWeek 3
5Syntactic analysisWeek 4
6Probabilistic and statistical language modeling in natural language processingWeek 6
7Extraction of information from documentsWeek 6
8Midterm-
9Information retrieval and information extraction proceduresWeek 7
10Machine learning for natural language processingWeek 9
11Text preprocessingWeek 10
12Text classificationWeek 11
13N-gram based analysis, ZipF kanunuWeek 12
14Project presentationWeek 1 - 13
15Project presentationWeek 1 - 13
16Final ExamWeek 1-14