arrow_back

Machine Learning API との統合: チャレンジラボ

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Machine Learning API との統合: チャレンジラボ

Lab 1時間 30分 universal_currency_alt クレジット: 5 show_chart 中級
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP329

Google Cloud セルフペース ラボ

概要

チャレンジラボでは、シナリオと一連のタスクが提供されます。各ステップの説明に沿って進める形式ではなく、クエスト内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。

チャレンジラボは、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 コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

チャレンジ シナリオ

あなたは Jooli Inc. のアナリティクス チームのメンバーとして新たな役割を担うことになりました。会社の機械学習プロジェクトにおいてデータセットの開発と評価を支援することが求められています。主なタスクとして、さまざまなデータセットの準備、クリーニング、分析が含まれます。

これらのタスクのスキルや知識があるという前提のため、手順ガイドは提供されません。

チャレンジ

サイネージのイメージセットを分析して、イメージ内のテキストを抽出、翻訳するプロセスを開発するように依頼されました。機械学習プロジェクトでは、モデルのトレーニングと評価にイメージ データセットを使用します。抽出したテキスト情報は、機械学習プロジェクトの一部としてイメージの分類に使用されます。すべてのイメージにはテキストが含まれますが、テキストの言語はさまざまです。イメージは Cloud Storage バケットに保存され、いつでも利用可能な状態です。

Python スクリプトを使用して、各イメージ ファイルを Google Vision API に送信して処理し、イメージ内のテキストを特定します。各イメージから抽出したテキストは、それぞれ別のファイルとして、Cloud Storage に保存しなおす必要があります。テキストのロケールが(locale='')以外の場合、テキストを Google Translate API に送信して、に翻訳されたテキストを取得する必要があります。すべてのイメージの処理が完了したら、スクリプトを使用して結果を BigQuery テーブルにアップロードする必要があります。

次の図にプロセスの概略を示します。 Machine Learning API のチャレンジ図

処理されたテキスト データは必ず、プロジェクト(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 クエリを実行して、イメージ データが正常に処理されることを確認する必要があります。

SELECT locale,COUNT(locale) as lcount FROM image_classification_dataset.image_text_detail GROUP BY locale ORDER BY lcount DESC

このクエリを実行すると、サンプル イメージ セットから検出された、それぞれの言語タイプごとのサイネージの数が報告されます。

タスク 1. Machine Learning API、BigQuery、Cloud Storage にアクセスするためのサービス アカウントを構成する

  1. 新しいサービス アカウントを作成します。このアカウントで、スクリプトの認証情報を提供します。
  2. サービス アカウントは一度作成されると、の役割に紐づけられ、IAM 権限が付与されます。IAM 権限は、Cloud Storage のファイルを処理し、結果データを BigQuery テーブルに挿入するために必要なアクセス権限です。 サービス アカウントに、BigQuery と Cloud Storage にアクセスするための管理者権限が付与されていることを確認する

タスク 2. 新しいサービス アカウントの認証情報ファイルを作成し、ダウンロードする

  1. サービス アカウントの権限を設定したら、そのサービス アカウントに対応する JSON 形式の IAM 認証情報ファイルをダウンロードします。
  2. 必ず、Python スクリプトの認証情報ファイルの名前を提供する環境変数を設定してください。 サービス アカウントに対応する IAM 認証情報ファイルが作成されたことを確認する

タスク 3. イメージ ファイルからテキストを抽出するよう Python スクリプトを変更する

  1. analyze-images-v2.py ファイルを、作成された Cloud Storage バケットから Cloud Shell にコピーします。

  2. プロジェクト バケットに保存したイメージ ファイルからテキストを抽出するよう Python スクリプトを変更して、各ファイルのテキストデータをテキスト ファイルに保存して、同じバケットに書き戻す必要があります。 スクリプトには、API にアクセスするためのコードを追加する必要がある箇所に # TBD というコメントが付いています。

  3. 最初に、Cloud Vision API を使用してイメージ ファイルからテキストデータを抽出するようスクリプトを変更します。変更したら、その時点でスクリプトを実行し、処理が正しく進んでいることを確認します。

アプリケーションにより、イメージからテキストが抽出されることを確認する

タスク 4. Translation API を使用してテキストを翻訳するよう Python スクリプトを変更する

  • 次に、Vision API で検出されたのテキストを特定し、Translation API を使用してそのテキストをに翻訳するよう Python スクリプトを変更します。

    アプリケーションにより、テキストが翻訳され、結果が BigQuery に保存されることを確認する

タスク 5. データセット内のサイネージに最もよく使用されている言語を特定する

  1. スクリプトを更新し、イメージ内のテキストの検出と翻訳を正常に行えるようになったら、スクリプトの最後の行からコメント文字を削除し、BigQuery へのデータのアップロードを有効にします。
  2. BigQuery にデータがアップロードされたら、言語ごとに出現回数を数えるクエリを実行して、必要なデータがすべて BigQuery にアップロードされていることを確認します。 BigQuery クエリを実行して、各言語がイメージ内でどのくらいの頻度で検出されるかを報告します。

ヒントとアドバイス

お疲れさまでした

サイネージのイメージセットを分析し、イメージ内のテキストを抽出して翻訳するプロセスの開発が完了しました。

クエストを完了する

このセルフペース ラボは、「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 の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。