Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning

I den digitala världen är det inte nytt att tillhandahålla information på ett lokalt språk, men det kan vara en tråkig och dyr uppgift. Framsteg inom maskininlärning (ML) och naturlig språkbehandling (NLP) har gjort denna uppgift mycket enklare och billigare.

Vi har sett en ökad användning av ML för flerspråkiga data- och dokumentbehandlingsarbetsbelastningar. Företag och statliga kunder migrerar sina manuella översättningsarbeten för att dra fördel av automatiserade ML-översättningstjänster. Amazon Translate är en neural maskinöversättning tjänst som levererar snabb, högkvalitativ och prisvärd språköversättning mellan flera tusen språkparningar som kan användas för synkrona (realtids) eller asynkrona översättningsuppgifter. För en fullständig lista över tillgängliga översättningspar, se Språk och språkkoder som stöds.

Kunder som migrerar och moderniserar sina översättningar behöver möjligheten att anpassa översättningar för sin affärsdomän. En översättningsbelastning kan också behöva förmågan att anpassa sig till regionala språkdialekter eller användning. Till exempel är den spanska översättningen av "äldre" anciano(a) men i Puerto Rico föredras ordet envejeciente.

I det här inlägget visar vi hur man införlivar Amazon Translates Active Custom Translation (ACT)-funktion. Vi föreslår en lösning för att skapa ett flerspråkigt arbetsflöde för dokumentöversättning med domän- och språkspecifika anpassningar som du kan granska och utöka efter behov för att kontinuerligt förbättra resultaten och glädja slutanvändare.

Lösningsöversikt

ACT producerar skräddarsydda översättningar utan att behöva bygga och underhålla en anpassad översättningsmodell. Genom att använda ACT kommer Amazon Translate att använda dina föredragna översättningsexempel som parallella data för att anpassa ditt översättningsresultat, vilket eliminerar tiden och kostnaderna för att bygga och träna en ny maskininlärningsmodell.

Lösningen som tas upp i det här inlägget förklarar hur man skapar ett arbetsflöde för människa i slingan med hjälp av Amazon Augmented AI (Amazon A2I) för att kontinuerligt förbättra den skräddarsydda översättningen. Amazon A2I erbjuder ett enkelt sätt att integrera mänsklig tillsyn i dina ML-arbetsflöden, utan att du behöver erfarenhet av ML. Amazon A2I gör det enkelt att integrera mänskligt omdöme och AI i vilken ML-applikation som helst, oavsett om den körs på AWS eller på en annan plattform.

För mer information se Designa arbetsflöden för mänskliga granskningar med Amazon Translate och Amazon Augmented AI posta.

Följande diagram visar kommandoflödet och dataflödet för lösningen. Kommandoflödet visar den logiska händelseförloppet i arbetsflödet. Ett dataflöde indikerar hur data skapas eller används av olika komponenter i lösningen.

Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Följande sekvensdiagram visar två separata processer i lösningen: översättningsarbetsflödet (A) och processen för att uppdatera parallella data (B).

Översättningsarbetsflödet initieras av en amazoncloudwatch schemalagd händelse som startar Translation Job Invoker AWS Lambda fungera. Den här funktionen skapar ett asynkront översättningsjobb i Amazon Translate, som skickar längs dokumentet för att översätta och platsen för parallelldata för att anpassa översättningen. Översättningsjobbet läser parallelldata, utför översättningen och skriver tillbaka det översatta resultatet till en Amazon S3 hink. När detta skrivs kan endast asynkrona översättningsjobb använda parallella data.

När översättningsjobbet är slutfört genereras en händelse som utlöser Lambda-funktionen för översättningshanteraren. Den här funktionen skapar en mänsklig arbetsflödesslinga – huvudkomponenten i Amazon A2I-delen av arbetsflödet.

Mänskliga granskare bedömer översättningen och accepterar eller ändrar översättningen. Eventuella korrigeringar används för att uppdatera det översatta dokumentet och läggs även till i en anpassningsordbok. När granskningen är klar genereras en annan händelse för att utlösa funktionen Workflow Completion Handler. Denna funktion skriver tillbaka det senaste översatta dokumentet till Amazon S3. Anpassningsdata används för att uppdatera en Amazon DynamoDB tabell med käll- och översatta textpar.

För att sluta slingan måste vi införliva denna anpassningsdata lagrad i DynamoDB tillbaka till parallelldata lagrad i Amazon S3. För att åstadkomma detta använder vi en schemalagd CloudWatch-händelse för att trigga Parallel Data Refresher-funktionen, som läser data från DynamoDB-tabellen, formaterar om den som parallella data och uppdaterar S3-bucket och lagrar parallelldata.

