The class introduces computational techniques for understanding, learning, and generating Natural Language with an emphasis on algorithms and software tools.
It covers:
-
Tokenization - the separation of words from other items in written text such as commas
-
Lexical semantics - the study of individual words
-
Syntax - how words group together in more complex language structures
-
Semantics - what the meaning of a sentence is
-
Pragmatics - what the meaning of a sentence is given the surrounding discourse context.
The course introduces both relational and statistical approaches to NLP, expose students to state-of-the-art tools and technologies and their impact on a variety of applications. It also provides insights to open problems in the field.