Postgraduate Course: Accelerated Natural Language Processing (INFR11125)
|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 ideas from linguistics and computer science to provide students with a fast-paced introduction to the field of natural language processing. The course will cover the most widely-used theoretical and computational models of language, including both statistical and nonstatistical approaches. 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 the syntax and semantics of words, sentences, and discourse. Students will learn how to analyse sentences algorithmically, using hand-crafted and automatically induced treebank grammars, and how to build interpretable semantic representations. The course will also cover a number of standard models and algorithms that are used throughout language processing. Examples include n-gram and Hidden Markov Models, the EM algorithm, and dynamic programming algorithms such as chart parsing.
**This course replaces INFR11059 Advanced Natural Language Processing**
Part I: Words
* Inflectional and derivational morphology
* Finite state methods and Regular expressions
* Word Classes and Parts of speech
* Sequence Models (n-gram and Hidden Markov models, smoothing)
* The Viterbi algorithm, Forward Backward, EM
Part II: Syntax
* 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)
* Statistical parsing (PCFGs, dependency parsing)
Part III: Semantics, Discourse, Dialogue and Applications
* logical semantics and compositionality
* Semantic derivations in grammar
* Lexical Semantics (e.g., word senses, semantic roles)
* Discourse and dialogue (e.g., anaphora, speech acts)
* Text classification and sentiment analysis
* Other applications (e.g., machine translation, question answering)
Methodological topics, interspersed throughout:
* Issues in annotation and evaluation
* Machine learning approaches (e.g., Maximum Entropy models, neural networks)
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) OR
Advanced Natural Language Processing (INFR11059)
||Other requirements|| Students with little or no previous programming experience must also register for Computer Programming for Speech and Language Processing.
Labs and assignments require programming in Python at a level designed for students who are learning Python simultaneously with this course.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2017/18, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 30,
Seminar/Tutorial Hours 5,
Supervised Practical/Workshop/Studio Hours 8,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 4,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
||Hours & Minutes
|Main Exam Diet S1 (December)||2:00|
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.
|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