Places API 向けの Gemini モデル機能

Places API の Gemini モデル機能(新版)では、Places API で LLM がサポートされているため、LLM から提供されたデータとともに、場所に関連付けられたデータ(営業時間、クチコミ、写真)を返すことができます。この生成データには、LLM からの集計および要約されたデータが含まれ、すでに場所に関連付けられているデータを強化します。

たとえば、「EV 充電スタンド」の標準のテキスト検索(新版)では、EV 充電スタンドを提供する場所のリストが返されます。最寄りの EV 充電器や車両と互換性のある最寄りの EV 充電器を検索するだけの場合、このタイプのレスポンスは問題ありません。

ただし、充電スタンドの周囲の状況を把握しておくことも重要です。充電中に 1 時間以上滞在する場合は特にそうです。同じ検索で Gemini モデルの機能を使用する場合、レスポンスには充電スタンド周辺の情報など、レスポンス内の各場所の動的な生成的説明を含めることができます。

  • 「徒歩 2 ~ 4 分圏内にレストランやショップが数多くあり、Chef Chu's、Gen Korean Burbury House、Amber India、Pacific Catch のほか、Walmart、Wolle Foods Market、Trader Joe's などの複数の食料品店があります。」

  • 「徒歩 1 ~ 5 分圏内にカオカン タイ キッチン、ロジャーズ デリ&ドーナツ、ラコステーニャなど、レストランやショップが複数あります。寿司なら、ジョイ寿司がおすすめです。食料品に関しては Dollar Tree ではさまざまな商品を割引価格で提供しています」

LLM から生成されたこのコンテンツにより、レスポンスが強化され、ユーザーが十分な情報に基づいた意思決定を行うための追加情報が提供されます。

AI を活用した新機能が Places API に追加されました(新規)

これらの機能によって、Places API(新版)のレスポンスに次のデータが追加されます。

場所の概要の生成

生成される場所の概要は、プレイス ID に固有のものです。場所のサマリーでは、さまざまなタイプのデータが集約されて、場所についての 1 つのサマリーにまとめられます。

Places API(新版)では、次の 2 種類の場所の概要を生成できます。

  • 概要の概要: 場所の概要を表示するのに役立つ、場所の概要(平均約 100 文字)。

  • Description summary: 場所の長めのサマリー(平均で約 400 文字)。場所の重要な点をカバーする詳細な概要を提供します。

現在、場所の概要を利用できるのは、文化エンターテイメント、レクリエーション食べ物と飲み物ショッピングスポーツのカテゴリでサポートされているタイプに示されている場所タイプのみです。

地域の概要の生成

LLM によって、ある場所の周辺地域について、生成される地域の概要が作成されます。ある場所のエリアの概要には、ユーザーがエリアの詳細をドリルダウンするためにさらにリクエストしなくても、ユーザーが意思決定を行うために必要なすべての情報が含まれていることがあります。

レスポンスには、地域の説明とともに、説明で参照されている場所のプレイス ID のリストと、コンテンツ タイプ別に並べ替えた場所のリストも含まれます。たとえば、あるコンテンツ タイプにはエリア内のアクティビティに関連付けられた場所のリストが含まれ、別のコンテンツ タイプにはエリア内のレストランのリストが含まれます。

エリアの概要は現在、宿泊施設カテゴリのサポートされているタイプに示されている場所タイプと、特定の場所タイプ electric_vehicle_charging_stationgeocodepremise で利用できます。

場所とエリアの要約の生成

場所の概要と地域の概要はどちらも、Google によってオフラインで頻繁に生成されます。こうした要約をオフラインで生成することで、Places API(新版)で期待されるパフォーマンスを維持しながら、Gemini を活用したコンテンツを利用できます。

Google では、これらの要約を頻繁に再生成し、入手可能な最新の情報に基づいて最新の状態にしています。つまり、API を呼び出すと、サービス内に最新のデータが表示されます。

コンテキスト検索結果

