Natural Language Processing

Michael Collins, Columbia University

Have you ever wondered how to build a system that automatically translates between languages? Or a system that can understand natural language instructions from a human? This class will cover the fundamentals of mathematical and computational models of language, and the application of these models to key problems in natural language processing.

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.

Recommended Background

A basic knowledge of probability (e.g., you should be familiar with random variables, independence assumptions, etc.), a basic knowledge of algorithms, and a basic knowledge of calculus (e.g., how to differentiate simple functions). 

Suggested Readings

The course will be largely self-contained, with comprehensive lecture notes posted together with the lectures.

Course Format

The class will consist of lecture videos, which are broken into small chunks, usually between eight and twelve minutes each. Some of these may contain integrated quiz questions. There will also be standalone quizzes that are not part of video lectures, and programming assignments.


  • Will I get a statement of accomplishment after completing this class?

    Yes. Students who successfully complete the class will receive a statement of accomplishment signed by the instructor.

  • How much programming background is needed for the course?

    The class will include programming assignments, so some programming background will be helpful.

  • 24 February 2013, 10 weeks
Course properties:
  • Free:
  • Paid:
  • Certificate:
  • MOOC:
  • Video:
  • Audio:
  • Email-course:
  • Language: English Gb


No reviews yet. Want to be the first?

Register to leave a review

Included in selections:
Small-icon.hover Machine Learning
Machine learning: from the basics to advanced topics. Includes statistics...
More on this topic:
6-041s06 Probabilistic Systems Analysis and Applied Probability
This course is offered both to undergraduates (6.041) and graduates (6.431)...
Modelthinking Model Thinking
In this class, you will learn how to think with models and use them to make...
Large-icon Natural Language Processing
In this class, you will learn fundamental algorithms and mathematical models...
153158_7b39_3 Online Courses - Anytime, Anywhere
Learn Lightwave 3D's Powerful Modeling Tools
Dlphlmafw8ni4x7o98v2lyrnkdxsfjpeuuc-kulygbyhlymdwnpu490a8isnp6j_vh-y_skcx8n_nui1wm8=s0#w=436&h=268 Intro to Artificial Intelligence. Learn the Fundamentals of AI
This course will introduce you to the basics of AI. Topics include machine learning...
More from 'Computer Science':
17920e6b-e3ed-4819-8116-e48854e62cce-90b16a034656.small Deep Learning with Python and PyTorch
This course is the second part of a two-part course on how to develop Deep Learning...
72c27b2f-3419-430f-a28f-10dbc7120457-a14087e5df76.small DNA Sequences: Alignments and Analysis
Learn how to align and analyze DNA sequences using web and software based tools...
Cbc86bfc-8b76-4cb9-88d8-faa8a8abd820-50fa32daa1bc.small Software Testing Fundamentals
Learn how to locate software bugs and defects using the latest testing techniques...
7ca98c09-a207-40c7-8a84-b9c48ecdf920-f25c990d1f5f.small Cloud Computing Management
Learn methods for managing cloud computing projects and build an understanding...
91f52ef3-fa3f-4934-9d19-8d5a32635cd4-d99e27f09d19.small Data Science: R Basics
Build a foundation in R and learn how to wrangle, analyze, and visualize data...
More from 'Coursera':
Success-from-the-start-2 First Year Teaching (Secondary Grades) - Success from the Start
Success with your students starts on Day 1. Learn from NTC's 25 years developing...
New-york-city-78181 Understanding 9/11: Why Did al Qai’da Attack America?
This course will explore the forces that led to the 9/11 attacks and the policies...
Small-icon.hover Aboriginal Worldviews and Education
This course will explore indigenous ways of knowing and how this knowledge can...
Ac-logo Analytic Combinatorics
Analytic Combinatorics teaches a calculus that enables precise quantitative...
Talk_bubble_fin2 Accountable Talk®: Conversation that Works
Designed for teachers and learners in every setting - in school and out, in...

© 2013-2019