
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create an API Key
/ 30
Upload image to a bucket
/ 30
Analyzing the image's text with the Natural Language API
/ 40
このラボでは、複数の ML API を組み合わせて使用し、ML によってできることを体験します。最初に Cloud Vision API のテキスト検出メソッドを使用し、光学式文字認識(OCR)を利用して画像からテキストを抽出します。次に、そのテキストを Translation API で翻訳する方法と、Natural Language API で分析する方法を学びます。
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] パネルでも [ユーザー名] を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] パネルでも [パスワード] を確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
[承認] をクリックします。
出力は次のようになります。
出力:
出力:
出力例:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
curl
を使用して Vision API にリクエストを送信するため、リクエスト URL に渡す API キーを生成する必要があります。
[+ 認証情報を作成] をクリックします。
プルダウン メニューで [API キー] を選択します。
次に、生成したキーをコピーして [閉じる] をクリックします。
各リクエストに API キーの値を挿入する必要がないように、環境変数に API キーを保存します。
Cloud Shell で次のコマンドを実行します。<your_api_key>
は先ほどコピーしたキーに置き換えます。
[進行状況を確認] をクリックして、実行したタスクを確認します。
画像検出のために Vision API に画像を送信する方法は 2 つあります。base64 でエンコードされた画像文字列を API に送信する方法と、Cloud Storage に保存されたファイルの URL を渡す方法です。このラボでは、Cloud Storage バケットを作成して画像を保存します。
コンソールでナビゲーション メニュー > [Cloud Storage] ブラウザの順に移動し、[+ 作成] をクリックします。
バケットに
バケットに名前を付けたら、[オブジェクトへのアクセスを制御する方法を選択する] をクリックします。
[このバケットに対する公開アクセス禁止を適用する] のボックスの選択を解除します。
[アクセス制御] の下の [きめ細かい管理] を選択して [作成] をクリックします。
次に、バケットへのアクセスを非公開にしたままで、ファイルを公開して表示できるようにします。
[アクセス権の編集] を選択します。
[エントリを追加] をクリックして、次のように設定します。
ファイルに公開アクセス権が設定されます。
これで、ファイルをバケットに保存できました。次は Vision API リクエストを作成し、この画像の URL を渡します。
[進行状況を確認] をクリックして、実行したタスクを確認します。
ocr-request.json
ファイルを作成した後、以下のコードをそのファイルに追加します。my-bucket-name は、作成したバケットの名前に置き換えます。ファイルを作成するには、任意のコマンドライン エディタ(nano
、vim
、emacs
)を使用するか、または Cloud Shell で鉛筆アイコンをクリックしてコードエディタを開きます。ocr-request.json
ファイルに次の行を追加します。この後、Cloud Vision API の TEXT_DETECTION 機能を使用します。この機能は、画像に対して光学式文字認識(OCR)を実行してテキストを抽出します。
curl
を使用して Cloud Vision API を呼び出します。レスポンスの最初の部分は次のようになります。
OCR メソッドにより、画像から多くのテキストを抽出できます。
textAnnotations
で取り出された最初のデータは、API が画像内で見つけたテキストのブロック全体です。これには次のものが含まれます。
その下には、テキスト内で見つかった単語それぞれについてのオブジェクトが、該当の単語の境界ボックスも含めて示されます。
フランス語を知らなければ、このテキストの意味はおそらくわかりません。次のステップは翻訳です。
curl
コマンドを実行してレスポンスを ocr-response.json
ファイルに保存し、後で参照できるようにします。Translation API では、テキストを 100 以上の言語に翻訳できます。入力テキストの言語を検出することもできます。フランス語のテキストを英語に翻訳するには、テキストとターゲット言語の言語コード(en-US)を Translation API に渡します。
translation-request.json
ファイルを作成して、次の行を追加します。q
は翻訳する文字列を渡す場所です。
ファイルを保存します。
Cloud Shell で次の Bash コマンドを実行し、前の手順で説明した画像テキストを抽出して、新しい translation-request.json
にコピーします(これらはすべて 1 つのコマンドで行われます)。
translation-response.json
ファイルにコピーされます。看板の内容が理解しやすくなりました。
レスポンスの説明:
translatedText
には翻訳結果が含まれ、detectedSourceLanguage
は fr
、つまりフランス語の ISO 言語コードです。Translation API は 100 以上の言語をサポートし、言語サポートのリファレンスでその一覧が示されています。
画像に含まれるテキストを翻訳するだけでなく、詳細に分析したい場合があります。そのような場合は、Natural Language API が役に立ちます。次のステップに進みましょう。
Natural Language API は、エンティティを抽出して感情と構文を分析し、テキストをカテゴリ別に分類することによって、テキストの理解を助けます。analyzeEntities
メソッドを使用して、Natural Language API がこの画像のテキストにどのようなエンティティを見つけられるかを見てみましょう。
nl-request.json
ファイルを作成します。リクエストでは、送信するテキストについて次の情報を Natural Language API に知らせます。
type: サポートされている型の値は PLAIN_TEXT
または HTML
です。
content: 分析のために Natural Language API に送信するテキストを渡します。Natural Language API では、Cloud Storage に保存されているファイルをテキスト処理用に送信することもできます。Cloud Storage からファイルを送信するには、content
を gcsContentUri
に置き換えて、Cloud Storage に保存されているテキスト ファイルの URI の値を使用します。
encodingType: テキストを処理するときに使用するテキスト エンコードの種類を API に指示します。API はこの情報により、特定のエンティティがテキストのどこに出現するかを調べます。
nl-request.json
ファイルに、元の画像から翻訳された英語のテキストが含まれるようになりました。いよいよこのテキストを分析します。
curl
リクエストを使用して、Natural Language API の analyzeEntities
エンドポイントを呼び出します。レスポンス全体をスクロールすると、Natural Language API によって発見されたエンティティを参照できます。
wikipedia のページを含むエンティティの場合、API はそのページの URL を含むメタデータとエンティティの mid
を提供します。mid
とは、Google のナレッジグラフでこのエンティティにマッピングされる ID です。詳細情報を取得するには、Knowledge Graph API を呼び出してこの ID を渡します。Natural Language API はすべてのエンティティについて、mentions
(テキスト内の出現箇所)、type
(タイプ)、および salience
(テキスト全体におけるエンティティの重要性を示す [0,1] の範囲)の情報を提供します。Natural Language API では英語以外に言語サポート リファレンスの一覧にある言語もサポートされています。
この画像に限れば重要なエンティティを見つけ出すのは比較的簡単ですが、数千に及ぶ画像のライブラリがある場合、その作業は非常に困難になります。OCR、翻訳、および自然言語処理は、大量の画像データセットから意味を抽出するのに役立ちます。
[進行状況を確認] をクリックして、実行したタスクを確認します。
ここでは、3 つの異なる ML API を組み合わせる方法を学びました。すなわち、Vision API の OCR メソッドで画像からテキストを抽出し、Translation API でそのテキストを英語に翻訳して、Natural Language API でそのテキスト内のエンティティを検出しました。
このセルフペース ラボは、「Integrate with Machine Learning APIs」クエストと「Intro to ML: Image Processing」クエストの一部です。クエストとは学習プログラムを構成する一連のラボのことで、完了すると成果が認められて上のようなバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、このラボが含まれるクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能な全クエストについては、Google Cloud Skills Boost カタログをご覧ください。
ML API に関する別のラボをお試しください。たとえば、次のようなものがあります。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2023 年 10 月 6 日
ラボの最終テスト日: 2023 年 10 月 6 日
Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
One lab at a time
Confirm to end all existing labs and start this one