제퍼넷 로고

Amazon Translate로 구축된 사용자 지정 가능한 번역 솔루션으로 다국어 워크플로 가속화

시간

기업은 종종 다양한 언어로 대규모 고객, 파트너 및 이해관계자와 효과적으로 커뮤니케이션해야 합니다. 마케팅 자료, 제품 콘텐츠 자산, 운영 매뉴얼 및 법률 문서와 같은 콘텐츠를 번역하고 현지화해야 합니다. 기업의 각 사업부에는 서로 다른 번역 워크로드가 있으며 자체 번역 요구 사항 및 공급업체를 관리하는 경우가 많습니다. 이 분산된 접근 방식은 사업 단위에 번역 자율성과 유연성을 제공할 수 있지만 기업이 전사적으로 번역 일관성을 유지하기가 어려워집니다.

Amazon Translate는 신경 기계 번역 빠르고 고품질이며 저렴하고 사용자 정의 가능한 언어 번역을 제공하는 서비스입니다. 현재 Amazon Translate는 5,500개 이상의 언어 쌍에 대해 일괄 및 실시간으로 확장 가능한 언어 번역을 지원합니다. 사용자 지정 지원을 통해 다국어 워크플로를 가속화하는 방법을 찾을 때 여러 사업부가 있는 기업이 직면하는 문제를 해결하는 솔루션을 구축하는 데 사용할 수 있습니다.

예를 들어, BMW 그룹 영업 및 제조와 같은 사업부가 번역 기술을 대규모로 사용하고 기업 전체에서 일반적인 오역 문제를 제거하는 데 도움이 되는 통합 번역 솔루션이 필요했습니다. 그들의 솔루션 아마존 번역 번역 시간을 75% 이상 단축하는 동시에 각 사업부에 특정 번역 요구 사항을 충족하도록 출력을 사용자 정의할 수 있는 기능을 제공합니다.

이 블로그 게시물에서는 Amazon Translate 및 기타 AWS 서비스를 사용하여 사용자 지정 기능으로 통합 번역 솔루션을 구축하는 방법을 시연합니다. 또한 솔루션을 설치하고 테스트하는 방법과 부서의 현지화 요구 사항에 따라 사용자를 위해 사용자 정의 및 확장 가능한 번역 솔루션을 구축하는 방법을 보여줍니다.

솔루션 개요

이 솔루션은 실시간 번역, 자동 소스 언어 감지, 사용자 정의 용어. 사용 아마존 API 게이트웨이, 이러한 기능은 하나의 간단한 것으로 노출됩니다. /translate API. 사용자 지정 용어를 사용하면 특정 사용자 지정 번역 쌍을 정의할 수 있습니다. 사용자 지정 용어가 작동하려면 Amazon Translate에 용어 파일을 업로드해야 합니다. 따라서 다른 API /customterm 노출됩니다.

이 솔루션은 표준 번역과 사용자 정의 번역(사용자 정의 용어 기능 사용)의 두 가지 번역 옵션을 보여줍니다. 그러나 비즈니스 요구 사항에 맞게 필요에 따라 이러한 옵션을 수정할 수 있습니다. 소비자는 API 게이트웨이를 사용하여 이러한 옵션을 사용할 수 있습니다. API 키. API는 번역 요청을 받으면 요청을 검증합니다( AWS 람다 권한 부여자 기능) 제공된 API 키가 요청된 번역 유형을 수행할 권한이 있는지 여부. 우리는 아마존 DynamoDB 소비자, 권한 및 API 키에 대한 메타데이터 정보를 저장하는 테이블입니다.

이 솔루션은 세 가지 유형의 페르소나를 제공합니다.

  • 표준 번역 페르소나 – 사용자 지정 요구 사항이 없는 비즈니스 단위 내의 사용자. 여기에는 Amazon Translate의 자동 언어 감지와 같은 표준 번역 옵션 및 기능이 포함됩니다.
  • 맞춤형 번역 페르소나 – 사용자 지정 요구 사항이 있는 비즈니스 단위 내의 사용자. 여기에는 표준 번역을 위한 모든 기능과 사용자 지정 용어 파일을 사용하여 번역을 사용자 지정하는 기능이 포함됩니다.
  • 관리자 페르소나 – 사용자 정의 용어 파일의 업로드를 관리하여 사용자 정의 번역 옵션을 지원하지만 다른 번역 API 호출은 할 수 없습니다.

