Bird
Raised Fist0
NlpHow-ToBeginner · 3 min read

How to Do Machine Translation in Python for NLP

You can do machine translation in Python using the transformers library by Hugging Face, which provides pre-trained models like Helsinki-NLP/opus-mt. Load a translation pipeline with pipeline('translation_en_to_fr', model='model_name') and call it on your text to get translated output.
📐

Syntax

Use the transformers library's pipeline function to create a translation pipeline. Specify the task as translation_en_to_fr (or other language pair) and provide the model name for the language pair.

  • pipeline('translation_en_to_fr', model='model_name'): creates the translation pipeline.
  • Calling the pipeline with text returns the translated text.
python
from transformers import pipeline

translator = pipeline('translation_en_to_fr', model='Helsinki-NLP/opus-mt-en-fr')
result = translator('Hello, how are you?')
print(result[0]['translation_text'])
Output
Bonjour, comment ça va ?
💻

Example

This example translates English text to French using a pre-trained model from Hugging Face. It shows how to load the translation pipeline and get the translated output.

python
from transformers import pipeline

# Load English to French translation model
translator = pipeline('translation_en_to_fr', model='Helsinki-NLP/opus-mt-en-fr')

# Input text in English
text = 'Machine translation is fun and useful.'

# Translate text
translation = translator(text)

# Print translated text
print(translation[0]['translation_text'])
Output
La traduction automatique est amusante et utile.
⚠️

Common Pitfalls

  • Not installing the transformers and torch libraries before running the code.
  • Using the wrong model name or task string in the pipeline.
  • Passing very long texts without chunking can cause memory issues.
  • Expecting perfect translations; models may produce approximate results.
python
from transformers import pipeline

# Wrong task name - will cause error
# translator = pipeline('translate', model='Helsinki-NLP/opus-mt-en-fr')  # Incorrect

# Correct usage
translator = pipeline('translation_en_to_fr', model='Helsinki-NLP/opus-mt-en-fr')
print(translator('Hello!')[0]['translation_text'])
Output
Bonjour !
📊

Quick Reference

StepDescriptionExample
Install librariesInstall transformers and torchpip install transformers torch
Load pipelineCreate translation pipeline with modelpipeline('translation_en_to_fr', model='Helsinki-NLP/opus-mt-en-fr')
Translate textCall pipeline with input texttranslator('Hello world')
Get outputExtract translated text from resultresult[0]['translation_text']

Key Takeaways

Use Hugging Face transformers pipeline with a pre-trained translation model for easy machine translation in Python.
Always specify the correct task and model name, like 'translation_en_to_fr' and 'Helsinki-NLP/opus-mt-en-fr'.
Install required libraries with pip before running translation code.
Translation models work best on short to medium texts; chunk longer texts if needed.
Translation output is approximate and may need review for accuracy.