BigQuery の description 自動生成機能が日本語対応したので、データプロファイルと組み合わせて試してみた

BigQuery の description 自動生成機能が日本語対応したので、データプロファイルと組み合わせて試してみた

2025.12.08

こんにちは!エノカワです。

この記事は Google Cloud Advent Calendar 2025 の 8日目の記事です。

BigQuery では Gemini を活用してテーブルやカラムの説明(description)を自動生成できる機能があります。
2025年11月5日のアップデートで日本語を含む複数言語での生成もサポートされました。

You can now generate table and column descriptions in all supported Gemini languages when you generate data insights. This feature is generally available (GA).

今回は、この説明の自動生成機能に加えてデータプロファイルを組み合わせることで、より精度の高い説明が生成できるのか検証してみました。

説明の自動生成機能とは

BigQuery の説明の自動生成機能は、Gemini がテーブルのメタデータやデータを分析し、テーブルやカラムの説明を自動で生成してくれる機能です。
BigQuery の「Data Insights(データインサイト)」機能の一部として提供されており、2025年8月25日に GA(一般提供)となりました。

基本的な使い方については、弊社の以下の記事で紹介されています。

https://dev.classmethod.jp/articles/bigquery-generate-description/

上記の記事では「投稿日時点では、description は英語でのみ生成されます」と記載されていますが、2025年11月5日のアップデートで日本語を含む複数言語での生成がサポートされました。

データプロファイルとは

データプロファイルは、テーブルのデータを統計的に分析し、以下のような情報を提供する機能です。

  • カラムごとのデータ分布
  • NULL 値の割合
  • ユニーク値の数
  • 最小値・最大値

このプロファイル情報を Gemini が参照することで、カラム名だけでは推測しにくいテーブルでも、より正確な説明を生成できる可能性があります。

詳細は公式ドキュメントをご参照ください。

https://cloud.google.com/bigquery/docs/data-profile-scan

今回の検証内容

本記事では以下の流れで検証を行います。

  1. 曖昧なカラム名のテーブルcol_1, col_2 など)で日本語説明付与を試す
  2. データプロファイル実行後に再度説明付与を試し、精度が向上するか確認する

検証1:曖昧なカラム名のテーブルで試す

まずは、カラム名だけでは意味が分かりにくいテーブルで説明生成を試してみます。

使用するテーブル

col_1col_9 という汎用的なカラム名を持つ検証用テーブルを使用します。
100件のユニークなデータが格納されており、カラム名からは内容を推測できない状態です。

bigquery-gemini-description-with-data-profile_01.png

テーブルの中身を見ると、ユーザーID、氏名、年齢、都道府県、日付、金額などのデータが格納されていることが分かります。

bigquery-gemini-description-with-data-profile_02.png

カラムの実際の意味

検証結果を評価するため、各カラムの実際の意味を以下に示します。

カラム名 実際の意味
col_1 ユーザーID
col_2 氏名
col_3 年齢
col_4 居住地(都道府県)
col_5 会員登録日
col_6 最終購入日
col_7 累計購入金額
col_8 購入回数
col_9 会員ランク

日本語での説明生成を設定

日本語で説明を生成するには、テーブルの説明欄に生成言語を指示する必要があります。

テーブルの「詳細を編集」から説明欄に Generate table and column descriptions using the Japanese language と入力して保存しておきます。

bigquery-gemini-description-with-data-profile_03.png

説明生成を実行

「分析情報」タブを開くと、説明生成のボタンが表示されます。

bigquery-gemini-description-with-data-profile_04.png

生成ボタンには以下の2つのオプションがあります。

  • 公開せずに生成:オンデマンドで説明を生成します。Dataplex Universal Catalog には保存されず、一時的な生成となります
  • 公開して生成:生成した説明を Dataplex Universal Catalog に永続化し、組織全体で共有できるようにします

今回は「公開せずに生成」を選択して説明を生成します。

