Undergraduate Course: Foundations of Natural Language Processing (INFR09028)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 9 (Year 3 Undergraduate)
||Availability||Available to all students
|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.
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
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:
* 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
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Not being delivered|
On completion of this course, the student will be able to:
- 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.
- 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.
- 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.
- 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.
- 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.
|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
|Course organiser||Prof Alex Lascarides
Tel: (0131 6)50 4428
|Course secretary||Mrs Michelle Bain
Tel: (0131 6)51 7607