Machine translation is the use of software to translate text from one language to another. In its simplest form, machine translation substitutes the words of one language for those of another.
However, human language is complex. To achieve satisfactory translation quality, software must account for anomalies, typology, and idioms. Neural networks and statistical machine translation have helped to address this issue.
In natural language processing, ontologies can be a source of knowledge that machine language can use to resolve some of these ambiguities. Yet, disambiguation (when a word can have multiple meanings), non-standard speech (from a vernacular source), and named entities continue to be major issues.
Interestingly, the amount of training data used can impact the accuracy of the translation. Too much training data increases the number of possibilities, making it more difficult to find an exact match.
Although machine translation has come a long way, human translators are still needed to review and edit machine-translated output for quality assurance purposes.