arrow_back

SQL を使用して Gemini で購入者レビューを分析する

ログイン 参加
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

SQL を使用して Gemini で購入者レビューを分析する

ラボ 1時間 30分 universal_currency_alt クレジット: 5 show_chart 中級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

GSP1246

Google Cloud セルフペース ラボ

概要

このラボでは、BigQuery ML と SQL のリモートモデル(Gemini Pro)を使用して、キーワードの抽出、購入者レビューにおけるお客様の感情の評価、ゼロショットおよび少数ショットのプロンプトを使用した購入者レビューへの返信を行う方法について学習します。

BigQuery は、データから最大限の価値を引き出すのに役立つフルマネージドの AI 対応データ分析プラットフォームであり、マルチエンジン、マルチフォーマット、マルチクラウド向けに設計されています。BigQuery の主な機能の一つが BigQuery ML です。BigQuery ML を使用すると、SQL クエリまたは Colab Enterprise ノートブックを使用して ML モデルを作成および実行できます。

Gemini は、Google DeepMind が開発した、生成 AI モデルのファミリーであり、マルチモーダル ユースケース用に設計されています。Gemini API を使用すると、Gemini Pro、Gemini Pro Vision、Gemini Flash モデルにアクセスできます。

また、Gemini Pro Vision モデルを使用すると、購入者レビューの画像から要約を生成したり、関連するキーワードを抽出したりできます。

目標

このラボでは、次の方法について学びます。

  • BigQuery でクラウド リソース接続を作成する。
  • BigQuery でデータセットとテーブルを作成する。
  • BigQuery で Gemini リモートモデルを作成する。
  • テキストベースの購入者レビューのキーワードや感情(肯定的または否定的)を分析するよう Gemini に指示する。
  • 肯定的なレビューと否定的なレビューの件数に関するレポートを生成する。
  • 購入者レビューに返信する。
  • 購入者レビューの各画像から要約とキーワードを抽出するよう Gemini に指示する。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

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

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

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

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

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでも [ユーザー名] を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでも [パスワード] を確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

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

その後、このタブで Google Cloud コンソールが開きます。

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

タスク 1. クラウド リソース接続を作成し、IAM ロールを付与する

BigQuery でクラウド リソース接続を作成する

このタスクでは、BigQuery でクラウド リソース接続を作成し、Gemini Pro モデルと Gemini Pro Vision モデルで作業できるようにします。また、ロールを通じてクラウド リソース接続のサービス アカウントに IAM 権限を付与し、Vertex AI サービスにアクセスできるようにします。

  1. Google Cloud コンソールのナビゲーション メニューで、[BigQuery] をクリックします。

  2. 表示されるポップアップ画面で [完了] をクリックします。

  3. 接続を作成するには、[+ 追加] をクリックし、[外部データソースへの接続] をクリックします。

  4. [接続タイプ] リストで、[Vertex AI リモートモデル、リモート関数、BigLake(Cloud リソース)] を選択します。

  5. [接続 ID] フィールドに接続の名前「gemini_conn」を入力します。

  6. [ロケーション タイプ] で [マルチリージョン] を選択し、プルダウンから、[米国] マルチリージョンを選択します。

  7. 他の設定はデフォルトのままにします。

  8. [接続を作成] をクリックします。

  9. [接続へ移動] をクリックします。

  10. [接続情報] ペインで、サービス アカウント ID をテキスト ファイルにコピーして、次のタスクで使用できるようにします。また、BigQuery Explorer のプロジェクトの [外部接続] セクションで接続が追加されていることも確認できます。

接続のサービス アカウントに Vertex AI ユーザーロールを付与する

  1. コンソールのナビゲーション メニューで、[IAM と管理] をクリックします。

  2. [アクセス権を付与] をクリックします。

  3. [新しいプリンシパル] フィールドに、前の手順でコピーしたサービス アカウント ID を入力します。

  4. [ロールを選択] フィールドで、[Vertex AI]、[Vertex AI ユーザー] ロールの順に選択します。

  5. [保存] をクリックします。

    これにより、サービス アカウントに Vertex AI ユーザーロールが含まれるようになります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 クラウド リソース接続を作成し、IAM ロールを付与する

タスク 2. 画像とファイルを確認し、サービス アカウントに IAM ロールを付与する

このタスクでは、データセットと画像ファイルを確認し、クラウド リソース接続のサービス アカウントに IAM 権限を付与します。

Cloud Storage 上の画像ファイルと購入者レビューのデータセットを確認する

このタスクでリソース接続のサービス アカウントに権限を付与する前に、データセットと画像ファイルを確認してください。

  1. コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[Cloud Storage] を選択します。

  2. -bucket バケットをクリックします。

  3. バケットに含まれている gsp1246 フォルダを開きます。次の 2 つの項目が表示されます。

    • images フォルダには、分析するすべての画像ファイルが含まれています。このフォルダに自由にアクセスして、画像ファイルを確認できます。
    • customer_reviews.csv ファイルは、テキストベースの購入者レビューが含まれるデータセットです。
    注: 各画像の認証済み URL と customer_reviews.csv ファイルを使用すると、各項目をダウンロードして確認できます。

接続のサービス アカウントに IAM ストレージ オブジェクト管理者ロールを付与する

BigQuery で作業を開始する前に、リソース接続のサービス アカウントに IAM 権限を付与すると、クエリの実行時にアクセス拒否エラーが発生しなくなります。

  1. バケットのルートに戻ります。

  2. [権限] をクリックします。

  3. [アクセス権を付与] をクリックします。

  4. [新しいプリンシパル] フィールドに、前の手順でコピーしたサービス アカウント ID を入力します。

  5. [ロールを選択] フィールドで、[Storage オブジェクト] を選択し、[Storage オブジェクト管理者] ロールを選択します。

  6. [保存] をクリックします。

    これにより、サービス アカウントに Storage オブジェクト管理者ロールが含まれるようになります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 画像とファイルを確認し、サービス アカウントに IAM ロールを付与する

タスク 3. BigQuery でデータセットとテーブルを作成する

このタスクでは、プロジェクトのデータセット、購入者レビューのテーブル、画像オブジェクト テーブルを作成します。

データセットを作成する

  1. コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[BigQuery] を選択します。

  2. [エクスプローラ] パネルで、 の [アクションを表示](その他メニュー アイコン)を選択してから、[データセットを作成] を選択します。

    テーブルやモデルなどのデータベース オブジェクトを格納するためのデータセットが作成されます。

  3. [データセットを作成] ペインに以下の情報を入力します。

    項目
    データセット ID gemini_demo
    ロケーション タイプ [マルチリージョン] を選択
    マルチリージョン [米国] を選択

    その他の項目はデフォルトのままにします。

  4. [データセットを作成] をクリックします。

    これにより、gemini_demo データセットが作成され、BigQuery Explorer のプロジェクトの下に表示されます。

購入者レビューのテーブルを作成する

購入者レビューのテーブルを作成するには、SQL クエリを使用します。

  1. [+] をクリックして新しい SQL クエリを作成します。

  2. クエリエディタで、以下のクエリを貼り付けます。

    LOAD DATA OVERWRITE gemini_demo.customer_reviews (customer_review_id INT64, customer_id INT64, location_id INT64, review_datetime DATETIME, review_text STRING, social_media_source STRING, social_media_handle STRING) FROM FILES ( format = 'CSV', uris = ['gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1246/customer_reviews.csv']);

    このクエリは、LOAD DATA ステートメントを使用して、列名とデータ型が指定されている customer_reviews.csv ファイルを Cloud Storage から BigQuery テーブルに読み込みます。

  3. [実行] をクリックします。

    これにより、クエリが処理され、データセット内の各レビューに対して、customer_review_idcustomer_idlocation_idreview_datetimereview_textsocial_media_sourcesocial_media_handle を含む customer_reviews テーブルが作成されます。

  4. エクスプローラで customer_reviews テーブルをクリックし、スキーマと詳細を確認します。自由にテーブルをクエリしてレコードを確認できます。

レビュー画像のオブジェクト テーブルを作成する

オブジェクト テーブルを作成するには、SQL クエリを使用します。

  1. [+] をクリックして、新しい SQL クエリを作成します。

  2. クエリエディタで、以下のクエリを貼り付けます。

    CREATE OR REPLACE EXTERNAL TABLE `gemini_demo.review_images` WITH CONNECTION `us.gemini_conn` OPTIONS ( object_metadata = 'SIMPLE', uris = ['gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1246/images/*'] );
  3. クエリを実行します。

    これにより、review_images オブジェクト テーブルgemini_demo データセットに追加され、サンプル データセット内の各オーディオ レビューの URI(クラウド ストレージのロケーション)が読み込まれます。

  4. エクスプローラで review_images テーブルをクリックし、スキーマと詳細を確認します。自由にテーブルをクエリして特定のレコードを確認できます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 BigQuery でデータセット、テーブル、スロット予約を作成する

