Il vernacolo di una persona fa parte delle caratteristiche che la rendono unica. Ci sono spesso innumerevoli modi diversi per esprimere un'idea specifica. Quando un'azienda comunica con i propri clienti, è fondamentale che il messaggio venga recapitato in un modo che rappresenti al meglio le informazioni che stanno cercando di trasmettere. Questo diventa ancora più importante quando si tratta di traduzioni linguistiche professionali. I clienti di sistemi e servizi di traduzione si aspettano risultati accurati e altamente personalizzati. Per raggiungere questo obiettivo, spesso riutilizzano gli output di traduzione precedenti, chiamati memoria di traduzione (TM) e li confrontano con il nuovo testo di input. Nella traduzione assistita da computer, questa tecnica è nota come corrispondenza sfocata. La funzione principale della corrispondenza fuzzy è assistere il traduttore accelerando il processo di traduzione. Quando non è possibile trovare una corrispondenza esatta nel database TM per il testo da tradurre, i sistemi di gestione della traduzione (TMS) hanno spesso la possibilità di cercare una corrispondenza non esatta. Eventuali corrispondenze vengono fornite al traduttore come input aggiuntivo per la traduzione finale. Traduttori che migliorano il loro flusso di lavoro con funzionalità di traduzione automatica come Amazon Traduttore spesso si aspettano che i dati di corrispondenza fuzzy vengano utilizzati come parte della soluzione di traduzione automatica.
In questo post, imparerai come personalizzare l'output di Amazon Translate in base ai punteggi di qualità della corrispondenza fuzzy della memoria di traduzione.
Corrispondenza di qualità della traduzione
Il formato file di interscambio di localizzazione XML (XLIFF) viene spesso utilizzato come formato di scambio dati tra TMS e Amazon Translate. I file XLIFF prodotti dai TMS includono dati di testo di origine e di destinazione insieme a punteggi di qualità della corrispondenza basati sulla TM disponibile. Questi punteggi, generalmente espressi in percentuale, indicano quanto è vicina la memoria di traduzione al testo da tradurre.
Alcuni clienti con requisiti molto severi desiderano che la traduzione automatica venga utilizzata solo quando i punteggi di qualità delle corrispondenze sono inferiori a una determinata soglia. Oltre questa soglia, si aspettano che la propria memoria di traduzione abbia la precedenza. I traduttori spesso devono applicare queste preferenze manualmente all'interno del loro TMS o alterando i dati del testo. Questo flusso è illustrato nel diagramma seguente. Il sistema di traduzione automatica elabora i dati di traduzione (testo e punteggi di corrispondenza fuzzy) che vengono quindi rivisti e modificati manualmente dai traduttori, in base alle soglie di qualità desiderate. L'applicazione delle soglie come parte della fase di traduzione automatica consente di rimuovere questi passaggi manuali, migliorando l'efficienza e ottimizzando i costi.
La soluzione presentata in questo post ti consente di applicare regole basate sulle soglie del punteggio di qualità della corrispondenza per determinare se un determinato testo di input deve essere tradotto automaticamente da Amazon Translate o meno. Quando non è tradotto automaticamente, il testo risultante è lasciato alla discrezione dei traduttori che esaminano l'output finale.
Architettura della soluzione
L'architettura della soluzione illustrata nella Figura 2 sfrutta i seguenti servizi:
- Servizio di archiviazione semplice Amazon – I bucket Amazon S3 contengono i seguenti contenuti:
- File di configurazione della soglia di corrispondenza fuzzy
- Testo sorgente da tradurre
- Posizioni dei dati di input e output di Amazon Translate
- Gestore di sistemi AWS - Noi usiamo Archivio parametri parametri per memorizzare i valori di configurazione della soglia di qualità della corrispondenza
- AWS Lambda – Usiamo due funzioni Lambda:
- Una funzione preelabora i file di configurazione della soglia di corrispondenza della qualità e mantiene i dati in Parameter Store
- Una funzione crea automaticamente i lavori di traduzione asincroni
- Servizio Amazon Simple Queue – Una coda Amazon SQS attiva il flusso di traduzione a seguito dell'ingresso di nuovi file nel bucket di origine
Per prima cosa, imposti le soglie di qualità per i tuoi lavori di traduzione modificando un file di configurazione e caricandolo nel bucket S3 di configurazione della soglia di corrispondenza fuzzy. Di seguito è riportato un esempio di configurazione in formato CSV. Abbiamo scelto CSV per semplicità, anche se puoi utilizzare qualsiasi formato. Ogni riga rappresenta una soglia da applicare a un lavoro di traduzione specifico o come valore predefinito a qualsiasi lavoro.
Le specifiche del file di configurazione sono le seguenti:
- La colonna 1 deve essere popolata con il nome del file XLIFF, senza estensione, fornito al lavoro Amazon Translate come dati di input.
- La colonna 2 deve essere popolata con la soglia percentuale di corrispondenza della qualità. Per qualsiasi punteggio inferiore a questo valore, viene utilizzata la traduzione automatica.
- Per tutti i file XLIFF il cui nome non corrisponde a nessun nome elencato nel file di configurazione, viene utilizzata la soglia predefinita: la riga con la parola chiave
default
impostato nella colonna 1.
Quando viene caricato un nuovo file, Amazon S3 attiva la funzione Lambda responsabile dell'elaborazione dei parametri. Questa funzione legge e memorizza i parametri di soglia in Parameter Store per un utilizzo futuro. L'utilizzo di Parameter Store evita di eseguire richieste GET Amazon S3 ridondanti ogni volta che viene avviato un nuovo processo di traduzione. Il file di configurazione di esempio produce i tag dei parametri mostrati nella schermata seguente.
La funzione Lambda di inizializzazione del lavoro utilizza questi parametri per preelaborare i dati prima di richiamare Amazon Translate. Usiamo un file di input XLIFF di traduzione dall'inglese allo spagnolo, come mostrato nel codice seguente. Contiene il testo iniziale da tradurre, scomposto in ciò che viene chiamato segmenti, rappresentato nei tag di origine.
Il testo di partenza è stato preventivamente abbinato alla memoria di traduzione. I dati contengono potenziali alternative di traduzione, rappresentate come <alt-trans>
tag: insieme a un attributo di qualità della corrispondenza, espresso in percentuale. La regola aziendale è la seguente:
- I segmenti ricevuti con traduzioni alternative e una qualità di corrispondenza inferiore alla soglia sono intatti o vuoti. Questo segnala ad Amazon Translate che devono essere tradotti.
- I segmenti ricevuti con traduzioni alternative con una qualità di corrispondenza superiore alla soglia sono precompilati con il testo di destinazione suggerito. Amazon Translate salta quei segmenti.
Supponiamo che la soglia di corrispondenza della qualità configurata per questo lavoro sia dell'80%. Il primo segmento con una qualità di corrispondenza del 99% non è tradotto automaticamente, mentre il secondo segmento lo è, perché la sua qualità di corrispondenza è inferiore alla soglia definita. In questa configurazione, Amazon Translate produce il seguente output:
Nel secondo segmento, Amazon Translate sovrascrive il testo di destinazione inizialmente suggerito (Selección
) con una traduzione di qualità superiore: Visita de selección
.
Una possibile estensione a questo caso d'uso potrebbe essere quella di riutilizzare l'output tradotto e creare la nostra memoria di traduzione. Amazon Translate supporta la personalizzazione della traduzione automatica utilizzando la memoria di traduzione grazie al dati paralleli caratteristica. I segmenti di testo precedentemente tradotti automaticamente a causa del loro punteggio iniziale di bassa qualità potrebbero quindi essere riutilizzati in nuovi progetti di traduzione.
Nelle sezioni seguenti, ti guideremo attraverso il processo di distribuzione e test di questa soluzione. Usate AWS CloudFormazione script ed esempi di dati per avviare un processo di traduzione asincrono personalizzato con una soglia di corrispondenza della qualità configurabile.
Prerequisiti
Per questa procedura dettagliata, è necessario disporre di un Account AWS. Se non hai ancora un account, puoi crearne uno e attivarne uno.
Avvia lo stack AWS CloudFormation
- Scegli Avvia Stack:
- Nel Nome dello stack, inserisci un nome.
- Nel NomeBucketConfig, inserisci il bucket S3 contenente i file di configurazione della soglia.
- Nel ParametroStoreRoot, inserisci il percorso radice dei parametri creati dalla funzione Lambda di elaborazione parametri.
- Nel Nome coda, inserisci la coda SQS che crei per inviare le notifiche di nuovi file dal bucket di origine alla funzione Lambda di inizializzazione del lavoro. Questa è la funzione che legge il file di configurazione.
- Nel NomeBucketOrigine, inserisci il bucket S3 contenente i file XLIFF da tradurre. Se preferisci utilizzare un bucket preesistente, devi modificare il valore del parametro CreateSourceBucket su No.
- Nel Nome del secchio di lavoro, inserisci il bucket S3 utilizzato da Amazon Translate per i dati di input e output.
- Scegli Avanti.
- Opzionalmente sul pila Opzioni pagina, aggiungi nomi chiave e valori per i tag che potresti voler assegnare alle risorse che stanno per essere create.
- Scegli Avanti.
- Sulla Review pagina, selezionare Riconosco che questo modello potrebbe far sì che AWS CloudFormation crei risorse IAM.
- Rivedi le altre impostazioni, quindi scegli Crea stack.
AWS CloudFormation impiega diversi minuti per creare le risorse per tuo conto. Puoi guardare i progressi sul Eventi scheda nella console AWS CloudFormation. Quando lo stack è stato creato, puoi vedere a CREATE_COMPLETE
messaggio nel Stato dei servizi colonna sul Panoramica scheda.
Prova la soluzione
Esaminiamo un semplice esempio.
- Scaricare il seguente dati di esempio.
- Decomprimi il contenuto.
Dovrebbero esserci due file: un file .xlf in formato XLIFF e un file di configurazione della soglia con .cfg come estensione. Quello che segue è un estratto del file XLIFF.
- Sulla console Amazon S3, carica il file di configurazione della soglia di qualità nel bucket di configurazione specificato in precedenza.
Il valore impostato per test_En_to_Fr
è del 75%. Dovresti essere in grado di vedere i parametri sulla console di Systems Manager nella sezione Parameter Store.
- Sempre sulla console Amazon S3, carica il file .xlf nel bucket S3 che hai configurato come origine. Assicurati che il file si trovi in una cartella denominata
translate
(per esempio,<my_bucket>/translate/test_En_to_Fr.xlf
).
Questo avvia il flusso di traduzione.
- Apri la console Amazon Translate.
Dovrebbe apparire un nuovo lavoro con lo stato In corso.
- Una volta completato il lavoro, fare clic sul collegamento del lavoro e consultare l'output. Tutti i segmenti avrebbero dovuto essere tradotti.
Tutti i segmenti avrebbero dovuto essere tradotti. Nel file XLIFF tradotto, cerca i segmenti con attributi aggiuntivi denominati lscustom:match-quality
, come mostrato nella schermata seguente. Questi attributi personalizzati identificano i segmenti in cui è stata conservata la traduzione suggerita in base al punteggio.
Questi sono stati ricavati dalla memoria di traduzione secondo la soglia di qualità. Tutti gli altri segmenti sono stati tradotti automaticamente.
Ora hai implementato e testato un assistente per il lavoro di traduzione asincrono automatizzato che applica soglie di qualità di corrispondenza della memoria di traduzione configurabili. Ottimo lavoro!
Pulire
Se hai distribuito la soluzione nel tuo account, non dimenticare di eliminare lo stack CloudFormation per evitare costi imprevisti. È necessario prima svuotare manualmente i secchi S3.
Conclusione
In questo post, hai appreso come personalizzare i tuoi lavori di traduzione di Amazon Translate in base alle metriche di qualità della corrispondenza fuzzy XLIFF standard. Con questa soluzione, puoi ridurre notevolmente il lavoro manuale coinvolto nella revisione del testo tradotto automaticamente, ottimizzando anche l'utilizzo di Amazon Translate. Puoi anche estendere la soluzione con funzionalità di automazione dell'acquisizione dei dati e orchestrazione del flusso di lavoro, come descritto in Velocizza i lavori di traduzione con un assistente del sistema di traduzione completamente automatizzato.
Informazioni sugli autori
Narcisse Zekpa è un Solutions Architect con sede a Boston. Aiuta i clienti nel nord-est degli Stati Uniti ad accelerare l'adozione del cloud AWS, fornendo linee guida architetturali, progettando soluzioni innovative e scalabili. Quando Narcisse non sta costruendo, gli piace passare il tempo con la sua famiglia, viaggiare, cucinare e giocare a basket.
Dimitri Restaino è un Solutions Architect presso AWS, con sede a Brooklyn, New York. Lavora principalmente con società di servizi sanitari e finanziari nel nord-est, aiutando a progettare soluzioni innovative e creative per servire al meglio i propri clienti. Proveniente da un background di sviluppo software, è entusiasta delle nuove possibilità che la tecnologia serverless può offrire al mondo. Al di fuori del lavoro, ama fare escursioni ed esplorare la scena gastronomica di New York.
- Coinsmart. Il miglior scambio di bitcoin e criptovalute d'Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. ACCESSO LIBERO.
- Criptofalco. Radar Altcoin. Prova gratuita.
- Fonte: https://aws.amazon.com/blogs/machine-learning/personalize-your-machine-translation-results-by-using-fuzzy-matching-with-amazon-translate/
- "
- 100
- 420
- 7
- WRI
- accelerare
- Secondo
- Il mio account
- preciso
- Raggiungere
- aggiuntivo
- Adozione
- Tutti
- alternativa
- Sebbene il
- Amazon
- AMMISSIONE
- architettonico
- architettura
- Assistant
- gli attributi
- Automatizzata
- Automazione
- disponibile
- AWS
- sfondo
- Pallacanestro
- essendo
- sotto
- MIGLIORE
- Al di là di
- sistema
- Boston
- Costruzione
- affari
- funzionalità
- Causare
- certo
- il cambiamento
- carica
- Scegli
- Cloud
- codice
- Colonna
- arrivo
- Aziende
- Configurazione
- consenso
- consolle
- contiene
- contenuto
- potuto
- creare
- creato
- crea
- Creative
- critico
- costume
- Clienti
- dati
- Banca Dati
- consegnato
- schierato
- distribuzione
- descritta
- Design
- Mercato
- diverso
- discrezione
- non
- giù
- guidare
- efficienza
- Inglese
- entrare
- esempio
- exchange
- eccitato
- attenderti
- esplora
- espresso
- estendere
- famiglia
- caratteristica
- figura
- finanziario
- servizi finanziari
- Impresa
- Nome
- flusso
- i seguenti
- segue
- cibo
- formato
- essere trovato
- Francese
- function
- funzioni
- futuro
- grande
- molto
- Gruppo
- linee guida
- assistenza sanitaria
- aiutare
- aiuta
- superiore
- vivamente
- Come
- Tutorial
- HTTPS
- idea
- identificare
- identificazione
- importante
- includere
- informazioni
- creativi e originali
- ingresso
- coinvolto
- IT
- Lavoro
- Offerte di lavoro
- Le
- conosciuto
- lavoro
- Lingua
- lanciare
- IMPARARE
- imparato
- leveraggi
- linea
- LINK
- elencati
- macchina
- gestione
- direttore
- Manuale
- manualmente
- partita
- corrispondenza
- Memorie
- Metrica
- forza
- Scopri di più
- nomi
- New York
- Nord
- NYC
- ottimizzazione
- Opzione
- orchestrazione
- Altro
- proprio
- parte
- percentuale
- esecuzione
- personalizzare
- gioco
- possibilità
- possibile
- potenziale
- precedente
- primario
- processi
- i processi
- lavorazione
- Prodotto
- professionale
- progetti
- fornitura
- qualità
- ricevuto
- ridurre
- rappresentato
- rappresenta
- richieste
- Requisiti
- Risorse
- Risultati
- recensioni
- norme
- scalabile
- scena
- Cerca
- segmento
- segmenti
- serverless
- Servizi
- set
- mostrato
- Un'espansione
- Software
- lo sviluppo del software
- solido
- soluzione
- Soluzioni
- Specifiche tecniche
- Spendere
- pila
- Standard
- inizio
- Stato dei servizi
- conservazione
- Tornare al suo account
- negozi
- supporti
- sistema
- SISTEMI DI TRATTAMENTO
- Target
- Tecnologia
- Testing
- L’ORIGINE
- il mondo
- soglia
- Attraverso
- tempo
- Traduzione
- Di viaggio
- noi
- unico
- uso
- APPREZZIAMO
- Orologio
- Che
- Che cosa è l'
- se
- while
- OMS
- entro
- Lavora
- lavori
- mondo
- XML