Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Byg en flersproget dokumentoversættelsesarbejdsgang med domænespecifik og sprogspecifik tilpasning

I den digitale verden er det ikke nyt at give information på et lokalt sprog, men det kan være en kedelig og dyr opgave. Fremskridt inden for maskinlæring (ML) og naturlig sprogbehandling (NLP) har gjort denne opgave meget lettere og billigere.

Vi har set en øget anvendelse af ML til flersprogede data- og dokumentbehandlingsarbejdsbelastninger. Virksomhedskunder og offentlige kunder migrerer deres manuelle oversættelsesopgaver for at drage fordel af automatiserede ML-oversættelsestjenester. Amazon Translate er en neural maskine oversættelse service, der leverer hurtig, høj kvalitet og overkommelig sprogoversættelse mellem flere tusinde sprogparringer, der kan bruges til synkrone (realtids) eller asynkrone oversættelsesopgaver. Se en komplet liste over tilgængelige oversættelsespar Understøttede sprog og sprogkoder.

Kunder, der migrerer og moderniserer deres oversættelsesopgaver, har brug for evnen til at tilpasse oversættelser til deres forretningsdomæne. En oversættelsesbelastning kan også have behov for evnen til at tilpasse sig regionale sproglige dialekter eller brug. For eksempel er den spanske oversættelse af "ældre" anciano(a), men i Puerto Rico foretrækkes ordet envejeciente.

I dette indlæg demonstrerer vi, hvordan man inkorporerer Amazon Translates Active Custom Translation (ACT) funktion. Vi foreslår en løsning til at skabe et flersproget dokumentoversættelsesworkflow med domæne- og sprogspecifikke tilpasninger, som du kan gennemgå og udvide efter behov for løbende at forbedre resultater og glæde slutbrugere.

Løsningsoversigt

ACT producerer skræddersyet oversat output uden behov for at bygge og vedligeholde en tilpasset oversættelsesmodel. Ved at bruge ACT vil Amazon Translate bruge dine foretrukne oversættelseseksempler som parallelle data til at tilpasse dit oversættelsesresultat, hvilket eliminerer tiden og omkostningerne ved at bygge og træne en ny maskinlæringsmodel.

Løsningen dækket i dette indlæg forklarer, hvordan man opretter et menneske-i-løkken-workflow ved hjælp af Amazon Augmented AI (Amazon A2I) for løbende at forbedre den tilpassede oversættelse. Amazon A2I giver en enkel måde at integrere menneskeligt tilsyn i dine ML-arbejdsgange uden at kræve ML-erfaring. Amazon A2I gør det ligetil at integrere menneskelig dømmekraft og AI i enhver ML-applikation, uanset om den kører på AWS eller på en anden platform.

For mere information se Design af arbejdsgange for menneskelige anmeldelser med Amazon Translate og Amazon Augmented AI stolpe.

Følgende diagram viser løsningens kommandoflow og dataflow. Kommandoforløbet viser den logiske rækkefølge af hændelser i arbejdsgangen. Et dataflow angiver, hvordan data skabes eller bruges af forskellige komponenter i løsningen.

Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Følgende sekvensdiagram viser to separate processer i løsningen: oversættelsesarbejdsgangen (A) og processen til opdatering af parallelle data (B).

Oversættelsesarbejdsgangen initieres af en amazoncloudwatch planlagt begivenhed, som starter oversættelsesjob-invokeren AWS Lambda fungere. Denne funktion opretter et asynkront oversættelsesjob i Amazon Translate, der passerer dokumentet til oversættelse og placeringen af ​​de parallelle data for at tilpasse oversættelsen. Oversættelsesjobbet læser paralleldataene, udfører oversættelsen og skriver det oversatte resultat tilbage til en Amazon S3 spand. Når dette skrives, er det kun asynkrone oversættelsesjob, der kan bruge parallelle data.

Når oversættelsesjobbet er fuldført, genereres der en hændelse, der udløser Lambda-funktionen for fuldførelse af oversættelsesjob. Denne funktion opretter en menneskelig arbejdsgangsløkke - hovedkomponenten i Amazon A2I-delen af ​​arbejdsgangen.

Menneskelige anmeldere vurderer oversættelsen og accepterer eller ændrer oversættelsen. Eventuelle rettelser bruges til at opdatere det oversatte dokument og tilføjes også til en tilpasningsordbog. Når gennemgangen er afsluttet, genereres en anden hændelse for at udløse Workflow Completion Handler-funktionen. Denne funktion skriver det seneste oversatte dokument tilbage til Amazon S3. Tilpasningsdataene bruges til at opdatere en Amazon DynamoDB tabel med kilde- og oversatte tekstpar.

