始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create the cloud resource connection and grant IAM role
/ 10
Grant IAM Storage Object Admin role to the connection's service account
/ 10
Create the dataset and object table for the review images
/ 15
Create the Gemini models in BigQuery
/ 10
Prompt Gemini to analyze customer reviews for keywords and sentiment
/ 25
Respond to customer reviews
/ 20
Prompt Gemini to provide keywords and summaries for each image
/ 10
このラボでは、BigQuery Machine Learning(BigQuery ML)とリモートモデル(Gemini)を使用して、SQL によるキーワードの抽出、購入者レビューにおけるお客様の感情の評価、ゼロショット プロンプトと少数ショット プロンプトを使用した購入者レビューへの返信を行う方法について学習します。
BigQuery は、データから最大限の価値を引き出すのに役立つフルマネージドの AI 対応データ分析プラットフォームで、マルチエンジン、マルチフォーマット、マルチクラウドに対応しています。BigQuery の主な機能の一つである BigQuery Machine Learning(ML)では、SQL クエリまたは Colab Enterprise ノートブックを使用して ML モデルを作成、実行できます。
Gemini は、Google DeepMind が開発した、生成 AI モデルのファミリーであり、マルチモーダル ユースケース用に設計されています。Gemini API を使用すると、Gemini モデルにアクセスできます。
また、Gemini モデルを使用すると、購入者レビューの画像から要約を生成したり、関連するキーワードを抽出したりできます。
このラボでは、次の方法について学びます。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
このタスクでは、BigQuery でクラウド リソース接続を作成し、Gemini と Gemini モデルで作業できるようにします。また、ロールを通じてクラウド リソース接続のサービス アカウントに IAM 権限を付与し、Vertex AI サービスにアクセスできるようにします。
[Cloud コンソールの BigQuery へようこそ] メッセージ ボックスが開きます。このメッセージ ボックスには、クイックスタート ガイドとリリースノートへのリンクが表示されます。
BigQuery コンソールが開きます。
[エクスプローラ] ペインで [+ データを追加] をクリックし、[データソースを検索] に「Vertex AI」と入力します。
[Vertex AI] の検索結果をクリックし、[BigQuery フェデレーション] をクリックします。
[接続タイプ] リストで、[Vertex AI リモートモデル、リモート関数、BigLake(Cloud リソース)] を選択します。
[接続 ID] フィールドに接続の名前「gemini_conn」を入力します。
[ロケーション タイプ] で [マルチリージョン] を選択し、プルダウンから、[US(米国の複数のリージョン)] を選択します。
他の設定はデフォルトのままにします。
[接続を作成] をクリックします。
[接続へ移動] をクリックします。
[接続情報] ペインで、サービス アカウント ID をテキスト ファイルにコピーして、次のタスクで使用できるようにします。また、BigQuery Explorer のプロジェクトの [外部接続] セクションで接続が追加されていることも確認できます。
コンソールのナビゲーション メニューで、[IAM と管理] をクリックします。
[アクセスを許可] をクリックします。
[新しいプリンシパル] フィールドに前の手順でコピーしたサービス アカウント ID を入力します。
[ロールを選択] フィールドに [Vertex AI] と入力し、[Vertex AI ユーザー] ロールを選択します。
[保存] をクリックします。
これにより、サービス アカウントに Vertex AI ユーザーロールが含まれるようになります。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、データセットと画像ファイルを確認し、クラウド リソース接続のサービス アカウントに IAM 権限を付与します。
このタスクでリソース接続のサービス アカウントに権限を付与する前に、データセットと画像ファイルを確認してください。
コンソールのナビゲーション メニュー()で、[Cloud Storage] を選択します。
[バケット] をクリックし、
バケットに含まれている gsp1246 フォルダを開きます。次の 2 つの項目が表示されます。
images フォルダには、分析するすべての画像ファイルが含まれています。このフォルダに自由にアクセスして、画像ファイルを確認できます。customer_reviews.csv ファイルは、テキストベースの購入者レビューが含まれるデータセットです。BigQuery で作業を開始する前に、リソース接続のサービス アカウントに IAM の権限を付与すると、クエリの実行時にアクセス拒否エラーが発生しなくなります。
バケットのルートに戻ります。
[権限] をクリックします。
[アクセス権を付与] をクリックします。
[新しいプリンシパル] フィールドに、前の手順でコピーしたサービス アカウント ID を入力します。
[ロールを選択] フィールドに「Storage オブジェクト」と入力し、[Storage オブジェクト管理者] ロールを選択します。
[保存] をクリックします。
これにより、サービス アカウントに Storage オブジェクト管理者ロールが含まれるようになります。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、プロジェクトのデータセット、購入者レビューのテーブル、画像オブジェクト テーブルを作成します。
コンソールのナビゲーション メニュー()で、[BigQuery] を選択します。
[エクスプローラ] パネルで、)を選択してから、[データセットを作成] を選択します。
テーブルやモデルなどのデータベース オブジェクトを格納するためのデータセットが作成されます。
[データセットの作成] ペインに以下の情報を入力します。
| フィールド | 値 |
|---|---|
| データセット ID | gemini_demo |
| ロケーション タイプ | [マルチリージョン] を選択 |
| マルチリージョン | [US(米国の複数のリージョン)] を選択 |
その他の項目はデフォルトのままにします。
[データセットを作成] をクリックします。
これにより、gemini_demo データセットが作成され、BigQuery Explorer のプロジェクトの下に表示されます。
購入者レビューのテーブルを作成するには、SQL クエリを使用します。
[+] をクリックして新しい SQL クエリを作成します。
クエリエディタで、以下のクエリを貼り付けます。
このクエリは、LOAD DATA ステートメントを使用して、Cloud Storage から customer_reviews.csv ファイルを、指定された列名とデータ型で BigQuery テーブルに読み込みます。
[実行] をクリックします。
これにより、クエリが処理され、データセット内の各レビューに対して、customer_review_id、customer_id、location_id、review_datetime、review_text、social_media_source、social_media_handle を含む customer_reviews テーブルが作成されます。
[エクスプローラ] ペインで customer_reviews テーブルをクリックし、スキーマと詳細を確認します。自由にテーブルをクエリしてレコードを確認できます。
オブジェクト テーブルを作成するには、SQL クエリを使用します。
[+] をクリックして、新しい SQL クエリを作成します。
クエリエディタで、以下のクエリを貼り付けます。
クエリを実行します。
これにより、review_images オブジェクト テーブルが gemini_demo データセットに追加され、サンプル データセット内の各オーディオ レビューの URI(Cloud Storage 上の場所)が読み込まれます。
エクスプローラで review_images テーブルをクリックし、スキーマと詳細を確認します。自由にテーブルをクエリして特定のレコードを確認できます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
テーブルが作成されたため、テーブルの操作を開始できます。このタスクでは、BigQuery の Gemini のモデルを作成します。
[+] をクリックして新しい SQL クエリを作成します。
クエリエディタで、以下のクエリを貼り付けて実行します。
これにより、gemini_2_0_flash モデルが作成され、gemini_demo データセットの [モデル] セクションに追加されます。
エクスプローラで gemini_flash モデルをクリックし、スキーマと詳細を確認します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、Gemini モデルを使用して、各購入者レビューのキーワードや感情(肯定的か否定的か)を分析します。
[+] をクリックして新しい SQL クエリを作成します。
クエリエディタで、以下のクエリを貼り付けて実行します。
このクエリは、customer_reviews テーブルから購入者レビューを取得し、gemini_flash モデルが各レビュー内のキーワードを識別するためのプロンプトを構築します。結果は、新しいテーブル customer_reviews_keywords に保存されます。
モデルによって購入者レビューのレコードが処理されるまでに約 30 秒かかるので、しばらく待機します。
処理が完了すると、customer_reviews_keywords テーブルが作成されます。
エクスプローラで customer_reviews_keywords テーブルをクリックし、スキーマと詳細を確認します。
[+] をクリックして新しい SQL クエリを作成します。
クエリエディタで、以下のクエリを貼り付けて実行します。
これにより、customer_reviews_keywords テーブルから、ml_generate_text_llm_result(キーワード分析結果を格納)、social_media_source、review_text、customer_id、location_id、review_datetime の各列を含む行が表示されます。
[+] をクリックして新しい SQL クエリを作成します。
クエリエディタで、以下のクエリを貼り付けて実行します。
このクエリは、customer_reviews テーブルから購入者レビューを取得し、gemini_flash モデルが各レビューの感情を分類するためのプロンプトを構築します。結果は、後でさらなる分析を行うために使用できるよう、新しいテーブル customer_reviews_analysis に保存されます。
しばらくお待ちください。モデルによって購入者レビューのレコードが処理されるまでに約 20 秒かかります。
処理が完了すると、customer_reviews_analysis テーブルが作成されます。
エクスプローラで customer_reviews_analysis テーブルをクリックし、スキーマと詳細を確認します。
[+] をクリックして新しい SQL クエリを作成します。
クエリエディタで、以下のクエリを貼り付けて実行します。
これにより、customer_reviews_analysis テーブルから、ml_generate_text_llm_result(感情分析結果を格納)、social_media_source、review_text、customer_id、location_id、review_datetime の各列を含む行が表示されます。
レコードを見てみましょう。結果(肯定的および否定的)の一部が正しくフォーマットされず、ピリオドや余分なスペースなどの不要な文字が含まれる場合があります。これについては、以下のビューを使用してレコードをサニタイズできます。
[+] をクリックして新しい SQL クエリを作成します。
クエリエディタで、以下のクエリを貼り付けて実行します。
クエリによって cleaned_data_view ビューが作成されます。ビューには、感情の結果、レビュー テキスト、お客様 ID、場所 ID が含まれます。感情の結果(肯定的か否定的か)のすべての文字が小文字になり、余分なスペースやピリオドなどの不要な文字が削除されます。結果のビューにより、このラボの後のステップでさらなる分析を行うことが容易になります。
以下のクエリを使用してビューをクエリすると、作成された行を確認できます。
このクエリは、cleaned_data_view ビューからすべてのデータを取得し、それらをレビューの日時に基づいて昇順に並べるように設計されています。
BigQuery を使用して、肯定的なレビューと否定的なレビューの件数を示す棒グラフレポートを作成できます。以下のクエリから開始します。
これにより、肯定的なレビューと否定的なレビューの件数が表示されます。
これらの件数の棒グラフレポートを作成するには、BigQuery の [クエリ結果] セクションで [グラフ] をクリックします。BigQuery は、グラフの種類を [棒] にして、感情列(予測される感情が肯定的か否定的か)のグラフ構成を自動的に設定し、件数を棒として表示します。
BigQuery で以下のクエリを使用して、ソーシャル メディア ソースごとの肯定的なレビューと否定的なレビューの件数を一覧表示できます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Gemini を使用して購入者レビューに返信することもできます。このタスクでは、customer_reviews テーブル内の特定のレビューに対して、ゼロショットを使用してマーケティングの返信を作成したり、少数ショットを使用してカスタマー サービスの返信を作成したりする方法について学習します。
customer_id 5576 のお客様は、次のようなレビューを投稿しました。
上記は明らかに肯定的なレビューです。
このクエリは、customer_reviews テーブル、具体的にはお客様 ID 5576 の購入者レビューを分析するように設計されています。クエリを実行すると、Gemini を使用してレビュー テキストに基づいてマーケティング提案が生成され、その結果が customer_reviews_marketing という新しいテーブルに保存されます。このテーブルには、元のレビューデータと生成されたマーケティング提案が含まれるため、簡単に分析して対応することが可能になります。
以下の SQL クエリを実行すると、customer_reviews_marketing テーブルの詳細を表示できます。
ml_generate_text_llm_result 列には返信が含まれていることがわかります。
以下の SQL クエリを使用すると、返信を読みやすくし、返信に対してアクションを取ることができます。
以下の SQL クエリを実行すると、テーブルの詳細を表示できます。
marketing 列に注目してください。アプリケーションを作成して、marketing 列の返信を取得し、Data Beans アプリ内のお客様アカウントへの通知として 10% 割引のクーポン ファイルを添付したり、お客様へのメールを生成したりすることもできます。
customer_id 8844 のお客様は、次のようなレビューを投稿しました。
上記は明らかに否定的なレビューです。Gemini を使用してこのお客様に返信し、コーヒー ショップにお客様の体験を知らせて対策を講じるにはどうすればよいでしょうか。
Gemini で以下のクエリを使用すると、それが可能になります。クエリエディタで、以下のクエリを貼り付けて実行します。
このクエリは、Gemini を使用して購入者レビューを分析し、適切な返信とアクション プランを生成することで、カスタマー サービスの返信を自動化するように設計されています。これは、Google Cloud を使用することで、カスタマー サービスを強化し、事業運営を改善できることを示す絶好の例です。クエリを実行すると、customer_reviews_cs_response テーブルが作成されます。
以下の SQL クエリを実行すると、テーブルの詳細を表示できます。
ml_generate_text_llm_result 列には返信とアクションが 2 つのキーとして含まれていることがわかります。
以下の SQL クエリを使用して、返信とアクションを customer_reviews_cs_response_formatted という新しいテーブルで 2 つの列に分けると、読みやすくなります。
以下の SQL クエリを実行すると、テーブルの詳細を表示できます。
返信フィールドとアクション フィールドが作成されたことがわかります。お客様とは場所に対応する別々のアプリケーションを構築します。これにより、改善のためのアクションを取り、フィードバックを受信したことをお客様に通知できます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、Gemini を使用して画像を分析し、キーワードや要約を生成します。
[+] をクリックして新しい SQL クエリを作成します。
クエリエディタで、以下のクエリを貼り付けて実行します。
しばらくお待ちください。処理は約 3 分で完了します。
モデルが画像の処理を完了すると、review_images_results テーブルが作成されます。
エクスプローラで review_image_results テーブルをクリックし、スキーマと詳細を確認します。
[+] をクリックして新しい SQL クエリを作成します。
クエリエディタで、以下のクエリを貼り付けて実行します。
これにより、レビューの各画像の行が URI(レビュー画像が存在する Cloud Storage 上の場所)と JSON の結果(Gemini Vision モデルの要約とキーワードを含む)とともに表示されます。
次のクエリを使用すると、これらの結果を人が読みやすい形式で取得できます。
[+] をクリックして新しい SQL クエリを作成します。
クエリエディタで、以下のクエリを貼り付けて実行します。
これにより、review_images_results_formatted テーブルが作成されます。
以下のクエリを使用してテーブルをクエリすると、作成された行を確認できます。
URI 列の結果は変わりませんが、JSON が各行の summary 列と keywords 列に変換されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
BigQuery でクラウド リソース接続を正常に作成できました。また、データセット、テーブル、モデルを作成してから、購入者レビューの感情を分析し、肯定的なレビューと否定的なレビューの件数に関するレポートを生成するよう Gemini にプロンプトで指示しました。次に、Gemini のゼロショット プロンプトと少数ショット プロンプトを使用して、これらのレビューに返信しました。最後に、Gemini モデルを使用して画像を分析し、要約とキーワードを生成しました。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 10 月 29 日
ラボの最終テスト日: 2025 年 10 月 29 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください