Valutare i modelli

Dopo aver addestrato un modello, AutoML Translation utilizza il set TEST per valutare la qualità e l'accuratezza del nuovo modello. AutoML Translation esprime la qualità del modello utilizzando il suo punteggio BLEU (Bilingual Evaluation Understudy), che indica quanto il testo candidato sia simile al testo di riferimento. Un valore del punteggio BLEU più vicino a 1 indica che la traduzione è più simile al testo di riferimento.

Usa questi dati per valutare l'idoneità del modello. Per migliorare la qualità del modello, valuta la possibilità di aggiungere più coppie di segmenti di addestramento (e più diversi). Dopo aver modificato il set di dati, addestra un nuovo modello utilizzando il set di dati migliorato.

Tieni presente che i punteggi BLEU non sono consigliati per il confronto tra corpora e lingue diversi. Ad esempio, un punteggio BLEU dall'inglese al tedesco pari a 50 non è paragonabile a un punteggio BLEU dal giapponese all'inglese pari a 50. Molti esperti di traduzione hanno adottato approcci metrici basati 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 su modelli, consulta il servizio di valutazione dell'IA generativa in Vertex AI.

Ottenere la valutazione del modello

  1. Vai alla console di AutoML Translation.

    Vai alla pagina traduzione

  2. Nel menu di navigazione, fai clic su Modelli per visualizzare un elenco dei tuoi modelli.

  3. Fai clic sul modello da valutare.

  4. Fai clic sulla scheda Addestramento per visualizzare le metriche di valutazione del modello, ad esempio il suo voto BLEU.

Testare le previsioni del modello

Utilizzando la console Google Cloud, puoi confrontare i risultati di traduzione del tuo modello personalizzato con il modello NMT predefinito.

  1. Vai alla console di AutoML Translation.

    Vai alla pagina traduzione

  2. Nel menu di navigazione, fai clic su Modelli per visualizzare un elenco dei tuoi modelli.

  3. Fai clic sul modello da testare.

  4. Fai clic sulla scheda Prevedi.

  5. Aggiungi il testo di input nella casella di testo della lingua di origine.

  6. Fai clic su Traduci.

    AutoML Translation mostra i risultati della traduzione per il modello personalizzato e per il modello NMT.

Valutare e confrontare i modelli utilizzando un nuovo set di test

Dalla console Google Cloud, puoi rivalutare i modelli esistenti utilizzando un nuovo insieme di dati di test. In una singola valutazione, puoi includere fino a 5 diversi modelli e poi confrontarne i risultati.

Carica i dati di test in Cloud Storage come valori separati da tabulazione (TSV) o come file Translation Memory eXchange (TMX).

AutoML Translation valuta i modelli in base al set di test e poi produce i punteggi di valutazione. Se vuoi, puoi salvare i risultati per ogni modello come file TSV in un bucket Cloud Storage, dove ogni riga ha il seguente formato:

Source segment tab Model candidate translation tab Reference translation
  1. Vai alla console di AutoML Translation.

    Vai alla pagina traduzione

  2. Nel menu di navigazione, fai clic su Modelli per visualizzare un elenco dei tuoi modelli.

  3. Fai clic sul modello da valutare.

  4. Fai clic sulla scheda Valuta.

  5. Nella scheda Valuta, fai clic su Nuova valutazione.

  6. Seleziona i modelli che vuoi valutare e confrontare, poi fai clic su Avanti.

    Il modello corrente deve essere selezionato e per impostazione predefinita è selezionato NMT di Google, che puoi deselezionare.

  7. Specifica un nome per il nome del set di test per distinguerlo dalle altre valutazioni, quindi seleziona il nuovo set di test da Cloud Storage.

  8. Fai clic su Avanti.

  9. Per esportare le previsioni, specifica una cartella di destinazione Cloud Storage.

  10. Fai clic su Avvia valutazione.

    AutoML Translation presenta i punteggi di valutazione in formato tabella nella console al termine della valutazione. Puoi eseguire una sola valutazione alla volta. Se hai specificato una cartella per archiviare i risultati di previsione, AutoML Translation scrive in quella posizione i file TSV denominati con l'ID modello associato, a cui viene aggiunto il nome del set di test.

Informazioni sul punteggio BLEU

BLEU (BiLingual Evaluation Understudy) è una metrica per valutare automaticamente il testo tradotto automaticamente. Il punteggio BLEU è un numero compreso tra zero e uno che misura la somiglianza del testo tradotto automaticamente a un insieme di traduzioni di riferimento di alta qualità. Un valore pari a 0 indica che l'output tradotto automaticamente non ha sovrapposizioni con la traduzione di riferimento (che indica una qualità inferiore), mentre un valore pari a 1 indica che esiste una sovrapposizione perfetta con le traduzioni di riferimento (che indica una qualità superiore).

AutoML Translation esprime i punteggi BLEU come percentuale piuttosto che come numero decimale compreso tra 0 e 1.

Interpretazione

Come linea guida approssimativa, potrebbe essere utile la seguente interpretazione dei punteggi BLEU (espressi in percentuale anziché in decimali).

Punteggio BLEU Interpretazione
< 10 Quasi inutile
10-19 È difficile cogliere il senso
20 - 29 Il messaggio è chiaro, ma contiene errori grammaticali significativi
30 - 40 Da comprensibili a traduzioni di buona qualità
40 - 50 Traduzioni di alta qualità
50 - 60 Traduzioni di altissima qualità, adeguate e fluenti
> 60 La qualità è spesso migliore di quella umana

Il seguente gradiente di colore può essere utilizzato come interpretazione della scala generale del punteggio BLEU:

Interpretabilità generale della scala

I dettagli matematici

Da un punto di vista matematico, il punteggio BLEU è definito come:

$$ \text{BLEU} = \underbrace{\vphantom{\prod_i^4}\min\Big(1, \exp\big(1-\frac{\text{reference-length}} {\text{output-length}}\big)\Big)}_{\text{brevity penalty}} \underbrace{\Big(\prod_{i=1}^{4} precision_i\Big)^{1/4}}_{\text{n-gram overlap}} $$

grazie a

