Personalizzazione del modello NMT

L'API Cloud Translation - Advanced ti consente di personalizzare il modello di traduzione automatica neurale (NMT) di Google senza scrivere codice. Ciò significa che puoi personalizzare un modello personalizzato in base ai contenuti specifici del tuo dominio e produrre traduzioni più accurate rispetto a quelle del modello NMT di Google predefinito.

Il modello NMT copre un numero elevato di coppie linguistiche e funziona bene con testi di carattere generico. Un modello personalizzato eccelle nella gestione di vocabolari specifici e di nicchia. La personalizzazione del modello NMT ti consente di ottenere la traduzione corretta della terminologia specifica del dominio che ti interessa.

Se gestisci un servizio di report specializzato che ha l'opportunità di espandersi in nuovi paesi. Questi mercati richiedono che i tuoi contenuti urgenti vengano tradotti correttamente in tempo reale, inclusa la terminologia specializzata. Anziché assumere personale bilingue o stipulare un contratto con traduttori specializzati, opzioni che presentano un costo elevato, puoi creare e perfezionare un modello personalizzato per svolgere il lavoro in tempo reale a un costo molto inferiore.

Preparazione dei dati

Per addestrare un modello personalizzato, devi fornire coppie di segmenti corrispondenti nelle lingue di origine e di destinazione. Si tratta di coppie di parole o frasi che hanno lo stesso significato nella lingua da cui vuoi tradurre e in quella in cui vuoi tradurre. Più i significati delle coppie di segmenti sono simili, meglio funzionerà il modello.

Quando crei il set di dati di coppie di segmenti corrispondenti, inizia dal caso d'uso:

  • Quale risultato stai cercando di ottenere?

  • Quali tipi di segmenti è importante tradurre correttamente per raggiungere questo risultato? Il modello NMT può farlo immediatamente?

  • Degli esseri umani possono tradurre questi segmenti chiave in modo soddisfacente? Se l'attività di traduzione è sufficientemente ambigua da rendere difficile per una persona che parla correntemente entrambe le lingue svolgere un lavoro soddisfacente, il modello NMT potrebbe avere un rendimento pari a quello di un modello personalizzato.

  • Quali tipi di esempi riflettono meglio il tipo e la varietà di coppie di segmenti che il tuo sistema dovrà tradurre?

Abbina i dati al dominio del tuo 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 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. Ti stai basando su un modello che esegue già un ottimo lavoro con la traduzione generica. I tuoi esempi sono l'ultimo passaggio che consente ai modelli personalizzati di funzionare per il tuo caso d'uso particolare, quindi assicurati che siano pertinenti e rappresentativi dell'utilizzo che prevedi.

Cattura 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 pochi traduttori sia sufficiente per addestrare un modello che funzioni bene per chiunque altro si occupi di scrivere di quel dominio. Tuttavia, siamo tutti diversi tra noi, 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 produrrà un buon modello personalizzato che tenga conto di tutte le possibilità.

Ottieni i dati da un'origine

Dopo aver stabilito quali dati ti servono, devi trovare un modo per reperirli. Puoi iniziare prendendo in considerazione tutti i dati raccolti dalla tua organizzazione. Potresti scoprire che stai già raccogliendo 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.

Mantieni l'approccio human-in-the-loop

Se è possibile, assicurati che una persona che conosce bene entrambe le lingue abbia verificato che le coppie di segmenti corrispondano in modo corretto e rappresentino traduzioni comprensibili e accurate. Un errore comune 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 da fornire all'API Cloud Translation - Advanced per ottenere un modello utilizzabile per la tua attività.

Tieni presente l'equità nello sviluppo delle coppie di segmenti

Un principio fondamentale alla base dei prodotti di ML di Google è il machine learning incentrato sull'uomo, un approccio che promuove le pratiche di AI responsabile, inclusa l'equità. L'obiettivo dell'equità nel machine learning è comprendere e prevenire trattamenti ingiusti o pregiudiziali nei confronti di persone in base a etnia, reddito, orientamento sessuale, religione, genere e altre caratteristiche storicamente associate a discriminazione ed emarginazione, quando e dove si manifestano in sistemi algoritmici o processi decisionali basati su algoritmi. Per saperne di più, consulta la nostra guida e queste note sull'attenzione all'equità:

  • Controlla le normative nella tua regione e nelle località in cui verrà pubblicata la tua applicazione, oltre alle ricerche e alle informazioni sui prodotti esistenti nel tuo dominio per conoscere le linee guida legali e i possibili problemi culturali. Scopri di più…

  • Valuta se il tuo caso d'uso o il tuo prodotto potrebbe influire negativamente sulle opportunità economiche o altre importanti opportunità di vita degli individui e, in caso affermativo, scopri di più…

  • Se disponi di dati scarsi per un particolare sottogruppo, assicurati che siano distribuiti in modo rappresentativo tra i set di addestramento e i set di test eseguendo autonomamente la suddivisione addestramento/test.

  • Durante i test, pensa con attenzione al tuo dominio problematico e alla sua potenziale mancanza di equità e ai potenziali bias. Pensa ai casi che potrebbero avere un impatto negativo sui tuoi utenti se venissero individuati nella fase di produzione e testali per primi. Scopri di più…

  • Se hai un caso d'uso che richiede considerazioni sull'equità, scopri di più su come utilizzare il modello in modo da ridurre i bias o i risultati indesiderati. Scopri di più…

  • Ulteriori linee guida sui dati per l'equità.

Pulisci i dati disorganizzati

Potresti commettere errori durante la pre-elaborazione dei dati e alcuni errori possono confondere 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. L'API Cloud Translation - Advanced utilizza solo il primo esempio visualizzato ed elimina tutte le altre coppie al momento dell'importazione. Se rimuovi i duplicati, ti assicuri che l'API Cloud Translation - Advanced utilizzi la traduzione che preferisci.
  • Allinea i segmenti di origine ai segmenti di destinazione corretti.
  • Fai corrispondere i segmenti alla 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 eventuali parole non tradotte siano intenzionali, ad esempio i nomi di prodotti o organizzazioni. I segmenti di destinazione 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 li apprenda.
  • Rimuovi i contenuti non traducibili, come i tag segnaposto e i tag HTML. I contenuti non traducibili possono causare errori di punteggiatura.
  • Non includere coppie di segmenti che sostituiscono entità generiche con nomi specifici. Ad esempio, evita un esempio che traduce un termine generico come presidente con il nome di un presidente specifico come JFK. In questo modo, il modello potrebbe imparare a sostituire tutte le istanze di presidente con JFK. Rimuovi queste coppie di segmenti o modifica i nomi specifici con nomi generici.
  • Rimuovi i segmenti duplicati nei set di addestramento e test (vedi la sezione Divisione del set di dati sulla suddivisione del set di dati in tre sottoinsiemi).
  • Dividi i segmenti in più coppie di segmenti. L'addestramento su un set di dati in cui molti elementi contengono più di circa 50 token (parole) produce modelli di qualità inferiore. Suddividi questi elementi in singole frasi, se possibile.
  • Utilizza una formattazione coerente. La distinzione tra maiuscole e minuscole influisce ad esempio sul modo in cui un modello apprende come 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, l'API Cloud Translation - Advanced pulisce i tag delle unità di traduzione solo quando importi da un file TMX (non dai file TSV).

Trattamento dati

L'API Cloud Translation - Advanced interrompe l'analisi del file di input dei dati quando:

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

L'API Cloud Translation - Advanced ignora gli errori per i problemi che non riesce a rilevare, ad esempio:

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

Per la suddivisione automatica dei dati, l'API Cloud Translation - Advanced esegue un'elaborazione aggiuntiva (vedi Divisione del set di dati):

  • Una volta caricato il set di dati, vengono rimosse le coppie di segmenti con segmenti di origine identici.

  • I dati vengono suddivisi casualmente in tre set con un rapporto di 8:1:1 (addestramento:convalida:test) prima dell'addestramento.