다음 다이어그램은 사용자 지정 아키텍처를 사용하는 중앙 집중식 번역 솔루션을 보여줍니다.

사용자 번역 페르소나의 경우 프로세스에는 다음 작업이 포함됩니다(이전 다이어그램의 파란색 경로).

1a. 전화 /translate API를 사용하고 API 헤더에 API 키를 전달합니다. 선택적으로 사용자 지정 번역 페르소나의 경우 사용자는 선택적 쿼리 문자열 매개 변수를 전달하여 사용자 지정 번역을 활성화할 수 있습니다(useCustomTerm).

2. API Gateway는 API 키를 검증합니다.

3. 제공된 API 키가 허용되는 작업의 유효성을 검사하기 위해 Lambda 사용자 지정 권한 부여자가 호출됩니다. 예를 들어 표준 번역 페르소나는 사용자 지정 번역을 요청할 수 없거나 관리자가 텍스트 번역을 수행할 수 없습니다.

4. Lambda 권한 부여자는 DynamoDB 테이블에서 사용자 정보를 가져오고 제공된 API 키를 확인합니다.

5a. 확인 후 Amazon Translate API를 호출하기 위해 다른 Lambda 함수(Translate)가 호출됩니다. translate_text.

6a. 번역된 텍스트는 API 응답으로 반환됩니다.

관리자 페르소나는 다음을 호출하여 맞춤형 번역 페르소나가 사용할 수 있는 맞춤형 용어 파일을 업로드할 수 있습니다. /customterm API. 워크플로 단계는 다음과 같습니다(이전 다이어그램의 녹색 경로).

1b. 전화 /customterm API를 사용하고 API 헤더에 API 키를 전달합니다.

2. API Gateway는 API 키를 검증합니다.

3. 제공된 API 키가 허용되는 작업의 유효성을 검사하기 위해 Lambda 사용자 지정 권한 부여자가 호출됩니다. 예를 들어 관리자 페르소나만 사용자 지정 용어 파일을 업로드할 수 있습니다.

4. Lambda 권한 부여자는 DynamoDB 테이블에서 사용자 정보를 가져오고 제공된 API 키를 확인합니다.

5b. API 키가 검증된 후 Amazon Translate API를 호출하기 위해 다른 Lambda 함수(업로드)가 호출됩니다. import_terminology.

6b. 사용자 지정 용어 파일은 Lambda 함수에서 생성된 고유한 이름으로 Amazon Translate에 업로드됩니다.

다음 섹션에서는 솔루션을 배포하고 테스트하는 단계를 안내합니다.

사전 조건

솔루션을 배포하려면 AWS 계정이 필요합니다. 아직 AWS 계정이 없다면 다음을 수행할 수 있습니다. 하나 만들어라.. AWS 계정에 대한 액세스 권한이 있어야 합니다. AWS 자격 증명 및 액세스 관리 (IAM) 실행 권한 AWS 클라우드 포메이션 IAM 역할을 생성하는 템플릿.

이 샘플 배포를 실행하는 동안 사용되는 AWS 서비스 비용은 귀하의 책임입니다. 이러한 많은 서비스(예: Amazon Translate, API Gateway 및 Lambda)는 시작할 수 있도록 프리 티어와 함께 제공됩니다. 자세한 내용은 이 게시물에서 사용하는 각 AWS 서비스의 요금 페이지를 참조하십시오.

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

제공된 CloudFormation 템플릿을 시작하여 AWS 계정에 솔루션을 배포합니다. 이 스택은 us-east-1 or eu-west-1 지역. 이 솔루션을 다른 지역에 배포하려면 다음을 참조하십시오. GitHub 레포 선택한 지역에 CloudFormation을 배포합니다.

  1. 원하는 지역에 대한 링크를 따라 최신 CloudFormation 템플릿을 배포하십시오.
