Neural Machine Translation delivers a thorough and well-structured walk through the core concepts of the field. The book is primarily aimed at students who will want to go on to develop their own neural machine translation research, or sophisticated users of machine translation who want to develop high-quality and efficient translation models for their business needs.
This book is particularly timely. Since the first paper in neural machine translation came out in 2014, there has been a complete and rapid paradigm shift from previous state of the art models in statistical machine translation to neural models which now dominate all areas of machine translation, from research to commercial systems.
Although this book is structured around the problem of machine translation, it gives a broad background in concepts which are fundamental to a broad range of neural natural language processing. It might be particularly relevant for tasks which take text as input and predict text as output, such as summarisation and question answering. However, it also covers areas such as representing words and sentences; the fundamentals of neural networks; training; and decoding, and as such it should be in the library of most students of natural language processing.
Philip Koehn is arguably the most well-known figure in the field of machine translation. From the early 2000s, he led the field of statistical machine translation, which was the dominant paradigm until the advent of neural machine translation. Not only was he a pioneer in research, but was also driving the production of toolkits and the development of corpora, and organising shared tasks and workshops which helped to push the field forward. Professor Koehn also wrote the textbook ‘Statistical Machine Translation’ (Koehn Reference Koehn2009), which has been the standard textbook for the field since it was published. Since the advent of neural machine translation has resulted in an entirely new set of techniques and challenges, it makes sense that Koehn has written a new book to summarise and synthesise the field. However, the most impressive contributions that this book makes are the clear and insightful explanations of the core concepts in neural machine translation. These are initially presented as informal descriptions together with formal mathematical definitions, and they are accompanied by graphical illustrations, together with example code for a complete, hands-on understanding.
The book is divided into three sections which flow naturally into each other.
Part 1 starts with an overview of what machine translation is, its applications in the real world and what makes it a challenging problem. The writing is very accessible, and there are engaging examples of machine translation and graphics showing how it is being applied in real life, such as how human translators use it for creating an initial rough draft. Part 1 finishes with a subsection on evaluation, which is the only part of the book which is quite similar to his previous book. This is perfectly reasonable, as the problem of evaluating machine translation has not changed. Other sections, such as the history of translation, reflect the history of both neural networks and machine translation.
Part 2 moves on into the details of neural networks and machine translation. It covers how they are trained and how decoding works. It starts with the simplest case of a linear model and describes how deep models are constructed with multiple layers. Then, we step through the process of how a model calculates probabilities using simple maths, worked examples, and Python code snippets. Next, it introduces feed-forward models and language models. At this point, it introduces the idea of alignment, which is crucial for successfully modelling translation. Finally, decoding is covered in some detail with greedy decoding, beam search and ensembling methods.
Part 3 gently leads us from a basic translation model towards understanding most of the components of state-of-the-art neural machine translation architectures. First, it looks at more sophisticated ways of training neural machine translation models and then covers current architectures such as transformer models and convolutional networks. Next, it looks at the very important problem of how to represent words and how to avoid large vocabularies using subword units. We are introduced to the different areas of research that are currently being explored in the field. At the end of each chapter, there is a further reading section which summarises the most important papers for specific topics, which is particularly useful for academic researchers.
In conclusion, this book is an important resource for people who are new to machine translation and to natural language processing in general. It will be a valuable resource for teachers, students and practitioners of neural machine translation.