\[ precision_i = \dfrac{\sum_{\text{snt}\in\text{Cand-Corpus}}\sum_{i\in\text{snt}}\min(m^i_{cand}, m^i_{ref})} {w_t^i = \sum_{\text{snt'}\in\text{Cand-Corpus}}\sum_{i'\in\text{snt'}} m^{i'}_{cand}} \]

dove

  • \(m_{cand}^i\hphantom{xi}\) è il numero di i-gram nella traduzione candidata corrispondente alla traduzione di riferimento
  • \(m_{ref}^i\hphantom{xxx}\) è il numero di i-gram nella traduzione di riferimento
  • \(w_t^i\hphantom{m_{max}}\) è il numero totale di i-gram nella traduzione candidata

La formula è composta da due parti: il malus per brevità e la sovrapposizione di n-gram.

  • Penalità di brevità
    La penalità di brevità penalizza le traduzioni generate troppo brevi rispetto alla lunghezza di riferimento più vicina con un decadimento esponenziale. Il penalità di brevità compensa il fatto che il punteggio BLEU non ha riconoscimento termine.

  • Sovrapposizione di n-grammi
    La sovrapposizione di n-grammi conteggia il numero di unigrammi, bigrammi, trigrammi e quadrigrammi (i=1,…,4) che corrispondono alla loro controparte di n-grammi nelle traduzioni di riferimento. Questo termine funge da metrica di precisione. Gli unigrammi tengono conto della correttezza, mentre gli n-grammi più lunghi tengono conto della fluidità della traduzione. Per evitare un conteggio eccessivo, i conteggi di n-gram vengono limitati al conteggio massimo di n-gram che si verifica nel riferimento (\(m_{ref}^n\)).

Esempi

Calcolo \(precision_1\)

Prendi in considerazione questa frase di riferimento e la traduzione candidata:

Riferimento: the cat is on the mat
Candidato: the the the cat mat

Il primo passaggio consiste nel conteggiare le occorrenze di ogni unigramma nel testo di riferimento e nel testo candidato. Tieni presente che la metrica BLEU è sensibile alle maiuscole.

Unigram \(m_{cand}^i\hphantom{xi}\) \(m_{ref}^i\hphantom{xxx}\) \(\min(m^i_{cand}, m^i_{ref})\)
the 3 2 2
cat 1 1 1
is 0 1 0
on 0 1 0
mat 1 1 1

Il numero totale di unigrammi nella frase candidata (\(w_t^1\)) è 5, quindi \(precision_1\) = (2 + 1 + 1)/5 = 0,8.

Calcolo del punteggio BLEU

Riferimento:     The NASA Opportunity rover is battling a massive dust storm on Mars .
Candidato 1: The Opportunity rover is combating a big sandstorm on Mars .
Candidato 2: A NASA rover is fighting a massive storm on Mars .

L'esempio riportato sopra è costituito da un singolo riferimento e da due traduzioni candidate. Le frasi vengono tokenizzate prima del calcolo del punteggio BLEU come mostrato sopra. Ad esempio, la virgola finale viene conteggiata come token separato.

Per calcolare il punteggio BLEU per ogni traduzione, calcoliamo le seguenti statistiche.

  • Precisioni n-gram
    La tabella seguente contiene le precisioni n-gram per entrambi i candidati.
  • Penalità per brevità
    La penalità per brevità è la stessa per il candidato 1 e il candidato 2 poiché entrambe le frasi sono composte da 11 token.
  • Punteggio BLEU
    Tieni presente che è necessario almeno un 4-gram corrispondente per ottenere un punteggio BLEU maggiore di 0. Poiché la traduzione candidata 1 non ha un 4-gram corrispondente, ha un punteggio BLEU di 0.
Metrica Candidato 1 Candidato 2
\(precision_1\) (1 grammo) 8/11 9/11
\(precision_2\) (2 grammi) 4/10 5/10
\(precision_3\) (3 grammi) 2/9 2/9
\(precision_4\) (4 grammi) 0/8 1/8
Brevity-Penalty 0,83 0,83
Punteggio BLEU 0,0 0,27

Proprietà

  • BLEU è una metrica basata su corpus
    La metrica BLEU ha un rendimento scadente se utilizzata per valutare singole frasi. Ad esempio, entrambe le frasi di esempio ottengono punteggi BLEU molto bassi, anche se catturano la maggior parte del significato. Poiché le statistiche sui n-gram per le singole sentenze sono meno significative, BLEU è per sua natura una metrica basata su un corpus; ovvero, le statistiche vengono accumulate su un intero corpus durante il calcolo del voto. Tieni presente che la metrica BLEU definita sopra non può essere fattorizzata per le singole frasi.

  • Nessuna distinzione tra parole di contenuto e parole funzionali
    La metrica BLEU non distingue tra parole di contenuto e parole funzionali, ovvero una parola funzionale omessa come "a" riceve la stessa penalità come se il nome "NASA" fosse stato erroneamente sostituito con "ESA".

  • Non è in grado di cogliere il significato e la grammaticalità di una frase
    L'omissione di una singola parola come "non" può cambiare la polarità di una frase. Inoltre, prendere in considerazione solo gli n-grammi con n≤4 ignora le dipendenze a lungo raggio e, di conseguenza, il BLEU spesso impone solo una piccola penalità per le frasi non grammaticali.

  • Normalizzazione e tokenizzazione
    Prima di calcolare il punteggio BLEU, sia le traduzioni di riferimento sia quelle candidate vengono normalizzate e tokenizzate. La scelta dei passaggi di normalizzazione e tokenizzazione influisce notevolmente sul punteggio BLEU finale.