For at lukke sløjfen skal vi inkorporere disse tilpasningsdata, der er gemt i DynamoDB, tilbage i de parallelle data, der er gemt i Amazon S3. For at opnå dette bruger vi en planlagt CloudWatch-begivenhed til at udløse funktionen Parallel Data Refresher, som læser dataene fra DynamoDB-tabellen, omformaterer dem som parallelle data og opdaterer S3-bøtten og lagrer de parallelle data.

Implementer løsningen med AWS CloudFormation

Start den medfølgende AWS CloudFormation skabelon for at implementere løsningen på din konto. Denne stak fungerer kun i us-east-1-regionen. Hvis du ønsker at implementere denne løsning i andre regioner, skal du se følgende GitHub repo.

  1. Vælg Start Stack:
    Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  2. Følg instruktionerne for at udfylde de nødvendige parametre. Hvis du kører denne stak for første gang, SNS e-mail er den eneste nødvendige parameter.
  3. anmeldelse side, i Capabilities sektion, marker afkrydsningsfeltet og vælg Opret stak.

Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Stakken opretter følgende nøglekomponenter:

  • Tilpasningsdata – En DynamoDB-tabel (translate_parallel_data) for at vedligeholde tilpasningsdataene. Du migrerer de eksisterende tilpasningsdata til denne tabel. Denne tabel bruges til løbende at tilføje og opdatere tilpasninger.
  • Parallel Data Opfriskning – Lambda-funktionen til at konvertere tilpasningsdataene i DynamoDB-tabellen til et parallelt dataformat – CSV, TSV eller TMX – og gemme dem i Amazon S3. Den opretter og opdaterer parallelle data med den nye parallelle datafil i Amazon S3.
  • Oversættelsesjob Invoker – Lambda-funktionen til at starte Amazon Translate-batchjobbet med parallelle data.
  • Håndtering af oversættelsesjob – Denne Lambda-funktion udløses, når Amazon Translate-batchjobbet er fuldført. Funktionen opretter én menneskelig løkke pr. dokument (vi vil forfine dette i fremtiden for kun at oprette en menneskelig løkke for en udvalgt procentdel af behandlede dokumenter). Den bruger de originale og oversatte dokumenter til at skabe den menneskelige loop.
  • Amazon A2I tilpasset skabelon – Denne skabelon bruges til at gengive oversættelsesparret til menneskelig gennemgang. Skabelonen har Tilføj mulighed for hvert oversættelsessegment. Brugere kan vælge denne mulighed for at tilføje rettelserne til tilpasningsdataene. De nye tilpasningsdata bruges i det næste batch-oversættelsesjob.
  • Handler for færdiggørelse af arbejdsgange – Denne Lambda-funktion udløses, når den menneskelige arbejdsgang er fuldført. Funktionen opdaterer det oversatte dokument med rettelser og kontrollerer for parallelle dataopdateringer. Nye parallelle data tilføjes til DynamoDB-tabellen.
  • Amazon A2I privat team – Et Amazon A2I privat team oprettes med en menneskelig arbejder ved hjælp af den angivne e-mail. Indledende legitimationsoplysninger sendes via e-mail, når det private team er oprettet. Du bruger denne e-mail og legitimationsoplysninger til at logge ind på Amazon A2I-arbejderportalen.

Test løsningen

sample_text.txt fil ville være blevet oprettet under input-præfikset for S3-bøtten, der blev oprettet af stakken. Vi bruger denne fil til vores test. Den indeholder følgende indhold:

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.

For at teste løsningen skal du udføre følgende trin:

  1. Aktiver Translation Job Invoker-funktionen manuelt, eller vent på, at den udløses af CloudWatch baseret på den cron-tidsplan, du har angivet.
    Denne funktion udløser Amazon Translate-batchjobbet. Du kan observere arbejdets fremskridt på Amazon Translate-konsollen.
    Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Dette batchjob tager cirka 30 minutter at fuldføre. Når det er færdigt, vil TextTranslationJob tilstandsændringshændelse udløser funktionen Translation Job Completion Handler. Denne funktion opretter én menneskelig loop pr. oversat dokument.
  2. Naviger til Amazon A2I arbejdsstyrker .
  3. Vælg den Privat fane.
    Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  4. Log ind på Amazon A2I-arbejderportalen ved at vælge linket til Mærkning af portalens login-URL.
  5. Vælg opgaven Human review task på joblisten.
  6. Vælg Begynd at arbejde.
    Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
    Du kan se følgende side vist.
    Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  7. Følg instruktionerne for at foretage domæne- og sprogspecifikke rettelser.
    I det foregående skærmbillede er sætningen "Brugen af ​​sundhedsstatus i enhver gruppesygeforsikring er forbudt ved lov" er blevet oversat til "La ley prohíbe el uso del estado de salud en cualquier póliza de seguro médico de grupo." Selvom oversættelsen er nøjagtig, er sætningerne blevet omarrangeret.
  8. Lad os ændre dette til "El uso del estado de salud en cualquier póliza de seguro de salud grupal está prohibido por ley" for at gøre dette til en mere direkte oversættelse, der afspejler den originale fraseologi.
  9. Type Tilføj for at tilføje dette til ordbogen.
  10. Når du er færdig, skal du vælge Indsend.
    Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Dette udløser Workflow Completion Handler-funktionen, og tilpasningsdataene opdateres i DynamoDB-tabellen. Funktionen gemmer også den korrigerede oversættelse under post-edits præfikset.

