Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Creați un flux de lucru de traducere a documentelor în mai multe limbi cu personalizare specifică domeniului și limbii

În lumea digitală, furnizarea de informații într-o limbă locală nu este inedită, dar poate fi o sarcină obositoare și costisitoare. Progresele în învățarea automată (ML) și procesarea limbajului natural (NLP) au făcut această sarcină mult mai ușoară și mai puțin costisitoare.

Am observat o adoptare crescută a ML pentru sarcinile de lucru multilingve de prelucrare a datelor și a documentelor. Clienții întreprinderi și guvernamentali își migrează sarcinile de lucru de traducere manuală pentru a profita de serviciile de traducere automată ML. Amazon Translate este un traducere automată neuronală serviciu care oferă traduceri de limbi rapide, de înaltă calitate și la prețuri accesibile între câteva mii de perechi de limbi care pot fi utilizate pentru sarcini de traducere sincrone (în timp real) sau asincrone. Pentru o listă completă a perechilor de traduceri disponibile, consultați Limbi și coduri de limbă acceptate.

Clienții care migrează și își modernizează sarcinile de lucru de traducere au nevoie de capacitatea de a personaliza traducerile pentru domeniul lor de afaceri. Un volum de muncă de traducere poate necesita, de asemenea, capacitatea de a se adapta dialectelor sau utilizării limbilor regionale. De exemplu, traducerea în spaniolă a „elderly” este anciano(a), dar în Puerto Rico se preferă cuvântul envejeciente.

În această postare, demonstrăm cum să încorporăm caracteristica Active Custom Translation (ACT) a Amazon Translate. Vă propunem o soluție pentru a crea un flux de lucru de traducere a documentelor în mai multe limbi, cu personalizări specifice domeniului și limbii pe care le puteți revizui și crește după cum este necesar pentru a îmbunătăți continuu rezultatele și a încânta utilizatorii finali.

Prezentare generală a soluțiilor

ACT produce rezultate traduse personalizate, fără a fi nevoie de a construi și de a menține un model de traducere personalizat. Folosind ACT, Amazon Translate va folosi exemplele de traducere preferate ca date paralele pentru a personaliza rezultatul traducerii, eliminând timpul și costul necesar pentru a construi și a antrena un nou model de învățare automată.

Soluția acoperită în această postare explică cum să creați un flux de lucru uman în buclă folosind AI augmentată Amazon (Amazon A2I) pentru a îmbunătăți continuu traducerea personalizată. Amazon A2I oferă o modalitate simplă de a integra supravegherea umană în fluxurile dvs. de lucru ML, fără a fi necesară experiența ML. Amazon A2I simplifică integrarea raționamentului uman și AI în orice aplicație ML, indiferent dacă rulează pe AWS sau pe altă platformă.

Pentru mai multe informații consultați Proiectarea fluxurilor de lucru pentru recenzii umane cu Amazon Translate și Amazon Augmented AI post.

Următoarea diagramă afișează fluxul de comenzi și fluxul de date al soluției. Fluxul de comandă arată secvența logică a evenimentelor din fluxul de lucru. Un flux de date indică modul în care datele sunt create sau utilizate de diferite componente ale soluției.

Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Următoarea diagramă de secvență arată două procese separate în soluție: fluxul de lucru de traducere (A) și procesul de actualizare a datelor paralele (B).

Fluxul de lucru de traducere este inițiat de un Amazon CloudWatch eveniment programat care pornește Traducere Job Invoker AWS Lambdas funcţie. Această funcție creează o lucrare de traducere asincronă în Amazon Translate, transmițând documentul de tradus și locația datelor paralele pentru a personaliza traducerea. Lucrarea de traducere citește datele paralele, realizează traducerea și scrie rezultatul tradus înapoi în an Amazon S3 găleată. În momentul scrierii acestui articol, numai lucrările de traducere asincronă pot folosi date paralele.

Când lucrarea de traducere este finalizată, este generat un eveniment care declanșează funcția Lambda Handler de finalizare a lucrărilor de traducere. Această funcție creează o buclă de flux de lucru uman - componenta principală a porțiunii Amazon A2I a fluxului de lucru.

Evaluatorii umani evaluează traducerea și acceptă sau modifică traducerea. Orice corecții sunt utilizate pentru a actualiza documentul tradus și, de asemenea, sunt adăugate la un dicționar de personalizare. Când revizuirea este finalizată, este generat un alt eveniment pentru a declanșa funcția Workflow Completion Handler. Această funcție scrie cel mai recent document tradus înapoi pe Amazon S3. Datele de personalizare sunt folosite pentru a actualiza un Amazon DynamoDB tabel cu sursa și perechile de text tradus.

