Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning

I den digitale verden er det ikke nytt å gi informasjon på et lokalt språk, men det kan være en kjedelig og kostbar oppgave. Fremskritt innen maskinlæring (ML) og naturlig språkbehandling (NLP) har gjort denne oppgaven mye enklere og rimeligere.

Vi har sett økt bruk av ML for flerspråklige data- og dokumentbehandlingsarbeidsmengder. Bedriftskunder og offentlige kunder migrerer arbeidsmengdene for manuell oversettelse for å dra nytte av automatiserte ML-oversettelsestjenester. Amazon Translate er en nevral maskinoversettelse tjeneste som leverer rask, høykvalitets og rimelig språkoversettelse mellom flere tusen språksammenkoblinger som kan brukes til synkrone (sanntids) eller asynkrone oversettelsesoppgaver. For en fullstendig liste over tilgjengelige oversettelsespar, se Støttede språk og språkkoder.

Kunder som migrerer og moderniserer arbeidsmengdene for oversettelse, trenger muligheten til å tilpasse oversettelser for forretningsdomenet deres. En oversettelsesmengde kan også trenge evnen til å tilpasse seg regionale språkdialekter eller bruk. For eksempel er den spanske oversettelsen av "eldre" anciano(a), men i Puerto Rico foretrekkes ordet envejeciente.

I dette innlegget viser vi hvordan du kan innlemme Amazon Translates Active Custom Translation-funksjon (ACT). Vi foreslår en løsning for å lage en flerspråklig arbeidsflyt for dokumentoversettelse med domene- og språkspesifikke tilpasninger som du kan gjennomgå og utvide etter behov for å kontinuerlig forbedre resultatene og glede sluttbrukere.

Løsningsoversikt

ACT produserer tilpasset oversatt utgang uten behov for å bygge og vedlikeholde en tilpasset oversettelsesmodell. Ved å bruke ACT, vil Amazon Translate bruke dine foretrukne oversettelseseksempler som parallelle data for å tilpasse oversettelsesresultatet, og eliminere tiden og kostnadene det kreves for å bygge og trene en ny maskinlæringsmodell.

Løsningen som dekkes i dette innlegget forklarer hvordan du lager en menneskelig arbeidsflyt ved å bruke Amazon Augmented AI (Amazon A2I) for å kontinuerlig forbedre den tilpassede oversettelsen. Amazon A2I gir en enkel måte å integrere menneskelig tilsyn i ML-arbeidsflytene dine, uten å kreve ML-erfaring. Amazon A2I gjør det enkelt å integrere menneskelig dømmekraft og AI i en hvilken som helst ML-applikasjon, uansett om den kjøres på AWS eller på en annen plattform.

For mer informasjon se Designe arbeidsgjennomganger med menneskelig gjennomgang med Amazon Translate og Amazon Augmented AI post.

Følgende diagram viser kommandoflyten og dataflyten til løsningen. Kommandoflyten viser den logiske hendelsesforløpet i arbeidsflyten. En dataflyt indikerer hvordan data blir opprettet eller brukt av ulike komponenter i løsningen.

Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Følgende sekvensdiagram viser to separate prosesser i løsningen: oversettelsesarbeidsflyten (A) og prosessen for å oppdatere parallelle data (B).

Oversettelsesarbeidsflyten initieres av en Amazon CloudWatch planlagt hendelse som starter Translation Job Invoker AWS Lambda funksjon. Denne funksjonen oppretter en asynkron oversettelsesjobb i Amazon Translate, og sender langs dokumentet for å oversette og plasseringen av parallelldataene for å tilpasse oversettelsen. Oversettelsesjobben leser parallelldataene, utfører oversettelsen og skriver det oversatte resultatet tilbake til en Amazon S3 bøtte. Når dette skrives er det kun asynkrone oversettelsesjobber som kan bruke parallelle data.

Når oversettelsesjobben er fullført, genereres en hendelse som utløser Lambda-funksjonen for fullføring av oversettelsesjobber. Denne funksjonen oppretter en menneskelig arbeidsflytsløyfe – hovedkomponenten i Amazon A2I-delen av arbeidsflyten.

Menneskelige anmeldere vurderer oversettelsen og godtar eller endrer oversettelsen. Eventuelle rettelser brukes til å oppdatere det oversatte dokumentet og legges også til i en tilpasningsordbok. Når gjennomgangen er fullført, genereres en annen hendelse for å utløse funksjonen Workflow Completion Handler. Denne funksjonen skriver det siste oversatte dokumentet tilbake til Amazon S3. Tilpasningsdataene brukes til å oppdatere en Amazon DynamoDB tabell med kilde- og oversatte tekstpar.