タスク 4. BigQuery で Gemini モデルを作成する

テーブルが作成されたため、テーブルの操作を開始できます。このタスクでは、BigQuery の Gemini Pro モデルと Gemini Pro Vision モデルを作成します。

Gemini Pro モデルを作成する

  1. [+] をクリックして新しい SQL クエリを作成します。

  2. クエリエディタで、以下のクエリを貼り付けて実行します。

    CREATE OR REPLACE MODEL `gemini_demo.gemini_pro` REMOTE WITH CONNECTION `us.gemini_conn` OPTIONS (endpoint = 'gemini-pro')

    これにより、gemini_pro モデルが作成され、モデル セクションの gemini_demo データセットに追加されます。

  3. エクスプローラで gemini_pro モデルをクリックし、スキーマと詳細を確認します。

Gemini Pro Vision モデルを作成する

  1. [+] をクリックして新しい SQL クエリを作成します。

  2. クエリエディタで、以下のクエリを貼り付けて実行します。

    CREATE OR REPLACE MODEL `gemini_demo.gemini_pro_vision` REMOTE WITH CONNECTION `us.gemini_conn` OPTIONS (endpoint = 'gemini-pro-vision')

    これにより、gemini_pro_vision モデルが作成され、モデル セクションの gemini_demo データセットに追加されます。

  3. エクスプローラで gemini_pro_vision モデルをクリックし、スキーマと詳細を確認します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 BigQuery で Gemini モデルを作成する

タスク 5. 購入者レビューのキーワードや感情を分析するよう Gemini に指示する

このタスクでは、Gemini Pro モデルを使用して、各購入者レビューのキーワードや感情(肯定的または否定的)を分析します。

購入者レビューのキーワードを分析する

  1. [+] をクリックして新しい SQL クエリを作成します。

  2. クエリエディタで、以下のクエリを貼り付けて実行します。

    CREATE OR REPLACE TABLE `gemini_demo.customer_reviews_keywords` AS ( SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime FROM ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_pro`, ( SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT( 'For each review, provide keywords from the review. Answer in JSON format with one key: keywords. Keywords should be a list.', review_text) AS prompt FROM `gemini_demo.customer_reviews` ), STRUCT( 0.2 AS temperature, TRUE AS flatten_json_output)));

    このクエリは、customer_reviews テーブルから購入者レビューを取得し、gemini_pro モデルが各レビュー内のキーワードを識別するためのプロンプトを構築します。結果は、新しいテーブル customer_reviews_keywords に保存されます。

    しばらくお待ちください。モデルによって購入者レビューのレコードが処理されるまでに約 30 秒かかります。

    処理が完了すると、customer_reviews_keywords テーブルが作成されます。

  3. エクスプローラで customer_reviews_keywords テーブルをクリックし、スキーマと詳細を確認します。

  4. [+] をクリックして新しい SQL クエリを作成します。

  5. クエリエディタで、以下のクエリを貼り付けて実行します。

    SELECT * FROM `gemini_demo.customer_reviews_keywords`

    これにより、customer_reviews_keywords テーブルから、ml_generate_text_llm_result(キーワード分析を含む)、social_media_sourcereview_textcustomer_idlocation_idreview_datetime の各列を含む行が表示されます。

購入者レビューの感情(肯定的または否定的)を分析する

  1. [+] をクリックして新しい SQL クエリを作成します。

  2. クエリエディタで、以下のクエリを貼り付けて実行します。

    CREATE OR REPLACE TABLE `gemini_demo.customer_reviews_analysis` AS ( SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime FROM ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_pro`, ( SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT( 'Classify the sentiment of the following text as positive or negative.', review_text, "In your response don't include the sentiment explanation. Remove all extraneous information from your response, it should be a boolean response either positive or negative.") AS prompt FROM `gemini_demo.customer_reviews` ), STRUCT( 0.2 AS temperature, TRUE AS flatten_json_output)));

    このクエリは、customer_reviews テーブルから購入者レビューを取得し、gemini_pro モデルが各レビューの感情を分類するためのプロンプトを構築します。 結果は、後でさらなる分析を行うために使用できるよう、新しいテーブル customer_reviews_analysis に保存されます。

    しばらくお待ちください。モデルによって購入者レビューのレコードが処理されるまでに約 20 秒かかります。

    処理が完了すると、customer_reviews_analysis テーブルが作成されます。

  3. エクスプローラで customer_reviews_analysis テーブルをクリックし、スキーマと詳細を確認します。

  4. [+] をクリックして新しい SQL クエリを作成します。

  5. クエリエディタで、以下のクエリを貼り付けて実行します。

    SELECT * FROM `gemini_demo.customer_reviews_analysis` ORDER BY review_datetime

    これにより、customer_reviews_analysis テーブルから、ml_generate_text_llm_result(感情分析を含む)、social_media_sourcereview_textcustomer_idlocation_idreview_datetime の各列を含む行が表示されます。

    レコードを見てみましょう。結果(肯定的または否定的)の一部が、ピリオドや余分なスペースなどの不要な文字によって正しくフォーマットされていない場合があります。以下のビューを使用してレコードをサニタイズできます。

