Introduction to Natural Language Processing


Semester Summer 2024
Level Bachelor
Language English



  • InstructorHenning Wachsmuth
  • Location.Schneiderberg 32, 031
  • Time. Thursday 13:00–14:30
  • First date. April 4, 2024
  • Last date. July 11, 2024


  • Instructors. Timon Ziegenbein
  • LocationAppelstr. 9A, MZ2
  • Time. Wednesday 15:30–17:00
  • First date. April 10, 2024
  • Last date. July 10, 2024


This course teaches students basic skills needed to tackle analysis and generation tasks in natural language processing (NLP) with knowledge-based methods. Starting from fundamentals of linguistics and empirical methods, the course introduces rule-based and basic statistical techniques. The application of these techniques is exemplified for fundamental NLP tasks, including text segmentation, syntactic parsing, and entity recognition. Students learn to design, implement, and evaluate respective NLP methods, both theoretically and in practical assignments. Besides the topical content, the course aims to educate students in how to conduct data-driven scientific experiments. 


  • Overview of Natural Language Processing
  • Basics of Linguistics
  • NLP using Rules
  • NLP using Lexicons
  • Basics of Empirical Methods
  • NLP using Regular Expressions
  • NLP using Context-Free Grammars
  • NLP using Language Models
  • Practical Issues

Recommended pre-requisites

  • Basics of statistics
  • Knowledge of programming, ideally Python

Recommended Literature

  • Daniel Jurafsky and James H. Martin. 2009. Speech and Language Processing: An Introduction to Natural Language Processing, Speech Recognition, and Computational Linguistics. Prentice-Hall, 2nd edition. Free draft of third edition: Speech and Language Processing


Lecture slides

Organizational information

  • General course Information (slides)