대체 트랜스크립션 - Amazon Transcribe

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

대체 트랜스크립션

오디오를Amazon Transcribe 텍스트로 변환하면 동일한 트랜스크립트의 여러 버전이 생성되고 각 버전에 신뢰도 점수가 할당됩니다. 일반적인 트랜스크립션에서는 신뢰도 점수가 가장 높은 버전만 얻을 수 있습니다.

대체 트랜스크립션을 켜면 신뢰도가 낮은 다른 버전의 트랜스크립트가Amazon Transcribe 반환됩니다. 최대 10개의 대체 트랜스크립션을 반환하도록 선택할 수 있습니다. Amazon Transcribe식별된 것보다 더 많은 대안을 지정하면 실제 대안 수만 반환됩니다.

모든 대안은 동일한 트랜스크립션 출력 파일에 있으며 세그먼트 수준에서 표시됩니다. 세그먼트는 스피커가 바뀌거나 오디오가 일시 중지되는 등 음성이 자연스럽게 멈추는 것을 말합니다.

대체 트랜스크립션은 일괄 트랜스크립션에만 사용할 수 있습니다.

트랜스크립션 출력문의 구조는 다음과 같습니다. 타원 (... 코드 예제의) 는 간결함을 위해 콘텐츠가 제거된 위치를 나타냅니다.

  1. 주어진 세그먼트에 대한 완전한 최종 트랜스크립션.

    "results": { "language_code": "en-US", "transcripts": [ { "transcript": "The amazon is the largest rainforest on the planet." } ],
  2. 이전transcript 섹션의 각 단어에 대한 신뢰도 점수입니다.

    "items": [ { "start_time": "1.15", "end_time": "1.35", "alternatives": [ { "confidence": "1.0", "content": "The" } ], "type": "pronunciation" }, { "start_time": "1.35", "end_time": "2.05", "alternatives": [ { "confidence": "1.0", "content": "amazon" } ], "type": "pronunciation" },
  3. 대체 트랜스크립션은 트랜스크립션 출력segments 부분에 있습니다. 각 세그먼트에 대한 대안은 신뢰도 점수가 내림차순으로 정렬됩니다.

    "segments": [ { "start_time": "1.04", "end_time": "5.065", "alternatives": [ { ... "transcript": "The amazon is the largest rain forest on the planet.", "items": [ { "start_time": "1.15", "confidence": "1.0", "end_time": "1.35", "type": "pronunciation", "content": "The" }, ... { "start_time": "3.06", "confidence": "0.0037", "end_time": "3.38", "type": "pronunciation", "content": "rain" }, { "start_time": "3.38", "confidence": "0.0037", "end_time": "3.96", "type": "pronunciation", "content": "forest" },
  4. 트랜스크립션 출력 끝에 표시되는 상태입니다.

    "status": "COMPLETED" }

대체 트랜스크립션 요청

AWS Management ConsoleAWS CLI, 또는 AWSSDK를 사용하여 대체 트랜스크립션을 요청할 수 있습니다. 예를 보려면 다음을 참조하십시오.

  1. AWS Management Console에 로그인합니다.

  2. 탐색 창에서 트랜스크립션 작업을 선택한 다음 작업 생성 (오른쪽 상단) 을 선택합니다. 그러면 작업 세부 정보 지정 페이지가 열립니다.

    Amazon Transcribe콘솔 '작업 세부 정보 지정' 페이지 '작업 설정' 패널에서 트랜스크립션 Job 이름을 지정하고, 모델 유형을 선택하고, 언어 설정을 지정할 수 있습니다.
  3. 작업 세부 정보 지정 페이지에 포함하려는 필드를 모두 입력한 후 다음을 선택합니다. 그러면 작업 구성 - 옵션 페이지로 이동합니다.

    대체 결과를 선택하고 성적표에 원하는 대체 트랜스크립션 결과의 최대 수를 지정합니다.

    Amazon Transcribe콘솔 '작업 구성' 페이지 '오디오 설정' 패널에서 대체 결과를 활성화하고 트랜스크립션 출력에 포함할 대체 결과의 최대 수를 지정할 수 있습니다.
  4. 작업 생성을 선택하여 트랜스크립션 작업을 실행합니다.

이 예제에서는 start-transcription-job명령과ShowAlternatives 매개 변수를 사용합니다. 자세한 내용은 StartTranscriptionJobShowAlternatives 단원을 참조하세요.

요청에 포함하는ShowAlternatives=true 경우 반드시 포함해야 한다는 점에 유의하십시오MaxAlternatives.

aws transcribe start-transcription-job \ --region us-west-2 \ --transcription-job-name my-first-transcription-job \ --media MediaFileUri=s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac \ --output-bucket-name DOC-EXAMPLE-BUCKET \ --output-key my-output-files/ \ --language-code en-US \ --settings ShowAlternatives=true,MaxAlternatives=4

다음은 start-transcription-job명령을 사용하는 또 다른 예와 대체 트랜스크립션이 포함된 요청 본문입니다.

aws transcribe start-transcription-job \ --region us-west-2 \ --cli-input-json file://filepath/my-first-alt-transcription-job.json

my-first-alt-transcription-job.json 파일에는 다음과 같은 요청 본문이 포함되어 있습니다.

{ "TranscriptionJobName": "my-first-transcription-job", "Media": { "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" }, "OutputBucketName": "DOC-EXAMPLE-BUCKET", "OutputKey": "my-output-files/", "LanguageCode": "en-US", "Settings": { "ShowAlternatives": true, "MaxAlternatives": 4 } }

다음 예제에서는AWS SDK for Python (Boto3) 를 사용하여 start_transcription_job 메서드의ShowAlternatives 인수를 사용하여 대체 트랜스크립션을 요청합니다. 자세한 내용은 StartTranscriptionJobShowAlternatives 단원을 참조하세요.

기능별, 시나리오 및 서비스 간 예제를 포함하여AWS SDK를 사용하는 추가 예제는 이SDK를 사용한 Amazon Transcribe의 코드 예제 AWS 장을 참조하십시오.

요청에 포함하는'ShowAlternatives':True 경우 반드시 포함해야 한다는 점에 유의하십시오MaxAlternatives.

from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe', 'us-west-2') job_name = "my-first-transcription-job" job_uri = "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" transcribe.start_transcription_job( TranscriptionJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'DOC-EXAMPLE-BUCKET', OutputKey = 'my-output-files/', LanguageCode = 'en-US', Settings = { 'ShowAlternatives':True, 'MaxAlternatives':4 } ) 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)