Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Columbia University

Natural Language Processing

Columbia University via Coursera


Natural language processing (NLP) deals with the application of computational models to text or speech data. Application areas within NLP include automatic (machine) translation between languages; dialogue systems, which allow a human to interact with a machine using natural language; and information extraction, where the goal is to transform unstructured text into structured (database) representations that can be searched and browsed in flexible ways. NLP technologies are having a dramatic impact on the way people interact with computers, on the way people interact with each other through the use of language, and on the way people access the vast amount of linguistic data now in electronic form. From a scientific viewpoint, NLP involves fundamental questions of how to structure formal models (for example statistical models) of natural language phenomena, and of how to design algorithms that implement these models.

In this course you will study mathematical and computational models of language, and the application of these models to key problems in natural language processing. The course has a focus on machine learning methods, which are widely used in modern NLP systems: we will cover formalisms such as hidden Markov models, probabilistic context-free grammars, log-linear models, and statistical models for machine translation. The curriculum closely follows a course currently taught by Professor Collins at Columbia University, and previously taught at MIT.


Topics covered include:

1. Language modeling.
2. Hidden Markov models, and tagging problems.
3. Probabilistic context-free grammars, and the parsing problem.
4. Statistical approaches to machine translation.
5. Log-linear models, and their application to NLP problems.
6. Unsupervised and semi-supervised learning in NLP.

Taught by

Michael Collins

Related Courses


4.6 rating, based on 7 reviews

Start your review of Natural Language Processing

  • Charlie Chung completed this course, spending 1 hours a week on it and found the course difficulty to be very hard.

    Dr. Michael Collins is well-renowned in the world of NLP. The course is quite technical but pretty comprehensive, covering many types of statistical algorithms in NLP that form the basis for many of the exciting advances in machine translation. Dr....
  • Krassimir Kostadinov

    Krassimir Kostadinov completed this course.

    The course gives an introduction to the various types of modern statistical models used in natural language processing, including tagging, named entity recognition and machine translation. Interesting and challenging programming assignments, which help the student to understand clearly the theory. Excellent lecturer!

    It might turn out to be time-consuming, in particular for people who have never been exposed to related topics like machine learning / AI.
  • Rey Raul Coaguila completed this course and found the course difficulty to be hard.

  • Michael A. Alcorn completed this course.

  • Colin Khein completed this course.

  • Profile image for Saliel Figueira Filho
    Saliel Figueira Filho

    Saliel Figueira Filho completed this course.

  • Christopher Pitt completed this course.

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free