Undergraduate Course: Foundations of Natural Language Processing (INFR09028)
Course Outline
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 |
SCQF Credits | 10 |
ECTS Credits | 5 |
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
|
Information for Visiting Students
Pre-requisites | None |
High Demand Course? |
Yes |
Course Delivery Information
Not being delivered |
Learning Outcomes
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.
|
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 |
Contacts
Course organiser | Prof Alex Lascarides
Tel: (0131 6)50 4428
Email: |
Course secretary | Mrs Michelle Bain
Tel: (0131 6)51 7607
Email: |
|
|