Google translate instantly translates between any pair of over eighty human languages like French and English. How does it do that? Why does it make the errors that it does? And how can you build something better? Modern translation systems like Google Translate, learn to translate by reading millions of words of already translated text. This course will show you how they work. We cover fundamental building blocks from machine learning, computer science, and linguistics, showing how they apply to a real and difficult problem in artificial intelligence.
Time and Place
- Mondays 16:10 to 17:00, Appleton Tower lecture theatre 1
- Thursdays 16:10 to 17:00, David Hume Tower lecture halls B (weeks 1–4) and C (weeks 5–11)
- Labs on Tuesdays, 10:00, in weeks 2, 5, 7, and 10, Forrest Hill 1.B30
- Adam Lopez (Office hours: 2:30 Mondays, Absorb Cafe, starting week 3)
- Alham Aji
- Sameer Bansal
- Toms Bergmanis
- Nikolay Bogoychev
- Anna Currey
- Soňa Galovičová
- Sorcha Gilroy
- Jonathan Mallinson
- Joana Ribeiro
- Ida Szubert
- Clara Vania
Ask us questions on piazza. But answer questions too.
There is no required textbook. The course will draw on recent literature from this fast-moving field. However, some background will be drawn from the following books.
- Statistical Machine Translation (errata) by Philipp Koehn. Available in hardcopy and electronically from the University library.
- Deep Learning by Goodfellow, Bengio, and Courville. Available online.
- Linguistic Fundamentals for Natural Language Processing by Emily Bender. Available electronically from the university library.
Three practical assignments, each worth 1/3 of the overall course marks. Due 9 Feb, 9 March, and 13 April.
The course assumes you have taken ANLP or equivalent. Machine translation applies concepts from computer science, statistics, and linguistics. You needn’t be an expert in all three of these fields (few people are), but if you are allergic to any of them you should not take this course. Concretely, you will be expected to already understand the following topics before taking the course, or be prepared to learn them independently.
- Discrete mathematics: analysis of algorithms, dynamic programming, basic graph algorithms, finite and pushdown automata.
- Other essential maths: basic probability theory; basic calculus and linear algebra; ability to read and manipulate mathematical notation including sums, products, log, and exp.
- Programming: ability to read and modify python programs; ability to design and implement a function based on high-level description such as pseudocode or a precise mathematical statement of what the function computes.
- Linguistics: basic elements of linguistic description.
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail: firstname.lastname@example.org
Please contact our webadmin with any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh.
Material on this page is freely reuasable under a Creative Commons attribution license,
and you are free to reuse it with appropriate credit. You can get the source code on github.