結果

Gemini によって生成されたテーブルの説明と列の説明を確認します。

bigquery-gemini-description-with-data-profile_05.png

テーブルの説明:

このテーブルは、様々なカテゴリにわたるサンプルデータに関する情報を提供します。このデータは、異なるデータ型(文字列、整数、日付)の組み合わせで構成されています。テーブルの主な目的は、データプロファイリングとテストのためのサンプルデータセットを提供することです。このデータを利用して、データ品質の評価やデータ変換のテストを行うことができます。

テーブル名を sample_data_profile_test としたため、「データプロファイリングとテストのためのサンプルデータセット」という説明が生成されたようです。テーブル名から用途を推測していますが、実際のデータ内容(顧客情報)は認識できていません。

「列の説明を表示」をクリックすると、各カラムの説明が表示されます。

bigquery-gemini-description-with-data-profile_06.png

列の説明:

カラム名 Gemini によって生成された説明
col_1 文字列データが含まれています。
col_2 文字列データが含まれています。
col_3 整数データが含まれています。
col_4 文字列データが含まれています。
col_5 日付データが含まれています。
col_6 日付データが含まれています。
col_7 整数データが含まれています。
col_8 整数データが含まれています。
col_9 文字列データが含まれています。

カラム名とデータ型のみから推測した説明になっており、テーブルの実データは参照されていないようです。
そのため、データ型に基づいた一般的な説明にとどまっています。

検証2:データプロファイル実行後に再度試す

データプロファイルを実行し、再度説明生成を試してみます。

データプロファイルの実行

「データ プロファイル」タブを開き、「クイック データ プロファイル」ボタンをクリックします。

bigquery-gemini-description-with-data-profile_07.png

確認ダイアログが表示されます。
Dataplex を使用して、すべての列が 10% のサンプリングでプロファイリングされます。

bigquery-gemini-description-with-data-profile_08.png

なお、「クイック データ プロファイル」以外にも、以下のようなカスタマイズオプションが用意されています。

  • スコープ設定:増分スキャンまたは全データスキャンの選択
  • データフィルタリング:行フィルタや列フィルタの指定
  • サンプリング率:0.001~100 の範囲で指定
  • 実行スケジュール:定期実行(日次、週次など)またはオンデマンド

プロファイル結果

データプロファイルが完了すると、各カラムの統計情報が表示されます。

bigquery-gemini-description-with-data-profile_09.png

col_1 は「U0001」〜「U0100」のようなユニークな値、col_2 は日本人の氏名、col_3 は 22〜55 の範囲の整数(年齢)など、データの特徴が可視化されています。

説明生成を再実行

データプロファイル実行後、「分析情報」タブに戻り、検証1と同様に「公開せずに生成」を選択して説明を生成します。

bigquery-gemini-description-with-data-profile_10.png

結果

再度、Gemini によって生成されたテーブルの説明と列の説明を確認します。

bigquery-gemini-description-with-data-profile_11.png

テーブルの説明:

このテーブルは、顧客に関するサンプルデータを提供します。顧客の属性や行動に関する情報が含まれています。このデータを利用して、顧客セグメントの分析や、地域ごとの傾向把握が可能です。また、顧客のステータスや、特定の期間に関する情報も含まれています。

データプロファイル実行前は「様々なカテゴリにわたるサンプルデータ」という汎用的な説明でしたが、データプロファイル実行後は「顧客に関するサンプルデータ」と正しく認識できています。
データの中身を踏まえた説明になっており、顧客分析への活用方法まで言及されています。

「列の説明を表示」をクリックすると、各カラムの説明が表示されます。

bigquery-gemini-description-with-data-profile_12.png

列の説明:

カラム名 Gemini によって生成された説明
col_1 顧客を識別するためのIDです。
col_2 顧客の名前です。
col_3 顧客の年齢です。
col_4 顧客の居住地(都道府県)です。
col_5 顧客がサービスに登録した日付です。
col_6 顧客が最後にサービスを利用した日付です。
col_7 顧客の年間購入金額です。
col_8 顧客の購入回数です。
col_9 顧客の会員ステータスです。