지역 CloudFormation 스택
N. 버지니아(us-east-1) 스택 버튼 시작
아일랜드(eu-west-1) 스택 버튼 시작
  1. 메시지가 표시되면 AWS 계정 자격 증명을 사용하여 로그인합니다.
  2. 에 필드를 그대로 둡니다. 스택 생성 미리 채워진 기본값이 있는 페이지.
  3. 왼쪽 메뉴에서 다음 보기.
  4. 럭셔리 스택 이름, CloudFormation 스택의 이름을 입력합니다(이 게시물의 경우 EnterpriseTranslate).
  5. 럭셔리 DDB테이블이름¸ DynamoDB 테이블의 이름을 입력합니다(EnterpriseTranslateTable).
  6. 럭셔리 api게이트웨이이름, 스택에서 생성한 API 게이트웨이를 입력합니다(EnterpriseTranslateAPI).
  7. 럭셔리 apiGatewayStageName, API Gateway(prod)의 환경 이름을 입력합니다.
  8. 왼쪽 메뉴에서 다음 보기.
  9. 검토 페이지에서 확인란을 선택하여 IAM 리소스 생성을 확인합니다. 이는 CloudFormation이 스택에 필요한 리소스에 대한 액세스 권한을 부여하고 동적으로 리소스 이름을 지정하는 역할을 생성하도록 허용하는 데 필요합니다.
  10. 왼쪽 메뉴에서 스택 생성.

스택 생성 진행 상황을 모니터링할 수 있습니다. 이벤트 탭. 스택 상태가 다음과 같이 표시되면 스택이 완료된 것입니다. CREATE_COMPLETE.

배포는 다음 리소스를 생성합니다(모두 EntTranslate):

  • 라는 두 개의 리소스가 있는 API Gateway API /customterm/translate, XNUMX개의 번역 페르소나와 XNUMX개의 관리자 페르소나를 나타내는 XNUMX개의 API 키 포함
  • 세 가지 다른 역할(세 가지 API 키)을 가진 한 소비자를 반영하는 세 가지 항목이 있는 DynamoDB 테이블
  • 아키텍처 다이어그램에 따른 여러 Lambda 함수(Python 3.9 사용)

리소스가 AWS 클라우드의 계정에 배포된 후 솔루션을 테스트할 수 있습니다.

API 키 수집

API 키를 수집하려면 다음 단계를 완료하십시오.

  1. 로 이동 출력 CloudFormation 스택의 탭을 클릭하고 키 값을 복사합니다. apiGatewayInvokeURL.솔루션에서 생성한 API 키를 찾으려면 방금 생성한 DynamoDB 테이블을 보거나 API Gateway 콘솔에서 API 키 페이지로 이동합니다. 이 게시물은 후자의 접근 방식을 사용합니다.
  2. 자료 CloudFormation 스택의 탭에서 논리 ID를 찾습니다. EntTranslateApi API 게이트웨이에 대한 다음 아래의 링크를 엽니다. 물리적 ID 새 탭의 열.
  3. API Gateway 콘솔에서 API 키 탐색 창에서
  4. 솔루션에서 생성된 세 가지 API 키(표준, 사용자 지정, 관리자)를 기록해 둡니다. 예를 들어 표준 키를 선택합니다. EntTranslateCus1StandardTierKey 선택하고 링크 표시 API 키 속성에 대해.

이제 선택한 오픈 소스 도구를 사용하여 API를 테스트할 수 있습니다. 이 게시물에서는 다음을 사용합니다. 우편 집배원 설명을 위한 API 테스트 도구입니다. Postman을 사용한 API 테스트에 대한 자세한 내용은 다음을 참조하십시오. API 개발 개요.

테스트 1: 표준 번역

표준 번역 API를 테스트하려면 먼저 Postman에서 POST 요청을 생성합니다.

  1. 왼쪽 메뉴에서 요청 추가 포스트맨에서.
  2. 방법 유형을 다음과 같이 설정하십시오. POST.
  3. 배포된 CloudFormation 스택의 출력 탭에서 API Gateway 호출 URL을 입력합니다.
  4. 추가 /translate URL 끝점에.
  5. 헤더 탭에서 이름이 지정된 새 헤더 키를 추가합니다. x-api-key.
  6. 표준 API 키 값(API 키 수집 단계에서 복사)을 입력합니다.
  7. 신체 탭에서 살갗이 벗어 진 다음과 같이 JSON 본문을 입력합니다.
    { "sourceText": "some text to translate", "targetLanguage": "fr", "sourceLanguage":"en"}

    sourceLanguage 선택적 매개변수입니다. 제공하지 않으면 시스템에서 다음과 같이 설정합니다. auto 소스 언어의 자동 감지를 위해.

  8. 선택하여 API 호출 전송 출력을 확인합니다.

