Sign In

 ICS 482: Natural Language Processing

​Course Information

Class/Laboratory Schedule: 

Three 50 minutes lectures per week (3-0-3)

Designation:   Elective Course

Course Level:   Undergraduate


Prerequisite(s) by Topic: 

  • Functions, Relations and Sets
  • Basic Logic
  • Basics Algorithmic Analysis
  • Algorithmic Strategies
Prerequisite Courses:  

Catalog Description: 

This course examines a range of issues concerning computer systems that can process human languages. Among the issues to be discussed are morphological and syntactic processing, semantic interpretation, discourse processing and knowledge representation


Jurafsky, D. and J. H. Martin: Speech and Language Processing. Prentice-Hall. 2009.

Reference(s) and Other Material: 

  • Manning, C. D. and H. Schütze: Foundations of Statistical Natural Language Processing. The MIT Press. 1999. ISBN 0-262-13360-1.

Course Outcomes: 

After completion of this course, the student shall be able to:

  • Identify areas where Natural Language processing (NLP) could be used.
  • Have a fundamental knowledge of the basic elements of natural language technology, such as grammatical formalisms, parsing methods, and text understanding.
  • Understand how meaning-representations for natural language sentences can be computed (first order predicate calculus, semantic net).
  • Understand how discourse interpretation could solve many problems that NLP systems face between sentences.
  • Have practical experience of natural language systems development (be able to construct simple tokenizer, parser).
  • Identify and analyze a natural language processing problem with respect to the requirements of a specific application, and motivate and implement a solution.
  • Explore web resources, choose a topic, study it, prepare and deliver a presentation.

Topics Covered: 

  • Words, Morphology And Finite State Transducers
  • Regular Expressions.
  • Ngram
  • Syntax, Context-free grammars & parsing
  • Probabilistic Context free Grammars
  • Representing Meaning
  • Semantic Analysis
  • Lexical Semantics
  • Discourse
  • NLP Application: Machine Translation, NLP & the web​