도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.

도메인별 및 언어별 사용자 지정을 통해 다국어 문서 번역 워크플로 구축

디지털 세계에서 현지 언어로 정보를 제공하는 것은 새로운 일은 아니지만 지루하고 비용이 많이 드는 작업이 될 수 있습니다. 기계 학습(ML) 및 자연어 처리(NLP)의 발전으로 이 작업이 훨씬 쉽고 저렴해졌습니다.

다국어 데이터 및 문서 처리 워크로드를 위한 ML 채택이 증가했습니다. 기업 및 정부 고객은 자동화된 ML 번역 서비스를 활용하기 위해 수동 번역 워크로드를 마이그레이션하고 있습니다. 아마존 번역은 신경 기계 번역 동기(실시간) 또는 비동기 번역 작업에 사용할 수 있는 수천 개의 언어 쌍 간에 빠르고 고품질이며 저렴한 언어 번역을 제공하는 서비스입니다. 사용 가능한 번역 쌍의 전체 목록은 다음을 참조하십시오. 지원되는 언어 및 언어 코드.

번역 워크로드를 마이그레이션하고 현대화하는 고객은 비즈니스 도메인에 맞게 번역을 사용자 정의할 수 있는 기능이 필요합니다. 번역 워크로드에는 지역 언어 방언이나 사용에 적응하는 기능도 필요할 수 있습니다. 예를 들어, "노인"의 스페인어 번역은 anciano(a)이지만 푸에르토리코에서는 envejeciente라는 단어가 선호됩니다.

이 게시물에서는 Amazon Translate의 ACT(Active Custom Translation) 기능을 통합하는 방법을 보여줍니다. 우리는 결과를 지속적으로 개선하고 최종 사용자를 기쁘게 하기 위해 필요에 따라 검토하고 보강할 수 있는 도메인 및 언어별 사용자 정의가 포함된 다국어 문서 번역 워크플로를 생성하는 솔루션을 제안합니다.

솔루션 개요

ACT는 사용자 지정 번역 모델을 구축 및 유지 관리할 필요 없이 사용자 지정 번역 출력을 생성합니다. Amazon Translate는 ACT를 사용하여 선호하는 번역 예제를 병렬 데이터로 사용하여 번역 결과를 사용자 지정함으로써 새로운 기계 학습 모델을 구축하고 교육하는 데 필요한 시간과 비용을 제거합니다.

이 게시물에서 다루는 솔루션은 다음을 사용하여 Human-in-the-loop 워크플로를 만드는 방법을 설명합니다. 아마존 증강 AI (Amazon A2I) 맞춤형 번역을 지속적으로 개선합니다. Amazon A2I는 ML 경험이 없어도 사람의 감독을 ML 워크플로에 통합하는 간단한 방법을 제공합니다. Amazon A2I를 사용하면 AWS에서 실행되든 다른 플랫폼에서 실행되든 관계없이 인간의 판단과 AI를 모든 ML 애플리케이션에 간단하게 통합할 수 있습니다.

자세한 내용은 다음을 참조하십시오. Amazon Translate 및 Amazon Augmented AI를 사용한 휴먼 리뷰 워크 플로우 설계 말한다.

다음 다이어그램은 솔루션의 명령 흐름과 데이터 흐름을 보여줍니다. 명령 흐름은 워크플로의 논리적 이벤트 순서를 보여줍니다. 데이터 흐름은 솔루션의 다양한 구성 요소에서 데이터를 생성하거나 사용하는 방법을 나타냅니다.

도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.

다음 시퀀스 다이어그램은 솔루션의 두 가지 개별 프로세스인 번역 워크플로(A)와 병렬 데이터 업데이트 프로세스(B)를 보여줍니다.

번역 워크플로는 아마존 클라우드 워치 번역 작업 호출자를 시작하는 예약된 이벤트 AWS 람다 기능. 이 함수는 Amazon Translate에서 비동기식 번역 작업을 생성하여 번역할 문서와 번역을 사용자 지정하기 위한 병렬 데이터의 위치를 ​​전달합니다. 번역 작업은 병렬 데이터를 읽고, 번역을 수행하고, 번역된 결과를 다시 아마존 S3 버킷. 이 글을 쓰는 시점에서 비동기 번역 작업만 병렬 데이터를 사용할 수 있습니다.