Divisione del set di dati

Il set di dati di coppie di segmenti è suddiviso in tre sottoinsiemi per l'addestramento, la convalida e il test:

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

  • Set di convalida
    Il set di convalida, talvolta chiamato 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 validazione per scegliere il modello migliore generato. Utilizza le prestazioni del modello sul set di validazione per ottimizzarne gli iperparametri, che sono variabili che specificano la struttura del modello. Se utilizzassi 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, il test set viene utilizzato 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.

Se non specifichi manualmente come viene suddiviso il set di dati tra queste funzioni come descritto in Preparazione dei dati di addestramento e se il tuo set di dati contiene meno di 100.000 coppie di segmenti, l'API Cloud Translation - Advanced utilizza automaticamente l'80% dei documenti per l'addestramento, il 10% per la convalida e il 10% per il test. Se i dati sono di più, devi specificare esplicitamente come vengono suddivisi. La suddivisione manuale ti offre un maggiore controllo sul processo, in quanto ti consente non solo di determinare le percentuali di suddivisione, ma anche di specificare set particolari in cui includere coppie di segmenti particolari.

Importazione dei dati

Dopo aver deciso se utilizzare la suddivisione manuale o automatica dei dati, ci sono due modi in cui puoi aggiungere i dati:

  • Puoi importare i dati come file con valori delimitati da tabulazioni (TSV) contenente i 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 del modello di traduzione automatica (vedi Prepara i dati di addestramento per saperne di più sul formato TMX). Se un file TMX contiene tag XML non validi, l'API Cloud Translation - Advanced li ignora. Se il file TMX contiene errori XML o TMX, ad esempio se manca un tag finale o un elemento <tmx>, l'API Cloud Translation - Advanced interrompe l'elaborazione e restituisce un errore se salta più di 1024 elementi `' non validi.

Valutazione preliminare del modello personalizzato

Una volta addestrato il modello, riceverai un riepilogo delle sue prestazioni. Fai clic sulla scheda Addestra per visualizzare un'analisi dettagliata. Il punteggio BLEU del modello personalizzato e del modello NMT standard di Google viene visualizzato nella scheda Addestra, insieme al miglioramento delle prestazioni del punteggio BLEU derivante dall'utilizzo della modalità personalizzata.

Più alto è il punteggio BLEU, migliori sono le traduzioni che il modello può fornire per i segmenti simili ai dati di addestramento. I punteggi compresi tra 30 e 40 sono considerati buoni. Per una spiegazione dettagliata dei punteggi BLEU, consulta La metrica di qualità della traduzione BLEU.

Esistono altre metriche di valutazione spesso più affidabili del punteggio BLEU. Per informazioni su queste opzioni di valutazione, consulta Valuta i modelli di traduzione.

Debug

Il debug di un modello personalizzato riguarda più il debug dei dati che del modello stesso. Se il modello non traduce come previsto, controlla i dati per vedere dove possono essere migliorati.

Test

Anche se il punteggio BLEU sembra buono, è consigliabile controllare personalmente il modello per assicurarsi che le sue prestazioni corrispondano alle tue aspettative. Se i dati di addestramento e di test provengono dallo stesso set errato di esempi, 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 NMT di base di Google. Potresti notare che il tuo modello produce le stesse previsioni del modello di base, soprattutto su segmenti brevi o se il set di addestramento è di piccole dimensioni, poiché il modello di base è già piuttosto buono per un'ampia varietà di casi d'uso. In questo caso, prova con segmenti più lunghi o complessi. Tuttavia, se tutti i segmenti restituiscono risultati identici alle previsioni del modello di base, potrebbe esserci un problema con i dati.

Se c'è un errore che ti preoccupa particolarmente (ad esempio un errore di traduzione che potrebbe costare denaro o reputazione), assicurati che il set di test o la procedura copra adeguatamente il caso in modo da sentirti sicuro di utilizzare il modello nelle attività quotidiane.

Passaggi successivi