For å lukke sløyfen må vi inkorporere disse tilpasningsdataene som er lagret i DynamoDB, tilbake i de parallelle dataene som er lagret i Amazon S3. For å oppnå dette bruker vi en planlagt CloudWatch-hendelse for å utløse funksjonen Parallel Data Refresher, som leser dataene fra DynamoDB-tabellen, reformaterer den som parallelldata og oppdaterer S3-bøtten, og lagrer parallelldataene.

Distribuer løsningen med AWS CloudFormation

Start den medfølgende AWS skyformasjon mal for å distribuere løsningen i kontoen din. Denne stabelen fungerer bare i us-east-1-regionen. Hvis du ønsker å distribuere denne løsningen i andre regioner, se følgende GitHub repo.

  1. Velg Start Stack:
    Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  2. Følg instruksjonene for å fylle ut de nødvendige parameterne. Hvis du kjører denne stabelen for første gang, SNS e-post er den eneste nødvendige parameteren.
  3. Anmeldelse side, i Ekspertiser seksjon, merk av i boksen og velg Lag stabel.

Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Stabelen lager følgende nøkkelkomponenter:

  • Tilpasningsdata – En DynamoDB-tabell (translate_parallel_data) for å vedlikeholde tilpasningsdataene. Du migrerer de eksisterende tilpasningsdataene til denne tabellen. Denne tabellen brukes til å kontinuerlig legge til og oppdatere tilpasninger.
  • Parallell dataoppdatering – Lambda-funksjonen for å konvertere tilpasningsdataene i DynamoDB-tabellen til et parallelt dataformat – CSV, TSV eller TMX – og lagre dem i Amazon S3. Den oppretter og oppdaterer parallelle data med den nye parallelle datafilen i Amazon S3.
  • Oversettelse Job Invoker – Lambda-funksjonen for å starte Amazon Translate-batchjobben med parallelle data.
  • Håndterer for fullføring av oversettelse – Denne Lambda-funksjonen utløses når Amazon Translate-batchjobben er fullført. Funksjonen oppretter én menneskelig løkke per dokument (vi vil avgrense dette i fremtiden for å lage en menneskelig løkke kun for en valgt prosentandel av dokumenter som behandles). Den bruker de originale og oversatte dokumentene for å lage den menneskelige løkken.
  • Amazon A2I tilpasset mal – Denne malen brukes til å gjengi oversettelsesparet for menneskelig vurdering. Malen har Legg til alternativ for hvert oversettelsessegment. Brukere kan velge dette alternativet for å legge til rettelser til tilpasningsdataene. De nye tilpasningsdataene brukes i neste batch-oversettelsesjobb.
  • Håndterer for fullføring av arbeidsflyt – Denne Lambda-funksjonen utløses når den menneskelige arbeidsflyten er fullført. Funksjonen oppdaterer det oversatte dokumentet med rettelser og sjekker for parallelle dataoppdateringer. Nye parallelldata legges til DynamoDB-tabellen.
  • Amazon A2I privat team – Et Amazon A2I privat team opprettes med en menneskelig arbeider ved å bruke e-posten som er oppgitt. Innledende legitimasjon sendes på e-post ved vellykket opprettelse av det private teamet. Du bruker denne e-posten og legitimasjonen for å logge på Amazon A2I-arbeiderportalen.

Test løsningen

De sample_text.txt filen ville blitt opprettet under inngangsprefikset til S3-bøtten opprettet av stabelen. Vi bruker denne filen for vår testing. Den inneholder følgende innhold:

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 å teste løsningen, fullfør følgende trinn:

  1. Aktiver Translation Job Invoker-funksjonen manuelt, eller vent til den utløses av CloudWatch basert på cron-planen du spesifiserte.
    Denne funksjonen utløser Amazon Translate-batchjobben. Du kan se fremdriften til jobben på Amazon Translate-konsollen.
    Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Denne batchjobben tar omtrent 30 minutter å fullføre. Når den er fullført, TextTranslationJob tilstandsendringshendelse utløser funksjonen Translation Job Completion Handler. Denne funksjonen oppretter én menneskelig loop per oversatt dokument.
  2. Naviger til Amazon A2I arbeidsstyrker side.
  3. Velg Privat fanen.
    Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  4. Logg inn på Amazon A2I-arbeiderportalen ved å velge lenken for Nettadresse for pålogging for merkeportal.
  5. Velg oppgaven Human review task i jobblisten.
  6. Velg Begynn å jobbe.
    Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
    Du kan se følgende side vist.
    Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  7. Følg instruksjonene for å gjøre domene- og språkspesifikke rettelser.
    I det foregående skjermbildet er uttrykket "Bruk av helsestatus i enhver gruppehelseforsikring er forbudt ved lov" blitt oversatt til "La ley prohíbe el uso del estado de salud en cualquier póliza de seguro médico de grupo." Selv om oversettelsen er nøyaktig, har setningene blitt omorganisert.
  8. La oss endre dette til "El uso del estado de salud en cualquier póliza de seguro de salud grupal está prohibido por ley" for å gjøre dette til en mer direkte oversettelse som gjenspeiler den originale fraseologien.
  9. Plukke ut Legg til for å legge dette til i ordboken.
  10. Når du er ferdig, velg Send.
    Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Dette utløser funksjonen Workflow Completion Handler, og tilpasningsdataene oppdateres i DynamoDB-tabellen. Funksjonen lagrer også den korrigerte oversettelsen under prefikset etter redigering.

