AWS Lambda + AI = 音声文字起こしと感情分析(その1:S3+Lambda)
AWSのホームページの初心者ハンズオンにある「AWS Lambda と AWS AI Services を組み合わせて作る音声文字起こし & 感情分析パイプライン 」の内容を自分のAWSアカウントでやってみました。
ハンズオンではAWSホームページで、10本の Youtube-video でもって、Lambda と AIサービスの基本を、実際の操作の様子で確認することができます。
今回の投稿では、この中から、以下の内容で5パートに分けてあげようと思っています。
- S3トリガーで Lambdaファンクションを起動する
- Amazon Transcribeを使って文字起こしを試してみる
- S3への音声ファイルアップロードをトリガに Lambdaを起動し、Transcribeするパイプラインを作る
- パイプラインで文字起こししたテキストを Comprehend で感情分析する
- Amazon Polly で作成した音声ファイルをパイプラインに投入する
ざっくりと基本構成を図で表してみて、最後まで行くと以下のような構成になります。
今回の投稿は、この構成の中から、S3への音声ファイルアップロードに対するイベントに連携して、Lambdaを動かします。
AWS Lambda と他のAWSサービスとの連携パターン
今回はパート1~5のうちのパート1として、S3 トリガーで Lambdaファンクションを起動するところをやってみます。
S3バケット:mikolabo-serverless-input(インプット用)を作成
Lambda関数の作成

関数名に「transcribe-function」
と設定
ロール名に
「transcribe-function-role」
と設定
バケットに、先ほど作成したS3バケットを指定
(mikolabo-serverless-input)
プレフィックス、サフィックスでトリガーとなるオブジェクトを条件付けできるが、今回は設定しない
指定したブループリントのコード
「関数の作成」をクリック
S3バケットに音声ファイルをアップロード
Lambda関数のトリガー結果を確認
コンテントタイプが出力されている。

Lambda関数を変更してみる
先ほどの音声ファイルをS3バケット「h4b-serverless-3.mp3」を再度アップロード
今回は、ぞの1:S3トリガーで Lambdaファンクションを起動しました。
次回は、その2:Amazon Transcribeを使って文字起こしを試してみます。