Information in the Degree Programme Tables may still be subject to change in response to Covid-19

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Foundations of Natural Language Processing (INFR09028)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 9 (Year 3 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
Summary* Please note this course has been replaced by a 20-credit course "Foundations of Natural Language Processing" (INFR10078) from 2020/21.

This course covers some of the linguistic and algorithmic foundations of natural language processing. It builds on the material introduced in Informatics 2A and aims to equip students for more advanced NLP courses in years 3 or 4. The course is strongly empirical, using corpus data to illustrate both core linguistic concepts and algorithms, including language modeling, part of speech tagging, syntactic processing, the syntax-semantics interface, and aspects of semantic processing. Linguistic and algorithmic content will be interleaved throughout the course.
Course description 1. Creating annotated corpora:
* markup, annotation
* evaluation measures
* corpora and the web

2. Lexicon and lexical processing:
* language modeling
* Hidden Markov Models
* part of speech tagging (e.g., for a language other than English) to illustrate HMMs
* Viterbi algorithm
* smoothing

3. Syntax and syntactic processing:
* revision of context-free grammars and chart parsing
* syntactic concepts: constituency, subcategorization, bounded and unbounded dependencies, feature representations
* lexicalized grammar formalisms (e.g., TAG, CCG, dependency grammar)
* treebanks: lexicalized grammars and corpus annotation

4. Semantics and semantic processing:
* compositionality
* argument structure
* word sense disambigution
* anaphora resolution
* treebanks: argument structure, WSD (e.g., Propbank, Semcor)

Relevant QAA Computing Curriculum Sections: Artificial Intelligence, Natural Language Computing
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Students MUST have passed: Informatics 2A - Processing Formal and Natural Languages (INFR08008) OR Informatics 2 - Introduction to Algorithms and Data Structures (INFR08026) OR Informatics Research Review (INFR11136)
Prohibited Combinations Students MUST NOT also be taking Accelerated Natural Language Processing (INFR11125)
Other requirements This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser (lecturer).
Information for Visiting Students
High Demand Course? Yes
Course Delivery Information
Not being delivered
Learning Outcomes
On completion of this course, the student will be able to:
  1. Given an appropriate NLP problem, students should be able to select a corpus and an annotation scheme for the problem and justify the choice over other candidates.
  2. Students should also be able to identify suitable evaluation measures for the problem and provide a written explanation of the role of annotated corpora in natural language processing.
  3. Given one of the main linguistic issues relevant to NLP (including the representation and induction of syntactic knowledge, and the modelling of lexical and semantic information, and the syntax-semantics interface), students should be able to construct an example of the issue and provide an explanation of how their example illustrates the issue in general.
  4. Given an example of one of the main linguistic issues identified above, students should be able to classify it as belonging to that issue and relate the example to the issue in general.
  5. Given an NLP problem, students should be able to analyse, assess and justify which algorithms are most appropriate for solving the problem, based on an understanding of fundamental algorithms such as Viterbi algorithm, inside-outside, chart-based parsing and generation.
Reading List
Speech and Language Processing, 2nd edition, 2008, Jurafsky and Martin, Prentice Hall, 2nd Edition, 2009
Natural Language Processing with Python, S.Bird, E.Klein & E.Loper, O'Reilly 2009
Additional Information
Course URL
Graduate Attributes and Skills Not entered
KeywordsNot entered
Course organiserProf Alex Lascarides
Tel: (0131 6)50 4428
Course secretaryMrs Michelle Bain
Tel: (0131 6)51 7607
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information