Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.

Crea un flusso di lavoro di traduzione di documenti multilingue con personalizzazione specifica del dominio e della lingua

Nel mondo digitale, fornire informazioni nella lingua locale non è una novità, ma può essere un compito noioso e costoso. I progressi nell'apprendimento automatico (ML) e nell'elaborazione del linguaggio naturale (NLP) hanno reso questo compito molto più semplice e meno costoso.

Abbiamo riscontrato una maggiore adozione del ML per i dati multilingue e i carichi di lavoro di elaborazione dei documenti. I clienti aziendali e governativi stanno migrando i loro carichi di lavoro di traduzione manuale per sfruttare i servizi di traduzione automatizzata di ML. Amazon Translate è un traduzione automatica neurale servizio che offre traduzioni linguistiche veloci, di alta qualità e convenienti tra diverse migliaia di abbinamenti linguistici che possono essere utilizzate per attività di traduzione sincrona (in tempo reale) o asincrona. Per un elenco completo delle coppie di traduzioni disponibili, fare riferimento a Lingue e codici lingua supportati.

I clienti che migrano e modernizzano i loro carichi di lavoro di traduzione devono poter personalizzare le traduzioni per il loro dominio aziendale. Un carico di lavoro di traduzione potrebbe anche richiedere la capacità di adattarsi ai dialetti o all'uso delle lingue regionali. Ad esempio, la traduzione spagnola di “anziani” è anciano(a) ma a Porto Rico si preferisce la parola envejeciente.

In questo post, mostriamo come incorporare la funzione Active Custom Translation (ACT) di Amazon Translate. Proponiamo una soluzione per creare un flusso di lavoro di traduzione di documenti multilingue con personalizzazioni specifiche per dominio e lingua che puoi rivedere e aumentare secondo necessità per migliorare continuamente i risultati e soddisfare gli utenti finali.

Panoramica della soluzione

ACT produce output con traduzione personalizzata senza la necessità di creare e mantenere un modello di traduzione personalizzato. Utilizzando ACT, Amazon Translate utilizzerà i tuoi esempi di traduzione preferiti come dati paralleli per personalizzare il risultato della traduzione, eliminando i tempi e i costi necessari per creare e addestrare un nuovo modello di apprendimento automatico.

La soluzione trattata in questo post spiega come creare un flusso di lavoro human-in-the-loop utilizzando AI aumentata di Amazon (Amazon A2I) per migliorare continuamente la traduzione personalizzata. Amazon A2I fornisce un modo semplice per integrare la supervisione umana nei flussi di lavoro di ML, senza che sia richiesta alcuna esperienza di ML. Amazon A2I semplifica l'integrazione del giudizio umano e dell'IA in qualsiasi applicazione ML, indipendentemente dal fatto che venga eseguita su AWS o su un'altra piattaforma.

Per maggiori informazioni fare riferimento a Progettazione di flussi di lavoro per la revisione umana con Amazon Translate e Amazon Augmented AI inviare.

Il diagramma seguente mostra il flusso di comandi e il flusso di dati della soluzione. Il flusso dei comandi mostra la sequenza logica degli eventi nel flusso di lavoro. Un flusso di dati indica come i dati vengono creati o utilizzati dai vari componenti della soluzione.

Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.

Il diagramma di sequenza seguente mostra due processi separati nella soluzione: il flusso di lavoro di traduzione (A) e il processo per aggiornare i dati paralleli (B).

Il flusso di lavoro di traduzione viene avviato da un Amazon Cloud Watch evento pianificato che avvia Translation Job Invoker AWS Lambda funzione. Questa funzione crea un processo di traduzione asincrono in Amazon Translate, passando il documento da tradurre e la posizione dei dati paralleli per personalizzare la traduzione. Il lavoro di traduzione legge i dati paralleli, esegue la traduzione e riscrive il risultato tradotto in un file Amazon S3 benna. Al momento della stesura di questo documento, solo i lavori di traduzione asincroni possono utilizzare dati paralleli.

Al termine del processo di traduzione, viene generato un evento che attiva la funzione Lambda del gestore completamento processo di traduzione. Questa funzione crea un ciclo di flusso di lavoro umano, il componente principale della parte Amazon A2I del flusso di lavoro.

I revisori umani valutano la traduzione e accettano o modificano la traduzione. Eventuali correzioni vengono utilizzate per aggiornare il documento tradotto e aggiunte anche a un dizionario di personalizzazione. Al termine della revisione, viene generato un altro evento per attivare la funzione Gestore completamento flusso di lavoro. Questa funzione riscrive l'ultimo documento tradotto su Amazon S3. I dati di personalizzazione vengono utilizzati per aggiornare un Amazon DynamoDB tabella con le coppie di testo sorgente e tradotto.

Per chiudere il ciclo, dobbiamo incorporare questi dati di personalizzazione archiviati in DynamoDB nei dati paralleli archiviati in Amazon S3. A tal fine, utilizziamo un evento CloudWatch pianificato per attivare la funzione Parallel Data Refresher, che legge i dati dalla tabella DynamoDB, li riformatta come dati paralleli e aggiorna il bucket S3, archiviando i dati paralleli.

