Natural Language Processing course (stream 5, autumn 2023)

Natural Language Processing (NLP) is a domain of research whose objective is to analyze and understand human languages and develop technologies to enable human machine interactions with natural languages. NLP is an interdisciplinary field involving linguistics, computer sciences and artificial intelligence. The goal of this course is to provide students with comprehensive knowledge of NLP. Students will be equiped with the principles and theories of NLP, as well as various NLP technologies, including rule-based, statistical and neural network ones. After this course, students will be able to conduct NLP research and develop state-of-the-art NLP systems.


Official support channel: 

Valentin Malykh (personal page)

Logistics:Lectures at Thursdays 19:40 MSK online. First lecture will be at 14th of September.

Info regarding the seminars will be added in the meantime.


  • Introduction to Natural Language Processing
  • Machine Learning Basics and Text Classification
  • Word Embeddings
    • 1st Assignment
  • Convolutional Neural Networks
    • 2nd Assignment
  • Hidden Markov Models and Tagging
  • Recurrent Neural Networks
  • Topic Modeling
  • Statistical Machine Translation
  • Transformers
  • Conversational AI
  • ...additional topics


  • Basic Python Programming
  • College Calculus, Linear Algebra
  • Basic Probability and Statistics
  • Foundations of Machine Learning


  There will be two assignments on the course.

The participants will be suggested to work on a project during the course. The successful project development is crucial to pass the course.
The projects from previous runs are available here.

Track program

Cookies help us deliver our services. By using our services, you agree to our use of cookies.