Du kan se tilpasningene som legges til translate_parallel_data tabellen på DynamoDB-konsollen.

Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Kommandoflyt

Parallel Data Refresher-funksjonen utløses hver time av en planlagt CloudWatch-hendelse. Denne funksjonen ser etter nye oppdateringer i translate_parallel_data tabell, oppretter en ny parallell data TMX-fil i Amazon S3 under parallel_data prefiks, og oppdaterer Amazon Translate parallelldatakomponenten. Du kan utløse denne funksjonen manuelt hvis du ikke vil vente på den planlagte hendelsesutløseren.

Du kan se at parallelldata oppdateres på Amazon Translate-konsollen.

Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Når den er fullført, skal jobbstatusen være Aktiv og verdien for Oppdaterte poster skal gjenspeile antall tilpasninger du har lagt til (i dette tilfellet 1).

Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Nå kan vi kjøre oversettelsesjobben igjen med de oppdaterte dataene. Utløs Translation Job Invoker-funksjonen igjen for å observere tilpasningen som legges til oversettelsen i den andre iterasjonen. Amazon Translate bruker nå parallelldataene for å tilpasse oversettelsen.

Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du kan se endringen i oversettelsesresultatet i merkeportalen. I stedet for standardoversettelsen ser vi at den tilpassede oversettelsen blir brukt.

Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Denne arbeidsflyten bidrar til å skape en god syklus for kontinuerlig å forbedre oversettelsesutdata ved å bruke Amazon A2I og Amazon Translate tilpasningsfunksjoner.

Kostnad

Med Amazon Translate og Amazon A2I betaler du mens du går basert på antall teksttegn du har behandlet og for hvert menneskevurdert objekt. Vi bruker DynamoDB on-demand-modus for dette eksemplet. DynamoDB belaster deg for lesingen og skrivingen som utføres på bordene dine. Se prissidene for Amazon Oversett, Amazon A2Iog Amazon DynamoDB for faktiske kostnader.

Rydd opp

Når du er ferdig med å eksperimentere med denne løsningen, kan du rydde opp i ressursene dine ved å bruke AWS CloudFormation-konsollen for å slette alle ressursene som er distribuert i dette eksemplet. Dette hjelper deg å unngå vedvarende kostnader på kontoen din.

konklusjonen

Du kan bruke løsningen presentert i dette innlegget til å bygge en flerspråklig oversettelsesarbeidsflyt som bruker og forsterker domenespesifikk tilpasning trinnvis for å kontinuerlig forbedre oversettelsesresultatene. Vi ga en enkel mekanisme for å integrere eksisterende tilpasningsressurser med administrerte AI-tjenester som Amazon Translate og Amazon A2I for å bygge en robust oversettelsestjeneste for applikasjonen din. Amazon Translate kan hjelpe deg med å skalere denne løsningen til å støtte over 5,550 oversettelsespar ut av esken. Amazon A2I kan hjelpe deg med å enkelt integrere med din interne språkekspert eller dra nytte av en ekstern arbeidsstyrke for å skalere løsningen.

For mer informasjon om Amazon Translate, besøk Amazon Translate-ressurser for å finne videoressurser og blogginnlegg, og referere til Vanlige spørsmål om AWS Translate. Del gjerne tankene dine med oss ​​i kommentarfeltet, eller i problem-delen av prosjektet Github depot.


Om forfatterne

Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Sathya Balakrishnan er en Sr Customer Delivery Architect i Professional Services-teamet hos AWS, med spesialisering i Data/ML-løsninger. Han jobber med amerikanske føderale finansklienter. Han brenner for å bygge pragmatiske løsninger for å løse kundenes forretningsproblemer. På fritiden liker han å se filmer og gå tur med familien.

Bygg en flerspråklig arbeidsflyt for dokumentoversettelse med domenespesifikk og språkspesifikk tilpasning PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Paul W. Joireman er en Sr Customer Delivery Architect i profesjonelle tjenester hos AWS, som spesialiserer seg på Application Migration og jobber med amerikanske føderale finansklienter. Paul liker å lage teknologiløsninger, reise med familien og gå på fotturer i Shenandoah nasjonalpark, så lenge turen avsluttes på et lokalt håndverksbryggeri.

Tidstempel:

Mer fra AWS maskinlæring