번역 작업이 완료되면 번역 작업 완료 핸들러 Lambda 함수를 트리거하는 이벤트가 생성됩니다. 이 함수는 워크플로의 Amazon A2I 부분의 주요 구성 요소인 휴먼 워크플로 루프를 생성합니다.

검토자가 번역을 평가하고 번역을 수락하거나 수정합니다. 모든 수정 사항은 번역된 문서를 업데이트하는 데 사용되며 사용자 정의 사전에도 추가됩니다. 검토가 완료되면 워크플로 완료 처리기 기능을 트리거하는 다른 이벤트가 생성됩니다. 이 함수는 최신 번역 문서를 Amazon S3에 다시 씁니다. 사용자 정의 데이터는 업데이트하는 데 사용됩니다. 아마존 DynamoDB 소스 및 번역된 텍스트 쌍이 있는 테이블.

루프를 닫으려면 DynamoDB에 저장된 이 사용자 지정 데이터를 Amazon S3에 저장된 병렬 데이터에 다시 통합해야 합니다. 이를 위해 예약된 CloudWatch 이벤트를 사용하여 DynamoDB 테이블에서 데이터를 읽고 병렬 데이터로 다시 포맷하고 S3 버킷을 업데이트하여 병렬 데이터를 저장하는 병렬 데이터 새로 고침 기능을 트리거합니다.

AWS CloudFormation을 사용하여 솔루션 배포

제공된 실행 AWS 클라우드 포메이션 템플릿을 사용하여 계정에 솔루션을 배포합니다. 이 스택은 us-east-1 리전에서만 작동합니다. 이 솔루션을 다른 지역에 배포하려면 다음을 참조하십시오. GitHub 레포.

  1. 왼쪽 메뉴에서 발사 스택:
    도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.
  2. 지침에 따라 필요한 매개변수를 채우십시오. 이 스택을 처음 실행하는 경우 SNS 이메일 유일한 필수 매개변수입니다.
  3. 검토 페이지에서 기능 섹션에서 확인란을 선택하고 스택 생성.

도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.

스택은 다음과 같은 주요 구성 요소를 생성합니다.

  • 커스터마이징 데이터 – DynamoDB 테이블(translate_parallel_data) 사용자 지정 데이터를 유지 관리합니다. 기존 사용자 지정 데이터를 이 테이블로 마이그레이션합니다. 이 테이블은 사용자 정의를 지속적으로 추가하고 업데이트하는 데 사용됩니다.
  • 병렬 데이터 리프레셔 – DynamoDB 테이블의 사용자 지정 데이터를 병렬 데이터 형식(CSV, TSV 또는 TMX)으로 변환하고 Amazon S3에 저장하는 Lambda 함수. Amazon S3의 새로운 병렬 데이터 파일로 병렬 데이터를 생성하고 업데이트합니다.
  • 번역 작업 호출자 – 병렬 데이터로 Amazon Translate 배치 작업을 시작하는 Lambda 함수.
  • 번역 작업 완료 핸들러 – 이 Lambda 함수는 Amazon Translate 배치 작업이 완료되면 트리거됩니다. 이 함수는 문서당 하나의 휴먼 루프를 생성합니다(처리된 문서의 선택된 비율에 대해서만 휴먼 루프를 생성하기 위해 이 기능을 향후 개선할 것입니다). 원본 및 번역된 문서를 사용하여 휴먼 루프를 만듭니다.
  • Amazon A2I 사용자 지정 템플릿 – 이 템플릿은 사람이 검토할 번역 쌍을 렌더링하는 데 사용됩니다. 템플릿에는 추가 모든 번역 세그먼트에 대한 옵션입니다. 사용자는 이 옵션을 선택하여 사용자 지정 데이터에 수정 사항을 추가할 수 있습니다. 새 사용자 지정 데이터는 다음 일괄 번역 작업에서 사용됩니다.
  • 워크플로 완료 처리기 – 이 Lambda 함수는 휴먼 워크플로가 완료되면 트리거됩니다. 이 기능은 번역된 문서를 수정 사항으로 업데이트하고 병렬 데이터 업데이트를 확인합니다. 새로운 병렬 데이터가 DynamoDB 테이블에 추가됩니다.
  • Amazon A2I 프라이빗 팀 – 제공된 이메일을 사용하여 작업자와 함께 Amazon A2I 프라이빗 팀을 생성합니다. 개인 팀이 성공적으로 생성되면 초기 자격 증명이 이메일로 전송됩니다. 이 이메일과 자격 증명을 사용하여 Amazon A2I 작업자 포털에 로그인합니다.

