AWS re:Invent 2018 Andy Jassyさん基調講演の文字起こしとそのアーキテクチャ #reInvent

AWS運用自動化サービス「Cloud Automator」

AWS re:Invent 2018で発表のあったAndy Jassyさんの基調講演を文字に起こしました。そのファイルをダウンロード可能にしています。また、AWSを使ってどのように文字起こしを実現したのかについても触れています。メディア分析の一例として、みなさんの参考になれば幸いです。

Andy Jassyさん基調講演の文字起こし

re:Invent 2018でのAndy Jassyさんの基調講演がYouTubeにアップロードされています。その全文を文字起こししプレーンテキストでファイルを作成しました。ファイルは以下のリンクからダウンロードできます。

AWS_reInvent2018-Keynote-with-Andy-Jassy.txt

元となった動画は以下でご覧になることができます。

文字起こしするあたって

なぜ?おこなったのか

それはre:Invent 2018を日本に居ながら楽しみたかったからです。re:Inventは米国で行われるイベントですがビジネス、エンジニアリングといった様々な視点から楽しめるイベントです。「現地と日本、みんなで新しい技術を楽しむ」というテーマの中で、社内のみんなとディスカッションした中で出てきたアイディアの1つがこの文字起こしです。

アーキテクチャの検討

真っ先に思い浮かんだのがAmazon Transcribeの利用です。Amazon Transcribeは音声ファイルをテキスト化するAWSサービスです。以下のような構成図でシステム化を検証しました。(2018年10月にre:Inventに向けて準備をしはじめました)

S3バケットに音声ファイルを入れると自動的に文字起こしされ、プレーンテキストが作成されるというものです。このシステムは期待した動作をしましたが、S3バケットに置かれるものが各種メディアファイル(音声以外の動画等)に対応していないことや、音声ファイルがmp3でサンプリングレートが22.05KHzに限定されている課題がありました。そこで、機能拡張を検討していましたが、欲しいものがすべてそろったリファレンス実装がAWS社から紹介されていました。

実際に利用したシステム

AWS Answersで紹介されていた「メディア分析ソリューション」を用いました。以下に構成図と機能概要を引用しますが、これらの機能がCloudFormationのテンプレートで提供されています。ユーザーインターフェイスとしてWeb画面も用意されているため、誰でも簡単にメディア分析を試すことができます。

1.Amazon Simple Storage Service (Amazon S3) メディア分析バケットに新たにメディアファイルがアップロードされると、AWS Lambda 関数が AWS Step Functions ステートマシンを呼び出します。メタデータは Amazon Rekognition、 Amazon Transcribe、Amazon Comprehend によって抽出されます。

2.MP4 動画ファイルがアップロードされると、AWS Elemental MediaConvert は Amazon Transcribe と Amazon Comprehend による分析のための音声を抽出します。

3.別の Lambda 関数が Amazon S3 バケットと Amazon Elasticsearch クラスターに結果を取得して、処理、格納します。生成されたメタデータは、Amazon Cognito と Amazon API Gateway RESTful API を使用して、認証、安全検索、取得が可能です。 

4.このソリューションには静的な Amazon S3 ウェブインターフェイスもデプロイされており、お客様はアップロード、分析、小さなメディアファイルのやり取りをすぐに始めることができます。 

メディア分析ソリューションを使ってYouTubeの動画を分析する

メディア分析ソリューションには動画ファイルや音声ファイルが必要です。今回対象としたメディアはYouTubeの動画だったため、まずは動画ファイル化もしくは音声ファイル化する必要がありました。今回は音声ファイル化することを選択し、以下の方法で分析を行いました。

  1. iPadとサウンドレコーダー機器をライン接続する
  2. 動画をiPadのYouTubeアプリで再生し、サウンドレコーダー機器で録音・音声ファイル化する
  3. 2.の音声ファイルをパソコンに移し、2時間以内のファイルに分割する(※)
  4. 3.で分割されたファイルをそれぞれ、メディア分析ソリューションを用いてテキスト化する

(※)メディア分析ソリューションで使われているAmazon Transcribeには本記事執筆時点で「最大2時間まで」という制限があります。2時間を超えるファイルは分析に失敗します。今回の対象は2時間40分の講演でしたので、2つのファイルに分割しました。分割する際には話している途中で切れないように波形編集ソフトを用いて確認しながら行いました。今回は1時間39分15付近、ちょうどRoss Brawnさんにスピーカーが交代するところで分割しました。 また、メディア分析ソリューションのWeb画面から登録できるファイル容量が100MBに制限されています。コードを書き換えたりすることで制限を解除することもできるとは思いますが、今回は音声ファイルをモノラル化するのと、ビットレートを落とすことでファイル容量を落とし対応しました。(Web画面仕様に容量制限があるだけで、直接S3バケットにアップロードしてメディア分析する方法もメディア分析ソリューションには用意されています)

1.〜4.いずれもAWSを駆使することでシステム化できる部分があると思いますが、今回は4.の工程のみをAWS上にシステム化して対応しました。

参考情報

Amazon Transcribeの制限:https://docs.aws.amazon.com/ja_jp/transcribe/latest/dg/limits-guidelines.html

AWS Answers「メディア分析ソリューション」:https://aws.amazon.com/jp/answers/media-entertainment/media-analysis-solution/

AWS公式サイト(re:Inventの新着情報がまとまっています):https://aws.amazon.com/jp/

AWS運用自動化サービス「Cloud Automator」