Amazon Web Services 한국 블로그

Amazon Transcribe – 개인 식별 정보 자동 교정 기능 출시 (서울 리전 포함)

AWS re:Invent 2017에서 출시Amazon Transcribe는 AWS 고객이 애플리케이션에 음성-문자 변환 기능을 쉽게 추가할 수 있는 ASR(자동 음성 인식) 서비스입니다. 블로그 작성 시점에 Transcribe31개 언어를 지원했으며, 이중 6개는 실시간으로 음성 인식이 가능합니다.

Transcribe가 많이 사용되는 사용 사례는 감정 분석과 같은 다운스트림 분석 및 자연어 처리를 위해 데이터 세트를 구축하려는 경우 고객 문의(콜센터, 텔레마케팅 등)의 자동 받아쓰기입니다. 그래서 개인 정보를 보호하고 현지 법률 및 규정을 준수하기 위해 PII(개인 식별 가능 정보)를 제거해야 합니다.

여러분이 상상하신 대로, 이를 수동으로 처리하려면 지루하고 시간이 오래 걸리며 오류도 발생하기 쉽습니다. 그래서 Amazon Transcribe가 이제 자동 PII 교정 기능을 지원한다는 소식을 발표하게 되어 정말 기쁩니다.

Amazon Transcribe에서 콘텐츠 교정 기능 도입
해당 지침을 받으면 Transcribe는 PII의 다음 부분을 자동으로 식별합니다.

  • 주민등록 번호,
  • 신용카드/직불카드 번호,
  • 신용카드/직불카드 만료 날짜,
  • 신용카드/직불카드 CVV 코드,
  • 은행 계좌 번호,
  • 은행 송금 번호,
  • 직불카드/신용카드 PIN,
  • 이름,
  • 이메일 주소,
  • 전화번호(10자리),
  • 메일링 주소.

이는 트랜스크립된 텍스트에서 ‘[PII]’ 태그로 대체됩니다. 또한 일반적인 ASR 점수 대신, 교정 신뢰도 점수와 시작 및 종료 타임스탬프도 제공됩니다. 이러한 타임스탬프는 안전한 저장 및 공유 또는 원본에서 교정하도록 추가 자동 처리를 위해 오디오 파일에서 PII를 찾을 때 도움이 됩니다.

이 기능은 굉장히 사용하기 쉽습니다. 간단한 데모를 보여드리겠습니다.

Amazon Transcribe에서 개인 정보 교정
먼저 전체 개인 정보를 포함하는 짧은 사운드 파일을 녹음했습니다(물론, 모두 가짜 정보임). 여기에서는 mp3 형식을 사용했지만, 정확도를 극대화하기 위해 FLAC 또는 WAV와 같은 손실 없는 형식을 사용하는 것이 좋습니다.

그리고 AWS CLI를 사용하여 S3 버킷에 이 파일을 업로드합니다.

$ aws s3 cp julien.mp3 s3://jsimon-transcribe-us-east-1

다음 단계는, StartTranscriptionJob API를 사용하여 이 사운드 파일을 트랜스크립션하는 것입니다. 이번에는 AWS SDK for PHP를 사용해볼까요?

<?php
require 'aws.phar';

use Aws\TranscribeService\TranscribeServiceClient;

$client = new TranscribeServiceClient([
    'profile' => 'default',
    'region' => 'us-east-1',
    'version' => '2017-10-26'
]);

$result = $client->startTranscriptionJob([
    'LanguageCode' => 'en-US',
    'Media' => [
        'MediaFileUri' => 's3://jsimon-transcribe-us-east-1/julien.mp3',
    ],
    'MediaFormat' => 'mp3',
    'OutputBucketName' => 'jsimon-transcribe-us-east-1',
    'ContentRedaction' => [
        'RedactionType' => 'PII',
        'RedactionOutput' => 'redacted'
    ],
    'TranscriptionJobName' => 'redaction'
]);
?>

실제로 하나의 API 호출만 수행하면 됩니다. RedactionOutput 파라미터를 사용하면 전체 및 교정된 출력을 표시할 것인지, 교정된 출력만 표시할 것인지를 제어할 수 있습니다. 후자를 선택합니다. 자, 이제 이 스크립트를 실행합니다.

$ php transcribe.php

그러면 Transcribe 콘솔에서 실행되는 작업을 바로 확인할 수 있습니다.

또한 GetTranscriptionJobListTranscriptionJobs API를 사용하여 콘텐츠 교정이 적용되었음을 확인할 수 있습니다. 작업이 완료되면 S3 버킷에서 받아쓰기를 가져오면 됩니다.

$ aws s3 cp s3://jsimon-transcribe-us-east-1/redacted-redactiontest.json .

받아쓰기는 각 단어에 대한 자세한 정보를 포함하는 JSON 문서입니다. 여기에서는 전체 받아쓰기에만 관심이 있으므로, jq라고 하는 멋진 오픈 소스 도구를 사용하여 문서를 필터링합니다.

$ cat redacted-redactiontest.json| jq '.results.transcripts'
[{
"transcript": "Good morning, everybody. My name is [PII], and today I feel like sharing a whole lot of personal information with you. Let's start with my Social Security number [PII]. My credit card number is [PII] And my C V V code is [PII] My bank account number is [PII] My email address is [PII], and my phone number is [PII]. Well, I think that's it. You know a whole lot about me. And I hope that Amazon transcribe is doing a good job at redacting that personal information away. Let's check."
}]

훌륭해요, Amazon Transcribe. 제 개인 정보는 안전하군요.

정식 출시!
콘텐츠 교정 기능은 다음 리전에서 미국 영어로 사용 가능합니다.

  • 미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(캘리포니아 북부), 미국 서부(오레곤), AWS GovCloud(미국 서부),
  • 캐나다(중부), 남아메리카(상파울루),
  • EU(아일랜드), EU(런던), EU(파리), EU(프랑크푸르트),
  • 중동(바레인),
  • 아시아 태평양(뭄바이), 아시아 태평양(홍콩), 아시아 태평양(서울), 아시아 태평양(싱가포르), 아시아 태평양(시드니), 아시아 태평양(도쿄).

요금 페이지를 확인해 보십시오. 기능을 사용해 보시고 피드백이 있으면 Amazon Transcribe에 대한 AWS 포럼 또는 평소에 이용하는 AWS 지원 연락처를 통해 알려주시기 바랍니다.

– Julien