솔루션 테스트

XNUMXD덴탈의 sample_text.txt 파일은 스택에서 생성된 S3 버킷의 입력 접두사 아래에 생성되었을 것입니다. 우리는 이 파일을 테스트에 사용합니다. 다음 내용이 포함되어 있습니다.

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.

솔루션을 테스트하려면 다음 단계를 완료하십시오.

  1. 번역 작업 호출자 기능을 수동으로 호출하거나 지정한 cron 일정에 따라 CloudWatch에서 트리거될 때까지 기다립니다.
    이 함수는 Amazon Translate 배치 작업을 트리거합니다. Amazon Translate 콘솔에서 작업 진행 상황을 관찰할 수 있습니다.
    도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.이 일괄 작업을 완료하는 데 약 30분이 걸립니다. 완료되면 TextTranslationJob 상태 변경 이벤트는 번역 작업 완료 핸들러 기능을 트리거합니다. 이 기능은 번역된 문서당 하나의 휴먼 루프를 생성합니다.
  2. 로 이동 Amazon A2I 인력 페이지.
  3. 선택 프라이빗 투어 탭.
    도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.
  4. 링크를 선택하여 Amazon A2I 작업자 포털에 로그인합니다. 포털 로그인 URL 레이블 지정.
  5. 작업 선택 Human review task 작업 목록에서.
  6. 왼쪽 메뉴에서 일을 시작하다.
    도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.
    다음 페이지가 표시되는 것을 볼 수 있습니다.
    도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.
  7. 지침에 따라 도메인 및 언어별로 수정합니다.
    앞의 스크린샷에서 "모든 그룹 건강 보험 정책에서 건강 상태를 사용하는 것은 법으로 금지되어 있습니다"라는 문구가 "La ley prohíbe el uso del estado de salud en cualquier póliza de seguro médico de grupo"로 번역되었습니다. 번역은 정확하지만 구문이 재배열되었습니다.
  8. 이것을 "El uso del estado de salud en cualquier póliza de seguro de salud grupal está prohibido por ley"로 수정하여 원래의 어법을 반영하는 보다 직접적인 번역이 되도록 합시다.
  9. 선택 추가 이것을 사전에 추가합니다.
  10. 완료되면 선택 문의하기.
    도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.

그러면 워크플로 완료 처리기 기능이 트리거되고 DynamoDB 테이블에서 사용자 지정 데이터가 업데이트됩니다. 이 함수는 또한 수정된 번역을 사후 편집 접두사 아래에 저장합니다.

추가되는 사용자 정의를 관찰할 수 있습니다. translate_parallel_data DynamoDB 콘솔의 테이블.

도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.

명령 흐름

병렬 데이터 새로 고침 기능은 CloudWatch 예약 이벤트에 의해 매시간 트리거됩니다. 이 기능은 새 업데이트를 확인합니다. translate_parallel_data 테이블 아래에서 Amazon S3에 새로운 병렬 데이터 TMX 파일을 생성합니다. parallel_data 접두사를 추가하고 Amazon Translate 병렬 데이터 구성 요소를 업데이트합니다. 예약된 이벤트 트리거를 기다리지 않으려면 이 기능을 수동으로 트리거할 수 있습니다.

