Dopo l'addestramento di un modello, AutoML Translation utilizza gli elementi del set di TEST per valutare la qualità e l'accuratezza del nuovo modello. AutoML Translation esprime la qualità del modello utilizzando il punteggio BLEU (Bilingual Evaluation Understudy), che indica il grado di somiglianza del testo del candidato rispetto ai testi di riferimento, con valori più vicini a uno che rappresentano testi più simili.
Il punteggio BLEU fornisce una valutazione complessiva della qualità del modello. Puoi anche valutare l'output del modello per elementi di dati specifici esportando il set di TEST con le previsioni del modello. I dati esportati includono sia il testo di riferimento (dal set di dati originale) sia il testo candidato del modello.
Utilizza questi dati per valutare l'idoneità del modello. Se il livello qualitativo non ti soddisfa, valuta la possibilità di aggiungere altre (e più diverse) coppie di frasi di addestramento. Una possibilità è aggiungere più coppie di frasi. Utilizza il link Aggiungi file nella barra del titolo. Dopo aver aggiunto i file, addestra un nuovo modello facendo clic sul pulsante Addestra nuovo modello nella pagina Addestra. Ripeti questa procedura fino a raggiungere un livello qualitativo sufficientemente elevato.
Ottenere la valutazione del modello
UI web
Apri la console AutoML Translation e fai clic sull'icona a forma di lampadina accanto a Modelli nella barra di navigazione a sinistra. Vengono visualizzati i modelli disponibili. Per ogni modello sono incluse le seguenti informazioni: set di dati (da cui il modello è stato addestrato), Origine (lingua), Target (lingua), modello di base (utilizzato per addestrare il modello).
Per visualizzare i modelli di un altro progetto, seleziona il progetto dall'elenco a discesa in alto a destra nella barra del titolo.
Fai clic sulla riga del modello da valutare.
Si apre la scheda Previsione.
Qui puoi testare il modello e vedere i risultati sia per il modello personalizzato sia per il modello di base utilizzato per l'addestramento.
Fai clic sulla scheda Addestra appena sotto la barra del titolo.
Al termine dell'addestramento del modello, AutoML Translation mostra le metriche di valutazione.
REST
Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:
- model-name: il nome completo del modello. Il nome completo del modello include il nome e la località del progetto. Un
nome del modello è simile al seguente esempio:
projects/project-id/locations/us-central1/models/model-id
. - project-id: il tuo ID progetto Google Cloud Platform
Metodo HTTP e URL:
GET https://automl.googleapis.com/v1/model-name/modelEvaluations
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "modelEvaluation": [ { "name": "projects/project-number/locations/us-central1/models/model-id/modelEvaluations/evaluation-id", "createTime": "2019-10-02T00:20:30.972732Z", "evaluatedExampleCount": 872, "translationEvaluationMetrics": { "bleuScore": 48.355409502983093, "baseBleuScore": 39.071375131607056 } } ] }
Go
Per scoprire come installare e utilizzare la libreria client per AutoML Translation, consulta la pagina relativa alle librerie client di AutoML Translation. Per saperne di più, consulta la documentazione di riferimento dell'API AutoML Translation Go.
Per eseguire l'autenticazione in AutoML Translation, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per AutoML Translation, consulta la pagina relativa alle librerie client di AutoML Translation. Per saperne di più, consulta la documentazione di riferimento dell'API AutoML Translation Java.
Per eseguire l'autenticazione in AutoML Translation, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per AutoML Translation, consulta la pagina relativa alle librerie client di AutoML Translation. Per saperne di più, consulta la documentazione di riferimento dell'API AutoML Translation Node.js.
Per eseguire l'autenticazione in AutoML Translation, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per AutoML Translation, consulta la pagina relativa alle librerie client di AutoML Translation. Per saperne di più, consulta la documentazione di riferimento dell'API AutoML Translation Python.
Per eseguire l'autenticazione in AutoML Translation, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Translation per .NET.
PHP: segui le istruzioni di configurazione PHP nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Translation per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Translation per Ruby.
Esportazione dei dati dei test con le previsioni del modello
Dopo l'addestramento di un modello, AutoML Translation utilizza gli elementi del set di TEST per valutare la qualità e l'accuratezza del nuovo modello. Dalla console AutoML Translation, puoi esportare il set di TEST per confrontare l'output del modello con il testo di riferimento del set di dati originale. AutoML Translation salva un file TSV nel tuo bucket Google Cloud Storage, dove ogni riga ha questo formato:
Source sentence
scheda Reference translation
scheda Model candidate translation
UI web
Apri la console AutoML Translation e fai clic sull'icona a forma di lampadina a sinistra di "Modelli" nella barra di navigazione a sinistra per visualizzare i modelli disponibili.
Per visualizzare i modelli di un altro progetto, seleziona il progetto dall'elenco a discesa in alto a destra nella barra del titolo.
Seleziona il modello.
Fai clic sul pulsante Esporta dati nella barra del titolo.
Inserisci il percorso completo del bucket Google Cloud Storage in cui vuoi salvare il file .tsv esportato.
Devi utilizzare un bucket associato al progetto corrente.
Scegli il modello di cui vuoi esportare i dati di TEST.
L'elenco a discesa Set di test con previsioni di modelli elenca i modelli addestrati utilizzando lo stesso set di dati di input.
Fai clic su Esporta.
AutoML Translation scrive un file denominato model-name
_evaluated.tsv
nel bucket Google Cloud Storage specificato.
Valuta e confronta i modelli utilizzando un nuovo set di test
Dalla console AutoML Translation puoi rivalutare i modelli esistenti utilizzando un nuovo set di dati di test. In una singola valutazione, puoi includere fino a 5 modelli diversi e quindi confrontare i relativi risultati.
Carica i dati di test in Cloud Storage come file con valori separati da tabulazioni (.tsv
) o come file Translation Memory eXchange (.tmx
).
AutoML Translation valuta i tuoi modelli in base al set di test e poi produce punteggi di valutazione. Facoltativamente, puoi salvare i risultati per ciascun modello come file .tsv
in un bucket Cloud Storage, dove ogni riga ha il seguente formato:
Source sentence tab Model candidate translation tab Reference translation
UI web
Apri la console AutoML Translation e fai clic su Modelli nel riquadro di navigazione a sinistra per visualizzare i modelli disponibili.
Per visualizzare i modelli di un altro progetto, seleziona il progetto dall'elenco a discesa in alto a destra nella barra del titolo.
Seleziona uno dei modelli da valutare.
Fai clic sulla scheda Valuta appena sotto la barra del titolo.
Nella scheda Valuta, fai clic su Nuova valutazione.
- Seleziona i modelli che vuoi valutare e confrontare. È necessario selezionare il modello attuale e Google NMT è selezionato per impostazione predefinita, che puoi deselezionare.
- Specifica un nome per il Nome set di test per distinguerlo dalle altre valutazioni, quindi seleziona il nuovo set di test da Cloud Storage.
- Se vuoi esportare le previsioni basate sul tuo set di test, specifica un bucket Cloud Storage in cui verranno archiviati i risultati (si applicano i pricing standard per tariffa di caratteri).
Fai clic su Fine.
AutoML Translation presenta i punteggi di valutazione in un formato tabella nella console al termine della valutazione. Puoi eseguire una sola valutazione alla volta. Se hai specificato un bucket per archiviare i risultati delle previsioni, AutoML Translation scrive i file denominati model-name_test-set-name
.tsv
nel bucket.
Informazioni sul punteggio BLEU
BLEU (Biingual Bvaluation Bnderstudy) è 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 con un insieme di traduzioni di riferimento di alta qualità. Il valore 0 indica che l'output tradotto automaticamente non si sovrappone alla traduzione di riferimento (bassa qualità), mentre il valore 1 indica che esiste una sovrapposizione perfetta con le traduzioni di riferimento (alta qualità).
È stato dimostrato che i punteggi BLEU sono correlati al giudizio umano in merito alla qualità della traduzione. Tieni presente che anche i traduttori umani non ottengono un punteggio perfetto pari a 1,0.
AutoML esprime i punteggi BLEU come percentuale anziché come decimale compresa tra 0 e 1.
Interpretazione
È fortemente sconsigliato confrontare i punteggi BLEU di vari corpora e lingue. Anche confrontare i punteggi BLEU per lo stesso corpus ma con numeri diversi di traduzioni di riferimento può essere molto fuorviante.
Tuttavia, come linea guida approssimativa, potrebbe essere utile la seguente interpretazione dei punteggi BLEU (espressi in percentuale anziché come decimali).
Punteggio BLEU | Interpretazione |
---|---|
< 10 | Quasi inutile |
10-19 | Difficile capire il succo |
20 - 29 | Il concetto è chiaro, ma presenta errori grammaticali significativi |
30 - 40 | Comprensibile per buone traduzioni |
40 - 50 | Traduzioni di alta qualità |
50 - 60 | Traduzioni di qualità molto elevata, adeguate e fluide |
> 60 | Qualità spesso migliore di quella umana |
La seguente sfumatura di colore può essere utilizzata come interpretazione in scala generale del punteggio BLEU:
I dettagli matematici
In matematica, il punteggio BLEU è definito come:
grazie alla
\[ precise_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\textisum{snt_sum}}
dove
- \(m_{cand}^i\hphantom{xi}\) è il conteggio di i-gram nel candidato corrispondente alla traduzione di riferimento
- \(m_{ref}^i\hphantom{xxx}\) è il conteggio di i-gram nella traduzione di riferimento
- \(w_t^i\hphantom{m_{max}}\) è il numero totale di i-grammi nella traduzione candidata
La formula è composta da due parti: la penalità di brevità e la sovrapposizione di n-grammi.
Pena per la gravità
La sanzione per brevità penalizza le traduzioni generate troppo brevi rispetto alla lunghezza di riferimento più vicina con un decadimento esponenziale. La penalità per la gravità compensa il fatto che il punteggio BLEU non ha un termine di identificazione.Sovrapposizione N-gram
La sovrapposizione di n-grammi conteggia il numero di unigrammi, bigram, trigrammi e quattro grammi (i=1,...,4) che corrispondono alla loro controparte in n-grammi nelle traduzioni dei riferimenti. Questo termine funge da metrica di precisione. Gli unigrammi tengono conto dell'adeguatezza, mentre gli n-grammi più lunghi tengono conto della fluenza della traduzione. Per evitare una sovrastima, il conteggio degli n-grammi viene ridotto al numero massimo di n-grammi che si verifica nel riferimento (\(m_{ref}^n\)).
Esempi
Calcolo \(precision_1\)
Considera 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 riferimento e nel candidato. Tieni presente che la metrica BLEU è sensibile alle maiuscole.
Unigramma | \(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 nel candidato (\(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 candidati. Le frasi vengono tokenizzate prima del calcolo del punteggio BLEU come illustrato sopra; ad esempio, il periodo finale viene conteggiato come un token separato.
Per calcolare il punteggio BLEU per ogni traduzione, calcoliamo le seguenti statistiche.
- N-Gram Precisions
La tabella seguente contiene le precisione di n-grammi per entrambi i candidati. - Brevità e penalità
La penalità di brevità è la stessa per il candidato 1 e il candidato 2, poiché entrambe le frasi consistono di 11 token. - Punteggio BLEU
Tieni presente che è necessario almeno un 4 grammi corrispondente per ottenere un punteggio BLEU > 0. Poiché la traduzione 1 del candidato non ha 4 grammi corrispondenti, il punteggio BLEU è pari a 0.
Metrica | Candidato 1 | Candidato 2 |
---|---|---|
\(precision_1\) (1 grammo) | 8/11 | 9/11 |
\(precision_2\) (2 grammi) | 4/10 | 10/5 |
\(precision_3\) (3 grammi) | 9/2 | 9/2 |
\(precision_4\) (4 grammi) | 8/0 | 1/8 |
Brevità e penalità | 0,83 | 0,83 |
Punteggio BLEU | 0,0 | 0,27 |
Proprietà
BLEU è una metrica basata su corpus
La metrica BLEU funziona male se utilizzata per valutare singole frasi. Ad esempio, entrambe le frasi di esempio ricevono punteggi BLEU molto bassi anche se acquisiscono la maggior parte del significato. Poiché le statistiche di n-grammi per le singole frasi sono meno significative, BLEU è una metrica basata sul corpus, ovvero le statistiche vengono accumulate su un intero corpus quando calcola il punteggio. Tieni presente che la metrica BLEU definita sopra non può essere fattorizzata per le singole frasi.Nessuna distinzione tra contenuti e parole funzionali
La metrica BLEU non fa distinzione tra contenuti e parole funzionali, in altre parole, una parola funzionale ignorata come "a" riceve la stessa sanzione che se il nome "NASA" venisse erroneamente sostituito con "ESA".Non è adatto a cogliere il significato e la grammaticali di una frase
L'aggiunta di una singola parola come "non" può cambiare la polarità di una frase. Inoltre, prendendo in considerazione solo n-grammi con n≤4 ignora le dipendenze a lungo raggio e quindi BLEU spesso impone solo una piccola sanzione per le frasi errate.Normalizzazione e tokenizzazione
Prima di calcolare il punteggio BLEU, sia le traduzioni dei riferimenti che quelle dei candidati vengono normalizzate e tokenizzate. La scelta dei passaggi di normalizzazione e tokenizzazione influisce in modo significativo sul punteggio BLEU finale.