Amazon Web Services 한국 블로그

Amazon Transcribe – 딥러닝 기반 자동 음성 인식 서비스 출시

오늘 음성을 인식하여 텍스트로 변환하는 기능을 애플리케이션에 쉽게 추가할 수 있도록 하는 ASR(자동 음성 인식) 서비스인 Amazon Transcribe 미리 보기 기능을 출시합니다.

인터넷 연결 및 사용량이 대역폭과 연결성이 개선되면서 점점 많은 비디오 및 오디오 형식이 만들어지고 유통되고 있습니다. 기업들이 이처럼 풍부한 멀티미디어 콘텐츠에서 가치를 도출하는 몇 가지 수단을 확보하는 건 중요합니다. Amazon Transcribe 서비스는 효율적이고 확장 가능한 API를 사용해 많은 비용이 소요되는 수동 텍스트 추출 업무를 생략할 수 있게 해줍니다.

API로 작업을 시작하여 다양한 일반 형식(WAV, MP3, Flac 등)으로 Amazon Simple Storage Service(S3)에 저장된 오디오 파일을 분석할 수 있습니다. 각 단어, 그리고 추론된 구두점에 대해 타임스탬프를 포함하여 세부적이고 정확한 트랜스크립션을 받게 됩니다. 미리 보기 기간 동안 비동기 트랜스크립션 API를 사용해 영어 또는 스페인어 음성을 트랜스크립션할 수 있습니다.

기업들은 기존의 음성 데이터로부터 가치를 도출하고자 합니다. 이러한 저장된 미디어를 트랜스크립션하여 기업은 다음 작업을 수행할 수 있습니다.

  • 고객 통화 데이터를 분석
  • 자막 생성을 자동화
  • 콘텐츠 기반 광고를 타겟팅
  • 오디오 및 비디오 콘텐츠의 아카이브에 대해 풍부한 검색 기능을 구현

AWS 명령줄 인터페이스(CLI), AWS SDK 또는 Amazon Transcribe 콘솔을 사용하여 간편하게 트랜스크립션 작업을 시작할 수 있습니다.

Amazon Transcribe는 현재 3가지 API 작업을 사용합니다(이름에서 기능을 알 수 있음).

  • StartTranscriptionJob
  • GetTranscriptionJob
  • ListTranscriptionJobs

다음은 작업을 시작하여 작업이 종료될 때까지 폴링하는 빠른 파이톤 스크립트입니다.

from __future__ import print_function
import time
import boto3
transcribe = boto3.client('transcribe')
job_name = "RandallTest1"
job_uri = "https://MYURL/test.flac"
transcribe.start_transcription_job(
    TranscriptionJobName=job_name,
    Media={'MediaFileUri': job_uri},
    MediaFormat='flac',
    LanguageCode='en-US',
    MediaSampleRateHertz=44100
)
while True:
    status = transcribe.get_transcription_job(TranscriptionJobName=job_name)
    if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
        break
	print("Not ready yet...")
    time.sleep(5)
print(status)

완료된 작업의 결과는 트랜스크립션을 JSON 형식으로 저장하는 Amazon Simple Storage Service (S3) 미리 서명된 url로 연결됩니다.

{
  "jobName": "RandallTest1",
  "results": {
  	"transcripts": [{"transcript": "Hello World", "confidence": 1}],
    "items": [
      {
      	"start_time": "0.880", "end_time": "1.300",
        "alternatives": [{"confidence": 0.91, "word": "Hello"}]
      },
      {
        "start_time": "1.400", "end_time": "1.620",
        "alternatives": [{"confidence": 0.84, "word": "World"}]
      }
  	]
  },
  "status": "COMPLETED"
}

보시다시피 각 단어에 대해 타임스탬프와 신뢰도 점수가 표시됩니다.

단독으로 사용되든 다른 Amazon AI 서비스와 결합하든 이 서비스는 강력한 서비스이며, 고객들이 이 서비스를 사용하여 어떤 애플리케이션을 빌드하지 빨리 보고 싶습니다!

여러분은 AWS Lambda와 AWS Step Functions을 통해 다양한 Amazon AI 서비스와 연동할 수 있습니다. 예를 들어 아래 작업은 파일이 들어올 경우 Transcribe 서비스로 보내 작업이 완료되면 Amazon Elasticsearch Service로 보낼 수 있는 간단한 작업입니다.

Amazon Transcribe는 프리티어의 일환으로 12 개월 동안 매월 60분을 무료로 사용할 수 있습니다. 일반 요금은 API는 초당 $0.0004가 청구되며 최소 요청 당 15초입니다. 현재 Amazon Transcribe는 미리 보기로 제공하고 있으며, 좀 더 자세한 사항은 기술 문서를 참고하세요.

– Randall;

이 글은 AWS re:Invent 2017의 신규 서비스 소식으로Amazon Transcribe – Accurate Speech To Text At Scale 의 한국어 번역입니다.