Apertium


Apertium is a free/open-source rule-based machine translation platform. It is free software and released under the terms of the GNU General Public License.

Overview

Apertium is a shallow-transfer machine translation system, which uses finite state transducers for all of its lexical transformations, and hidden Markov models for part-of-speech tagging or word category disambiguation. Constraint Grammar taggers are also used for some language pairs.
Existing machine translation systems available at present are mostly commercial or use proprietary technologies, which makes them very hard to adapt to new usages; furthermore, they use different technologies across language pairs, which makes it very difficult, for instance, to integrate them in a single multilingual content management system.
Apertium uses a language-independent specification, to allow for the ease of contributing to Apertium, more efficient development, and enhancing the project's overall growth.
At present, Apertium has released 40 stable language pairs, delivering fast translation with reasonably intelligible results. Being an open-source project, Apertium provides tools for potential developers to build their own language pair and contribute to the project.

History

Apertium originated as one of the machine translation engines in the project OpenTrad, which was funded by the Spanish government, and developed by the Transducens research group at the Universitat d'Alacant. It was originally designed to translate between closely related languages, although it has recently been expanded to treat more divergent language pairs. To create a new machine translation system, one just has to develop linguistic data in well-specified XML formats.
Language data developed for it currently support the Arabic, Aragonese, Asturian, Basque, Belarusian, Breton, Bulgarian, Catalan, Crimean Tatar, Danish, English, Esperanto, French, Galician, Hindi, Icelandic, Indonesian, Italian, Kazakh, Macedonian, Malaysian, Maltese, Northern Sami, Norwegian, Occitan, Polish, Portuguese, Romanian, Russian, Sardinian, Serbo-Croatian, Silesian, Slovene, Spanish, Swedish, Tatar, Ukrainian, Urdu, and Welsh languages. A full list is available below. Several companies are also involved in the development of Apertium, including Prompsit Language Engineering, Imaxin Software and Eleka Ingeniaritza Linguistikoa.
The project has taken part in the 2009, 2010, 2011, 2012, 2013 and 2014 editions of Google Summer of Code and the 2010, 2011, 2012, 2013, 2014, 2015, 2016 and 2017 editions of Google Code-In.

Translation methodology

This is an overall, step-by-step view how Apertium works.
The diagram displays the steps that Apertium takes to translate a source-language text into a target-language text.
  1. Source language text is passed into Apertium for translation.
  2. The deformatter removes formatting markup that should be kept in place but not translated.
  3. The morphological analyser segments the text, and look up segments in the language dictionaries, then returning baseform and tags for all matches. In pairs that involve agglutinative morphology, including a number of Turkic languages, a Helsinki Finite-State Transducer is used. Otherwise, an Apertium-specific technology, called the lttoolbox, is used.
  4. The morphological disambiguator resolves ambiguous segments by choosing one match. Apertium is working on installing more Constraint Grammar frameworks for its language pairs, allowing the imposition of more fine-grained constraints than would be otherwise possible. Apertium uses the Visual Interactive Syntax Learning Constraint Grammar Parser.
  5. Lexical transfer looks up disambiguated source-language basewords to find their target-language equivalents. For lexical transfer, Apertium uses an XML-based dictionary format called bidix.
  6. Lexical selection chooses between alternative translations when the source text word has alternative meanings. Apertium uses a specific XML-based technology, apertium-lex-tools, to perform lexical selection.
  7. Structural transfer can consist of a one-step transfer or a three-step transfer module. It flags grammatical differences between the source language and target language by creating a sequence of chunks containing markers for this. It then reorders or modifies chunks in order to produce a grammatical translation in the target-language. This is also done using lttoolbox.
  8. The morphological generator uses the tags to deliver the correct target language surface form. The morphological generator is a morphological transducer, just like the morphological analyser. A morphological transducer both analyses and generates forms.
  9. The post-generator makes any necessary orthographic changes due to the contact of words.
  10. The reformatter replaces formatting markup that was removed by the deformatter in the first step.
  11. Apertium delivers the target-language translation.

    Language pairs

List of currently stable language pairs, hover over the language codes to see the languages that they represent.

Afrikaans
Arabic
Aragonese
Asturian
Basque
Breton
Bulgarian
Catalan
Danish
Dutch
English
Esperanto
French
Galician
Hindi
Icelandic
Indonesian
Italian
Kazakh
Macedonian
Malaysian
Maltese
Northern Sami
Norwegian
Norwegian
Occitan f
Portuguese
Romanian
Sardinian
Serbo-Croatian
Slovenian
Spanish
Spanish
Tatar
Urdu
Welsh

End-user services and software

Online translation websites

*
*
*
*
*
*
*