Postgraduate Course: Advanced Natural Language Processing (INFR11059)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Postgraduate)
||Availability||Available to all students
|Summary||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.
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)
|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
Course Delivery Information
|Academic year 2014/15, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 30,
Supervised Practical/Workshop/Studio Hours 10,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 4,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||There will be three coursework exercises; one on sequence models, one on parsing, and one on applying the methods introduced in the course to an unseen problem.
You should expect to spend approximately 50 hours on the coursework for this course.
If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
||Hours & Minutes
|Main Exam Diet S1 (December)||Advanced Natural Language Processing||2:00|
| 1 - 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.
2 - Given a grammar, semantics and sentence, students should be able to construct a syntatic and semantic analysis of the sentence.
3 - 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.
4 - 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.
5 - Given two NLP algorithms, students should be able to describe how they are related and illustrate differences and limitations by providing illustrative examples.
|Jurafsky and Martin, Speech and Language Processing, 2nd edition, 2008.|
|Course organiser||Dr Sharon Goldwater
Tel: (0131 6)51 5609
|Course secretary||Ms Katey Lee
Tel: (0131 6)50 2701
© Copyright 2014 The University of Edinburgh - 12 January 2015 4:11 am