レコードをサニタイズするためのビューを作成する

  1. [+] をクリックして新しい SQL クエリを作成します。

  2. クエリエディタで、以下のクエリを貼り付けて実行します。

    CREATE OR REPLACE VIEW gemini_demo.cleaned_data_view AS SELECT REPLACE(REPLACE(LOWER(ml_generate_text_llm_result), '.', ''), ' ', '') AS sentiment, REGEXP_REPLACE( REGEXP_REPLACE( REGEXP_REPLACE(social_media_source, r'Google(\+|\sReviews|\sLocal|\sMy\sBusiness|\sreviews|\sMaps)?', 'Google'), 'YELP', 'Yelp' ), r'SocialMedia1?', 'Social Media' ) AS social_media_source, review_text, customer_id, location_id, review_datetime FROM `gemini_demo.customer_reviews_analysis`;

    クエリによって cleaned_data_view ビューが作成されます。ビューには、感情の結果、レビュー テキスト、お客様 ID、ロケーション ID が含まれます。次に、感情の結果(肯定的または否定的)を取得します。その際、すべての文字が小文字になっており、余分なスペースやピリオドなどの不要な文字が削除されるようにします。結果のビューにより、このラボの後のステップでさらなる分析を行うことが容易になります。

  3. 以下のクエリを使用してビューをクエリすると、作成された行を確認できます。

    SELECT * FROM `gemini_demo.cleaned_data_view` ORDER BY review_datetime

    このクエリは、cleaned_data_view ビューからすべてのデータを取得し、それらをレビューの日時に基づいて昇順に並べるように設計されています。

肯定的なレビューと否定的なレビューの件数に関するレポートを作成する

  1. BigQuery を使用して、肯定的なレビューと否定的なレビューの件数を示す棒グラフレポートを作成できます。以下のクエリから開始します。

    SELECT sentiment, COUNT(*) AS count FROM `gemini_demo.cleaned_data_view` WHERE sentiment IN ('positive', 'negative') GROUP BY sentiment;

    これにより、肯定的なレビューと否定的なレビューの件数が表示されます。

  2. これらの件数の棒グラフレポートを作成するには、BigQuery の [クエリ結果] セクションで [グラフ] をクリックします。BigQuery は、グラフの種類をバーにして、感情列(予測される感情が肯定的または否定的か)のグラフ構成を自動的に設定し、バーに件数を表示します。

ソーシャル メディア ソース別に肯定的レビューと否定的レビューの件数を作成する

  1. BigQuery で以下のクエリを使用して、ソーシャル メディア ソースごとの肯定的なレビューと否定的なレビューの件数を一覧表示できます。

    SELECT sentiment, social_media_source, COUNT(*) AS count FROM `gemini_demo.cleaned_data_view` WHERE sentiment IN ('positive') OR sentiment IN ('negative') GROUP BY sentiment, social_media_source ORDER BY sentiment, count;

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 購入者レビューのキーワードや感情を分析するよう Gemini に指示する

タスク 6. お客様のクチコミに返信する

Gemini Pro を使用して購入者レビューに返信することもできます。このタスクでは、customer_reviews テーブル内の特定のレビューに対して、ゼロショットを使用してマーケティングの返信を作成したり、少数ショットを使用してカスタマー サービスの返信を作成したりする方法について学習します。

注: 詳細については、Google AI for Developers ドキュメントのゼロショット プロンプトと少数ショット プロンプトを参照してください。

マーケティングの返信

customer_id 5576 のお客様は、次のようなレビューを投稿しました。

この場所は清潔で快適でした。コーヒーを飲みながら読書したいときもあれば、仕事をするために背の高い椅子とテーブルが必要なときもあるので、座席の種類が豊富なのも気に入っています。

