Amazon Web Services 한국 블로그

Amazon Transcribe 정식 출시 – 자동 음식 인식 서비스


지난 AWS re:Invent 2017에서 기계 학습 기반 자동 음성 인식 서비스인 Amazon Transcribe미리 보기로 발표했습니다. 오늘 모든 개발자를 위해 정식 출시합니다. Amazon Transcribe는 개발자가 음성을 텍스트로 변환하는 기능을 애플리케이션에 쉽게 추가할 수 있도록 해주는 ASR(자동 음성 인식) 서비스입니다. 프리뷰에서는 고객의 피드백을 다시 한번 적용하여 Amazon Transcribe에 다양한 향상 기능을 추가했습니다.

새로운 Amazon Transcribe 기능

먼저 SampleRate 파라미터를 선택사항으로 만들었습니다. 따라서 사용자는 미디어의 파일 유형과 입력 언어만 알면 됩니다. 두 가지 새로운 기능, 즉 오디오에서 여러 명의 화자를 구분하여 이해하기 쉽게 자막을 제공(“누가 언제 말하는지 구분”)하는 기능과 제품 이름, 업계 전문 용어 또는 개인의 이름에 대한 음성 인식의 정확도를 높이기 위한 맞춤형 어휘 기능이 추가되었습니다. 간단한 예제를 통해 Amazon Transcribe의 작동 방식을 다시 한번 살펴보겠습니다. S3 버킷에서 이 오디오를 변환하겠습니다.

import boto3
transcribe = boto3.client("transcribe")
transcribe.start_transcription_job(
    TranscriptionJobName="TranscribeDemo",
    LanguageCode="en-US",
    MediaFormat="mp3",
    Media={"MediaFileUri": "https://s3.amazonaws.com/randhunt-transcribe-demo-us-east-1/out.mp3"}
)

그러면 개별 화자가 식별된 다음과 유사한 JSON이 출력됩니다(대부분의 응답은 생략되었음).

{
  "jobName": "reinvent",
  "accountId": "1234",
  "results": {
    "transcripts": [
      {
        "transcript": "Hi, everybody, i'm randall ..."
      }
    ],
    "speaker_labels": {
      "speakers": 2,
      "segments": [
        {
          "start_time": "0.000000",
          "speaker_label": "spk_0",
          "end_time": "0.010",
          "items": []
        },
        {
          "start_time": "0.010000",
          "speaker_label": "spk_1",
          "end_time": "4.990",
          "items": [
            {
              "start_time": "1.000",
              "speaker_label": "spk_1",
              "end_time": "1.190"
            },
            {
              "start_time": "1.190",
              "speaker_label": "spk_1",
              "end_time": "1.700"
            }
          ]
        }
      ]
    },
    "items": [
      {
        "start_time": "1.000",
        "end_time": "1.190",
        "alternatives": [
          {
            "confidence": "0.9971",
            "content": "Hi"
          }
        ],
        "type": "pronunciation"
      },
      {
        "alternatives": [
          {
            "content": ","
          }
        ],
        "type": "punctuation"
      },
      {
        "start_time": "1.190",
        "end_time": "1.700",
        "alternatives": [
          {
            "confidence": "1.0000",
            "content": "everybody"
          }
        ],
        "type": "pronunciation"
      }
    ]
  },
  "status": "COMPLETED"
}

맞춤형 어휘

이제 동료와 더 복잡한 기술적 논의를 하기 위해 맞춤형 어휘를 생성할 수 있습니다. 맞춤형 어휘는 CreateVocabulary API에 전달되는 문자열의 배열로 지정하며, Settings ( StartTranscriptionJob API 호출에서)의 일부로서 이름으로 전달하는 방식으로 기록에 맞춤형 어휘를 포함할 수 있습니다. 개별 어휘의 최대 크기는 50KB이며 각 구문은 256자 미만이어야 합니다. 고등학교 AP 생물학 수업의 녹화본을 텍스트로 기록하려면 Python에서 다음과 같이 맞춤형 어휘를 생성합니다.

import boto3
transcribe = boto3.client("transcribe")
transcribe.create_vocabulary(
LanguageCode="en-US",
VocabularyName="APBiology"
Phrases=[
    "endoplasmic-reticulum",
    "organelle",
    "cisternae",
    "eukaryotic",
    "ribosomes",
    "hepatocyes",
    "cell-membrane"
]
)

나중에 APBiology 라는 이름으로 이 어휘를 참조하고 기록에서 오류가 발견될 경우 프로그래밍 방식으로 업데이트할 수 있습니다.

정식 출시

Amazon Transcribe는 현재 미국 동부(버지니아 북부), 미국 서부(오레곤), 미국 동부(오하이오)EU(아일랜드)에서 사용할 수 있습니다. Transcribe의 프리 티어를 이용하면 처음 12개월 동안 매월 60분 분량의 기록을 무료로 이용할 수 있으며, 이후 기록된 오디오를 기준으로 초당 0.0004 USD의 비용(최소 요금 기준 15초)으로 사용량에 따른 과금 모델로 이용할 수 있습니다.

Transcribe를 다른 툴 및 서비스와 함께 사용하면 애플리케이션 개발에 있어서 완전히 새로운 기회가 열리게 될 것입니다. 이 새로운 서비스를 활용해 기술 개발자들이 어떤 애플리케이션을 개발할지 기대됩니다.

Randall