Distribuera lösningen med AWS CloudFormation

Starta den medföljande AWS molnformation mall för att distribuera lösningen i ditt konto. Denna stack fungerar bara i us-east-1-regionen. Om du vill distribuera den här lösningen i andra regioner, se följande GitHub repo.

  1. Välja Starta stack:
    Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  2. Följ instruktionerna för att fylla i de nödvändiga parametrarna. Om du kör den här stacken för första gången, SNS e-post är den enda nödvändiga parametern.
  3. översyn sida, i Capabilities markera kryssrutan och välj Skapa stack.

Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Stacken skapar följande nyckelkomponenter:

  • Anpassningsdata – En DynamoDB-tabell (translate_parallel_data) för att underhålla anpassningsdata. Du migrerar befintlig anpassningsdata till den här tabellen. Den här tabellen används för att kontinuerligt lägga till och uppdatera anpassningar.
  • Parallell Data Refresher – Lambdafunktionen för att konvertera anpassningsdata i DynamoDB-tabellen till ett parallellt dataformat – CSV, TSV eller TMX – och lagra det i Amazon S3. Den skapar och uppdaterar parallelldata med den nya parallella datafilen i Amazon S3.
  • Översättning Job Invoker – Lambdafunktionen för att starta Amazon Translate-batchjobbet med parallella data.
  • Hanterare för att slutföra översättningar – Den här Lambda-funktionen utlöses när Amazon Translate-batchjobbet är klart. Funktionen skapar en mänsklig loop per dokument (vi kommer att förfina detta i framtiden för att skapa en mänsklig loop endast för en viss procentandel av dokument som behandlas). Den använder original och översatta dokument för att skapa den mänskliga slingan.
  • Amazon A2I anpassad mall – Den här mallen används för att återge översättningsparet för mänsklig granskning. Mallen har Lägg till alternativ för varje översättningssegment. Användare kan välja det här alternativet för att lägga till korrigeringarna i anpassningsdata. Den nya anpassningsdatan används i nästa batchöversättningsjobb.
  • Hanterare för färdigställande av arbetsflöde – Den här Lambdafunktionen utlöses när det mänskliga arbetsflödet är klart. Funktionen uppdaterar det översatta dokumentet med korrigeringar och kontrollerar parallella datauppdateringar. Ny parallelldata läggs till i DynamoDB-tabellen.
  • Amazon A2I privata team – Ett privat Amazon A2I-team skapas med en mänsklig arbetare med hjälp av e-postmeddelandet. De första användaruppgifterna skickas via e-post när det privata teamet har skapats. Du använder denna e-post och referenser för att logga in på Amazon A2I-arbetarportalen.

Testa lösningen

Smakämnen sample_text.txt filen skulle ha skapats under ingångsprefixet för S3-hinken som skapats av stacken. Vi använder den här filen för våra tester. Den innehåller följande innehåll:

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.

Gör följande för att testa lösningen:

  1. Anropa Translation Job Invoker-funktionen manuellt eller vänta på att den ska triggas av CloudWatch baserat på det cron-schema du angav.
    Denna funktion utlöser Amazon Translate-batchjobbet. Du kan se arbetets framsteg på Amazon Translate-konsolen.
    Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Detta batchjobb tar cirka 30 minuter att slutföra. När den är klar, TextTranslationJob tillståndsändringshändelse utlöser funktionen Translation Job Completion Handler. Denna funktion skapar en mänsklig loop per översatt dokument.
  2. Navigera till Amazon A2I-arbetsstyrkor sida.
  3. Välj Privat fliken.
    Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  4. Logga in på Amazon A2I-arbetarportalen genom att välja länken för Märkning av portalens inloggningsadress.
  5. Välj uppgiften Human review task i jobblistan.
  6. Välja Börja jobba.
    Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
    Du kan se följande sida visas.
    Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  7. Följ instruktionerna för att göra domän- och språkspecifika korrigeringar.
    I den föregående skärmdumpen har frasen "Användningen av hälsostatus i någon gruppsjukförsäkring är förbjuden enligt lag" översatts till "La ley prohíbe el uso del estado de salud en cualquier póliza de seguro médico de grupo." Även om översättningen är korrekt, har fraserna arrangerats om.
  8. Låt oss ändra detta till "El uso del estado de salud en cualquier póliza de seguro de salud grupal está prohibido por ley" för att göra detta till en mer direkt översättning som återspeglar den ursprungliga frasologin.
  9. Välja Lägg till för att lägga till detta i ordboken.
  10. När du är klar, välj Skicka.
    Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Detta utlöser funktionen Workflow Completion Handler och anpassningsdata uppdateras i DynamoDB-tabellen. Funktionen lagrar även den korrigerade översättningen under prefixet efter redigering.

