AWSは、一連の人工知能(AI)および機械学習(ML)サービスを提供します。 事前にトレーニングされた、すぐに使用できるサービス MLの経験がない開発者向け。 この投稿では、このようなサービスを使用して、視覚障害やコミュニケーション障害のある人を含めることを促進するアプリケーションを構築する方法を示します。これには、外国語での見たり、読んだり、聞いたり、話したり、会話したりするのが困難です。 のようなサービスで Amazon Transcribe, Amazon Polly, Amazon翻訳, Amazonの再認識 および アマゾンテキストラック、ライブ文字起こし、テキスト読み上げ、翻訳、オブジェクト検出、画像からのテキスト抽出などの機能をプロジェクトに追加できます。
世界保健機関(WHO)によると、、世界人口の約1%にあたる15億人以上が何らかの障害を抱えて生活しており、人口の高齢化と一部の慢性疾患の有病率の増加により、この数は増加する可能性があります。 スピーチ、聴覚、または視覚障害のある人にとって、スピーチやテレビ番組を聞いたり、感情やニーズを表現したり、周りを見回したり、本を読んだりするなどの日常の作業は、不可能な挑戦のように感じることがあります。 幅広い研究により、障害者を社会に含めるための支援技術の重要性が浮き彫りになっています。 によると 欧州議会研究サービスによる研究、スマートフォンなどの主流のテクノロジーは、障害を持つ人々のニーズに対応するのに適した機能をますます提供しています。 さらに、障害を持つ人々のために設計する場合、すべての人のエクスペリエンスを向上させる機能を構築する傾向があります。 これは、 カーブカット効果.
この投稿では、 JavaScript 用 AWS SDK AWSAIサービスによって提供される機能を独自のソリューションに統合します。 これを行うために、サンプルWebアプリケーションは、Amazon Transcribe、Amazon Polly、Amazon Translate、Amazon Rekognition、およびAmazonTextractを使用してアクセシビリティ機能を簡単に実装する方法を示しています。 このアプリケーションのソースコードであるAWSAugmentAbilityは、次のURLで入手できます。 GitHubの 独自のプロジェクトの開始点として使用します。
ソリューションの概要
AWSAugmentAbility は、Amazon Transcribe、Amazon Translate、Amazon Polly、Amazon Rekognition、AmazonTextractのXNUMXつのAWSAIサービスを利用しています。 それはまた使用します アマゾンコグニート ユーザープール および IDプール ユーザーの認証と承認を管理するため。
Webアプリをデプロイすると、次の機能にアクセスできるようになります。
- ライブ文字起こしとテキスト読み上げ –このアプリは、自動音声認識サービスであるAmazon Transcribeを使用して、会話やスピーチをリアルタイムで書き起こします。 言いたいことを入力すると、アプリがAmazonPollyのテキスト読み上げ機能を使用してそれを伝えます。 この機能はAmazonTranscribeとも統合されています ストリーミング文字起こしの自動言語識別—最低3秒間の音声で、サービスは自動的に主要言語を検出し、話されている言語を指定しなくてもトランスクリプトを生成できます。
- ライブ文字起こしとテキスト読み上げと翻訳 –アプリは、会話やスピーチをリアルタイムで書き起こし、翻訳します。 あなたが言いたいことを入力すると、アプリはあなたのためにそれを翻訳して言います。 翻訳は、AmazonTranslateで現在サポートされている75以上の言語で利用できます。
- リアルタイムの会話翻訳 –ターゲット言語を選択し、あなたの言語で話します。アプリは、Amazon Transcribe、Amazon Translate、およびAmazon Pollyの機能を組み合わせることにより、ターゲット言語であなたが言ったことを翻訳します。
- オブジェクト検出 –スマートフォンで写真を撮ると、アプリはAmazonRekognitionラベル検出機能を使用して周囲のオブジェクトを説明します。
- ラベル、標識、およびドキュメントのテキスト認識 –スマートフォンで任意のラベル、サイン、またはドキュメントの写真を撮ると、アプリがそれを読み上げます。 この機能は、AmazonRekognitionおよびAmazonTextractテキスト抽出機能を利用しています。 AugmentAbilityは、テキストを75以上の言語に翻訳したり、OpenDyslexicフォントを使用して失読症のユーザーが読みやすくしたりすることもできます。
ライブ文字起こし、テキストからスピーチ、およびリアルタイムの会話翻訳機能は、現在、中国語、英語、フランス語、ドイツ語、イタリア語、日本語、韓国語、ブラジルポルトガル語、およびスペイン語で利用できます。 テキスト認識機能は現在、アラビア語、英語、フランス語、ドイツ語、イタリア語、ポルトガル語、ロシア語、およびスペイン語で利用できます。 各機能でサポートされている言語の更新されたリストは、 AugmentAbilityGitHubリポジトリ.
AugmentAbilityをビルドして、コンピューターまたはAWSアカウントでローカルにデプロイできます。 AWSAmplifyホスティング、フルマネージドCI / CDおよび静的Webホスティングサービスで、高速で安全かつ信頼性の高い静的およびサーバー側のレンダリングされたアプリを提供します。
次の図は、AWSAmplifyHostingを使用してクラウドにデプロイされていると仮定した場合のアプリケーションのアーキテクチャを示しています。
ソリューションワークフローには、次の手順が含まれます。
- モバイルブラウザを使用して、AWS Amplify HostingによってホストされるHTML、CSS、およびJavaScriptアプリケーションであるWebアプリにアクセスします。 アプリケーションは、SDKforJavaScriptと AWSAmplifyJavaScriptライブラリ.
- ユーザーは、ユーザー名とパスワードを入力してサインインします。 認証は、AmazonCognitoユーザープールに対して実行されます。 ログインに成功すると、Amazon Cognito IDプールを使用して、アプリの機能にアクセスするために必要な一時的なAWSクレデンシャルをユーザーに提供します。
- ユーザーがアプリのさまざまな機能を探索している間、モバイルブラウザーはAmazon Transcribe(StartStreamTranscriptionWebSocket 操作)、Amazon翻訳(翻訳テキスト 操作)、Amazon Polly(合成音声 操作)、Amazon Rekognition(検出ラベル および テキストの検出 操作)およびAmazon Textract(ドキュメントテキストの検出 操作)。
AWSサービスは、SDKforJavaScriptを使用してモバイルウェブアプリに統合されています。 一般的に、SDK for JavaScriptは、ブラウザースクリプトまたはNode.jsのいずれかでAWSサービスへのアクセスを提供します。 このサンプルプロジェクトでは、SDKがブラウザスクリプトで使用されています。 ブラウザスクリプトからAWSサービスにアクセスする方法の詳細については、以下を参照してください。 ブラウザスクリプト入門。 SDK for JavaScriptは、AWSサービスのデフォルトセットをサポートするJavaScriptファイルとして提供されます。 このファイルは通常、を使用してブラウザスクリプトにロードされます <script>
ホストされているSDKパッケージを参照するタグ。 カスタムブラウザSDKは、指定された一連のサービスを使用して構築されました(手順については、を参照してください。 ブラウザ用SDKの構築).
各サービスは、で利用可能なガイドラインとコードサンプルに従ってモバイルウェブアプリに統合されました。 AWS SDKforJavaScript開発者ガイド。 ライブトランスクリプション機能の実装には、いくつかの追加手順が必要でした。 Amazon Transcribe ストリーミング WebSocket 開発者は、イベントストリームエンコーディングを使用してオーディオをエンコードし、 署名バージョン4の署名プロセス HTTPによって送信されるAWSAPIリクエストに認証情報を追加するため。 このアプローチの詳細については、を参照してください。 WebSocketでAmazonTranscribeを使用して、音声をテキストにリアルタイムで転写します.
ユーザーサインインWebページは、 認証 AWSAmplifyJavaScriptライブラリの機能。 認証および承認フローの詳細については、以下を参照してください。 サインイン後にIDプールを使用してAWSサービスにアクセスする.
次のウォークスルーは、AWSAmplifyHostingを使用してAugmentAbilityをデプロイする方法を示しています。 次の手順が含まれます。
- Amazon CognitoユーザープールとIDプールを作成し、AWSAIサービスにアクセスするためのアクセス許可を付与します。
- GitHubリポジトリのクローンを作成し、構成ファイルを編集します。
- モバイルウェブアプリをにデプロイします AWS 増幅 コンソール。
- モバイルウェブアプリを使用します。
Amazon CognitoユーザープールとIDプールを作成し、AWSAIサービスにアクセスするためのアクセス許可を付与します
アプリのデプロイに必要な最初のステップは、 AmazonCognitoユーザープールの作成 ホストされたUIが有効, AmazonCognitoIDプールの作成, XNUMXつのプールを統合する、 そして最後に 権限の付与 AWSサービスにアクセスするため AWS IDおよびアクセス管理 (IAM)IDプールに関連付けられた役割。 このステップを完了するには、各タスクを手動で作業するか、 AWS CloudFormation テンプレート。
CloudFormationテンプレートは、Amazon Cognitoプール、IAMロール、IAMポリシーなど、必要なリソースを自動的にプロビジョニングおよび構成します。
- にサインインする AWSマネジメントコンソール を選択してCloudFormationテンプレートを起動します 発射スタック:
テンプレートは、デフォルトでEU西部(アイルランド)のAWSリージョンで起動します。 別のリージョンでソリューションを起動するには、コンソールナビゲーションバーのリージョンセレクターを使用します。 スコープ内のAWSサービス(Amazon Cognito、AWS Amplify、Amazon Transcribe、Amazon Polly、Amazon Translate、Amazon Rekognition、Amazon Textract)が利用できるリージョンを必ず選択してください(us-east-2
,us-east-1
,us-west-1
,us-west-2
,ap-south-1
,ap-northeast-2
,ap-southeast-1
,ap-southeast-2
,ca-central-1
,eu-central-1
,eu-west-1
,eu-west-2
). - 選択する Next.
- 地域、使用するリージョンの識別子を入力します(サポートされているリージョンの中で)。
- 、アプリへのアクセスに使用するユーザー名を入力します。
- メール 、最初のサインインの一時パスワードの送信先となる電子メールアドレスを入力します。
- 選択する Next.
- ソフトウェア設定ページで、下図のように スタックオプションを構成する ページ、選択 次へ。
- ソフトウェア設定ページで、下図のように レビュー ページで、設定を確認します。
- テンプレートがIAMリソースを作成し、AWSCloudFormation機能が必要になる可能性があることを確認するチェックボックスを選択します。
- 選択する スタックを作成 スタックをデプロイします。
スタックのステータスは、AWSCloudFormationコンソールの Status: 桁。 あなたは受け取る必要があります CREATE_COMPLETE
数分でステータス。
テンプレート展開の一部として、認証されたユーザーが引き受けるIAMロールに次のアクセス許可が付与されます。
transcribe:StartStreamTranscriptionWebSocket
translate:TranslateText
comprehend:DetectDominantLanguage
polly:SynthesizeSpeech
rekognition:DetectText
rekognition:DetectLabels
textract:DetectDocumentText
にもかかわらず、 Amazon Comprehend このWebアプリケーションで明示的に使用されていない場合、アクションにアクセス許可が付与されます comprehend:DetectDominantLanguage。 言語コードが指定されていない場合、AmazonTranslateは自動的にAmazonComprehendを呼び出して、翻訳するテキストの言語を決定する場合があります。
GitHubリポジトリのクローンを作成し、構成ファイルを編集します
AWS AIサービスへのアクセスが設定されたので、GitHubリポジトリのクローンを作成して設定ファイルを編集する準備が整いました。
- AWSAugmentAbilityGitHubリポジトリ、選択する Code および ZIPをダウンロード.
ZIPファイルをダウンロードするコンピュータ上の場所を選択するように求められるか、自動的にに保存されます。Downloads
フォルダにコピーします。 - ファイルをダウンロードしたら、解凍してZIPファイルを削除します。
名前の付いたフォルダを取得する必要がありますaws-augmentability-main
いくつかのファイルとサブフォルダーが含まれています。 - 名前のついたファイルを作成する
config.js
任意のテキストエディタで、次のコンテンツを入力します。 -
config.js
作成したファイル、XNUMXつを置き換えますINSERT_
Amazon Cognito IDプールID、選択したリージョンのID、Amazon CognitoユーザープールID、およびユーザープールクライアントIDを含む文字列。
AWS CloudFormationコンソールを開き、名前の付いたスタックを選択することで、このような値を取得できますaugmentability-stack
、および 出力 タブには何も表示されないことに注意してください。
- config.jsファイルをに保存します
aws-augmentability-main
フォルダを圧縮し、フォルダを圧縮して新しいフォルダを取得しますaws-augmentability-main.zip
ファイルにソフトウェアを指定する必要があります。
モバイルWebアプリをAmplifyコンソールにデプロイします
AugmentAbilityプロジェクトファイルをダウンロードして編集したので、Amplifyコンソールを使用してモバイルWebアプリをビルドおよびデプロイする準備が整いました。
- ソフトウェア設定ページで、下図のように AmplifyHostingを始めましょう ページ、選択 Gitプロバイダーなしでデプロイする.
- 選択する Continue.
- 手動展開を開始する セクション、 アプリ名、アプリの名前を入力します。
- 環境名、環境の意味のある名前を入力します。
development
orproduction
. - 方法、選択する ドラッグアンドドロップ.
- ドラッグアンドドロップする
aws-augmentability-main.zip
コンピュータからドロップゾーンにファイルするか、 ファイルを選択する を選択するaws-augmentability-main.zip
コンピューターからファイル。 - 選択する Save そして配備する、メッセージを待ちます 展開が正常に完了しました.
モバイルウェブアプリを使用する
これで、モバイルWebアプリがデプロイされます。 初めてアプリにアクセスする前に、手順1で自動的に作成されたユーザーの新しいパスワードを設定する必要があります。一時ログイン画面へのリンクは、 出力 CloudFormationスタックのタブ(フィールド UserPoolLoginUrl
)。 この最初のサインインでは、設定したユーザー名と電子メールで受け取った一時パスワードを使用します。
新しいパスワードを設定すると、モバイルWebアプリをテストする準備が整います。
Amplifyコンソールのセクションでは、アプリへのリンクを下に見つけることができるはずです。 プロダクションブランチのURL ラベル。 それを開くか、スマートフォンに送信してから、新しいクレデンシャルでサインインして、AugmentAbilityでのプレイを開始します。
次のステップ
モバイルWebアプリに変更を加える場合は、リポジトリから複製されたファイルで作業し、モバイルWebアプリをローカルでビルドできます( READMEファイル)、Amplifyコンソールから更新されたZIPファイルをアップロードして、アプリを再デプロイします。 別の方法として、GitHub、Bitbucket、GitLab、または AWS コードコミット プロジェクトファイルを保存するリポジトリをAmplifyに接続して、コードをコミットするたびに自動ビルドを利用できるようにします。 このアプローチの詳細については、を参照してください。 既存のコードを使い始める。 このチュートリアルに従う場合は、必ずコマンドを置き換えてください npm run build
npm run-script build
ステップ2aで。
Amazon Cognitoコンソールで追加のユーザーを作成するには、以下を参照してください。 AWSマネジメントコンソールでの新しいユーザーの作成。 ユーザーのパスワードを回復する必要がある場合は、一時パスワードの変更に使用した一時ログイン画面を使用する必要があります。 あなたは上のリンクを見つけることができます 出力 CloudFormationスタックのタブ(フィールド UserPoolLoginUrl
).
クリーンアップ
テストが終了したら、将来の料金が発生しないように、このウォークスルー中に作成されたリソースを削除してください。
- AWS CloudFormationコンソールで、 スタック ナビゲーションペインに表示されます。
- スタックを選択します
augmentability-stack
. - 選択する 削除 プロンプトが表示されたら削除を確認します。
- Amplifyコンソールで、作成したアプリを選択します。
- ソフトウェア設定ページで、下図のように メニュー、選択 アプリを削除 プロンプトが表示されたら削除を確認します。
まとめ
この投稿では、AWS AIおよびMLサービスを使用して、ライブ文字起こし、テキスト読み上げ、オブジェクト検出、テキスト認識などの機能をすべての人に提供するコードサンプルをデプロイする方法を紹介しました。 幅広い能力や障害を持つ人々が使用できるアプリケーションを構築する方法を知ることは、より包括的でアクセスしやすい製品を作成するための鍵です。
AugmentAbilityの使用を開始するには、クローンを作成するか、フォークします。 GitHubリポジトリ モバイルウェブアプリの実験を開始します。 AWSアカウントにリソースをデプロイする前に、AugmentAbilityを試してみたい場合は、 ライブデモ (資格: demo-user
, Demo-password-1
).
著者について
ルカ・ギダ AWSのソリューションアーキテクトです。 彼はミラノを拠点とし、クラウドジャーニーでイタリアのISVをサポートしています。 コンピューターサイエンスとエンジニアリングの学歴を持ち、大学でAI/MLへの情熱を育み始めました。 Lucaは、AWS内の自然言語処理(NLP)コミュニティのメンバーとして、AI/MLサービスを採用しながらお客様の成功を支援します。
- "
- 100
- a
- 私たちについて
- アクセス
- 接近性
- アクセス可能な
- アクセス
- 従った
- Action
- 添加
- NEW
- 住所
- アドレッシング
- に対して
- AI
- AIサービス
- 代替案
- Amazon
- 間で
- API
- アプリ
- 申し込み
- アプローチ
- アプリ
- 建築
- 周りに
- 人工の
- 人工知能
- 人工知能(AI)
- 関連する
- オーディオ
- 認証された
- 認証
- 承認
- オートマチック
- 自動的に
- 利用できます
- AWS
- 背景
- なぜなら
- 恩恵
- 10億
- ボディ
- 国境
- ボックス
- ブラウザ
- ビルド
- 構築します
- 機能
- 課題
- 課金
- 中国語
- 選択
- 選択する
- クラウド
- コード
- コラム
- コミット
- コミュニケーション
- コミュニティ
- コンプリート
- コンピュータ
- コンピュータサイエンス
- お問合せ
- 領事
- コンテンツ
- 会話
- 会話
- カップル
- 作ります
- 作成した
- 作成
- Credentials
- 現在
- カスタム
- Customers
- 実証します
- 展開します
- 展開
- 展開する
- 展開
- 設計
- 細部
- 検出
- 決定する
- Developer
- 開発者
- 開発
- 異なります
- 病気
- ドキュメント
- ドメイン
- ダウンロード
- Drop
- 間に
- 簡単に
- エディタ
- エンジニアリング
- 英語
- 入力します
- 環境
- EU
- 欧州言語
- イベント
- 日常
- 誰も
- 既存の
- 体験
- 実験
- スピーディー
- 特徴
- 特徴
- 最後に
- 名
- 初回
- フロー
- フォロー中
- 外国の
- フォーク
- フォーム
- フランス語
- から
- 未来
- 一般に
- 生成する
- Gitの
- GitHubの
- グローバル
- 付与された
- 成長する
- ガイドライン
- 持って
- 健康
- ことができます
- ハイライト
- 主催
- ホスティング
- 認定条件
- How To
- HTTPS
- 識別
- アイデンティティ
- 画像
- 実装する
- 実装
- 実装
- 重要性
- 不可能
- 改善します
- 含ま
- 含めて
- 包含
- 増える
- 情報
- 統合する
- 統合された
- インテリジェンス
- アイルランド
- IT
- 日本語
- JavaScriptを
- 旅
- キー
- 既知の
- 韓国語
- ラベル
- ラベル
- 言語
- ESL, ビジネスESL <br> 中国語/フランス語、その他
- 起動する
- 起動
- LEARN
- 学習
- 図書館
- 可能性が高い
- LINK
- リスト
- 耳を傾ける
- ライブ
- 局部的に
- 場所
- 探して
- 機械
- 機械学習
- 主流
- make
- マネージド
- 管理
- 管理する
- マニュアル
- 手動で
- 意味のある
- メンバー
- 最小
- ML
- モバイル
- 他には?
- ナチュラル
- ナビゲーション
- 必要
- ニーズ
- 数
- 得
- オファー
- 開いた
- 開設
- 操作
- 業務執行統括
- 自分の
- パッケージ
- 部
- 情熱
- パスワード
- のワークプ
- 画像
- 再生
- ポイント
- ポリシー
- プール
- プール
- 人口
- ポルトガル語
- パワード
- 処理
- 製品
- 演奏曲目
- プロジェクト
- プロジェクト(実績作品)
- 提供します
- 提供
- は、大阪で
- 範囲
- リーディング
- への
- 受け取ります
- 受け
- 回復する
- 地域
- 信頼性のある
- 倉庫
- リクエスト
- 必要とする
- の提出が必要です
- 必要
- 研究
- リソース
- レビュー
- 職種
- ラン
- 前記
- 科学
- 画面
- SDDK
- 秒
- 安全に
- サービス
- サービス
- セッションに
- 展示の
- 符号
- サイン
- スマートフォン
- スマートフォン
- 社会
- 固体
- 溶液
- ソリューション
- 一部
- ソースコード
- スペイン語
- 話す
- 話す
- スタック
- start
- 開始
- Status:
- 店舗
- 流れ
- ストリーミング
- 成功した
- 首尾よく
- サポート
- 支援する
- サポート
- ターゲット
- タスク
- テクノロジー
- 一時的
- test
- テスト
- ソース
- 世界
- 時間
- 成績証明書(トランスクリプト)
- インタビュー
- tv
- 一般的に
- ui
- 下
- 大学
- つかいます
- users
- バージョン
- 詳しく見る
- wait
- ウェブ
- ウェスト
- この試験は
- while
- 誰
- 以内
- 無し
- 仕事
- ワーキング
- 世界
- あなたの