Amazon Web Services ブログ

Amazon Transcribe が一般提供されました


AWS re:Invent 2017 において、AWS はプライベートプレビューの Amazon Transcribe を発表しました。そして本日、AWS はすべての開発者に対する Amazon Transcribe の一般提供を発表します。Amazon Transcribe は、開発者が Speech to Text 機能をアプリケーションに追加することを容易にする自動音声認識サービス (ASR) です。AWS は、プレビューでのお客様のフィードバックを元に見直しを続け、Amazon Transcribe に多くの改善を行いました。

一般提供における Amazon Transcribe の新機能

まず、AWS では SampleRate パラメーターをオプションにしました。これは、メディアのタイプと入力言語のみを知っておけばよいことを意味します。そして、より明瞭なトランスクリプトを提供するために音声内の複数の話者を区別する機能 (「いつ誰が話したか」)、そして製品名、業界固有の用語、または個人名の音声認識の正確性を向上させるカスタムボキャブラリの 2 つの新機能も追加しました。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 に渡される文字列の配列として指定され、これはその名前を StartTranscriptionJob API コール内の Settings の一部として 渡すことによってトランスクリプションジョブに含めることができます。個々のボキャブラリは最大 50KB にすることができ、各フレーズは 256 文字未満にする必要があります。私の高校の大学レベルの生物学クラスの録音を書き起こしたいとすると、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 は、米国東部 (バージニア北部)米国西部 (オレゴン)米国東部 (オハイオ) および欧州 (アイルランド) で今すぐご利用いただけます。Transcribe の無料利用枠では、最初の 12 ヵ月間毎月 60 分のトランスクリプションが無料で提供され、その後は最小課金を 15 秒とした、書き起こされた音声 1 秒ごとに 0.0004 USD の従量制料金モデルとなります。

私は、他のツールとサービスとの組み合わせによって Transcraibe がアプリケーション開発に全く新しい機会をもたらすと考えています。開発者がこの新しいサービスを使って何を構築するかを見るのがとても楽しみです。

Randall