Gemini がデータプロファイル情報を参照することで、カラム名だけでは分からないデータの意味を正確に推測できました。
もちろん推測に基づく生成のため、必ずしも正しい説明が付与されるとは限らず確認は必要ですが、データプロファイルによってデータの特徴を捉えた説明が生成されていることがわかります。

説明の保存

生成されたテーブルの説明は「詳細に保存」から「提案された説明をコピー」して保存することができます。

bigquery-gemini-description-with-data-profile_13.png

生成されたカラムの説明は「スキーマに保存」ボタンでスキーマに反映できます。

bigquery-gemini-description-with-data-profile_14.png

保存後、スキーマタブで説明が反映されていることを確認できます。

bigquery-gemini-description-with-data-profile_15.png

データプロファイル実行前後の比較

データプロファイルの有無によって、生成される説明がどのように変わるかを比較してみましょう。

カラム名 実際の意味 データプロファイル前 データプロファイル後
col_1 ユーザーID 文字列データが含まれています。 顧客を識別するためのIDです。
col_2 氏名 文字列データが含まれています。 顧客の名前です。
col_3 年齢 整数データが含まれています。 顧客の年齢です。
col_4 居住地(都道府県) 文字列データが含まれています。 顧客の居住地(都道府県)です。
col_5 会員登録日 日付データが含まれています。 顧客がサービスに登録した日付です。
col_6 最終購入日 日付データが含まれています。 顧客が最後にサービスを利用した日付です。
col_7 累計購入金額 整数データが含まれています。 顧客の年間購入金額です。
col_8 購入回数 整数データが含まれています。 顧客の購入回数です。
col_9 会員ランク 文字列データが含まれています。 顧客の会員ステータスです。

データプロファイル前は単にデータ型を述べるだけでしたが、データプロファイル後は「顧客」という文脈を理解し、各カラムの意味を適切に推測できています。

まとめ

本記事では、BigQuery の説明の自動生成機能とデータプロファイルを組み合わせて、より精度の高いテーブル説明を生成できるか検証しました。

検証の結果、データプロファイルを実行することで、説明の精度が大幅に向上することが確認できました。

テーブルの説明:

  • データプロファイル実行前:「様々なカテゴリにわたるサンプルデータ」という汎用的な説明
  • データプロファイル実行後:「顧客に関するサンプルデータ」と正しく認識し、顧客分析への活用方法まで言及

カラムの説明:

  • データプロファイル実行前:「文字列データが含まれています」のようなデータ型ベースの説明
  • データプロファイル実行後:「顧客を識別するためのID」「顧客の年齢」など、ビジネス上の意味を推測した説明

ユースケース

説明の自動生成機能とデータプロファイルの組み合わせは、以下のようなシーンで活用できそうです。

  • レガシーシステムから移行したテーブルで、カラム名が不明瞭な場合
  • データレイクに蓄積された大量のテーブルにメタデータを付与したい場合
  • 新規メンバーがデータの理解を深めるためのドキュメント作成

テーブルやカラムの説明(メタデータ)は、データガバナンスやデータカタログの基盤となる重要な情報です。
しかし、手作業でメタデータを整備するのは時間と労力がかかります。

今回ご紹介した説明の自動生成機能を使えば、メタデータ整備も効率化できます。
特にデータプロファイルとの組み合わせにより、カラム名だけでは表現しきれないデータの意味を補完できることが確認できました。

ぜひ、皆さんのデータ管理にもお役立てください!

それでは、明日以降の クラスメソッド Google Cloud Advent Calendar 2025 も引き続きお楽しみください。

https://adventar.org/calendars/12124

参考

この記事をシェアする

FacebookHatena blogX

関連記事