API는 성공적으로 실행되고 번역된 텍스트를 신체 응답 개체의 섹션입니다.

테스트 2: 사용자 정의 용어를 사용한 사용자 정의 번역

사용자 정의 용어 업로드 기능을 테스트하기 위해 먼저 Postman에서 PUT 요청을 생성합니다.

  1. 왼쪽 메뉴에서 요청 추가 포스트맨에서.
  2. 방법 유형을 다음과 같이 설정하십시오. PUT.
  3. API Gateway 호출 URL을 입력합니다.
  4. 추가 /customterm URL의 끝에.
  5. 헤더 탭에서 이름이 지정된 새 헤더 키를 추가합니다. x-api-key.
  6. 관리자 API 키 값(API 키 수집 단계에서 복사됨)을 입력합니다.
  7. 신체 탭에서 형식을 다음으로 변경합니다. 사용자 지정 용어 CSV 파일을 업로드합니다. 샘플 CSV 파일은 아래에 제공됩니다. /Resources GitHub 저장소의 폴더.
  8. 선택하여 API 호출 전송 출력을 확인합니다.

    API는 응답 개체의 본문 섹션에 "사용자 정의 용어가 성공적으로 업로드되었습니다"라는 메시지와 함께 성공적으로 실행되어야 합니다.
  9. Amazon Translate 콘솔에서 다음을 선택합니다. 맞춤 용어 탐색 창에서
    사용자 지정 용어 파일이 업로드되어 있어야 하며 용어 목록에 표시됩니다. 파일 이름 구문은 선택한 API 키에 대한 DynamoDB 테이블의 고객 ID와 문자열입니다. _customterm_1.
    관리 API 키를 사용하지 않은 경우 시스템에서 사용자 정의 용어 파일을 업로드하지 못합니다. 이제 사용자 정의 번역을 수행할 준비가 되었습니다.
  10. 왼쪽 메뉴에서 요청 추가 포스트맨에서.
  11. 방법 유형을 다음과 같이 설정하십시오. POST.
  12. API Gateway 호출 URL을 입력합니다.
  13. 추가 /translate URL 끝점에.
  14. 헤더 탭에서 이름이 지정된 새 헤더 키를 추가합니다. x-api-key.
  15. 표준 API 키 값을 입력합니다.
  16. 신체 탭에서 다음과 같이 JSON 본문을 입력합니다.
    { "sourceText": "some text to translate", "targetLanguage": "fr", "sourceLanguage":"en"}

  17. 매개 변수 탭에서 이름이 지정된 새 쿼리 문자열 매개변수를 추가합니다. useCustomTerm 가치가있는 1.
  18. 선택하여 API 호출 전송 출력을 확인합니다. "Unauthorized" 메시지와 함께 API가 실패해야 합니다. 표준 페르소나 API 키를 사용하여 사용자 지정 번역 기능을 호출하려고 하기 때문입니다.
  19. 헤더 탭에서 사용자 지정 API 키 값을 입력합니다.
  20. 테스트를 다시 실행하면 사용자 지정 용어 파일을 사용하여 번역할 수 있어야 합니다.

또한 이번에는 번역된 텍스트가 번역하지 않고 "translate"라는 단어를 유지한다는 것을 알 수 있습니다(제공된 샘플 파일을 사용한 경우). 이는 이전에 업로드된 사용자 지정 용어 파일에 "번역"이라는 단어가 포함되어 있어 사용자 지정 용어가 Amazon Translate의 기본 출력을 수정했음을 시사하기 때문입니다.

테스트 3: 추가 소비자 및 비즈니스 단위 추가