Amazon Translate 콘솔에서 업데이트되는 병렬 데이터를 관찰할 수 있습니다.

도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.

완료되면 작업 상태는 다음과 같아야 합니다. 최근활동 값은 업데이트된 기록 추가한 사용자 정의 수를 반영해야 합니다(이 경우 1).

도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.

이제 업데이트된 데이터로 번역 작업을 다시 실행할 수 있습니다. 번역 작업 호출자 기능을 다시 트리거하여 두 번째 반복에서 번역에 추가되는 사용자 정의를 관찰합니다. 이제 Amazon Translate는 제공된 병렬 데이터를 사용하여 번역을 사용자 지정합니다.

도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.

라벨링 포털에서 번역 출력의 변화를 관찰할 수 있습니다. 기본 번역 대신 사용자 정의 번역이 적용되는 것을 볼 수 있습니다.

도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.

이 워크플로는 Amazon A2I 및 Amazon Translate 사용자 지정 기능을 사용하여 번역 출력을 지속적으로 개선하는 선순환을 생성하는 데 도움이 됩니다.

비용

Amazon Translate 및 Amazon A2I를 사용하면 처리한 텍스트 문자 수와 사람이 검토한 각 객체에 따라 사용한 만큼만 지불합니다. 이 예에서는 DynamoDB 온디맨드 모드를 사용합니다. DynamoDB는 테이블에서 수행된 읽기 및 쓰기에 대해 요금을 부과합니다. 가격 책정 페이지를 참조하십시오. 아마존 번역, 아마존 A2I아마존 DynamoDB 실제 비용.

정리

이 솔루션 실험을 마치면 AWS CloudFormation 콘솔을 사용하여 이 예제에 배포된 모든 리소스를 삭제하여 리소스를 정리하십시오. 이렇게 하면 계정에서 계속 발생하는 비용을 피할 수 있습니다.

결론

이 게시물에 제공된 솔루션을 사용하여 도메인별 사용자 지정을 점진적으로 사용하고 확장하여 번역 결과를 지속적으로 개선하는 다국어 번역 워크플로를 구축할 수 있습니다. 기존 사용자 지정 자산을 Amazon Translate 및 Amazon A2I와 같은 관리형 AI 서비스와 통합하여 애플리케이션을 위한 강력한 번역 서비스를 구축하는 간단한 메커니즘을 제공했습니다. Amazon Translate는 이 솔루션을 확장하여 기본적으로 5,550개 이상의 번역 쌍을 지원하도록 도울 수 있습니다. Amazon A2I를 사용하면 사내 언어 전문가와 쉽게 통합하거나 외부 인력을 활용하여 솔루션을 확장할 수 있습니다.

Amazon Translate에 대한 자세한 내용은 다음을 참조하십시오. Amazon Translate 리소스 비디오 리소스 및 블로그 게시물을 찾고 AWS 번역 FAQ. 의견 섹션 또는 프로젝트의 문제 섹션에서 귀하의 생각을 공유해 주십시오. Github 저장소.


저자에 관하여

도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.사티아 발라크리슈난 데이터/ML 솔루션을 전문으로 하는 AWS 전문 서비스 팀의 수석 고객 제공 설계자입니다. 그는 미국 연방 금융 고객과 함께 일합니다. 그는 고객의 비즈니스 문제를 해결하기 위한 실용적인 솔루션을 구축하는 데 열정적입니다. 여가 시간에는 가족과 함께 영화 감상과 하이킹을 즐깁니다.

도메인별 및 언어별 맞춤형 PlatoBlockchain Data Intelligence로 다국어 문서 번역 워크플로를 구축하십시오. 수직 검색. 일체 포함.폴 W. 조이어먼 애플리케이션 마이그레이션을 전문으로 하고 미국 연방 금융 고객과 협력하는 AWS의 전문 서비스 수석 고객 제공 설계자입니다. Paul은 하이킹이 지역 수제 양조장에서 끝나는 한 셰넌도어 국립공원에서 가족과 함께 여행하고 하이킹을 하고 기술 솔루션을 만드는 것을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습