Distribuisci la soluzione con AWS CloudFormation

Avvia il fornito AWS CloudFormazione modello per distribuire la soluzione nel tuo account. Questo stack funziona solo nella regione us-east-1. Se si desidera distribuire questa soluzione in altre regioni, fare riferimento a quanto segue Repository GitHub.

  1. Scegli Avvia Stack:
    Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.
  2. Seguire le istruzioni per popolare i parametri necessari. Se stai eseguendo questo stack per la prima volta, E-mail SNS è l'unico parametro richiesto.
  3. Sulla Review pagina, nella Capabilities sezione, selezionare la casella di controllo e scegliere Crea stack.

Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.

Lo stack crea i seguenti componenti chiave:

  • Dati di personalizzazione – Una tabella DynamoDB (translate_parallel_data) per mantenere i dati di personalizzazione. Migrare i dati di personalizzazione esistenti in questa tabella. Questa tabella viene utilizzata per aggiungere e aggiornare continuamente le personalizzazioni.
  • Aggiornamento dati parallelo – La funzione Lambda per convertire i dati di personalizzazione nella tabella DynamoDB in un formato di dati parallelo (CSV, TSV o TMX) e archiviarli in Amazon S3. Crea e aggiorna i dati paralleli con il nuovo file di dati paralleli in Amazon S3.
  • Invocatore di lavoro di traduzione – La funzione Lambda per avviare il processo batch Amazon Translate con dati paralleli.
  • Gestore del completamento del lavoro di traduzione – Questa funzione Lambda viene attivata al completamento del processo batch di Amazon Translate. La funzione crea un ciclo umano per documento (lo perfezioneremo in futuro per creare un ciclo umano solo per una percentuale selezionata di documenti elaborati). Utilizza i documenti originali e tradotti per creare il ciclo umano.
  • Modello personalizzato Amazon A2I – Questo modello viene utilizzato per eseguire il rendering della coppia di traduzione per la revisione umana. Il modello ha il Aggiungi opzione per ogni segmento di traduzione. Gli utenti possono selezionare questa opzione per aggiungere le correzioni ai dati di personalizzazione. I nuovi dati di personalizzazione vengono utilizzati nel processo di traduzione batch successivo.
  • Gestore di completamento del flusso di lavoro – Questa funzione Lambda viene attivata quando il flusso di lavoro umano è completo. La funzione aggiorna il documento tradotto con correzioni e verifica aggiornamenti paralleli dei dati. Nuovi dati paralleli vengono aggiunti alla tabella DynamoDB.
  • Team privato Amazon A2I – Viene creato un team privato Amazon A2I con un lavoratore umano utilizzando l'e-mail fornita. Le credenziali iniziali vengono inviate tramite posta elettronica dopo la creazione del team privato. Utilizzi questa e-mail e queste credenziali per accedere al portale dei lavoratori Amazon A2I.

Prova la soluzione

I sample_text.txt il file sarebbe stato creato con il prefisso di input del bucket S3 creato dallo stack. Usiamo questo file per i nostri test. Contiene il seguente contenuto:

Life insurance companies have the freedom to charge different premiums based on risk
factors that predict mortality. Purchasing a life insurance policy often entails a health 
status check or medical exam, and asking for vaccination status is not banned.

Health insurers are a different story. A slew of state and federal regulations in the 
last three decades have heavily restricted their ability to use health factors in issuing 
or pricing polices. The use of health status in any group health insurance policy is 
prohibited by law. The Affordable Care Act, passed in 2014, prevents insurers from pricing 
plans according to health – with one exception: smoking status.

Per testare la soluzione, completare i seguenti passaggi:

  1. Richiama manualmente la funzione Translation Job Invoker o attendi che venga attivata da CloudWatch in base alla pianificazione cron che hai specificato.
    Questa funzione attiva il processo batch Amazon Translate. Puoi osservare l'avanzamento del lavoro sulla console Amazon Translate.
    Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.Il completamento di questo processo batch richiede circa 30 minuti. Quando è completo, il TextTranslationJob l'evento di modifica dello stato attiva la funzione Gestore di completamento del processo di traduzione. Questa funzione crea un ciclo umano per documento tradotto.
  2. Passare alla Personale Amazon A2I .
  3. Scegliere il Privata scheda.
    Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.
  4. Accedi al portale dei lavoratori Amazon A2I scegliendo il collegamento per URL di accesso al portale di etichettatura.
  5. Seleziona l'attività Human review task nell'elenco dei lavori.
  6. Scegli Iniziare a lavorare.
    Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.
    È possibile visualizzare la pagina seguente.
    Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.
  7. Segui le istruzioni per apportare correzioni specifiche per dominio e lingua.
    Nello screenshot precedente, la frase "L'uso dello stato di salute in qualsiasi polizza assicurativa sanitaria di gruppo è vietato dalla legge" è stata tradotta in "La ley prohíbe el uso del estado de salud en cualquier póliza de seguro médico de grupo". Sebbene la traduzione sia accurata, le frasi sono state riorganizzate.
  8. Modifichiamo questo in "El uso del estado de salud en cualquier póliza de seguro de salud grupal está prohibido por ley" per renderlo una traduzione più diretta che riflette la fraseologia originale.
  9. Seleziona Aggiungi per aggiungerlo al dizionario.
  10. Quando hai finito, scegli Invio.
    Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.