上記は明らかに肯定的なレビューです。Gemini Pro を使用してこのお客様に返信し、肯定的なレビューを奨励するにはどうすればよいでしょうか。

  1. Gemini Pro で以下のクエリを使用すると、それが可能になります。クエリエディタで、以下のクエリを貼り付けて実行します。

    CREATE OR REPLACE TABLE `gemini_demo.customer_reviews_marketing` AS ( SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime FROM ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_pro`, ( SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT( 'You are a marketing representative. How could we incentivise this customer with this positive review? Provide a single response, and should be simple and concise, do not include emojis. Answer in JSON format with one key: marketing. Marketing should be a string.', review_text) AS prompt FROM `gemini_demo.customer_reviews` WHERE customer_id = 5576 ), STRUCT( 0.2 AS temperature, TRUE AS flatten_json_output)));

    このクエリは、customer_reviews テーブル、具体的にはお客様 ID 5576 の購入者レビューを分析するように設計されています。クエリを実行すると、Gemini Pro を使用してレビュー テキストに基づいてマーケティング提案が生成され、その結果が customer_reviews_marketing という新しいテーブルに保存されます。このテーブルには、元のレビューデータと生成されたマーケティング提案が含まれるため、簡単に分析して対応することが可能になります。

  2. 以下の SQL クエリを実行すると、customer_reviews_marketing テーブルの詳細を表示できます。

    SELECT * FROM `gemini_demo.customer_reviews_marketing`

    ml_generate_text_llm_result 列には返信が含まれていることがわかります。

  3. 以下の SQL クエリを使用すると、返信を読みやすくし、返信に対してアクションを取ることできます。

    CREATE OR REPLACE TABLE `gemini_demo.customer_reviews_marketing_formatted` AS ( SELECT review_text, JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.marketing") AS marketing, social_media_source, customer_id, location_id, review_datetime FROM `gemini_demo.customer_reviews_marketing` results )
  4. 以下の SQL クエリを実行すると、テーブルの詳細を表示できます。

    SELECT * FROM `gemini_demo.customer_reviews_marketing_formatted`

    marketing 列に注目してください。アプリケーションを作成して、marketing 列の返信を取得し、Data Beans アプリ内のお客様アカウントへの通知として 10% 割引のクーポン ファイルを添付したり、お客様へのメールを生成したりすることもできます。

カスタマー サービスの返信

customer_id 8844 のお客様は、次のようなレビューを投稿しました。

このコーヒー ショップでは、非常に残念な思いをしました。サービスは最悪でした。スタッフは失礼で気配りがなく、食べ物や飲み物を長時間待たなくてはなりませんでした。食べ物の味もあまり美味しくありませんでした。コーヒーは薄く、ペストリーは古くなっていました。お店は非常に狭く、騒がしかったため、リラックスして楽しい時間を過ごせませんでした。さらに価格が非常に高かったため、全体的な印象はより悪いものになりました。この場所を他の人におすすめしたいとは思いません。

上記は明らかに否定的なレビューです。Gemini Pro を使用してこのお客様に返信し、コーヒー ショップにお客様の体験を通知して対策を講じるにはどうすればよいでしょうか。

  1. Gemini Pro で以下のクエリを使用すると、それが可能になります。クエリエディタで、以下のクエリを貼り付けて実行します。

    CREATE OR REPLACE TABLE `gemini_demo.customer_reviews_cs_response` AS ( SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime FROM ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_pro`, ( SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT( 'How would you respond to this customer review? If the customer says the coffee is weak or burnt, respond stating "thank you for the review we will provide your response to the location that you did not like the coffee and it could be improved." Or if the review states the service is bad, respond to the customer stating, "the location they visited has been notfied and we are taking action to improve our service at that location." From the customer reviews provide actions that the location can take to improve. The response and the actions should be simple, and to the point. Do not include any extraneous or special characters in your response. Answer in JSON format with two keys: Response, and Actions. Response should be a string. Actions should be a string.', review_text) AS prompt FROM `gemini_demo.customer_reviews` WHERE customer_id = 8844 ), STRUCT( 0.2 AS temperature, TRUE AS flatten_json_output)));

    このクエリは、Gemini Pro を使用して購入者レビューを分析し、適切な返信とアクション プランを生成することで、カスタマー サービスの返信を自動化するように設計されています。これは、Google Cloud を使用することで、カスタマー サービスを強化し、事業運営を改善できることを示す絶好の例です。クエリを実行すると、customer_reviews_cs_response テーブルが作成されます。

  2. 以下の SQL クエリを実行すると、テーブルの詳細を表示できます。

    SELECT * FROM `gemini_demo.customer_reviews_cs_response`

    ml_generate_text_llm_result 列には返信とアクションが 2 つのキーとして含まれていることがわかります。

  3. 以下の SQL クエリを使用して、返信とアクションを customer_reviews_cs_response_formatted という新しいテーブルで 2 つの列に分けると、読みやすくなります。

    CREATE OR REPLACE TABLE `gemini_demo.customer_reviews_cs_response_formatted` AS ( SELECT review_text, JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.Response") AS Response, JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.Actions") AS Actions, social_media_source, customer_id, location_id, review_datetime FROM `gemini_demo.customer_reviews_cs_response` results )
  4. 以下の SQL クエリを実行すると、テーブルの詳細を表示できます。

    SELECT * FROM `gemini_demo.customer_reviews_cs_response_formatted`

    返信フィールドとアクション フィールドが作成されたことがわかります。お客様とロケーションに対応する別々のアプリケーションを構築します。これにより、改善のためのアクションを取り、フィードバックを受信したことをお客様に通知できます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 購入者レビューに返信する

