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, Medical School, Room 425 Anatomy Lecture Theatre - Doorway 3
- Thursdays 16:10 to 17:00, Medical School, Room 425 Anatomy Lecture Theatre - Doorway 3
- Rico Sennrich (Office hours: 3:00 Mondays, Absorb Cafe, starting week 3)
- Alham Aji
- Jonathan Mallinson
- Ida Szubert
- Denis Emelin
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.
- Neural Machine Translation by Philipp Koehn. Available online.
- Deep Learning by Goodfellow, Bengio, and Courville. Available online.
- Linguistic Fundamentals for Natural Language Processing by Emily Bender. Available electronically from the university library.
The assessment will consist of:
- A practical course work assignment, due in week 8 (30%). You are encouraged to work in pairs.
- a final exam in the April/ May diet (70%): April 30th, 14:30-16:30, Appleton Tower Concourse.
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.
- 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. The website is based on source code by Adam Lopez, available on github.