Pentru a închide bucla, trebuie să încorporam aceste date de personalizare stocate în DynamoDB înapoi în datele paralele stocate în Amazon S3. Pentru a realiza acest lucru, folosim un eveniment CloudWatch programat pentru a declanșa funcția Parallel Data Refresher, care citește datele din tabelul DynamoDB, le reformatează ca date paralele și actualizează compartimentul S3, stochând datele paralele.

Implementați soluția cu AWS CloudFormation

Lansați furnizarea Formarea AWS Cloud șablon pentru a implementa soluția în contul dvs. Această stivă funcționează numai în regiunea us-east-1. Dacă doriți să implementați această soluție în alte regiuni, consultați următoarele GitHub repo.

  1. Alege Lansați Stack:
    Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  2. Urmați instrucțiunile pentru a completa parametrii necesari. Dacă rulați această stivă pentru prima dată, E-mail SNS este singurul parametru necesar.
  3. Pe Recenzie pagina, în Capabilitățile secțiunea, bifați caseta de selectare și alegeți Creați stivă.

Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Stiva creează următoarele componente cheie:

  • Date de personalizare – Un tabel DynamoDB (translate_parallel_data) pentru a menține datele de personalizare. Migrați datele de personalizare existente în acest tabel. Acest tabel este folosit pentru a adăuga și actualiza continuu personalizări.
  • Actualizare paralelă a datelor – Funcția Lambda pentru a converti datele de personalizare din tabelul DynamoDB într-un format de date paralel — CSV, TSV sau TMX — și pentru a le stoca în Amazon S3. Acesta creează și actualizează date paralele cu noul fișier de date paralele din Amazon S3.
  • Traducere Job Invoker – Funcția Lambda pentru a porni jobul Amazon Translate în lot cu date paralele.
  • Handler de finalizare a postului de traducere – Această funcție Lambda este declanșată când jobul Amazon Translate în lot este finalizat. Funcția creează o buclă umană per document (vom rafina acest lucru în viitor pentru a crea o buclă umană doar pentru un anumit procent de documente procesate). Folosește documentele originale și traduse pentru a crea bucla umană.
  • Șablon personalizat Amazon A2I – Acest șablon este folosit pentru a reda perechea de traduceri pentru revizuire umană. Șablonul are Adăuga opțiune pentru fiecare segment de traducere. Utilizatorii pot selecta această opțiune pentru a adăuga corecții la datele de personalizare. Noile date de personalizare sunt utilizate în următoarea lucrare de traducere în lot.
  • Handler de finalizare a fluxului de lucru – Această funcție Lambda este declanșată când fluxul de lucru uman este complet. Funcția actualizează documentul tradus cu corecții și verifică dacă există actualizări paralele de date. Date paralele noi sunt adăugate la tabelul DynamoDB.
  • Echipa privată Amazon A2I – O echipă privată Amazon A2I este creată cu un lucrător uman folosind e-mailul furnizat. Acreditările inițiale sunt trimise prin e-mail la crearea cu succes a echipei private. Utilizați acest e-mail și această autentificare pentru a vă conecta la portalul Amazon A2I pentru lucrători.

Testați soluția

sample_text.txt fișierul ar fi fost creat sub prefixul de intrare al găleții S3 creat de stivă. Folosim acest fișier pentru testarea noastră. Acesta conține următorul conținut:

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.

Pentru a testa soluția, parcurgeți următorii pași:

  1. Invocați manual funcția Translation Job Invoker sau așteptați ca aceasta să fie declanșată de CloudWatch pe baza programului cron pe care l-ați specificat.
    Această funcție declanșează jobul Amazon Translate în lot. Puteți observa progresul lucrării pe consola Amazon Translate.
    Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.Această lucrare în lot durează aproximativ 30 de minute. Când este complet, TextTranslationJob evenimentul de modificare a stării declanșează funcția Handler de finalizare a lucrărilor de traducere. Această funcție creează o buclă umană pentru fiecare document tradus.
  2. Navigați către Forța de muncă Amazon A2I .
  3. Alege Privat tab.
    Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  4. Conectați-vă la portalul pentru lucrători Amazon A2I alegând linkul pentru Etichetarea adresei URL de conectare la portal.
  5. Selectați sarcina Human review task în lista de locuri de muncă.
  6. Alege Incepe munca.
    Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.
    Puteți vedea următoarea pagină afișată.
    Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  7. Urmați instrucțiunile pentru a face corecții specifice domeniului și limbii.
    În captura de ecran anterioară, expresia „Utilizarea stării de sănătate în orice poliță de asigurări de sănătate de grup este interzisă prin lege” a fost tradusă în „La ley prohíbe el uso del estado de salud în orice póliza de seguro médico de grupo”. Deși traducerea este corectă, frazele au fost rearanjate.
  8. Să modificăm acest lucru în „El uso del estado de salud en cualquier póliza de seguro de salud grupal está prohibido por ley” pentru a face din aceasta o traducere mai directă care să reflecte frazeologia originală.
  9. Selectați Adăuga pentru a adăuga acest lucru în dicționar.
  10. Când ai terminat, alege Trimite mesaj.
    Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Aceasta declanșează funcția Workflow Completion Handler, iar datele de personalizare sunt actualizate în tabelul DynamoDB. Funcția stochează și traducerea corectată sub prefixul post-editări.