Du kan se anpassningarna som läggs till translate_parallel_data tabell på DynamoDB-konsolen.

Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Kommandoflöde

Funktionen Parallel Data Refresher utlöses varje timme av en CloudWatch schemalagd händelse. Den här funktionen letar efter nya uppdateringar i translate_parallel_data tabell, skapar en ny parallell data TMX-fil i Amazon S3 under parallel_data prefix och uppdaterar Amazon Translate parallelldatakomponenten. Du kan aktivera den här funktionen manuellt om du inte vill vänta på den schemalagda händelseutlösningen.

Du kan se parallelldata uppdateras på Amazon Translate-konsolen.

Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

När det är klart ska jobbstatusen vara Aktiva och värdet för Uppdaterade register bör återspegla antalet anpassningar du har lagt till (i det här fallet 1).

Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Nu kan vi köra översättningsjobbet igen med uppdaterade data. Aktivera funktionen Translation Job Invoker igen för att observera att anpassningen läggs till i översättningen i den andra iterationen. Amazon Translate använder nu parallelldata som tillhandahålls för att anpassa översättningen.

Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Du kan observera förändringen i översättningsutdata i märkningsportalen. Istället för standardöversättningen ser vi att den anpassade översättningen tillämpas.

Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Detta arbetsflöde hjälper till att skapa en god cykel för att kontinuerligt förbättra översättningsutdata med hjälp av Amazon A2I och Amazon Translates anpassningsfunktioner.

Pris

Med Amazon Translate och Amazon A2I betalar du när du går baserat på antalet texttecken som du bearbetade och för varje föremål som granskats av människor. Vi använder DynamoDB on-demand-läge för detta exempel. DynamoDB debiterar dig för läsningar och skrivningar som utförs på dina tabeller. Se prissidorna för Amazon Translate, Amazon A2Ioch Amazon DynamoDB för faktiska kostnader.

Städa upp

När du är klar med att experimentera med den här lösningen, rensa upp dina resurser genom att använda AWS CloudFormation-konsolen för att ta bort alla resurser som distribueras i det här exemplet. Detta hjälper dig att undvika fortsatta kostnader på ditt konto.

Slutsats

Du kan använda lösningen som presenteras i det här inlägget för att bygga ett flerspråkigt översättningsarbetsflöde som använder och utökar domänspecifik anpassning stegvis för att kontinuerligt förbättra översättningsresultaten. Vi tillhandahåller en enkel mekanism för att integrera dina befintliga anpassningstillgångar med hanterade AI-tjänster som Amazon Translate och Amazon A2I för att bygga en robust översättningstjänst för din applikation. Amazon Translate kan hjälpa dig att skala den här lösningen för att stödja över 5,550 2 översättningspar direkt. Amazon AXNUMXI kan hjälpa dig att enkelt integrera med din interna språkexpert eller dra fördel av en extern arbetsstyrka för att skala lösningen.

För mer information om Amazon Translate, besök Amazon Translate resurser för att hitta videoresurser och blogginlägg och hänvisa till Vanliga frågor om AWS Translate. Vänligen dela dina tankar med oss ​​i kommentarsfältet, eller i problemavsnittet för projektet Githubförvaret.


Om författarna

Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Sathya Balakrishnan är Sr Customer Delivery Architect i Professional Services-teamet på AWS, specialiserad på Data/ML-lösningar. Han arbetar med amerikanska federala finansiella kunder. Han brinner för att bygga pragmatiska lösningar för att lösa kunders affärsproblem. På fritiden tycker han om att titta på film och vandra med familjen.

Bygg ett flerspråkigt arbetsflöde för dokumentöversättning med domänspecifik och språkspecifik anpassning PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Paul W. Joireman är en Sr Customer Delivery Architect in Professional Services på AWS, specialiserad på Application Migration och arbetar med amerikanska federala finansiella kunder. Paul tycker om att skapa tekniska lösningar, resa med familjen och vandra i Shenandoah National Park, så länge vandringen avslutas på ett lokalt hantverksbryggeri.

Tidsstämpel:

Mer från AWS maskininlärning