Bird
Raised Fist0
NLPml~10 mins

Translation with Hugging Face in NLP - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to load the translation pipeline from Hugging Face.

NLP
from transformers import pipeline
translator = pipeline([1])
Drag options to blanks, or click blank then click option'
A"translation_en_to_de"
B"sentiment-analysis"
C"translation_en_to_es"
D"translation_en_to_fr"
Attempts:
3 left
💡 Hint
Common Mistakes
Using sentiment-analysis instead of a translation pipeline.
Choosing the wrong target language code.
2fill in blank
medium

Complete the code to translate the English sentence to German using the pipeline.

NLP
result = translator([1])
print(result[0]['translation_text'])
Drag options to blanks, or click blank then click option'
A"Hello, how are you?"
BHello, how are you?
C'Hello, how are you?'
D['Hello, how are you?']
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the sentence without quotes causing a syntax error.
Passing a list instead of a string.
3fill in blank
hard

Fix the error in the code to correctly translate the sentence.

NLP
from transformers import pipeline
translator = pipeline("translation_en_to_de")
result = translator([1])
print(result[0]['translation_text'])
Drag options to blanks, or click blank then click option'
A"Good morning"
BGood morning
C'Good morning'
D[Good morning]
Attempts:
3 left
💡 Hint
Common Mistakes
Passing unquoted text causing NameError.
Passing a list instead of a string.
4fill in blank
hard

Fill both blanks to create a translation pipeline from English to French and translate a sentence.

NLP
from transformers import pipeline
translator = pipeline([1])
result = translator([2])
print(result[0]['translation_text'])
Drag options to blanks, or click blank then click option'
A"translation_en_to_fr"
B"translation_en_to_de"
C"Hello, how are you?"
D"Good evening"
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong pipeline name.
Passing input without quotes.
5fill in blank
hard

Fill all three blanks to translate a list of English sentences to Spanish and print each translation.

NLP
from transformers import pipeline
translator = pipeline([1])
sentences = ["Hello", "Good night", "Thank you"]
translations = [translator([2])[0]['translation_text'] for [3] in sentences]
for t in translations:
    print(t)
Drag options to blanks, or click blank then click option'
A"translation_en_to_es"
Bsentence
C"sentence"
Dsent
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the string "sentence" instead of the variable sentence.
Using a different loop variable than the one passed to translator.

Practice

(1/5)
1. What is the main purpose of using the Hugging Face translation pipeline?
easy
A. To train a new language model from scratch
B. To automatically convert text from one language to another
C. To analyze the sentiment of a text
D. To generate random text in the same language

Solution

  1. Step 1: Understand the translation pipeline purpose

    The translation pipeline is designed to convert text from one language to another automatically.
  2. Step 2: Compare with other options

    Training models, sentiment analysis, and text generation are different tasks not handled by this pipeline.
  3. Final Answer:

    To automatically convert text from one language to another -> Option B
  4. Quick Check:

    Translation pipeline = convert text languages [OK]
Hint: Translation pipeline means changing language automatically [OK]
Common Mistakes:
  • Confusing translation with training a model
  • Thinking it analyzes sentiment
  • Assuming it generates random text
2. Which of the following is the correct way to create a translation pipeline using Hugging Face in Python?
easy
A. translator = pipeline('translation_en_to_fr')
B. translator = pipeline('sentiment-analysis')
C. translator = pipeline('text-generation')
D. translator = pipeline('image-classification')

Solution

  1. Step 1: Identify the pipeline task for translation

    The correct task name for English to French translation is 'translation_en_to_fr'.
  2. Step 2: Eliminate unrelated pipeline tasks

    Sentiment analysis, text generation, and image classification are unrelated to translation.
  3. Final Answer:

    translator = pipeline('translation_en_to_fr') -> Option A
  4. Quick Check:

    Translation pipeline uses 'translation_en_to_fr' [OK]
Hint: Use 'translation_en_to_fr' for English to French translation [OK]
Common Mistakes:
  • Using sentiment-analysis instead of translation
  • Confusing text-generation with translation
  • Using image-classification for text tasks
3. What will be the output of the following code snippet?
from transformers import pipeline
translator = pipeline('translation_en_to_de')
result = translator('Hello, how are you?')
print(result[0]['translation_text'])
medium
A. Bonjour, comment ça va?
B. Hello, how are you?
C. Hallo, wie geht es dir?
D. Hola, ¿cómo estás?

Solution

  1. Step 1: Understand the pipeline task

    The pipeline is set to translate English to German ('translation_en_to_de').
  2. Step 2: Translate the input text

    The English phrase 'Hello, how are you?' translates to German as 'Hallo, wie geht es dir?'.
  3. Final Answer:

    Hallo, wie geht es dir? -> Option C
  4. Quick Check:

    English to German translation = 'Hallo, wie geht es dir?' [OK]
Hint: Check language codes: en_to_de means English to German [OK]
Common Mistakes:
  • Expecting output in English (no translation)
  • Confusing German with French or Spanish
  • Printing the whole result list instead of text
4. Identify the error in this code snippet for translating English to Spanish using Hugging Face:
from transformers import pipeline
translator = pipeline('translation_en_to_es')
result = translator('Good morning')
print(result['translation_text'])
medium
A. Using wrong pipeline task name
B. Incorrect input text format
C. Missing import statement
D. Accessing result as a dictionary instead of a list

Solution

  1. Step 1: Check the output type of translator()

    The translator returns a list of dictionaries, not a single dictionary.
  2. Step 2: Correct the way to access translation text

    We should access the first element of the list, then the 'translation_text' key: result[0]['translation_text'].
  3. Final Answer:

    Accessing result as a dictionary instead of a list -> Option D
  4. Quick Check:

    Output is list, not dict [OK]
Hint: Remember translator returns list of dicts, use result[0]['translation_text'] [OK]
Common Mistakes:
  • Trying to access result['translation_text'] directly
  • Using wrong pipeline task name
  • Forgetting to import pipeline
5. You want to translate a list of English sentences to French using Hugging Face. Which approach correctly handles multiple sentences efficiently?
from transformers import pipeline
translator = pipeline('translation_en_to_fr')
sentences = ['Good night', 'See you later', 'Thank you']
# What is the best way to translate all sentences?
hard
A. Call translator once with the whole list: translator(sentences)
B. Use a loop: [translator(sentence)[0]['translation_text'] for sentence in sentences]
C. Join sentences into one string and translate: translator(' '.join(sentences))
D. Translate only the first sentence: translator(sentences[0])

Solution

  1. Step 1: Understand batch support in pipelines

    Hugging Face translation pipelines natively support batched inputs by passing a list of strings, enabling efficient parallel translation.
  2. Step 2: Eliminate incorrect approaches

    A loop works but is less efficient with multiple forward passes; C loses sentence boundaries; D ignores all but the first sentence.
  3. Final Answer:

    Call translator once with the whole list: translator(sentences) -> Option A
  4. Quick Check:

    translator(sentences) batches efficiently [OK]
Hint: Pass list directly: translator(sentences) for batch efficiency [OK]
Common Mistakes:
  • Using a loop (less efficient than batching)
  • Joining sentences into one string and translating
  • Translating only the first sentence