テキスト検索(新版)は、「渋谷 ピザショップ」や「表参道 靴店」といった文字列に対して、場所のセットについての情報を返します。テキスト検索(新版)のレスポンスには、テキスト文字列に一致する場所のリストと、リクエストで設定した場所のバイアスが含まれます。

コンテキスト検索結果をレスポンスに追加すると、ユーザーの回答に役立つレビュー、写真、理由がレスポンスに含まれるようになりました。

  • 検索結果にこの場所が表示される理由
  • この場所を選んだ理由は何ですか?

たとえば、レスポンスに特定の場所を含む Place Details(新版)、テキスト検索(新版)、Nearby Search(新版)に今日からリクエストを送ったとします。返されるデータはその場所に関連付けられているため、場所のレスポンス データは 3 つのリクエストすべてで同じになります。

ただし、新機能を使用したテキスト検索(新版)の場合、レスポンスには入力クエリ文字列自体から取得されたデータが含まれることがあります。つまり、コンテキスト検索結果はクエリ文字列に対して一意です。たとえば、次のクエリ文字列を使用してテキスト検索(新版)のリクエストを作成します。

「東京都渋谷区のスパイシーなベジタリアン料理レストラン」

次に、入力パラメータをすべて同じのままにして、クエリ文字列を次のように変更します。

「東京都渋谷区のスパイシー ビーガン レストラン」

両方のレスポンスに出現するレストランの場合、そのデータは場所自体に関連付けられているため、場所に関するレスポンス データは同じです。ただし、コンテキスト検索の結果はクエリ文字列から派生するため、そのクエリに固有の結果となります。コンテキスト検索結果のレビュー、写真、理由をユーザーに表示して、検索リクエストに最も適したレスポンスの場所をユーザーが判断できるようにします。

Places API の Gemini モデル機能を有効にする(新規)

Places API(新版)で Gemini モデルの機能を使用するには、Places API(新版)を有効にする必要があります。詳細については、Google Cloud プロジェクトを設定するをご覧ください。

試験運用版リリースの制限事項

このリリースでは、米国内の場所の場所と地域の概要のみがサポートされています(英語のみ)。

Gemini とは何ですか?

Gemini モデルの詳細については、Gemini に関するよくある質問をご覧ください。

場所の概要の生成をリクエストする

場所のサマリーは、LLM が特定の場所について生成するサマリーです。Places API(新版)では、レスポンスに次の 2 種類のサマリーを追加します。

  • [概要] で生成されるサマリーは、場所に関連付けられた静的な編集サマリーに類似しています。生成される短い要約(平均で約 100 文字)には、いくつかの利点があります。

    • 多くの場所には編集者による概要がないため、その場所に関する情報のギャップを埋めることができます。

    • LLM から生成されるため、プレイスオーナーがメンテナンスする必要はありません。

  • [説明] で生成される要約は、Google マップのクチコミなど、さまざまなソースから取得されます。説明には平均約 400 文字で、長い説明の生成に使用されるレビューのリストが含まれています。

    説明の要約を手動で生成するには、多くの場所からデータを集約し、コンテンツを手作業で作成して管理する必要があります。Places API(新版)の Gemini モデル機能により、LLM からこれらの要約が作成され、生成されるコンテンツの範囲と鮮度が維持されます。

場所の概要は、Place Details(新)テキスト検索(新)Nearby Search(新)でサポートされています。レスポンスに場所の概要を含めるには、リクエストのフィールド マスクに次のフィールドを含めます。

  • Place Details: generativeSummary

  • Text Search と Nearby Search: places.generativeSummary

generativeSummary フィールドには、次のフィールドがあります。

  • generativeSummary.overview: 生成される概要の要約。
  • generativeSummary.description: 生成された説明の概要。
  • generativeSummary.references: 最大 5 つのレビューの配列。説明の要約のコンテンツを提供するために使用されます。説明の概要がない場合、この配列は空です。

概要リクエストの例

