こんちには。
データアナリティクス事業本部 機械学習チームの中村です。
Amazon Transcribeが新しい音声基盤モデル搭載のASR(自動音声認識)を発表しました。
- Powered by foundation model, Amazon Transcribe now supports over 100 languages
- Amazon Transcribe announces a new speech foundation model-powered ASR system that expands support to over 100 languages | AWS Machine Learning Blog
Amazon Transcribeは音声を入力し、書き起こし(Transcribe)するフルマネージドな機械学習サービスです。
今回のアップデートより、100以上の言語で精度向上を実現することができます。具体的には、ほとんどの言語で20%から50%の大幅な精度向上を実現したとのことです。
このアップデートは、バッチモードの処理に適用され、APIや入力パラメータを変更することなく使用可能です。
ストリーミング処理では(この記載内容から想像するには)、従来のモデルが使用されるのではと考えられますのでその点はご注意ください。
バッチモードで使ってみる
音声データをS3に準備
バッチモードは、S3を入出力とするモードとなっていますので、S3に音声ファイルを配置しておきます。
今回は以下に配置しておきます。
s3://{バケット名}/transcribe/input/sample-ch1-fs16000.wav
発話内容は以下となっています。
Amazon Transcribeは、音声から書き起こしを行うフルマネージドな機械学習サービスです。
ジョブの作成
Amazon Transcribeのマネジメントコンソールからトランスクリプションジョブを選択し、「ジョブの作成」をクリックします。
ジョブ設定を以下のようにします。
入力は先ほどのS3のURIを指定し、出力は今回はサービスマネージドバケットにします。
末尾の「次へ」を押下します。
その後、以下の設定はデフォルトのまま「ジョブを作成」を押下します。
ジョブが進行中となるので完了を待ちます。
結果の確認
完了後、ジョブをクリックすると結果を見ることができます。
上記の処理結果はasrOutput.json
というファイルとしてダウンロードすることも可能です。
import json
with open("asrOutput.json", "rt", encoding="utf-8") as f:
data = json.load(f)
print(json.dumps(data, indent=2))
# {'jobName': 'cm-nakamura-job-2023-11-27',
# 'accountId': '{アカウントID}',
# 'status': 'COMPLETED',
# 'results': {'transcripts': [{'transcript': 'アマゾントランスクラは、音声から書き起こしを行うフルマデジットな機械学習サービスです。'}],
# 'items': [{'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.996', 'content': 'アマゾン'}],
# 'start_time': '1.6',
# 'end_time': '2.16'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.937', 'content': 'トランス'}],
# 'start_time': '2.17',
# 'end_time': '2.599'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.402', 'content': 'クラ'}],
# 'start_time': '2.609',
# 'end_time': '2.96'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.999', 'content': 'は'}],
# 'start_time': '2.97',
# 'end_time': '3.259'},
# {'type': 'punctuation',
# 'alternatives': [{'confidence': '0.0', 'content': '、'}]},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.998', 'content': '音声'}],
# 'start_time': '4.159',
# 'end_time': '4.599'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.999', 'content': 'から'}],
# 'start_time': '4.61',
# 'end_time': '4.86'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.997', 'content': '書き起こし'}],
# 'start_time': '4.869',
# 'end_time': '5.61'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.999', 'content': 'を'}],
# 'start_time': '5.619',
# 'end_time': '5.92'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.999', 'content': '行う'}],
# 'start_time': '5.929',
# 'end_time': '6.44'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.87', 'content': 'フルマ'}],
# 'start_time': '6.82',
# 'end_time': '7.219'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.033', 'content': 'デジット'}],
# 'start_time': '7.23',
# 'end_time': '7.76'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.997', 'content': 'な'}],
# 'start_time': '7.769',
# 'end_time': '7.96'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.999', 'content': '機械'}],
# 'start_time': '7.969',
# 'end_time': '8.439'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.999', 'content': '学習'}],
# 'start_time': '8.449',
# 'end_time': '8.92'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.999', 'content': 'サービス'}],
# 'start_time': '8.93',
# 'end_time': '9.439'},
# {'type': 'pronunciation',
# 'alternatives': [{'confidence': '0.999', 'content': 'です'}],
# 'start_time': '9.449',
# 'end_time': '9.84'},
# {'type': 'punctuation',
# 'alternatives': [{'confidence': '0.0', 'content': '。'}]}]}}
ちなみに同じデータをストリーミング処理した場合と比較すると以下のようになりました。
- バッチ処理(新版)
アマゾントランスクラは、音声から書き起こしを行うフルマデジットな機械学習サービスです。
- ストリーミング処理(おそらく旧版)
アマゾンと卵スクライブは音声から書き起こしを行う車電磁どんな機械学習サービスです。
サンプルデータ1つだけの結果ですが、確かにより正解に近づいていそうですね。
ストリーミング処理の実行方法は以下の過去のブログを参照ください。
まとめ
いかがでしたでしょうか。今回は簡単なサンプルだけですがアップデートされたAmazon Transcribeについて見ていきました。
本記事が、今後Amazon Transcribeを活用されようとする方の一助となれば幸いです。