Puteți observa personalizările la care se adaugă translate_parallel_data tabel de pe consola DynamoDB.

Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Fluxul de comandă

Funcția Parallel Data Refresher este declanșată la fiecare oră de un eveniment programat CloudWatch. Această funcție verifică noi actualizări în translate_parallel_data tabel, creează un nou fișier TMX de date paralele în Amazon S3 sub parallel_data prefix și actualizează componenta de date paralele Amazon Translate. Puteți declanșa această funcție manual dacă nu doriți să așteptați declanșarea evenimentului programat.

Puteți observa datele paralele actualizate pe consola Amazon Translate.

Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Când este complet, starea jobului ar trebui să fie Activ și valoarea pentru Înregistrări actualizate ar trebui să reflecte numărul de personalizări pe care le-ați adăugat (în acest caz 1).

Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Acum putem rula din nou lucrarea de traducere cu datele actualizate. Declanșați din nou funcția Translation Job Invoker pentru a observa personalizarea adăugată la traducere în a doua iterație. Amazon Translate folosește acum datele paralele furnizate pentru a personaliza traducerea.

Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Puteți observa modificarea rezultatului traducerii în portalul de etichetare. În loc de traducerea implicită, vedem că se aplică traducerea personalizată.

Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Acest flux de lucru ajută la crearea unui ciclu virtuos care să îmbunătățească continuu rezultatul traducerii folosind funcțiile de personalizare Amazon A2I și Amazon Translate.

A costat

Cu Amazon Translate și Amazon A2I, plătiți pe măsură ce mergeți în funcție de numărul de caractere text pe care le-ați procesat și pentru fiecare obiect revizuit de oameni. Folosim modul la cerere DynamoDB pentru acest exemplu. DynamoDB vă taxează pentru citirile și scrierile efectuate pe tabelele dvs. Consultați paginile de prețuri pentru Traducerea Amazon, Amazon A2I, și Amazon DynamoDB pentru costurile reale.

A curăța

Când ați terminat de experimentat cu această soluție, curățați-vă resursele utilizând consola AWS CloudFormation pentru a șterge toate resursele implementate în acest exemplu. Acest lucru vă ajută să evitați costurile continue în contul dvs.

Concluzie

Puteți folosi soluția prezentată în această postare pentru a construi un flux de lucru de traducere în mai multe limbi care utilizează și sporește personalizarea specifică domeniului în mod progresiv pentru a îmbunătăți continuu rezultatele traducerii. Am oferit un mecanism simplu de integrare a activelor dvs. de personalizare existente cu servicii AI gestionate precum Amazon Translate și Amazon A2I pentru a construi un serviciu de traducere robust pentru aplicația dvs. Amazon Translate vă poate ajuta să scalați această soluție pentru a accepta peste 5,550 de perechi de traduceri din cutie. Amazon A2I vă poate ajuta să vă integrați cu ușurință cu expertul lingvistic intern sau să profitați de forța de muncă externă pentru a extinde soluția.

Pentru mai multe informații despre Amazon Translate, vizitați Resurse Amazon Translate pentru a găsi resurse video și postări pe blog și pentru a consulta Întrebări frecvente AWS Translate. Vă rugăm să vă împărtășiți gândurile cu noi în secțiunea de comentarii sau în secțiunea probleme a proiectului Depozit Github.


Despre Autori

Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.Sathya Balakrishnan este un arhitect senior de livrare a clienților în echipa de servicii profesionale de la AWS, specializat în soluții de date/ML. Lucrează cu clienți financiari federali din SUA. Este pasionat de construirea de soluții pragmatice pentru a rezolva problemele de afaceri ale clienților. În timpul liber, îi place să se uite la filme și să facă drumeții cu familia.

Build a multi-lingual document translation workflow with domain-specific and language-specific customization PlatoBlockchain Data Intelligence. Vertical Search. Ai.Paul W. Joireman este un arhitect senior de livrare a clienților în servicii profesionale la AWS, specializat în migrarea aplicațiilor și lucrează cu clienți financiari federali din SUA. Lui Paul îi place să creeze soluții tehnologice, să călătorească cu familia și să facă drumeții în Parcul Național Shenandoah, atâta timp cât drumeția se termină la o fabrică de bere artizanală locală.

Timestamp-ul:

Mai mult de la Învățare automată AWS