School of Computer Science

Module 06-02495 (2010)

Natural Language Processing 1

Level 2/I

John Barnden Semester 2 10 credits
Co-ordinator: John Barnden
Reviewer: Peter Hancox

The Module Description is a strict subset of this Syllabus Page.


The aims of this module are to:

  • introduce Natural Language Processing as one of the components of Artificial Intelligence, both from engineering and cognitive viewpoints
  • show how Natural Language Processing techniques can be programmed using the Prolog programming language

Learning Outcomes

On successful completion of this module, the student should be able to:

  • describe major trends and systems in Natural Language Processing
  • define: morphology; syntax; semantics; pragmatics; and give appropriate examples to illustrate their definitions
  • describe several standard methods of applying morphological and syntactic knowledge in Natural Language Processing systems, for instance: finite-state methods; probabilistic methods; context-free grammars and parsers, including the Active Chart Parsers; unification grammars and parsing
  • implement context-free grammars implemented by Prolog's Definite Clause Grammar
  • describe simple feature-based semantic systems typically based on logic showing the difference between building semantic representations and interpreting semantic representations
  • demonstrate a knowledge of two or more methods for resolving pronoun referents as an example of semantic interpretation
  • show an understanding of the role of pragmatics in understanding natural language
  • describe an application of natural language processing (for instance machine translation) and show the place of syntactic, semantic and pragmatic processing


Teaching methods

2 hrs/week lectures and exercise classes.


  • Sessional: 1.5 hr examination (50%), continuous assessment (50%).
  • Supplementary: By examination only.

Detailed Syllabus

  1. (This is copied form previous years. It is a rough guide only, as the coverage of topics this year will be significantly different.)
  2. Introduction - What is language and Natural Language Processing? (1.5 weeks)
    • What does it mean to know a language?
    • What do we know when we know a natural language?
    • What is meant by Natural Language Understanding
  3. Word-level descriptions (1.5 week)
    • Morphology and morphological processing
    • The lexicon
  4. Syntax and Syntactic Processors (4 weeks)
    • Lexical and syntactic categories
    • Introduction to the terminology of syntax and context-free grammars
    • Part-of-Speech Tagging
    • From Finite State Automata to Context-Free Grammars
    • Definite Clause Grammar and the Very Simple Parser
    • Active Chart Parsers
    • Unification-based grammars and parsing
  5. Semantics and pragmatics (3 weeks)
    • Introduction to semantics and semantic processing
    • Building semantic structures
    • Building more complex structures and semantic interpretation
    • Discourse structure and reasoning
  6. Application of Natural Language Processing (1 week)
    • Machine translation

Programmes containing this module