Hello Everyone! Hope you are having a great Quarantine time : )
Just to help you make the best out of your Quarantine time, here we have come up with an Introduction to one of the most important and hot topics in NLP such as Models of Machine Translation in NLP.
So let's dive deep into this without any further delay.
Let's begin by first having an introduction to Machine Translation in NLP (MT).
What is Machine Translation in NLP?
In simple terms, Machine Translation is the process of converting the text in a source language to a required target language.
The pictorial representation of the Machine Translation, in an abstract form, can be seen in the image below:
Given a sequence of text in a source language, there is no single best translation of that text to another language. This is because of the natural ambiguity and flexibility of human language, especially with most of the Indian Languages that are rarely spoken in other countries.
Traditionally, Natural Language Processing of both spoken and written language has been regarded as consisting of the following stages:
-
Phonology and Phonetics: (Processing of sound)
-
Morphology: (Processing of word forms)
-
Lexicon: (Storage of words and associated knowledge)
-
Parsing: (Processing of structure)
-
Semantics: (Processing of meaning)
-
Pragmatics: (Processing of user intention, modeling, etc.)
-
Discourse: (Processing of connected text)
We have already covered the various forms of natural ambiguities associated with each of the stages of natural language processing.
Here is the pictorial representation of Bernard Vauquois' pyramid, showing comparative depths of intermediary representation, interlingual machine translation at the peak, followed by transfer-based, then direct translation.
These are various types of Machine Translation in NLP:
-
Statistical Machine Translation (SMT)
-
Rule-based Machine Translation (RBMT)
-
Hybrid Machine Translation (HMT)
-
Neural Machine Translation (NMT)
The detailed relationship between various Machine Translation techniques can be seen below:
Let's go through each of them one at a time to get an overview of the need for its existence and which form is to be chosen when and for what purpose.
1. Statistical Machine Translation (SMT):
Statistical Machine Translation (SMT) is a machine translation paradigm where translations are made on the basis of statistical models, the parameters of which are derived on the basis of the analysis of large volumes of a bilingual text corpus. The term bilingual text orpus refers to the collection of a large and structured set of texts written in two different languages.
SMT is mostly based on Information Theory which studies the quantification, storage, and communication of information.
Supervised and unsupervised machine learning algorithms are used for building statistical models.
The statistical models consist of statistical information such as co-relation between the SL and TL and well-formed sentences. During the translation, statistical models helped to find the best translation of the source text.
The most abstract view of Statistical Machine Translation can be understood from the image below:
The various types of Statistical based Machine Translation models are:
We are going to cover each of them in a bit more detail in our upcoming articles as here the focus is on explaining all the Machine Translation models. So let's move on to the next model in our list i.e. Rule-Based Machine Translation.
2. Rule-Based Machine Translation in NLP:
Rule-Based Machine Translation (RBMT) relies on innumerous built-in linguistic rules and millions of bilingual dictionaries for each language pair.
In RBMT, translations are built on various sophisticated rules, but it does provide the users with the freedom to make use of their own terminology by adding them to the translation process. This is done by creating a new user-defined dictionary (consisting of user-defined terminology) that overrides the system’s default settings.
The below-given example will help you understand the basic concept involved in Rule-Based Machine Translation:
3. Hybrid Machine Translation in NLP (HMT)
As the name suggests, HMT is a method of machine translation that incorporates the use of multiple different machine translation approaches within a single machine translation system. The underlying motivation behind the use of HMT is the fact that a failure of a single machine translation technique should not stop the system from achieving the required level of accuracy.
The various approaches of HMT are:
-
Multi-engine: In this approach, the focus is on achieving parallelism by running multiple MT systems in parallel and getting the output by combining the outputs of various sub-systems.
-
Statistical rule generation: In this approach, statistical data is used to generate various lexical and syntactic rules. It is also very time-savvy as it extracts some of the rules directly from the training data.
-
Multi-Pass: In this approach, the input is processed multiple times in sequential order. One of the most common techniques that use this approach is Pre-processing of data.
-
Confidence-Based: this approach is different from all the above ones as in this, a confidence matrix is produced for each of the translated sentences from which a decision can be made whether a secondary translation technology is required or the output from the first one is sufficient, unlike in others, where only a single translation technology is used.
Some of the popular machine translation systems which employ hybrid machine translation methods are PROMT, SYSTRAN, and Omniscien Technologies.
4. Neural Machine Translation (NMT):
In Neural Machine Translation (NMT), we make use of a neural network model to learn a statistical model for machine translation.
One of the key advantages of NMT over SMT is that in NMT, a single system can be trained directly on source as well as target text thereby removing the dependency on a pipeline of specialized systems as that in SMT.
Conclusion:
We hope that this article has helped you understand the basic concepts involved in the domain of Machine Translation, which is one of the fastest-emerging domains in the field of Machine Learning. In the upcoming post, we will be discussing the various types of Statistical Machine Translation, in much more detail.
Wish you a productive and safe stay!!
Happy Quarantine : )
Frequently Asked Questions(FAQs)
1. What are the models of machine translation?
The models of machine translation in NLP are Rule-based Machine Translation (RBMT), Statistical Machine Translation (SMT), and Neural Machine Translation (NMT).
2. What are the different types of translation models?
The different types of translation models are rule-based translation, statistical translation, and neural translation.
3. What are the different types of NMT?
The different types of NMT are Recurrent Neural Network (RNN) based NMT, Convolutional Neural Network (CNN) based NMT, and Transformer-based NMT.
4. What is the NMT method?
The NMT (Neural Machine Translation) method is a machine translation approach that uses artificial neural networks to learn the mapping between source and target languages. It is based on the concept of deep learning and has significantly improved the quality of machine translation.
5. What are the steps of NMT?
The steps of NMT (Neural Machine Translation) are as follows:
-
Preprocessing: The source and target language text data are preprocessed to remove any noise, punctuation, and special characters.
-
Tokenization: The preprocessed text is tokenized into words or subwords.
-
Embedding: The tokenized text is converted into continuous vector representations called embeddings.
-
Encoding: The source language embeddings are input into an encoder neural network to generate a sequence of encoded vectors.
-
Attention: The encoded source language vectors are weighted using attention mechanisms to determine their relative importance in generating each target word.
-
Decoding: The weighted encoded source language vectors are input into a decoder neural network to generate the target language output.
-
Output: The target language output is converted from embeddings to human-readable text.
You may also like: