Guida per nuovi utenti di AutoML Translation

AutoML Translation ti consente di creare modelli personalizzati (senza scrivere codice) che sono personalizzati per i tuoi contenuti specifici del dominio rispetto al modello di traduzione automatica neurale (NMT) di Google predefinito.

Immagina di gestire un servizio di report finanziari che ha l'opportunità di espandersi in nuovi paesi. Questi mercati richiedono che i tuoi documenti finanziari urgenti vengano tradotti in tempo reale. Anziché assumere personale finanziario bilingue o stipulare un contratto con un traduttore specializzato, entrambi a un prezzo elevato a causa della loro esperienza nel settore e della tua necessità di tempi di risposta rapidi, un modello personalizzato può aiutarti ad automatizzare i lavori di traduzione in modo scalabile.

Traduzione

Provalo

Se non conosci Google Cloud, crea un account per valutare le prestazioni di Cloud Translation in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti senza addebiti per l'esecuzione, il test e il deployment dei workload.

Prova Cloud Translation gratuitamente

Perché il machine learning (ML) è lo strumento giusto per questo problema?

La programmazione classica richiede al programmatore di specificare istruzioni passo passo che il computer deve seguire. Tuttavia, questo approccio basato su regole diventa rapidamente impraticabile per la traduzione. Il linguaggio naturale è complesso e anche la sua traduzione. La traduzione automatica viene eseguita quasi interamente con un approccio statistico, con enormi corpora paralleli che sostituiscono gli esperti linguistici che mettono a punto manualmente insiemi di regole specializzati.

Hai bisogno di un sistema che possa generalizzare un'ampia gamma di scenari di traduzione, ma che sia focalizzato sul tuo caso d'uso e sul dominio linguistico specifico per le attività nelle coppie di lingue che ti interessano. In uno scenario in cui una sequenza di regole specifiche è destinata a espandersi in modo esponenziale, è necessario un sistema in grado di apprendere dagli esempi. Fortunatamente, i sistemi di machine learning sono ben posizionati per risolvere questo problema.

Il modello NMT predefinito o un modello personalizzato è lo strumento giusto per me?

Il modello di traduzione automatica neurale (NMT) copre un numero elevato di coppie di lingue e funziona bene con il testo di uso generico. Un modello personalizzato eccelle davvero nell'"ultimo miglio" tra le attività di traduzione generiche e i vocabolari specifici e di nicchia. AutoML Translation parte dal modello NMT generico e poi lo ottimizza in base ai tuoi dati di addestramento per ottenere la traduzione corretta per i contenuti specifici del dominio che ti interessano.

Che cosa comporta il machine learning?

Il machine learning prevede l'utilizzo di dati per addestrare algoritmi al fine di ottenere un risultato desiderato. I dettagli dell'algoritmo e dei metodi di addestramento cambiano in base all'ambito del problema. Esistono molte sottocategorie diverse di machine learning, ognuna delle quali risolve problemi diversi e opera entro vincoli diversi. AutoML Translation consente di eseguire l'apprendimento supervisionato, che prevede l'addestramento di un computer per riconoscere i pattern dalle coppie di segmenti tradotti. Utilizzando l'apprendimento supervisionato, possiamo addestrare un modello personalizzato per tradurre i contenuti specifici del dominio che ti interessano.

Preparazione dei dati

Per addestrare un modello personalizzato, fornisci coppie corrispondenti di segmenti nelle lingue di origine e di destinazione, ovvero coppie di segmenti che significano la stessa cosa nella lingua da cui vuoi tradurre e nella lingua in cui vuoi tradurre. Più i segmenti sono simili in termini di significato, meglio funzionerà il modello.

Valuta il tuo caso d'uso

Quando crei il set di dati, inizia sempre dal caso d'uso. Puoi iniziare con le seguenti domande:

  • Qual è il risultato che stai cercando di ottenere?
  • Quali tipi di segmenti devi tradurre per raggiungere questo risultato? È un'attività che il modello NMT può svolgere immediatamente?
  • È possibile che gli esseri umani traducano questi segmenti in modo da soddisfarti? Se l'attività di traduzione è intrinsecamente ambigua, al punto che una persona che parla correntemente entrambe le lingue avrebbe difficoltà a svolgere un lavoro soddisfacente, potresti notare che il modello NMT e il tuo modello personalizzato hanno rendimenti simili.
  • Quali tipi di esempi riflettono meglio il tipo e l'intervallo di dati che il tuo sistema dovrà tradurre?

Un principio fondamentale alla base dei prodotti di ML di Google è il machine learning incentrato sull'uomo, un approccio che mette in primo piano le pratiche di AI responsabile, inclusa l'equità. L'obiettivo dell'equità nel machine learning è comprendere e prevenire trattamenti ingiusti o pregiudizievoli nei confronti di persone in base a razza, reddito, orientamento sessuale, religione, genere e altre caratteristiche storicamente associate a discriminazione ed emarginazione, quando e dove si manifestano in sistemi algoritmici o nel processo decisionale assistito da algoritmi. Per saperne di più, consulta la nostra guida e trova le note ✽ consapevoli dell'equità nelle linee guida riportate di seguito. Man mano che esamini le linee guida per la creazione del set di dati, ti invitiamo a considerare l'equità nel machine learning, se pertinente al tuo caso d'uso.

Ottieni i dati da un'origine

Dopo aver stabilito di quali dati hai bisogno, devi trovare un modo per procurarteli. Puoi iniziare prendendo in considerazione tutti i dati raccolti dalla tua organizzazione. Potresti scoprire di raccogliere già i dati necessari per addestrare un modello di traduzione. Se non disponi dei dati necessari, puoi ottenerli manualmente o esternalizzarli a un fornitore di terze parti.

Far corrispondere i dati al dominio del problema

Stai addestrando un modello di traduzione personalizzato perché hai bisogno di un modello adatto a un particolare dominio linguistico. Assicurati che le coppie di segmenti coprano al meglio il vocabolario, l'utilizzo e le peculiarità grammaticali del tuo settore o area di interesse. Trova documenti che contengano gli utilizzi tipici che troveresti nelle attività di traduzione che vuoi portare a termine e assicurati che le frasi parallele corrispondano il più possibile nel significato. Ovviamente, a volte le lingue non corrispondono perfettamente nel vocabolario o nella sintassi, ma cerca di cogliere tutta la diversità semantica che ti aspetti di incontrare nell'uso, se possibile. Stai creando un modello che esegue già un ottimo lavoro con la traduzione generica. I tuoi esempi sono l'ultimo passaggio speciale che consente ai modelli personalizzati di funzionare per il tuo caso d'uso in particolare, quindi assicurati che siano pertinenti e rappresentativi dell'utilizzo che prevedi.

Catturare la diversità del tuo spazio linguistico

È allettante presumere che il modo in cui le persone scrivono di un dominio specifico sia abbastanza uniforme da far sì che un piccolo numero di campioni di testo tradotti da un piccolo numero di traduttori sia sufficiente per addestrare un modello che funzioni bene per chiunque altro scriva di quel dominio. Ma siamo tutti individui e ognuno porta la propria personalità nelle parole che scrive. Un set di dati di addestramento con coppie di segmenti di un'ampia selezione di autori e traduttori ha maggiori probabilità di fornire un modello utile per tradurre testi di un'organizzazione diversificata. Inoltre, considera la varietà di lunghezze e strutture dei segmenti; un set di dati in cui tutti i segmenti hanno le stesse dimensioni o condividono una struttura grammaticale simile non fornirà a Cloud Translation informazioni sufficienti per creare un buon modello che acquisisca tutte le possibilità.

Mantenere l'approccio "human-in-the-loop"

Se è possibile, assicurati che una persona che conosce bene entrambe le lingue abbia convalidato che le coppie di segmenti corrispondano correttamente e rappresentino traduzioni comprensibili e accurate. Un errore semplice come il disallineamento delle righe del foglio di lavoro dei dati di addestramento può produrre traduzioni che sembrano non avere senso. I dati di alta qualità sono la cosa più importante che puoi fornire ad AutoML Translation per ottenere un modello utilizzabile per la tua attività.

Pulire i dati disordinati

È facile commettere errori durante il pre-elaborazione dei dati e alcuni di questi errori possono confondere molto un modello personalizzato. In particolare, cerca i seguenti problemi relativi ai dati che puoi risolvere:

  • Rimuovi i segmenti di origine duplicati, soprattutto se hanno traduzioni di destinazione diverse. AutoML Translation utilizza solo il primo esempio visualizzato ed elimina tutte le altre coppie al momento dell'importazione. Se rimuovi i duplicati, ti assicuri che AutoML Translation utilizzi la traduzione che preferisci.
  • Allinea i segmenti di origine ai segmenti di destinazione corretti.
  • Corrispondenza dei segmenti con la lingua specificata; ad esempio, includi solo i segmenti in cinese in un set di dati in cinese.
  • Per i segmenti di pubblico di destinazione che includono lingue miste, verifica che le parole non tradotte siano intenzionalmente non tradotte, ad esempio i nomi di prodotti o organizzazioni. I segmenti di targeting che includono erroneamente parole non tradotte aggiungono rumore ai dati di addestramento, il che può comportare un modello di qualità inferiore.
  • Correggi i segmenti con errori tipografici o grammaticali in modo che il modello non impari questi errori.
  • Rimuovi i contenuti non traducibili, come i tag segnaposto e i tag HTML. I contenuti non traducibili possono causare errori di punteggiatura.
  • Non includere traduzioni che sostituiscono entità generiche con nomi specifici. Ad esempio, potresti avere un esempio che cambia "presidente" con il nome di un presidente specifico come "JFK" o "John F. Kennedy". Il modello potrebbe imparare a modificare tutte le istanze di "presidente" in "JFK". Rimuovi queste traduzioni o modifica i nomi specifici con un nome comune.
  • Rimuovi i segmenti duplicati nei set di addestramento e test. (Scopri di più sui set di addestramento e di test)
  • Dividi più segmenti in coppie di segmenti diverse. L'addestramento su un set di dati in cui molti elementi contengono più di 50 token (parole) produce modelli di qualità inferiore. Suddividi gli elementi in singole frasi, se possibile.
  • Utilizza una formattazione coerente. La distinzione tra maiuscole e minuscole influisce sull'apprendimento di un modello, ad esempio per distinguere un titolo dal corpo del testo.
  • Rimuovi i tag TMX quando importi i dati da un file TSV. In alcuni casi, potresti esportare la memoria di traduzione esistente in un file TSV, che potrebbe includere tag TMX. Tuttavia, AutoML Translation pulisce i tag delle unità di traduzione solo quando importi da un file TMX (non per i file TSV).

Come AutoML Translation preelabora i tuoi dati

AutoML Translation interrompe l'analisi del file di input dei dati quando:

  • La formattazione non è valida
  • Esiste una coppia di segmenti irragionevolmente lunga (10 MB)
  • Il file utilizza una codifica diversa da UTF-8

AutoML Translation ignora gli errori per i problemi che non riesce a rilevare, ad esempio:

  • Un elemento <tu> in un file TMX non ha la lingua di origine o di destinazione.
  • Una delle coppie di segmenti di input è vuota.

Per la suddivisione automatica dei dati, AutoML Translation esegue un'elaborazione aggiuntiva:

  • Una volta caricato il set di dati, vengono rimosse le coppie di segmenti con segmenti di origine identici.
  • Suddivide casualmente i dati in tre set con un rapporto di 8:1:1 (addestramento:convalida:test) prima dell'addestramento.

Considera come AutoML Translation utilizza il tuo set di dati per creare un modello personalizzato

Il set di dati contiene set di addestramento, convalida e test. Se non specifichi le suddivisioni (vedi Preparare i dati di addestramento) e il set di dati contiene meno di 100.000 coppie di segmenti, AutoML Translation utilizza automaticamente l'80% dei documenti dei contenuti per l'addestramento, il 10% per la convalida e il 10% per il test. Se i dati sono più grandi, dovrai eseguire la suddivisione dei dati autonomamente.

Set di addestramento

La maggior parte dei dati dovrebbe essere presente nel set di addestramento. Questi sono i dati che il modello "vede" durante l'addestramento: vengono utilizzati per apprendere i parametri del modello, ossia i pesi delle connessioni tra i nodi della rete neurale.

Set di convalida

Il set di convalida, talvolta chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento. Durante l'apprendimento del modello, il framework utilizza il set di addestramento per addestrare una suite di modelli candidati, quindi utilizza le prestazioni del modello sul set di convalida per scegliere il modello migliore generato. Utilizza le prestazioni del modello sul set di convalida per ottimizzarne gli iperparametri, che sono variabili che specificano la struttura del modello. Se hai utilizzato il set di addestramento per ottimizzare gli iperparametri, il modello finirebbe per concentrarsi eccessivamente sui dati di addestramento. L'utilizzo di un set di dati nuovo per ottimizzare la struttura del modello consente una migliore generalizzazione da parte del modello.

Set di test

Il set di test non è coinvolto in alcun modo nel processo di addestramento. Al termine dell'addestramento del modello, utilizziamo il set di test come risorsa di verifica completamente nuova per il modello. Le prestazioni del modello in base al set di test hanno lo scopo di dare un'idea abbastanza precisa di come il modello si comporterà utilizzando dati reali.

Divisione manuale

AutoML Translation può suddividere i dati in set di addestramento, convalida e test per te oppure puoi farlo tu se vuoi esercitare un maggiore controllo sul processo, se preferisci una suddivisione percentuale diversa o se ci sono esempi specifici che vuoi assolutamente includere in una determinata parte del ciclo di vita dell'addestramento del modello.

 

Prepara i dati per l'importazione

Dopo aver deciso se una suddivisione manuale o automatica dei dati è adatta a te, esistono due modi per aggiungere i dati:

  • Puoi importare i dati come file con valori separati da tabulazioni (TSV) contenente segmenti di origine e di destinazione, una coppia di segmenti per riga.
  • Puoi importare i dati come file TMX, un formato standard per fornire coppie di segmenti agli strumenti di modelli di traduzione automatica (scopri di più sul formato TMX supportato). Se il file TMX contiene tag XML non validi, AutoML li ignora. Se il file TMX non è conforme al corretto formato XML e TMX, ad esempio se manca di un tag finale o di un elemento <tmx>, AutoML non lo elaborerà. Cloud Translation interrompe anche l'elaborazione e restituisce un errore se salta più di 1024 elementi <tu> non validi.

Valuta

Una volta addestrato il modello, riceverai un riepilogo delle sue prestazioni. Fai clic sulla scheda Addestra per visualizzare un'analisi dettagliata.

Cosa devo tenere presente prima di valutare il mio modello?

Il debug di un modello riguarda più il debug dei dati che del modello stesso. Se il modello inizia a comportarsi in modo inaspettato durante la valutazione delle prestazioni prima e dopo il push in produzione, devi tornare indietro e controllare i dati per vedere dove possono essere migliorati.

Punteggio BLEU

Il punteggio BLEU è un modo standard per misurare la qualità di un sistema di traduzione automatica. AutoML Translation utilizza un punteggio BLEU calcolato sui dati di test che hai fornito come metrica di valutazione principale. (Scopri di più sui punteggi BLEU.)

Il modello Google NMT, che alimenta l'API Cloud Translation, è progettato per un utilizzo generale. Potrebbe non essere la soluzione migliore se cerchi una traduzione specializzata nei tuoi campi. Il modello personalizzato addestrato di solito funziona meglio del modello NMT nei campi correlati al set di addestramento.

Dopo aver addestrato il modello personalizzato con il tuo set di dati, il punteggio BLEU del modello personalizzato e del modello Google NMT viene visualizzato nella scheda Addestra. Nella scheda Addestra è presente anche un aumento delle prestazioni del punteggio BLEU del modello personalizzato. Più alto è il punteggio BLEU, migliori saranno le traduzioni che il modello può fornire per i segmenti simili ai dati di addestramento. Se il punteggio BLEU rientra nell'intervallo 30-40, il modello è considerato in grado di fornire buone traduzioni.

Tieni presente che i punteggi BLEU non sono consigliati per il confronto tra corpus e lingue diversi. Ad esempio, un punteggio BLEU di 50 dall'inglese al tedesco non è paragonabile a un punteggio BLEU di 50 dal giapponese all'inglese. Molti esperti di traduzione sono passati ad approcci basati su metriche basate su modelli, che hanno una correlazione più elevata con le valutazioni umane e sono più granulari nell'identificazione degli scenari di errore.

AutoML Translation supporta solo i punteggi BLEU. Per valutare il modello di traduzione utilizzando metriche basate sul modello, consulta Gen AI evaluation service in Vertex AI.

Test del modello

Anche se il punteggio BLEU sembra buono, è consigliabile controllare personalmente il modello per assicurarsi che il suo rendimento corrisponda alle tue aspettative. Se i dati di addestramento e di test provengono dallo stesso insieme errato di campioni, i punteggi potrebbero essere eccellenti anche se la traduzione non ha senso. Aggiungi alcuni esempi come input nella scheda Prevedi e confronta i risultati del modello personalizzato con il modello di base Google NMT. Potresti notare che il tuo modello produce le stesse previsioni del modello di base, soprattutto su segmenti brevi o se hai un set di addestramento più piccolo. Non è una sorpresa: il modello di base è già piuttosto buono per un'ampia varietà di casi d'uso. Prova con segmenti più lunghi o complessi. Tuttavia, se tutti i segmenti restituiti sono identici alle previsioni del modello di base, potrebbe esserci un problema con i dati.

Se c'è un errore che ti preoccupa particolarmente che il tuo modello possa commettere (ad esempio, una funzionalità confusa della tua coppia linguistica che spesso fa inciampare i traduttori umani o un errore di traduzione che potrebbe essere particolarmente costoso in termini di denaro o reputazione), assicurati che il set di test o la procedura copra adeguatamente questo caso per farti sentire sicuro di utilizzare il modello nelle attività quotidiane.

Passaggi successivi