Machine Translation
La traduzione automatica (MT) converte testo o parlato da una lingua a un'altra. Panoramica della MT basata su regole, statistica e reti neurali, di BLEU e COMET e degli LLM.
La traduzione automatica (MT) è la traduzione automatica di testo o parlato da una lingua a un'altra. È uno dei compiti più antichi dell'elaborazione del linguaggio naturale (NLP) e uno dei più utilizzati: Google Translate, DeepL e Microsoft Translator traducono pagine web, documenti, messaggi di chat, schede prodotto e conversazioni vocali su una scala che nessun team di traduttori umani potrebbe eguagliare. I sistemi odierni usano reti neurali e i modelli linguistici di grandi dimensioni (LLM) traducono come una delle loro capacità generali.
Dalle regole alle statistiche alle reti neurali#
L'esperimento Georgetown-IBM del 1954 tradusse più di sessanta frasi russe in inglese usando un vocabolario di 250 parole e sei regole grammaticali, e i suoi organizzatori predissero che la MT sarebbe stata risolta nel giro di pochi anni. Nel 1966 il rapporto ALPAC giudicò la traduzione automatica più lenta e meno accurata di quella umana, e i finanziamenti statunitensi per la ricerca sulla MT furono drasticamente ridotti. I sistemi basati su regole, come SYSTRAN, fondata nel 1968, codificavano manualmente dizionari e regole grammaticali per ogni coppia di lingue.
La MT statistica imparava invece la traduzione dai dati. Nel 1993, i ricercatori IBM guidati da Peter Brown pubblicarono modelli di allineamento delle parole che apprendevano quali parole francesi corrispondessero a quali parole inglesi dai resoconti bilingui del Parlamento canadese; la MT basata su frasi (2003) traduceva blocchi di più parole, l'approccio usato da Google Translate al suo lancio nel 2006. La MT neurale sostituì la pipeline statistica con un'unica rete addestrata end-to-end: il modello sequence-to-sequence di Ilya Sutskever e colleghi (2014) usava reti a memoria a lungo e breve termine (LSTM) per codificare una frase in un vettore e decodificarla in un'altra lingua; Dzmitry Bahdanau, Kyunghyun Cho e Yoshua Bengio aggiunsero un meccanismo di attenzione che consente al decoder di tornare su ogni parola della frase di partenza. In una valutazione umana affiancata del 2016 su frasi semplici, il sistema neurale di Google ridusse gli errori di traduzione in media del 60% rispetto al sistema di produzione basato su frasi; il Transformer, introdotto l'anno successivo per la traduzione, raggiunse 28,4 BLEU da inglese a tedesco e 41,8 da inglese a francese sui benchmark WMT 2014.
Come funziona la traduzione automatica neurale#
Il testo di partenza viene suddiviso in token di sottoparola tramite schemi di tokenizzazione come la codifica byte-pair, così le parole rare e i nomi vengono scomposti in parti note. L'encoder trasforma l'intera frase di partenza in vettori contestuali e il decoder scrive la traduzione un token alla volta, prestando attenzione sia ai token già scritti sia, tramite l'attenzione incrociata, ai vettori dell'encoder:
Poiché l'encoder legge l'intera frase prima che il decoder scriva qualcosa, la traduzione di ogni parola dipende dal suo contesto:
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
# T5 is an encoder-decoder transformer; a text prefix selects the translation task
tokenizer = AutoTokenizer.from_pretrained("google-t5/t5-small")
model = AutoModelForSeq2SeqLM.from_pretrained("google-t5/t5-small")
sentences = ["She went to the bank to open an account.", "They had a picnic on the bank of the river."]
inputs = tokenizer([f"translate English to German: {s}" for s in sentences], return_tensors="pt", padding=True)
# The decoder writes each German sentence one token at a time with beam search
outputs = model.generate(**inputs, num_beams=4, max_new_tokens=40)
for source, translation in zip(sentences, tokenizer.batch_decode(outputs, skip_special_tokens=True)):
print(f"{source} -> {translation}")Il T5-small di Google, con 60 milioni di parametri e addestrato anche alla traduzione inglese-tedesco, rende "bank" con "Bank" (l'istituto finanziario) in "Sie ging an die Bank, um ein Konto zu eröffnen." e con "Ufer" (la riva di un fiume) in "Sie hatten ein Picknick am Ufer des Flusses." Sposta anche "eröffnen" (aprire) alla fine della proposizione, come richiede l'ordine delle parole in tedesco.
Valutare la traduzione#
Introdotto da Kishore Papineni e colleghi di IBM nel 2002, BLEU assegna un punteggio a una traduzione in base alla sovrapposizione delle sequenze di parole con una o più traduzioni di riferimento umane, applicando una penalità agli output troppo brevi. È economico e riproducibile, ma assegna punteggi bassi alle traduzioni corrette che formulano le frasi in modo diverso dai riferimenti. Le metriche apprese, come COMET (2020), valutano una traduzione con una rete neurale addestrata sui giudizi umani di qualità; il task condiviso WMT del 2022 sulle metriche, intitolato "Stop Using BLEU", ha rilevato che le metriche neurali concordano con le valutazioni degli esperti umani più di quanto faccia BLEU.
Sistemi e sfide attuali#
NLLB-200 di Meta (2022) traduce tra 200 lingue, molte delle quali dispongono di pochi testi digitali, e ha migliorato BLEU del 44% rispetto al precedente stato dell'arte sul benchmark Flores-200. Le lingue con poche risorse non dispongono di dati di addestramento paralleli, quindi i sistemi generano coppie sintetiche con la retrotraduzione, un metodo di aumento dei dati che traduce testi monolingui nella lingua di destinazione verso la lingua di partenza. I sistemi neurali possono anche allucinare output fluenti ma non pertinenti al testo di partenza, soprattutto con input rumorosi o di lingue con poche risorse. Il genere è una nota fonte di distorsione: un pronome turco neutro rispetto al genere può diventare "lui" per un medico e "lei" per un'infermiera; per questo, nel 2018 Google Translate iniziò a mostrare traduzioni sia femminili sia maschili per alcune query. La MT si combina anche con altre modalità: le app per fotocamera dei telefoni eseguono il riconoscimento ottico dei caratteri (OCR) su cartelli e menu prima di tradurli, mentre la traduzione vocale concatena conversione da voce a testo, MT e sintesi vocale, oppure esegue tutte e tre le operazioni in un unico modello. L'interfaccia LLM di Ultralytics accetta un argomento image insieme al prompt, così una pipeline Python può inviare la foto di un cartello a un modello visione-linguaggio e chiederne il testo in inglese con una sola chiamata.
Traduzione automatica e termini correlati#
- NLP: Il campo informatico che si occupa del linguaggio umano, di cui la MT è uno dei compiti.
- Traduzione con LLM: Modelli generali come GPT e Gemini traducono quando ricevono un prompt e possono usare un intero documento o glossario come contesto. I modelli MT dedicati vengono addestrati esclusivamente alla traduzione; NLLB-200 distribuisce versioni distillate con 600 milioni e 1,3 miliardi di parametri, che coprono tutte le sue 200 lingue.
- Localizzazione: Adattamento di un prodotto a un mercato, che comprende date, valute, immagini e riferimenti culturali. La MT traduce il testo, mentre i team di localizzazione lo revisionano e adattano.










