Amazon Web Services 한국 블로그

Amazon Translate – Office 문서 자동 번역 기능 출시 (서울 리전 포함)

콘텐츠를 현지 언어로 번역하는 것은 여러 국가에서 사업을 운영하는 다국적 기업이나 국제적인 성공에 목 마른 소규모 스타트업 모두에게 인내심이 요구되는 어려운 문제일 수 있습니다. 텍스트 데이터는 형식이 일정하지 않은 경우가 많고, 처리하는 데에 여러 가지 도구가 필요할 수 있습니다. 또한, 모든 도구가 같은 언어 쌍을 지원하지 않을 수 있기 때문에 특정 문서를 중간 형식으로 변환하거나 심지어 직접 번역을 해야 할 수도 있습니다. 이 모든 문제로 인해 추가 비용이 발생하고, 일관적이면서 자동화된 번역 워크플로를 구축하는 작업이 불필요하게 복잡해집니다.

Amazon Translate는 간단하고 비용 효율적인 방법으로 이러한 문제를 해결하고자 합니다. AWS 고객은 AWS 콘솔이나 한 번의 API 호출로 Amazon Translate를 사용해 텍스트를 55가지 언어 및 지역 방언으로 빠르고 정확하게 번역할 수 있습니다.

올해 초에는 Amazon Translate에 일반 텍스트와 HTML 문서를 위한 배치 번역 기능이 도입되었습니다. 오늘부터 이 배치 번역 기능에서 Office 문서, 즉 Office Open XML 표준으로 정의된 .docx, .xlsx, .pptx 파일 지원을 시작한다는 기쁜 소식을 알려드리려고 합니다.

Office 문서에서 Amazon Translate 사용하기
과정은 매우 간단합니다. 이미 짐작하고 계시겠지만, 원본 문서는 Amazon Simple Storage Service(S3) 버킷에 저장해야 합니다. 문서는 20MB 이내, 또는 100만 자 이내여야 합니다.

각 배치 번역 작업에서는 한 가지 파일 유형과 단일 소스 언어를 처리합니다. 그러므로 S3에서 문서를 논리적으로 정리하고, 고유한 접두사에 각 파일 유형과 각 언어를 저장하는 것이 좋습니다.

그런 다음, AWS 콘솔이나 AWS 언어 SDK 중 하나에 있는 StartTextTranslationJob API에서 번역 작업을 시작하고 다음을 전달합니다.

  • Amazon S3의 입력 및 출력 위치,
  • 파일 유형,
  • 소스 및 대상 언어.

이 작업이 완료되면 출력 위치에서 번역된 파일을 찾을 수 있습니다.

간단한 데모를 보여드리겠습니다!

Office 문서 번역
먼저
S3 콘솔을 사용해 몇 개의 .docx 문서를 버킷 중 하나에 업로드합니다.

S3 파일

그런 다음, Translate 콘솔로 이동해서 새로운 배치 번역 작업을 생성하고, 이름을 지정하고, 소스 및 대상 언어를 선택합니다.

배치 작업 생성

이제 S3에서의 문서 위치, 형식을 정의합니다. 이 경우에는 .docx가 됩니다. 또는, 사용자 지정 용어를 적용하여 특정 단어가 원하는 방식으로 정확히 번역되도록 할 수 있습니다.

마찬가지로 번역된 파일의 출력 위치를 지정합니다. Translate에서 경로가 생성되지 않기 때문에 경로가 존재하는지 확인해야 합니다.

배치 작업 생성

마지막으로 AWS Identity and Access Management(IAM) 역할을 설정해서 Translate 작업에 적절한 S3 액세스 권한을 부여합니다. 여기에서는 앞서 생성한 기존의 역할을 사용했지만 Translate에서 대신 역할을 생성하게 할 수도 있습니다. 그런 다음, ‘작업 생성’을 클릭하고 배치 작업을 시작합니다.

배치 작업 생성

작업은 즉시 시작됩니다.

배치 작업 실행

잠시 후 작업이 완료됩니다. 문서 3개가 전부 번역되었습니다.

완료된 작업 보기

번역된 파일은 출력 위치에서 사용할 수 있으며, S3 콘솔에서 확인할 수 있습니다.

번역된 파일 보기

번역된 파일 중 하나를 다운로드해서 열고, 원본 버전과 비교합니다.

파일 비교

소규모인 경우 AWS 콘솔을 사용하여 Office 파일을 번역하는 편이 훨씬 쉽습니다. 물론 Translate API를 사용하여 자동 워크플로를 구축할 수도 있습니다.

배치 번역 자동화
이전의 게시물에서 AWS Lambda 함수로 배치 번역을 자동화하는 방법을 보여드렸습니다. 이 예시를 확장하여 Amazon Comprehend로 언어 참지를 추가할 수 있습니다. 예를 들어 DetectDominantLanguage API와 Python-docx 오픈 소스 라이브러리를 결합하고 .docx 파일의 언어를 탐지하는 방법은 다음과 같습니다.

import boto3, docx
from docx import Document

document = Document('blog_post.docx')
text = document.paragraphs[0].text
comprehend = boto3.client('comprehend')
response = comprehend.detect_dominant_language(Text=text)
top_language = response['Languages'][0]
code = top_language['LanguageCode']
score = top_language['Score']
print("%s, %f" % (code,score))

꽤 간단하죠! 확장자를 기준으로 각 파일 유형을 탐지하고 S3의 적절한 입력 위치로 이동할 수 있습니다. 그런 다음, CloudWatch Events로 Lambda 함수를 예약하여 정기적으로 파일을 번역하고 이메일로 알림을 보낼 수 있습니다. 물론 AWS Step Functions를 사용하여 더욱 정교한 워크플로를 구축할 수 있습니다. 상상력으로 무엇이든 할 수 있습니다!

시작하기
오늘부터 미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(오레곤), EU(아일랜드), EU(런던), EU(프랑크푸르트), 아시아 태평양(서울)에서 Office 문서 번역을 사용할 수 있습니다.

아직 Amazon Translate를 사용해 본 적이 없으면, 첫 번역 요청부터 시작하여 첫 12개월 동안 매달 2백만 문자를 제공하는 프리 티어를 확인하시기 바랍니다.

체험해보시고 의견을 알려주세요. 여러분의 의견을 기다리고 있습니다. AWS 포럼Amazon Translate에 대한 의견을 올려주십시오. 또는 AWS Support 문의처로 보내주셔도 됩니다.

– Julien