Du kan se de tilpasninger, der føjes til translate_parallel_data tabel på DynamoDB-konsollen.

Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Kommando flow

Funktionen Parallel Data Refresher udløses hver time af en planlagt CloudWatch-begivenhed. Denne funktion søger efter nye opdateringer i translate_parallel_data tabel, opretter en ny parallel data TMX-fil i Amazon S3 under parallel_data præfiks og opdaterer Amazon Translate-paralleldatakomponenten. Du kan udløse denne funktion manuelt, hvis du ikke ønsker at vente på den planlagte hændelsesudløsning.

Du kan se de parallelle data blive opdateret på Amazon Translate-konsollen.

Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Når det er færdigt, skal jobstatus være Aktiv og værdien for Opdaterede optegnelser skal afspejle antallet af tilpasninger, du har tilføjet (i dette tilfælde 1).

Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Nu kan vi køre oversættelsesjobbet igen med de opdaterede data. Udløs Translation Job Invoker-funktionen igen for at observere tilpasningen, der føjes til oversættelsen i den anden iteration. Amazon Translate bruger nu de parallelle data, der leveres til at tilpasse oversættelsen.

Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du kan se ændringen i oversættelsesoutputtet i mærkningsportalen. I stedet for standardoversættelsen ser vi, at den tilpassede oversættelse anvendes.

Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Denne arbejdsgang hjælper med at skabe en god cyklus til løbende at forbedre oversættelsesoutput ved hjælp af Amazon A2I og Amazon Translate tilpasningsfunktioner.

Koste

Med Amazon Translate og Amazon A2I betaler du efterhånden baseret på antallet af teksttegn, du har behandlet, og for hvert menneskeanmeldt objekt. Vi bruger DynamoDB on-demand-tilstand til dette eksempel. DynamoDB opkræver dig for læsninger og skrivninger udført på dine tabeller. Se prissiderne for Amazon Oversæt, Amazon A2Iog Amazon DynamoDB til faktiske omkostninger.

Ryd op

Når du er færdig med at eksperimentere med denne løsning, skal du rydde op i dine ressourcer ved at bruge AWS CloudFormation-konsollen til at slette alle de ressourcer, der er implementeret i dette eksempel. Dette hjælper dig med at undgå fortsatte omkostninger på din konto.

Konklusion

Du kan bruge løsningen, der præsenteres i dette indlæg, til at bygge en flersproget oversættelsesworkflow, der bruger og udvider domænespecifik tilpasning trinvist for løbende at forbedre oversættelsesresultaterne. Vi leverede en simpel mekanisme til at integrere dine eksisterende tilpasningsaktiver med administrerede AI-tjenester som Amazon Translate og Amazon A2I for at bygge en robust oversættelsestjeneste til din applikation. Amazon Translate kan hjælpe dig med at skalere denne løsning til at understøtte mere end 5,550 oversættelsespar ud af boksen. Amazon A2I kan hjælpe dig med nemt at integrere med din interne sprogekspert eller drage fordel af en ekstern arbejdsstyrke til at skalere løsningen.

For mere information om Amazon Translate, besøg Amazon Oversæt ressourcer at finde videoressourcer og blogindlæg og henvise til Ofte stillede spørgsmål om AWS Translate. Del venligst dine tanker med os i kommentarfeltet eller i problemafsnittet i projektet Github depot.


Om forfatterne

Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Sathya Balakrishnan er Sr Customer Delivery Architect i Professional Services-teamet hos AWS, med speciale i Data/ML-løsninger. Han arbejder med amerikanske føderale finansielle kunder. Han brænder for at bygge pragmatiske løsninger til at løse kundernes forretningsproblemer. I sin fritid nyder han at se film og vandre med sin familie.

Byg en flersproget dokumentoversættelsesworkflow med domænespecifik og sprogspecifik tilpasning af PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Paul W. Joireman er en Sr Customer Delivery Architect i Professional Services hos AWS, med speciale i Application Migration og arbejder med amerikanske føderale finansielle kunder. Paul nyder at skabe teknologiske løsninger, rejse med familien og vandre i Shenandoah National Park, så længe vandreturen slutter på et lokalt håndværksbryggeri.

Tidsstempel:

Mere fra AWS maskinindlæring