タスク 7. 各画像のキーワードと要約を提供するよう Gemini に指示する

このタスクでは、Gemini(作成した Gemini Pro モデルと Vision モデル)を使用して画像を分析し、キーワードや要約を生成します。

Gemini Pro Vision モデルを使用して画像を分析する

  1. [+] をクリックして新しい SQL クエリを作成します。

  2. クエリエディタで、以下のクエリを貼り付けて実行します。

    CREATE OR REPLACE TABLE `gemini_demo.review_images_results` AS ( SELECT uri, ml_generate_text_llm_result FROM ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_pro_vision`, TABLE `gemini_demo.review_images`, STRUCT( 0.2 AS temperature, 'For each image, provide a summary of what is happening in the image and keywords from the summary. Answer in JSON format with two keys: summary, keywords. Summary should be a string, keywords should be a list.' AS PROMPT, TRUE AS FLATTEN_JSON_OUTPUT)));

    しばらくお待ちください。処理は約 1 分で完了します。

    モデルが画像の処理を完了すると、review_images_results テーブルが作成されます。

  3. エクスプローラで review_image_results テーブルをクリックし、スキーマと詳細を確認します。

  4. [+] をクリックして新しい SQL クエリを作成します。

  5. クエリエディタで、以下のクエリを貼り付けて実行します。

    SELECT * FROM `gemini_demo.review_images_results`

    これにより、レビューの各画像の行が URI(レビュー画像の Cloud Storage のロケーション)と JSON の結果(Gemini Pro Vision モデルの要約とキーワードを含む)とともに表示されます。

    次のクエリを使用すると、これらの結果を人が読みやすい方法で取得できます。

  6. [+] をクリックして新しい SQL クエリを作成します。

  7. クエリエディタで、以下のクエリを貼り付けて実行します。

    CREATE OR REPLACE TABLE `gemini_demo.review_images_results_formatted` AS ( SELECT uri, JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.summary") AS summary, JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.keywords") AS keywords FROM `gemini_demo.review_images_results` results )

    これにより、review_images_results_formatted テーブルが作成されます。

  8. 以下のクエリを使用してテーブルをクエリすると、作成された行を確認できます。

    SELECT * FROM `gemini_demo.review_images_results_formatted`

    URI 列の結果は変わりませんが、JSON が各行の summary 列と keywords 列に変換されます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 購入者レビューの画像の要約とキーワードを提供するよう Gemini に指示する

お疲れさまでした

BigQuery でクラウド リソース接続を正常に作成しました。また、データセット、テーブル、モデルを作成してから、購入者レビューの感情を分析し、肯定的なレビューと否定的なレビューの件数に関するレポートを生成するよう Gemini に指示しました。次に、Gemini のゼロショット プロンプトと少数ショット プロンプトを使用して、これらのレビューに返信しました。最後に、Gemini Pro Vision モデルを使用して画像を分析し、要約とキーワードを生成しました。

次のステップと詳細情報

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2024 年 7 月 26 日

ラボの最終テスト日: 2024 年 7 月 26 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

このコンテンツは現在ご利用いただけません

We will notify you via email when it becomes available

ありがとうございます。

We will contact you via email if it becomes available