Natural Language Processing



Course Description


  Natural Language Processing is one of the oldest disciplines in Artificial Intelligence, since automatic language understanding was viewed from the beginning as a form of capturing the essence of human thinking and communication. Moreover, the theoretical field of linguistics has a hundred-year history as a scientific discipline, whereas computational linguistics has a forty-year history as a part of computer science. But it is only in the past five years that language understanding has emerged as an industry reaching millions of people, with information retrieval and machine translation available on the Internet, and speech processing becoming popular on desk computers. This industry has been enabled by theoretical advances in the representation and processing of language information. As a large percentage of the existing on-line data has textual form, the advent of new forms of processing textual and multimedial information is expected in the new century.   

    This course in natural language processing and computational linguistics. The course is concerned with concepts, models and algorithms to interpret, generate and learn natural languages, as well as applications of NLP. The goal of the course is for the students to be familiar with basic concepts in NLP, understand the algorithms and methods for NLP and acquire the skills for developing NLP tools/systems. Also this course will introduce students to several modern topics in Natural Language processing, ranging from Question-Answering on the Web to Summarization, Information Extraction, Machine Translation or Discourse Processing.

The course has four major parts: 

  • Linguistic, mathematical, and computational background

  • Knowledge representation

  • Levels of linguistic processing: morphology, discourse, pragmatics syntax, semantics,

  • Applications: information retrieval, text generation, machine translation, information extraction, question answering, text summarization, etc.

 It also serves three major goals: 

  • Learn the basic principles and theoretical issues underlying natural language processing

  • Learn techniques and tools used to develop practical, robust systems that can communicate with users in one or more languages

  • Gain insight into many open research problems in natural language


Students are expected to have good knowledge of :

         Artificial Intelligence

         Theory of Automata and Languages

Course Topics

1-Introduction to Natural Language Processing 
    Introduction to AI
    Turing Test
    Goal of NLP
    Language Types
    NLP History
    NLP Components
    NLP System Architecture
    Applications of NLP


2-Knowledge Representation
    What is Knowledge?    
    Knowledge Types
    Knowledge Resources
    Knowledge Representation
        First Order Logic
        Network/Structural Representation
        Conceptual Graph
        Conceptual Dependency
    Knowledge Related to NLP

    Introduction to Grammars
    Grammar Types
    Context Free Grammar (CFG)
        Normal Forms of CFG
            Chamsky Normal Form
            Gribakh Normal Form
    Transitional Grammar ( TG )
        Deep Structure
        Surface Structure
    Two Level Grammar
    Category Grammar ( CG )
    Feature Structure Grammar ( FSG)
    Unified Based Grammar (UBG )
    Tree Adjoining Grammar ( TAG )
    Link Grammar ( LG )
    Dependency Grammar ( DG )
    Lexical Functional Grammar ( LFG )
    Generalized Phrase Structure Grammar ( GPSG )
    Head Driven Phrase Structure ( HDPSG )



Course Material

1.Allen, James, Natural Language Understanding.,University of Rochester The Benjamin/Cummings Publishing Company, Inc.ISBN: 0-8053-0334-0 

2. by Lucja M. Iwanska and Stuart C. Shapiro, Natural Language Processing and Knowledge Representation,Language for Knowledge and Knowledge for LanguageISBN : 0-262-59021-2.MIT Press

Grading Policy

According to the following description, there will be two exams, homework assignments and one final paper as following:

  • [25%] Homework assignments

  • [20%] Midterm exam

  • [30%] Final exam

  • [25%] Project

Farsi Overview