• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Natural Language Processing

2022/2023
Academic Year
ENG
Instruction in English
3
ECTS credits
Course type:
Elective course
When:
1 year, 3 module

Instructor

Course Syllabus

Abstract

Prerequisites: strong knowledge and skills in Python (numpy, pandas, scikit-learn), mathematical statistics, and machine learning modeling. Natural language processing (NLP) is an important field of computer science, artificial intelligence and linguistics aimed at developing systems that are able to understand and generate natural language at the human level. Modern NLP systems are predominantly based on machine learning (ML) and deep learning (DL) algorithms, and have demonstrated impressive results in a wide range of NLP tasks such as summarization, machine translation, named entity recognition, relationship extraction, sentiment analysis, speech recognition, and topic modeling. We interact with such systems and use products involving NLP on a daily basis which makes it exciting to learn how these systems work. This course covers the main topics in NLP, ranging from text preprocessing techniques to state-of-the-art neural architectures. We hope to facilitate interest in the field by combining the theoretical basis with the practical applications of the material.
Learning Objectives

Learning Objectives

  • Learn the concept of language modeling and solidify the knowledge about tasks that can be solved with the help of language models
  • Be able to solve simple classification task
  • Be able to prepare text
  • Learn inner workings of the count-based language language models and smoothing methods
  • Be able to evaluate pre-trained models and know different techniques for pre-trained models compression
Expected Learning Outcomes

Expected Learning Outcomes

  • Be able to prepare text
  • Learn inner workings of the count-based vector representation models, including their advantages and disadvantages
  • Learn similarity measures that are most commonly used with respect to vector representations
  • Learn inner workings of the count-based language language models and smoothing methods
  • Be able to evaluate pre-trained models and know different techniques for pre-trained models compression
  • Be able to solve simple question-answering tasks
Course Contents

Course Contents

  • Natural Language Processing with Classification and Vector Spaces
  • Natural Language Processing with Probabilistic Models
  • Natural Language Processing with Sequence Models
  • Natural Language Processing with Attention Models
Assessment Elements

Assessment Elements

  • non-blocking Project
    Project task consisting of NLP problems in format of Jupyter Notebook. Integer grade. 10 points maximum.
  • non-blocking Final Project
    Final Project task consisting of NLP problems in format of Jupyter Notebook. Integer grade. 10 points maximum.
Interim Assessment

Interim Assessment

  • 2022/2023 3rd module
    0.5 * Final Project + 0.5 * Project
Bibliography

Bibliography

Recommended Core Bibliography

  • Nirant Kasliwal. (2018). Natural Language Processing with Python Quick Start Guide : Going From a Python Developer to an Effective Natural Language Processing Engineer. Packt Publishing.
  • Speech and language processing : an introduction to natural language processing, computational linguistics, and speech recognition, Jurafsky, D., 2009
  • Speech and language processing. An introduction to natural language processing, computational lin..., Jurafsky, D., 2009

Recommended Additional Bibliography

  • Introduction to natural language processing, Eisenstein, J., 2019

Authors

  • TERNIKOV ANDREY ALEKSANDROVICH