이 솔루션은 하나의 소비자(customerA) CloudFormation 스택 배포의 일부로 세 가지 다른 API 키를 사용합니다. API Gateway에서 새 사용량 계획을 생성하고 새 API 키를 이 사용량 계획에 연결하여 소비자를 추가할 수 있습니다. 사용량 계획 및 API 키 생성 방법에 대한 자세한 내용은 다음을 참조하십시오. API 키로 사용량 계획 생성 및 사용. 그런 다음 이러한 API 키를 DynamoDB 테이블의 추가 항목으로 추가할 수 있습니다.

정리

향후 요금이 발생하지 않도록 하려면 CloudFormation 스택의 일부로 생성한 리소스를 정리하십시오.

  1. AWS CloudFormation 콘솔에서 생성한 스택으로 이동합니다.
  2. 스택을 선택하고 선택 스택 삭제.

스택을 삭제하는 데 다소 시간이 걸릴 수 있습니다. 진행 상황을 추적할 수 있습니다. 이벤트 탭. 삭제가 완료되면 스택 상태가 DELETE_IN_PROGRESSDELETE_COMPLETE. 그러면 목록에서 사라집니다.

고려

이 솔루션을 사용할 때 다음 사항을 고려하십시오.

  • 이 솔루션에 대한 API 호출은 Amazon Translate API를 직접 호출하는 것보다 느립니다. 이는 솔루션이 추가 비즈니스 로직을 구현하고 추가 서비스(API 게이트웨이 및 Lambda)를 사용하기 때문입니다.
  • Amazon Translate에 유의하십시오. 서비스 제한 동기식 실시간 번역 및 사용자 지정 용어 파일용.
  • 이 솔루션은 API 키를 사용하여 API를 노출하는 데 중점을 둡니다. 이를 프로덕션 환경으로 가져갈 계획이라면 먼저 요청을 인증하기 위해 OIDC와 같은 개방형 산업 표준을 사용하는 인증 메커니즘을 고려하십시오. 자세한 내용은 다음을 참조하십시오. Amazon API Gateway를 사용하여 다중 테넌트 API 관리.

결론

이 게시물에서는 기본 API를 사용하여 Amazon Translate에서 실시간 번역을 수행하고, 사용자 지정 용어 파일을 업로드하고, 사용자 지정 번역을 수행하는 것이 얼마나 쉬운지 시연했으며, API Gateway로 사용자 지정을 지원하는 솔루션을 만들었습니다.

비즈니스 요구 사항과 관련된 사용자 지정을 통해 솔루션을 확장할 수 있습니다. 예를 들어 다음과 같은 추가 기능을 제공할 수 있습니다. 활성 사용자 정의 번역 다른 API 키를 통해 병렬 데이터를 사용하거나 캐싱 계층을 생성하여 이 솔루션과 함께 작동하여 번역 비용을 더욱 절감하고 캐시에서 자주 액세스하는 번역을 제공합니다. 다음을 활용하여 API 조절 및 속도 제한을 활성화할 수 있습니다. API 게이트웨이 기능. 가능성은 무궁무진하며, 우리는 귀하가 이 솔루션을 다음 단계로 끌어올리는 방법을 듣고 싶습니다. AWS 문의하기 요구. 다음으로 이동하여 이 솔루션 사용자 정의를 시작할 수 있습니다. GitHub 레포 이 블로그를 위해.

Amazon Translate에 대한 자세한 내용은 다음을 참조하십시오. Amazon Translate 리소스 비디오 리소스 및 블로그 게시물을 찾고 또한 참조하십시오. Amazon Translate FAQ. Amazon Translate를 처음 사용하는 경우 다음을 사용하여 사용해 보십시오. 프리 티어, 첫 번째 번역 요청부터 시작하여 첫 2개월 동안 매월 최대 12만자를 무료로 제공합니다.


저자,

파하드 아메드 Amazon Web Services(AWS)의 솔루션 아키텍트이며 영국의 디지털 네이티브 비즈니스를 관리합니다. 소프트웨어 애플리케이션 구축 및 설계 분야에서 17년 이상의 경력을 보유하고 있습니다. 그는 최근 대중이 AI 서비스에 접근할 수 있도록 하는 새로운 열정을 발견했습니다.

spot_img

최신 인텔리전스

spot_img

우리와 함께 채팅

안녕하세요! 어떻게 도와 드릴까요?