Ciò attiva la funzione del gestore di completamento del flusso di lavoro e i dati di personalizzazione vengono aggiornati nella tabella DynamoDB. La funzione memorizza anche la traduzione corretta sotto il prefisso delle modifiche successive.

Puoi osservare le personalizzazioni aggiunte translate_parallel_data tabella sulla console DynamoDB.

Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.

Flusso di comando

La funzione Parallel Data Refresher viene attivata ogni ora da un evento pianificato CloudWatch. Questa funzione verifica la presenza di nuovi aggiornamenti nel file translate_parallel_data tabella, crea un nuovo file TMX di dati paralleli in Amazon S3 sotto la parallel_data prefisso e aggiorna il componente di dati paralleli di Amazon Translate. È possibile attivare questa funzione manualmente se non si desidera attendere l'attivazione dell'evento pianificato.

Puoi osservare l'aggiornamento dei dati paralleli sulla console Amazon Translate.

Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.

Al termine, lo stato del lavoro dovrebbe essere Attivo e il valore per Record aggiornati dovrebbe riflettere il numero di personalizzazioni che hai aggiunto (in questo caso 1).

Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.

Ora possiamo eseguire nuovamente il lavoro di traduzione con i dati aggiornati. Attivare nuovamente la funzione Translation Job Invoker per osservare la personalizzazione aggiunta alla traduzione nella seconda iterazione. Amazon Translate ora utilizza i dati paralleli forniti per personalizzare la traduzione.

Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.

È possibile osservare la modifica nell'output della traduzione nel portale di etichettatura. Invece della traduzione predefinita, vediamo applicata la traduzione personalizzata.

Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.

Questo flusso di lavoro aiuta a creare un circolo virtuoso per migliorare continuamente l'output della traduzione utilizzando le funzionalità di personalizzazione di Amazon A2I e Amazon Translate.

Costo

Con Amazon Translate e Amazon A2I, paghi in base al numero di caratteri di testo che hai elaborato e per ogni oggetto sottoposto a revisione umana. Per questo esempio utilizziamo la modalità su richiesta di DynamoDB. DynamoDB ti addebita le letture e le scritture eseguite sulle tue tabelle. Fare riferimento alle pagine dei prezzi per Amazon Traduttore, AmazonA2Ie Amazon DynamoDB per i costi effettivi.

ripulire

Al termine della sperimentazione di questa soluzione, ripulisci le risorse utilizzando la console AWS CloudFormation per eliminare tutte le risorse distribuite in questo esempio. Questo ti aiuta a evitare costi continui nel tuo account.

Conclusione

Puoi utilizzare la soluzione presentata in questo post per creare un flusso di lavoro di traduzione multilingue che utilizzi e aumenti la personalizzazione specifica del dominio in modo incrementale per migliorare continuamente i risultati della traduzione. Abbiamo fornito un semplice meccanismo per integrare le tue risorse di personalizzazione esistenti con servizi di intelligenza artificiale gestiti come Amazon Translate e Amazon A2I per creare un solido servizio di traduzione per la tua applicazione. Amazon Translate può aiutarti a scalare questa soluzione per supportare oltre 5,550 coppie di traduzioni pronte all'uso. Amazon A2I può aiutarti a integrarti facilmente con il tuo esperto linguistico interno o sfruttare una forza lavoro esterna per scalare la soluzione.

Per ulteriori informazioni su Amazon Translate, visita Risorse di Amazon Translate per trovare risorse video e post di blog e fare riferimento a Domande frequenti su AWS Translate. Per favore condividi i tuoi pensieri con noi nella sezione commenti o nella sezione problemi del progetto Repository Github.


Informazioni sugli autori

Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.Satya Balakrishnan è un Sr Customer Delivery Architect nel team Professional Services di AWS, specializzato in soluzioni Data/ML. Lavora con clienti finanziari federali statunitensi. È appassionato di creare soluzioni pragmatiche per risolvere i problemi aziendali dei clienti. Nel tempo libero, gli piace guardare film e fare escursioni con la sua famiglia.

Crea un flusso di lavoro di traduzione di documenti multilingue con la personalizzazione PlatoBlockchain Data Intelligence specifica per dominio e lingua. Ricerca verticale. Ai.Paul W.Joireman è un Senior Customer Delivery Architect in Professional Services presso AWS, specializzato in Application Migration e collabora con clienti finanziari federali statunitensi. A Paul piace creare soluzioni tecnologiche, viaggiare con la famiglia e fare escursioni nel Parco Nazionale di Shenandoah, purché l'escursione finisca in un birrificio artigianale locale.

Timestamp:

Di più da Apprendimento automatico di AWS