次のテキスト検索の例では、カリフォルニア州マウンテンビューにあるスパイシー ベジタリアン レストランの overview サマリーのみが返されます。

curl -X  POST -d '{
  "textQuery": "Spicy Vegetarian Food",
  "location_bias":{
    "rectangle":{
      "low": {
        "latitude": 37.415,
       "longitude": -122.091},
    "high":{
      "latitude": 37.429,
      "longitude": -122.065}
    }
  },
  "maxResultCount": 5
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.generativeSummary.overview" \
https://places.googleapis.com/v1/places:searchText

レスポンスには、overview.textoverview.languageCode を含む generativeSummary.overview フィールドが含まれます。

{
  "places": [
    {
      "id": "ChIJQ8nPjFW3j4ARcAaUg5pF-Ts",
      "displayName": {
        "text": "Zareen's",
        "languageCode": "en"
      },
      "generativeSummary": {
        "overview": {
          "text": "Casual restaurant serving halal Pakistani and Indian cuisine, plus a selection of vegetarian items.",
          "languageCode": "en-US"
        }
      }
    },
    {
      "id": "ChIJETHw0F-7j4AR85V_I6OobCI",
      "displayName": {
        "text": "Hyderabad Dum Biryani",
        "languageCode": "en"
      },
      "generativeSummary": {
        "overview": {
          "text": "Casual eatery offering vegetarian & non-vegetarian Indian fare, plus breads & desserts.",
          "languageCode": "en-US"
        }
      }
    },
  . . .
}

概要と説明の要約リクエストの例

この例では、前の例と同じクエリを実行しますが、places.generativeSummary のフィールド マスクを使用して、generativeSummary.overviewgenerativeSummary.descriptiongenerativeSummary.references フィールドを含む generativeSummary オブジェクト全体を返します。

{
  "places": [
    {
      "id": "ChIJQ8nPjFW3j4ARcAaUg5pF-Ts",
      "displayName": {
        "text": "Zareen's",
        "languageCode": "en"
      },
      "generativeSummary": {
        "overview": {
          "text": "Casual restaurant serving halal Pakistani and Indian cuisine, plus a selection of vegetarian items.",
          "languageCode": "en-US"
        },
        "description": {
          "text": "Pakistani restaurant dishing up comfort food including vegetarian, vegan, and halal options.
          Offerings include chicken tikka masala, naan, and paratha. There's also a salad bar, and dessert is
          available.\nOpen for breakfast, lunch, and dinner, the venue has a casual atmosphere and outdoor rooftop
          seating. People mention the ambiance and say the service is prompt.\nCustomers typically spend $10–20.",
          "languageCode": "en-US"
        },
        "references": {
          "reviews": [
            {
              "name": "places/ChIJQ8nPjFW3j4ARcAaUg5pF-Ts/reviews/ChZDSUhNMG9nS0VJQ0FnSUN4aUtDbVJREAE",
              "relativePublishTimeDescription": "12 months ago",
              "rating": 5,
              "text": {
                "text": "Insanely good Pakistani food with the perfect ambiance! This food never disappoints AND THEY ARE OPEN TILL MIDNIGHT!!",
                "languageCode": "en"
              },
              "originalText": {
                "text": "Insanely good Pakistani food with the perfect ambiance! This food never disappoints AND THEY ARE OPEN TILL MIDNIGHT!!",
                "languageCode": "en"
              },
              "authorAttribution": {
                "displayName": "Anam Qureshi",
                "uri": "https://www.google.com/maps/contrib/116859422317024657778/reviews",
                "photoUri": "https://lh3.googleusercontent.com/a-/ALV-UjWbImVTop_1dl9FTSmec0x00000000-cc-rp-mo"
              },
              "publishTime": "2023-05-09T07:24:36Z"
            },
            . . .
          ]
        }
      }
    },
    {
      "id": "ChIJETHw0F-7j4AR85V_I6OobCI",
      "displayName": {
        "text": "Hyderabad Dum Biryani",
        "languageCode": "en"
      },
      "generativeSummary": {
        "overview": {
          "text": "Indian restaurant offering comfort food including vegetarian and vegan options.",
          "languageCode": "en-US"
        },
        . . .
}

エリアの概要の生成をリクエストする

エリアの要約は、場所の近隣地域について LLM が生成する要約です。地域の概要は、ユーザーが場所を決める際に重要となる場合があります。

たとえば、新しい都市のホテルを予約しようとしていて、要件を満たすホテルが見つかった一方で、そのホテルの周辺地域についての詳細情報も確認したい場合などです。これを使用すると、周辺地域の地図を見て、地図上の各場所を調査する代わりに、ホテルのエリアの概要を生成できます。

エリアの概要は、Place Details(新)テキスト検索(新)Nearby Search(新)でサポートされています。

レスポンスにエリアの概要を含めるには、リクエストのフィールド マスクに以下を含めます。

  • areaSummary(Place Details)
  • places.areaSummary(Text Search と Nearby Search)。

レスポンス内の場所の areaSummary フィールドには、最大 4 つの contentBlocks の配列が含まれます。各ブロックのトピックは、場所のタイプに基づいています。

  • EV 充電スタンドの場合、タイプ electric_vehicle_charging_station の場所として定義されるトピック ブロックには、"overview""coffee""restaurant""store" が含まれます。

  • 宿泊施設カテゴリで定義された場所のタイプと、特定の場所タイプ geocode および premise の場合、トピック ブロックには "overview""activity""restaurant""store" が含まれます。

EV 充電スタンドのエリア概要のリクエストの例

この Place Details リクエストの例では、プレイス ID ChIJC5b6QKiwj4ARgn2EwlnJnWU で識別される、マウンテン ビューにある特定の EV 充電スタンドのエリアの概要を返します。

curl -X GET -H 'Content-Type: application/json' \
  -H "X-Goog-Api-Key: API_KEY" \
  -H "X-Goog-FieldMask: id,displayName,areaSummary" \
  https://places.googleapis.com/v1/places/ChIJC5b6QKiwj4ARgn2EwlnJnWU

レスポンスには、contentBlocks 配列を含む areaSummary フィールドが含まれます。

  • topic フィールドには、コンテンツ ブロックのタイプを指定します。この例の場所は EV 充電スタンドであるため、4 つのコンテンツ ブロックは "overview""coffee""restaurant""store" です。

  • content フィールドには、言語コードを含むそのトピックの概要が含まれます。

  • references 配列には、コンテンツ ブロックのコンテンツを提供するために使用される場所のリソース名を places/PLACE_ID の形式で指定します。

{
  "id": "ChIJC5b6QKiwj4ARgn2EwlnJnWU",
  "displayName": {
    "text": "EVgo Charging Station",
    "languageCode": "en"
  },
  "areaSummary": {
    "contentBlocks": [
      {
        "topic": "overview",
        "content": {
          "text": "Within a 4-minute walk, there are several dining and shopping options from this charging station, including Starbucks and Los Altos Taqueria.",
          "languageCode": "en-US"
        },
        "references": {
          "places": [
            "places/ChIJ-f-lEaiwj4ARB1IwfdLFfRY",
            "places/ChIJhzHBsAe6j4ARvq9oi8u-bqQ"
          ]
        }
      },
      {
        "topic": "coffee",
        "content": {
          "text": "Starbucks offers Wi-Fi, light bites, and its signature roasts in a cozy space.",
          "languageCode": "en-US"
        },
        "references": {
          "places": [
            "places/ChIJ-f-lEaiwj4ARB1IwfdLFfRY"
          ]
        }
      },
      {
        "topic": "restaurant",
        "content": {
          "text": "Los Altos Taqueria serves classic Mexican dishes in a kid-friendly venue.\nHyderabad Dum Biryani specializes in vegetarian and vegan Indian fare, including lunch and dinner options.\nSushi Jin is a popular spot for sushi and other Japanese dishes, featuring a relaxed atmosphere.\nSuper tacos el conrro is a kid-friendly spot for Mexican fare.",
          "languageCode": "en-US"
        },
        "references": {
          "places": [
            "places/ChIJhzHBsAe6j4ARvq9oi8u-bqQ",
            "places/ChIJETHw0F-7j4AR85V_I6OobCI",
            "places/ChIJ-9pg_Qmxj4AR4deSLfZINW0",
            "places/ChIJvcqEhTyxj4AR4ZdQevNxGZk"
          ]
        }
      },
      {
        "topic": "store",
        "content": {
          "text": "Safeway provides a range of groceries, along with a deli and a bakery.",
          "languageCode": "en-US"
        },
        "references": {
          "places": [
            "places/ChIJF7_iDaiwj4ARzdC4NlGzJFI"
          ]
        }
      }
    ]
  }
}

ホテルのエリア概要のリクエストの例

次の Text Search リクエストの例では、カリフォルニア州マウンテンビューのホテルをリクエストします。

curl -X  POST -d '{
  "textQuery": "Hotels",
  "location_bias":{
    "rectangle":{
      "low": {
        "latitude": 37.415,
       "longitude": -122.091},
    "high":{
      "latitude": 37.429,
      "longitude": -122.065}
    }
  },
  "maxResultCount": 5
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.areaSummary" \
https://places.googleapis.com/v1/places:searchText

レスポンスには、contentBlocks 配列を含む areaSummary フィールドが含まれます。ホテルタイプの場所に対するレスポンスには、トピック "overview""activity""restaurant""store" のコンテンツ ブロックが含まれます。

{
  "places": [
    {
      "id": "ChIJ81X7bC63j4ARNJTuqMFBq-4",
      "displayName": {
        "text": "Shashi Hotel Mountain View, an Urban Resort",
        "languageCode": "en"
      },
      "areaSummary": {
        "contentBlocks": [
          {
            "topic": "overview",
            "content": {
              "text": "This area offers several attractions, including Cinemark Century Mountain View 16 and Computer History Museum. Charleston Park provides picnic spots and the Pear Theatre hosts performances.",
              "languageCode": "en-US"
            },
            "references": {
              "places": [
                "places/ChIJOYvCo1W3j4AR1LAifgk13rs",
                "places/ChIJm7NJkla3j4AR8vR-HWRxgOo",
                "places/ChIJo4za6vi5j4ARMua093RgGGA",
                "places/ChIJ4V-yslC3j4ARE6I2cpvyOeU"
              ]
            }
          },
          {
            "topic": "activity",
            "content": {
              "text": "Cinemark Century Mountain View 16 offers XD and RealD 3D screens, plus comfortable seating and a snack bar.\nComputer History Museum showcases the evolution of technology with interactive exhibits.\nRyptic Room Escape Mountain View presents themed rooms where teams solve puzzles to escape.",
              "languageCode": "en-US"
            },
            "references": {
              "places": [
                "places/ChIJOYvCo1W3j4AR1LAifgk13rs",
                "places/ChIJm7NJkla3j4AR8vR-HWRxgOo",
                "places/ChIJ1_ZkCKqwj4ARPaLA4yiEtdI"
              ]
            }
          },
          {
            "topic": "restaurant",
            "content": {
              "text": "Cucina Venti Restaurant prepares Italian cuisine in a rustic setting with outdoor seating.\nRoger Bar and Restaurant provides cocktails on tap, along with an indoor-outdoor bar and dining area.\nBroma Restaurant serves Spanish-inspired tapas and shareable plates in a trendy atmosphere.",
              "languageCode": "en-US"
            },
            "references": {
              "places": [
                "places/ChIJC_3cdla3j4ARMgf4Pw8Irek",
                "places/ChIJh1Y1MA23j4AREJz6Kxl75Uo",
                "places/ChIJLRvDZtu3j4ARgoNrKZnNw8g"
              ]
            }
          },
          {
            "topic": "store",
            "content": {
              "text": "NASA Gear Store and Food Mart offer a variety of gifts and convenience store items.",
              "languageCode": "en-US"
            },
            "references": {
              "places": [
                "places/ChIJh64-r0O3j4ARy1P41IH2j3k",
                "places/ChIJ5ZJtB8u3j4ARR0gohzD8-ns"
              ]
            }
          }
        ]
      }
    },
    ...
  ]
}

コンテキスト検索結果をリクエストする

テキスト検索(新版)リクエストに対するレスポンスには、入力された検索文字列の条件に一致する場所の配列が含まれます。これで、API への入力クエリに基づいて、レスポンスでコンテキスト検索データをリクエストできるようになりました。

コンテキストに基づく要約をサポートするため、テキスト検索(新版)からのレスポンスには、レスポンスの places 配列と同じレベルに contextualContents という名前の新しい配列が含まれています。

{
  "places": [],
  "contextualContents":[]
}

ContextualContent 型の contextualContents 配列内の各要素は、places 配列内の場所として、対応する配列の場所にあります。つまり、contextualContents[0] の要素は places[0] の場所に対応します。

各配列要素には次の配列フィールドがあります。

  • contextualContents.reviews: 最大 3 個のレビューの配列。
  • contextualContents.photos: 最大 5 つの写真の配列。
  • contextualContents.justifications: 場所の理由の配列。次が含まれます。

    • reviewJustification: ユーザー レビューの中で、エンドユーザーの関心を引く可能性のあるセクションをハイライト表示します。
    • businessAvailabilityAttributesJustification: エンドユーザーの興味を引く可能性のあるビジネスの属性が含まれます。

コンテキスト検索結果をレスポンスに含めるには、テキスト検索(新版)リクエストのフィールド マスクcontextualContents を含めます。

curl -X  POST  -d '{
  "textQuery": "Spicy vegetarian restaurant in Mountain View, CA",
  "openNow": true,
  "maxResultCount": 3
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,contextualContents" \
https://places.googleapis.com/v1/places:searchText

レスポンスには、レスポンス内の場所ごとに contextualContents 配列が含まれます。

{
  "places": [
    {
      "id": "ChIJETHw0F-7j4AR85V_I6OobCI",
      "displayName": {
        "text": "Hyderabad Dum Biryani",
        "languageCode": "en"
      }
    },
    . . .
  ],
  "contextualContents": [
    {
      "reviews": [
        {
          "name": "places/ChIJETHw0F-7j4AR85V_I6OobCI/reviews/ChdDSUhNMG9nS0VJQ0FnSURSeEtMdHZ3RRAB",
          "relativePublishTimeDescription": "a year ago",
          "rating": 5,
          "text": {
            "text": "Very tasty! Rich spices and textures. We really appreciated
            all of the vegan options. We shared samosas (great sauce!) , tofu 65
            (spicy!!), gobi manchurian (less flavorful but a nice sweet offset to
            the tofu 65) and veg pakoras (very crunchy and awesome flavor). We
            enjoyed all of it, with the pakoras being the table's favorite.",
            "languageCode": "en"
          },
          "originalText": {
            "text": "Very tasty! Rich spices and textures. We really appreciated
            all of the vegan options. We shared samosas (great sauce!) , tofu 65
            (spicy!!), gobi manchurian (less flavorful but a nice sweet offset
            to the tofu 65) and veg pakoras (very crunchy and awesome flavor).
            We enjoyed all of it, with the pakoras being the table's favorite.",
            "languageCode": "en"
          },
          "authorAttribution": {
            "displayName": "Guillaume Riesen",
            "uri": "https://www.google.com/maps/contrib/1131462893/reviews",
            "photoUri": "https://lh3.googleusercontent.com/a-/ALVVXe4iwG_WXt1SjB1rJg=s128-c-c0x00000000-cc-rp-mo-br100"
          },
          "publishTime": "2023-04-18T02:48:02Z"
        },
        {
          "name": "places/ChIJETHw0F-7j4AR85V_I6OobCI/reviews/ChdDSUhNMG9nS0VJQ0FnSUNKZzlhTG53RRAB",
          "relativePublishTimeDescription": "10 months ago",
          "rating": 5,
          "text": {
            "text": "This is a nice little spot to eat at. I'm a big fan of
            curries, and they are spot on when it comes to flavor and spice. I highly recommend this place.",
            "languageCode": "en"
          },
          "originalText": {
            "text": "This is a nice little spot to eat at. I'm a big fan of curries,
            and they are spot on when it comes to flavor and spice. I highly recommend this place.",
            "languageCode": "en"
          },
          "authorAttribution": {
            "displayName": "Paul Sacks",
            "uri": "https://www.google.com/maps/contrib/1106671734435/reviews",
            "photoUri": "https://lh3.googleusercontent.com/a/ACg8ocIAGguhz-EccsS9sVQ=s128-c-c0x00000000-cc-rp-mo-ba4-br100"
          },
          "publishTime": "2023-07-03T16:51:49Z"
        },
        . . .
      ],
      "photos": [
        {
          "name": "places/ChIJETHw0F-7j4AR85V_I6OobCI/photos/Vt2DAKajwJfgC_I-baPKjSeSw-JAXY-tCZOBAe7pBxxIS0Vo1w23sCO9o5RzoxJ",
          "widthPx": 1920,
          "heightPx": 1080,
          "authorAttributions": [
            {
              "displayName": "A Google User",
              "uri": "//maps.google.com/maps/contrib/113209927655010465422",
              "photoUri": "//lh3.googleusercontent.com/a-/ALV-UjV_8hbrtgycOLDgOqPRYhzJ0EJlBFyKo9OrmacOo3C5YvrtR4Q=s100-p-k-no-mo"
            }
          ]
        },
        {
          "name": "places/ChIJETHw0F-7j4AR85V_I6OobCI/photos/AUGGfZkJ4MMlLikE2EyP-b13GeFZ9YNzyjkjDMD15gyobIQtIYg1GFPy3BdQHAaA3iNwhk24vK212hZo",
          "widthPx": 960,
          "heightPx": 720,
          "authorAttributions": [
            {
              "displayName": "Toast"
            }
          ]
        },
        . . .
      ],
      "justifications": [
        {
          "reviewJustification": {
            "highlightedText": {
              "text": "\"Not too spicy or oily.\"",
              "highlightedTextRanges": [
                {
                  "startIndex": 9,
                  "endIndex": 14
                }
              ]
            },
            "review": {
              "name": "places/ChIJETHw0F-7j4AR85V_I6OobCI/reviews/ChZDSUhNMG9nS0VJQ0FnSUR4djR2Z1B3EAE",
              "relativePublishTimeDescription": "10 months ago",
              "rating": 5,
              "text": {
                "text": "Not too spicy or oily. We have the mutton dum biryanis
                and tandoori fish. Very flavorful. The food was served promptly.
                Clean environment. A little small more like a hole in the wall.
                We'd come back for sure.",
                "languageCode": "en"
              },
              "originalText": {
                "text": "Not too spicy or oily. We have the mutton dum biryanis
                and tandoori fish. Very flavorful. The food was served promptly.
                Clean environment. A little small more like a hole in the wall.
                We'd come back for sure.",
                "languageCode": "en"
              },
              "authorAttribution": {
                "displayName": "Harpal Kochar",
                "uri": "https://www.google.com/maps/contrib/1166232959/reviews",
                "photoUri": "https://lh3.googleusercoEnzB1zdrNbR00000-cc-rp-mo"
              },
              "publishTime": "2023-06-18T06:12:41Z"
            }
          }
        },
        {
          "businessAvailabilityAttributesJustification": {
            "dineIn": true
          }
        }
      ]
    },
    . . .
  ]
}

自動車ユースケースの実装ガイダンス

ドライバーの安全のため、Google は自動車エクスペリエンスで生成 AI サマリーを駐車モードでレンダリングすることをおすすめします。運転モードで要約をレンダリングする場合、ドライバーの注意が道路にすぐに戻れるように、画面上の情報をシンプル、明確、簡潔にする必要があります。

  • 最大 3 行
  • 半角 120 文字(全角 60 文字)以下
  • 前面の最小サイズは 24 dp

特に自動車の分野では、地域のすべての法律と規制を遵守した安全な方法で生成 AI の要約をレンダリングすることは、デベロッパーの責任です。

帰属表示

アプリにレビュー、写真、生成 AI サマリー(場所とエリアの両方のサマリーを含む)を表示する場合は、必要な属性も必ず表示する必要があります。

生成された要約の帰属を表示する

アプリに生成 AI サマリー(場所や地域の概要など)を表示する場合は、必要な属性も表示する必要があります。このセクションでは、アプリで生成 AI の要約を表示する方法に基づいて、アトリビューションを表示する方法について説明します。

いずれの場合も、アトリビューションでは大文字と小文字の区別を使用する必要があります。帰属表示と Google ロゴは、すべての色、スタイル、書体の標準に準拠している必要があります。これらの基準について詳しくは、Places API(新版)のポリシーをご覧ください。

他の Google データのコンテキストで表示された生成 AI サマリー

この場合、生成 AI のアトリビューションは、他の場所にあるコンテンツに対する Google のアトリビューションに依存して、要約の上または下に単独で表示できます。

帰属表示には、次の画像に示すように「AI により要約」というテキストを使用します。

帰属表示には「AI による要約」というテキストを使用します。

単独で表示される生成 AI の概要

生成 AI のサマリーを Google マップの他のコンテンツと切り離して表示する場合は、生成 AI のアトリビューションと Google へのアトリビューションの両方を補間記号で区切って表示する必要があります。帰属表示には、次の画像に示すように「AI により要約」というテキストと Google ロゴを使用します。

単独で表示される概要の場合は、生成 AI アトリビューションと Google アトリビューションを補間記号で区切って指定します。

リストで繰り返されている生成 AI の要約

場所のリストで生成 AI の場所の概要を繰り返し説明する場合、すべての要素は次のようになります。

  • リストのコンテンツが Google に帰属する
  • 表示される要約は AI で生成されたものです
  • コンテンツは Google から入手できます

帰属表示は、リストの上または下に 1 行で表示します。 AI アトリビューションは左揃え、Google アトリビューションは右揃えです。

リストの場合は、帰属表示をリストの上または下に 1 行で表示します。

長形式の生成 AI の説明の要約がリストで使用される場合、各要約には AI アトリビューション(情報アイコン/ボタン付きの「AI による要約」)が必要です。

生成 AI による要約に関する情報をダイアログに表示する

生成 AI の要約とともに、要約に関する情報と問題を報告するためのリンクを表示するダイアログをエンドユーザーが使用できるようにする必要があります。生成 AI の説明の要約を使用する場合は、参照と呼ばれる要約の情報源に関する情報を含める必要があります。references

このダイアログにアクセスするには、AI アトリビューション(上記の例を参照)と組み合わせて情報アイコン(インタラクティビティ アフォーダンスとして)を追加し、AI アトリビューションの領域とアイコンが押下やクリックに反応するようにします。

場所の概要を生成する場合は、以下を表示します。

基本情報 AI による場所の概要は、Google のクチコミやその他のデータから生成されます。
問題を報告する 要約の内容に関する問題を Google に報告するには、こちらのリンクにアクセスしてください。
リファレンス ソースレビュー

次に例を示します。

生成 AI による要約に関する情報をダイアログに表示します。

地域の概要を生成する場合は、以下を表示します。

基本情報 AI エリアの概要は、Google のクチコミとローカルデータから生成されます。
問題を報告する 要約の内容に関する問題を Google に報告するには、こちらのリンクにアクセスしてください。

表示領域の概要アトリビューション。