Amazon Web Services ブログ

Amplify フレームワークの更新 – ウェブアプリとモバイルアプリへの機械学習機能の追加がより迅速に

AWS はあらゆる開発者が機械学習を手にすることを目指しています。たとえば、コンピュータビジョンや言語などの分野向けに、事前トレーニング済の AI サービスを提供しており、これで機械学習の専門知識がなくても AI の利用が可能となります。本日より Prediction という新しいカテゴリを追加し、この目標に向かって Amplify フレームワークはさらに前進しました。この結果、ほんの数行のコードで、ウェブおよびモバイルアプリケーション向けの AI/ML ユースケースの追加や設定が可能となりました。

AWS Amplify とは、AWS でモバイルアプリケーションとウェブアプリケーションを簡単に構築するための開発フレームワークと開発者用サービスです。オープンソースの Amplify フレームワークは、ライブラリ、ユーザーインターフェイス (UI) コンポーネント、コマンドラインインターフェイス (CLI) の個性豊かなセットを提供しています。これで、クラウドバックエンドを構築し、それをウェブアプリケーションやモバイルアプリケーションと統合できるようになります。 Amplify ではストレージ、認証と承認、API (GraphQL や REST)、分析、プッシュ通知、チャットボット、AR/VR などのカテゴリにある AWS のサービスの中核となるセットを活用しています。

Amplify フレームワーク CLI を使用すれば、Amplify init で対話的にプロジェクトを初期化できます。その後、ストレージ (Amplify add storage) やユーザー認証と承認 (Amplify add auth) のオプションを選択できます。

こうして、amplify add predictions を使ってアプリを次のように設定できるようになります。

  • イメージ内のテキスト、エンティティ、ラベルを識別するには Amazon Rekognition を、フォーム内のフィールドのコンテンツおよびテーブルに格納した情報を取得するには Amazon Textract を使用します。
  • テキストを別の言語に変換するには Amazon Translate を、テキストを音声に変換するには Amazon Polly を、音声をテキストに変換するには Amazon Transcribe を使用します。
  • テキストを解釈して、主要言語、エンティティ、キーフレーズ、センチメント、非構造化テキスト構文を検索するには、Amazon Comprehend を使用します。

上記の各アクションを、アプリの認証済みユーザーに対してのみ利用可能にするか、ゲストや未認証ユーザーも利用できるようにするかを選択できます。Amplify は入力に基づいて、AWS Identity and Access Management (IAM) ロールAmazon Cognito を使って必要なアクセス許可を設定します。

Prediction がウェブアプリケーションに対してどのように機能するかを見てみましょう。たとえば、ブラウザから直接 Amazon Rekognition を使ってイメージ内のテキストを識別するには、次の JavaScript 構文を使用してファイルオブジェクトを渡します。

Predictions.identify({
  text: {
    source: file
    format: "PLAIN" # "PLAIN" uses Amazon Rekognition
  }
}).then((result) => {...})

イメージを Amazon S3 に保存している場合は、このプロジェクトにストレージを追加する際に選択した S3 バケットにリンクするようソースを変更します。形式を変更し、Amazon Textract を使ってスキャンしたドキュメントを分析することもできます。 S3 に保存しているドキュメント内のフォームからテキストを抽出する方法は、次のとおりです。

Predictions.identify({
  text: {
    source: { key: "my/image" }
    format: "FORM" # "FORM" or "TABLE" use Amazon Textract
  }
}).then((result) => {...})

これは、Amazon Comprehend のすべてのトレーニング済み機能を使用してテキストを解釈する方法の一例です。

Predictions.interpret({
  text: {
    source: {
      text: "text to interpret",
    },
    type: "ALL"
  }
}).then((result) => {...})

測を追加するときに選択した言語と音声を使用して Amazon Polly でテキストを音声に変換し、それをブラウザで再生するには、次のコードを使用してください。

Predictions.convert({
  textToSpeech: {
    source: {
      text: "text to generate speech"
    }
  }
}).then(result => {
  var audio = new Audio();
  audio.src = result.speech.url;
  audio.play();
})

今すぐ利用可能です
次回ウェブアプリやモバイルアプリの構築を始めるときは、こちらのチュートリアルに従って本日の Amplify を使用してください。Amplify フレームワーク Github リポジトリ に、ご意見をお寄せください。

Amplify フレームワークの Prediction のカテゴリには、他にもたくさんのオプションや機能があります。機械学習機能を備えたアプリを作成するための詳細な例については、こちらのウォークスルー (AWS Mobile Blog 内) をご参照ください。

ウェブアプリやモバイルアプリへの機械学習機能の追加が、今まで以上に簡単になりました。次は何を構築しますか?

Danilo