Postgraduate Course: Advanced Natural Language Processing (INFR11059)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 11 (Postgraduate) |
Availability | Available to all students |
SCQF Credits | 20 |
ECTS Credits | 10 |
Summary | ***PLEASE NOTE: This course has been replaced by INFR11125 Accelerated Natural Language Processing, please see the entry for that course.***
The course will synthesize recent research in linguistics, computer science, and natural language processing with the aim of introducing students to theoretical and computational models of language. The course will familiarize students with a wide range of linguistic phenomena with the aim of appreciating the complexity, but also the systematic behaviour of natural languages like English, the pervasiveness of ambiguity, and how this presents challenges in natural language processing. In addition, the course introduce the most important algorithms and data structures that are commonly used to solve many NLP problems.
The course will cover formal models for representing and analyzing syntax and semantics of words, sentences, and discourse. Students will learn how to analyse sentences algorithmically, using hand-crafted and automatically induced treebank grammars, how to make monotonic syntactic derivations, and build interpretable semantic representations. The course will also cover a number of standard algorithms that are used throughout language processing. Examples include Hidden Markov Models, the EM algorithm, and state space algorithms such as dynamic programming. |
Course description |
Part I: Words
* Inflectional and derivational morphology
* Finite state methods and Regular expressions
* Word Classes and Parts of speech
* Sequence Models (Markov and Hidden Markov models, smoothing)
* The Viterbi algorithm, Forward Backward, EM
* Maximum Entropy Models
Part II: Syntax
* Language and Complexity (e.g., Chomsky hierarchy, the Pumping Lemma)
* Syntactic Concepts (e.g., constituency, subcategorisation, bounded and unbounded dependencies, feature representations)
* Analysis in CFG - Greedy algorithms---Shift-reduce parsing
* Divide-and-conquer algorithms---CKY
* Chart parsing
* Lexicalised grammar formalisms (e.g., TAG, CCG, dependency grammar)
* Trans-CF grammars
* Statistical parsing (PCFGs, dependency parsing)
* Search algorithms: Breadth-first, depth-first search, A* search
* Minimum spanning trees for dependency parsing
Part III: Semantics and Pragmatics
* logical semantics and compositionality
* Semantic derivations in grammar
* Lexical Semantics (e.g., word senses, semantic roles)
* Discourse (e.g., anaphora, speech acts, )
Part IV: Corpus creation and Evaluation
* Markup, annotation
* Evaluation measures
Relevant QAA Computing Curriculum Sections: Not yet available
|
Entry Requirements (not applicable to Visiting Students)
Pre-requisites |
|
Co-requisites | |
Prohibited Combinations | Students MUST NOT also be taking
Foundations of Natural Language Processing (INFR09028)
|
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.
Programming at the level of Computer Programming for Speech and Language Processing or equivalent. |
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:
- Students should be able to construct examples of ambiguous Natural Language sentences and provide a written explanation of how ambiguity arises in natural language and why this is a problem for computational analysis.
- Given a grammar, semantics and sentence, students should be able to construct a syntatic and semantic analysis of the sentence.
- Given an appropriate NLP problem, students should be able to apply sequence models, parsing and search algorithms and provide a summary of their operation in this context.
- Given an appropriate NLP problem, students should be able to analyse the problem and decide which data structures and algorithms to apply. ? Review and classify search algorithms and ways of manipulating dynamic data structures.
- Given two NLP algorithms, students should be able to describe how they are related and illustrate differences and limitations by providing illustrative examples.
|
Reading List
Jurafsky and Martin, Speech and Language Processing, 2nd edition, 2008.
|
Contacts
Course organiser | Dr Sharon Goldwater
Tel: (0131 6)51 5609
Email: |
Course secretary | Ms Katey Lee
Tel: (0131 6)50 2701
Email: |
|
|