チェックポイント
Configure a Service Account & IAM permissions
/ 20
Configure credential file for a Service Account
/ 20
Modify the application to save text from images to Cloud Storage
/ 20
Modify the appliction to translate text using the Language API
/ 20
Query the BigQuery table
/ 20
Machine Learning API との統合: チャレンジラボ
GSP329
概要
チャレンジラボでは、シナリオと一連のタスクが提供されます。手順ガイドに沿って進める形式ではなく、コース内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。
チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。
100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。
このラボは、「Integrate with Machine Learning APIs」クエストに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。
テスト対象トピック
- BigQuery と Cloud Storage のサービス アカウントに対する正しい権限を付与します。
- Google Cloud の認証情報を Python アプリケーションに提供するために、サービス アカウントの認証情報ファイルを作成してダウンロードします。
- Google Cloud Vision API を使用してイメージ ファイルからテキストを抽出するよう Python スクリプトを変更します。
- Google Translate API を使用してテキストを翻訳するよう Python スクリプトを変更します。
- BigQuery SQL クエリを実行して、抽出したデータの中に出現する言語を確認します。
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。 -
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}} [ラボの詳細] パネルでも [ユーザー名] を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}} [ラボの詳細] パネルでも [パスワード] を確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。 -
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
チャレンジ シナリオ
あなたは Jooli Inc. のアナリティクス チームのメンバーとして新たな役割を担うことになりました。会社の機械学習プロジェクトにおいてデータセットの開発と評価を支援することが求められています。主なタスクとして、さまざまなデータセットの準備、クリーニング、分析が含まれます。
これらのタスクのスキルや知識があるという前提のため、手順ガイドは提供されません。
チャレンジ
サイネージのイメージセットを分析して、イメージ内のテキストを抽出、翻訳するプロセスを開発するように依頼されました。機械学習プロジェクトでは、モデルのトレーニングと評価にイメージ データセットを使用します。抽出したテキスト情報は、機械学習プロジェクトの一部としてイメージの分類に使用されます。すべてのイメージにはテキストが含まれますが、テキストの言語はさまざまです。イメージは Cloud Storage バケットに保存され、いつでも利用可能な状態です。
Python スクリプトを使用して、各イメージ ファイルを Google Vision API に送信して処理し、イメージ内のテキストを特定します。各イメージから抽出したテキストは、それぞれ別のファイルとして、Cloud Storage に保存しなおす必要があります。テキストのロケールが
次の図にプロセスの概略を示します。
処理されたテキスト データは必ず、プロジェクト(image_classification_dataset
)のデータセットにある既存の BigQuery テーブル(image_text_detail
)に書き出されます。
チームメンバーの 1 人が、以前 Natural Language API を使用して一連のテキスト ファイルを処理するのに使用した Python スクリプトをベースにして、イメージを処理するためのコードの編集に取り掛かっていました。このメンバーが別のプロジェクトに異動してしまったので、あなたがこのタスクを完了させなければなりません。
スクリプトの編集はほとんど完了しており、引き継いだバージョンでは、ストレージ バケットにアクセスでき、イメージ ファイルが検出されるたびに反復処理が行われるようになっています。しかし、各イメージからテキストを検出して、そのテキストを Translation API に送信するための API 呼び出しがまだ実装されていません。
手元には、作業中の Python スクリプトのコピーと、ラボ プロジェクト ID の名前が付けられた Cloud Storage バケットに保存されているサンプル イメージ セットがあります。
チームメンバーは、スクリプトの完成していない箇所を特定し、作成する必要がある API 呼び出しについてコメントを残してくれています。スクリプトには完成していないところが 3 箇所あります。この未完成部分を完了させ、適切な Machine Learning API 呼び出しを作成する必要があります。未完成部分にはすべて、先頭に # TBD:
というコメントが付いています。
最後の行には、結果データを BigQuery にアップロードするコードが記述されていますが、この行はコメント文字で無効になっています。他の部分のスクリプトが問題なく機能することを確認したら、コメント文字を削除して最後の行を有効にします。
スクリプトを編集する前に、環境を準備する必要があります。適切な権限を持つサービス アカウントを作成し、そのアカウントの認証情報ファイルをダウンロードします。サービス アカウントの認証情報を取得すると、Python スクリプトを変更し、それを使用してイメージ ファイルを処理することができます。
課題を完了するには、すべてのイメージに対して、最初に抽出したテキスト、言語、翻訳済みのテキストデータを BigQuery テーブル(image_text_detail
)に読み込む必要があります。この処理を行うコードはスクリプトの最後の行に記述されています。この行を有効にするには、コメント文字を削除する必要があります。
更新した Python スクリプトを使用して、イメージ ファイルを処理し、データを BigQuery にアップロードできたら、次の BigQuery クエリを実行して、イメージ データが正常に処理されることを確認する必要があります。
このクエリを実行すると、サンプル イメージ セットから検出された、それぞれの言語タイプごとのサイネージの数が報告されます。
タスク 1. Machine Learning API、BigQuery、Cloud Storage にアクセスするためのサービス アカウントを構成する
- 新しいサービス アカウントを作成します。このアカウントで、スクリプトの認証情報を提供します。
- サービス アカウントは一度作成されると、
と の役割に紐づけられ、IAM 権限が付与されます。IAM 権限は、Cloud Storage のファイルを処理し、結果データを BigQuery テーブルに挿入するために必要なアクセス権限です。 サービス アカウントに、BigQuery と Cloud Storage にアクセスするための管理者権限が付与されていることを確認する
タスク 2. 新しいサービス アカウントの認証情報ファイルを作成し、ダウンロードする
- サービス アカウントの権限を設定したら、そのサービス アカウントに対応する JSON 形式の IAM 認証情報ファイルをダウンロードします。
- 必ず、Python スクリプトの認証情報ファイルの名前を提供する環境変数を設定してください。
サービス アカウントに対応する IAM 認証情報ファイルが作成されたことを確認する
タスク 3. イメージ ファイルからテキストを抽出するよう Python スクリプトを変更する
-
analyze-images-v2.py
ファイルを、作成された Cloud Storage バケットから Cloud Shell にコピーします。 -
プロジェクト バケットに保存したイメージ ファイルからテキストを抽出するよう Python スクリプトを変更して、各ファイルのテキストデータをテキスト ファイルに保存して、同じバケットに書き戻す必要があります。 スクリプトには、API にアクセスするためのコードを追加する必要がある箇所に
# TBD
というコメントが付いています。 -
最初に、Cloud Vision API を使用してイメージ ファイルからテキストデータを抽出するようスクリプトを変更します。変更したら、その時点でスクリプトを実行し、処理が正しく進んでいることを確認します。
タスク 4. Translation API を使用してテキストを翻訳するよう Python スクリプトを変更する
-
次に、Vision API で検出された
のテキストを特定し、Translation API を使用してそのテキストを に翻訳するよう Python スクリプトを変更します。 アプリケーションにより、テキストが翻訳され、結果が BigQuery に保存されることを確認する
タスク 5. データセット内のサイネージに最もよく使用されている言語を特定する
- スクリプトを更新し、イメージ内のテキストの検出と翻訳を正常に行えるようになったら、スクリプトの最後の行からコメント文字を削除し、BigQuery へのデータのアップロードを有効にします。
- BigQuery にデータがアップロードされたら、言語ごとに出現回数を数えるクエリを実行して、必要なデータがすべて BigQuery にアップロードされていることを確認します。
BigQuery クエリを実行して、各言語がイメージ内でどのくらいの頻度で検出されるかを報告します。
ヒントとアドバイス
-
ヒント 1: 認証情報ファイルの詳細を提供するために、環境変数を設定する必要があります。認証情報ファイルは、Python スクリプトが Google Cloud API にアクセスするときに使用されます。
-
ヒント 2: Vision API クライアントの document_text_detection API 呼び出しの詳細については、Vision API クライアントの Python API ドキュメント リファレンス ページで確認できます。また、Vision API アノテーション レスポンス オブジェクトの詳細については、Vision API オブジェクトの Python API ドキュメント リファレンス ページで確認できます。
-
ヒント 3: Translation API クライアントの Translate API 呼び出しの詳細については、Translation V2 API クライアントの Python API ドキュメントを参照してください。
お疲れさまでした
サイネージのイメージセットを分析し、イメージ内のテキストを抽出して翻訳するプロセスの開発が完了しました。
クエストを完了する
このセルフペース ラボは、「Integrate with Machine Learning APIs」スキルバッジ クエストの一部です。クエストとは学習プログラムを構成する一連のラボのことで、完了すると成果が認められてバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、こちらのクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能な全クエストについては、Google Cloud Skills Boost カタログをご覧ください。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2023 年 12 月 5 日
ラボの最終テスト日: 2023 年 12 月 5 日
Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。