Terminology & Neural Machine Translation: Our User Dictionary feature Explained!

Glossaries usually prove helpful to welcome a new colleague in your team, what if they were one of the best entry point to your domain for our models?

In various workplaces, a lot of knowledge is accumulated in lexicons, which uncover a wide variety of usages, from specifying specialized terms to introducing brand names and business concepts.

Based on more than 50 years of dedicated experience, our research team have presented at COLING 2020 the technique behind the User Dictionary feature, designed to polish machine translation and give it an appropriate flavor through words. This presentation has been recorded and is available here.

On one hand, state-of-the-art approaches to integrate terminology in NMT specify the target term form before translation via inline annotations (see example) or constrained decoding. Thus ignoring the target context where it appears.

On the other hand, NMT models operate over words in the form of points of a multi-dimensional continuous space, still they implicitly know a lot about the “words” they manipulate: semantic similarity, morphological category, gender, number, case, definiteness, elision, word order…

Our article shows how we can tap into this implicit knowledge by teaching a model to manipulate explicit labels representing words. Examples are given for translation from English to Spanish in all that follows.

These0 precedents1 precedentes2 can0 be0 extended1 ampliar2.0

Se pueden ampliar esos precedentes.
Inline annotation (Dinu et al., 2019)

These <noun_ or _adj#1> <plural_ masculine>
can be <verb#2> <past_ participle>.


Se pueden <verb#2> <infinitive> esos <noun#1> <plural>.
Morphological placeholders – User Dictionaries (Michon, Crego and Senellart, 2020)

As a result, a single model trained with data from generic domains only (European proceedings and news) can on the fly improve its translation in specialized domains:

Going from litteral word meanings to more symbolic ones, for example used in IT:

Example 1: Justify the cell contents

No UD → “cell” in biological sense
Justifica el contenido de las células
With UD → “cell” in IT sense
Justifica el contenido de la celda

Example 2: You can move the existing views by dragging the handle on top of the views around.

No UD → “handle” in physical sense
Puedes mover las vistas existentes arrastrando la empuñadura sobre las vistas alrededor.
With UD → “handle” in IT sense
Puedes mover las vistas existentes arrastrando al manejador encima de las vistas.

Adopting differenciated nuances for a similar word according to the domain

The word “move” found in terminologies is translated as:

  • Decisión “decision” as a noun in a Legal domain

The Committee welcomes this move in the light of the enlargement and the Commission’s commitment to better regulation.

No UD → “move” translated as “advance”
El Comité acoge con satisfacción este avance a la luz de la ampliación y del compromiso de la Comisión de mejorar la reglamentación.
With UD → “move” translated as “decision”
El Comité acoge con satisfacción esta decisión a la luz de la ampliación y del compromiso de la Comisión de legislar mejor.
  • Maniobra “maneuver” as a noun in a News domain

Hezbollah’s moves were clearly a defeat for the US and Saudi Arabia.

No UD → “moves” translated as “steps”
Las medidas de Hezbolá fueron claramente una derrota para Estados Unidos y Arabia Saudita.
With UD → “moves” translated as “maneuvers”
Las maniobras de Hezbolá fueron claramente una derrota para Estados Unidos y Arabia Saudita.
  • Movimiento “motion” as a noun and migrar “migrate” as a verb in an IT or Web domain

Example 1: Undo a previous move (repeatedly if required).

No UD → “move” translated as “game action”
Deshacer una jugada previa (repetidamente si es necesario).
With UD → “move” translated as “motion”
Deshacer un movimiento anterior (repetidamente si es necesario).

Example 2: There are several ways to move email from your existing solution to Gmail.

No UD → “move” translated as “move”
Hay varias maneras de mover el correo electrónico de su solución existente a Gmail.
With UD → “move” translated as “migrate”
Hay varias formas para migrar correo electrónico desde su solución actual a Gmail.

Such morphology control over injected terms have the chief benefit of accomodating well word inflections, both when detecting the term in source and integrating it in target, even ones that are irregular or cannot be captured by fuzzy match: “mice” as plural of “mouse” in English, “sigue” as conjugated form of “seguir” in Spanish, etc.

And this works in English to Spanish, but not only. Thanks to many years of meticulous production of linguistic resources, we address various and complex morphological patterns across languages, as shown in these few examples translated in English as: “This reflects the ongoing consolidation process in neural machine translation.

  • In Turkish:
UD alone: nöral makine çevirisi
neural machine translation

UD in sentence: Bu durum, nöral makine çevirisinde devam eden konsolidasyon sürecini yansıtmaktadır.
“This reflects the ongoing consolidation process in neural machine translation.”
  • In Russian:
UD alone: нейронный машинный перевод
neural machine translation
UD in sentence: Это отражает текущий процесс консолидации в нейронном машинном переводе.
“This reflects the ongoing consolidation process in neural machine translation.”
  • In Korean:
UD alone: 신경기계 번역
neural machine translation
UD in sentence: 이것은 신경기계 번역에서 진행 중인 통합 과정을 반영한다.
“This reflects the ongoing consolidation process in neural machine translation.”

Interestingly, the article not only compares in terms of BLEU score the inline-annotation approach (+1.25 in average on specialized domains) and our terminology injection technique (+2.15), but also analyses their term injection rate and types of errors when the reference term is not injected.

It demonstrates that, when terms are not already present in the baseline translation, so when they have the true potential to improve the translation, our technique offers further guarantee of correctly injecting them in the translation (78%) compared to inline annotation (63%).

And, when not injecting the correct term, models trained with user dictionaries inject a close variant of the original term, with different case (6%) or inflection (13%) but integrated in the sentence, while a model trained with inline-annotation simply ignores the annotation (34%), which can be crucial for disease, drug or product names.

Example 1: Treatment and prevention of Swine Enzootic Pneumonia.

No UD: translated as “enzootic pneumonia”
Tratamiento y prevención de la neumonía enzoótica.
Inline: translated as “swinese? pneumonia”
Tratamiento y prevención de la Neumonía Svinosa.
With UD: translated as “swine enzootic Pneumonia”
Tratamiento y prevención de la Neumonía enzoótica porcina.

Example 2: In a clinical study, the requirement for propofol and thiopental was reduced by 30% and 60% respectively.

No UD: translated as “the requirement of proposition and inclusion”
En un estudio clínico, el requisito de proposición y de inclusión se redujo en un 30% y un 60% respectivamente.
Inline: translated as “the needs for profol and thiopental”
En un estudio clínico, las necesidades de profol y tiopental se redujeron en un 30% y un 60% respectivamente.
With UD: translated as “the need for propofol and thiopental”
En un estudio clínico, la necesidad de propofol y tiopental se redujo en un 30% y un 60% respectivamente.

In short, the model does not learn a simple copy behaviour from source to target but uses its linguistic knowledge to integrate relevant terms more reliably and more accurately.

At SYSTRAN, our models have been especially trained to take into account your input: do not wait to teach them what you know!

Blog post by Elise Michon, NLP Research Engineer at SYSTRAN.