非構造化データにデータ プロファイルを使用する

Vertex AI Gemini 2.5 Pro モデルを搭載した非構造化データ(UnstructuredDataProfileSpec)のデータ プロファイル スキャンは、既存の BigQuery オブジェクト テーブルを分析して、Cloud Storage 内の未加工の非構造化ファイル(PDF など)を構造化されたクエリ可能なアセットに変換します。このスタンドアロン ワークフローは、BigQuery オブジェクト テーブルをすでに使用しているユーザーを対象としており、カスタマイズされたプロンプトを使用して抽出をガイドできます。Cloud Storage の未加工ファイルから開始し、自動検出ワークフローが必要な場合は、非構造化データに検出スキャンを使用するをご覧ください。

このドキュメントでは、必要な権限を設定する方法、オブジェクト テーブルを準備する方法、REST API を使用して非構造化データのデータ プロファイル スキャンを作成する方法、生成された分析情報を表示する方法、グラフ プロファイルをキュレートする方法、データを BigQuery に抽出する方法について説明します。

始める前に

非構造化データのデータ プロファイル スキャンを作成する前に、必要な権限が付与され、必要な API が有効になっていることを確認してください。

API を有効にする

プロジェクトで次の API を有効にします。

  • dataplex.googleapis.com
  • bigquery.googleapis.com
  • aiplatform.googleapis.com(Vertex AI)

API を有効にするために必要なロール

API を有効にするには、serviceusage.services.enable 権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。詳しくは、ロールを付与する方法をご覧ください。

API を有効にする

必要なロールと権限

非構造化データのセマンティック推論は、BigQuery オブジェクト テーブルで動作する高度なデータ プロファイル スキャン機能です。非構造化データのプロファイリングを構成して実行するには、オブジェクト テーブルにアクセスするためのベースライン権限を満たし、複数のサービス エージェント間でセマンティック推論を行うための追加のロールを付与する必要があります。

ベースライン オブジェクト テーブルのロール

BigQuery オブジェクト テーブルにアクセスしてクエリを実行するには、ユーザーと Knowledge Catalog で使用されるサービス アカウントに、プロジェクトに対する次のベースラインの Identity and Access Management(IAM)ロールが付与されていることを確認します。

  • BigQuery データ閲覧者(roles/bigquery.dataViewer
  • BigQuery Connection ユーザー(roles/bigquery.connectionUser

オブジェクト テーブルの前提条件の完全なリストについては、オブジェクト テーブルを作成するをご覧ください。

セマンティック推論の追加ロール

ベースライン テーブル アクセスに加えて、ユーザーとサービス アカウントに次の追加の IAM ロールがあることを確認します。

追加の ID とロールの概要

ID タイプ 一般的なプリンシパルの形式 必要な IAM のロール 重要な目的
エンドユーザー お客様の Google Cloud ユーザー アカウント
  • Dataplex DataScan 編集者
  • Dataplex Catalog 編集者
  • BigQuery データ編集者
  • BigQuery ジョブユーザー
これらの追加ロールを使用して、スキャンの構成、AI 生成結果の表示、グラフ プロファイルのキュレーション、最終的なデータ抽出のトリガーを行います。
Dataplex Universal Catalog 検出エージェント service-<var>PROJECT_NUMBER</var>@gcp-sa-dataplex.iam.gserviceaccount.com
  • Vertex AI ユーザー
  • BigQuery ジョブユーザー
  • BigQuery データ閲覧者
この Google マネージド サービス エージェントは、これらの追加ロールを使用して Vertex AI を呼び出し、推論されたスキーマとメタデータを生成します。
BigQuery 接続サービス アカウント 接続に関連付けられた一意の ID(bqcx-<var>PROJECT_NUMBER</var>-<var>ID</var>@gcp-sa-bigquery-condel.iam.gserviceaccount.com など)
  • Storage オブジェクト閲覧者(ソースバケット)
  • Vertex AI ユーザー(プロジェクト)
BigQuery を外部ストレージに接続し、個人ユーザーの認証情報を公開することなく、BigQuery で未加工ファイルの読み取り、オブジェクト テーブルの作成、AI 推論の実行を可能にします。
パイプライン実行サービス アカウント(省略可) ユーザー管理のサービス アカウント
  • BigQuery データ編集者
  • BigQuery ジョブユーザー
  • BigQuery ユーザー
  • Vertex AI ユーザー
自動化されたパイプラインを使用してデータを抽出する場合、この ID はバックグラウンド ジョブを実行して、AI によって生成されたエンティティを BigQuery テーブルに具体化します。
デフォルトの Dataform サービス アカウント(省略可) service-<var>PROJECT_NUMBER</var>@gcp-sa-dataform.iam.gserviceaccount.com
  • サービス アカウント トークン作成者(パイプライン実行サービス アカウントに付与)
パイプライン抽出メソッドを使用する場合、Dataform はワークフローをオーケストレートするために、パイプライン実行サービス アカウントを偽装する権限を必要とします。

エンドユーザーの役割と権限

スキャンの作成、分析情報の表示、グラフ プロファイルのキュレーション、データの抽出に必要な権限がユーザー アカウントに付与されるように、プロジェクトに対する次の IAM ロールをユーザー アカウントに付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

これらの事前定義ロールには、スキャンの作成、分析情報の表示、グラフ プロファイルのキュレーション、データの抽出に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

スキャンの作成、分析情報の表示、グラフ プロファイルのキュレーション、データの抽出を行うには、次の権限が必要です。

  • DataScans:
    • dataplex.datascans.create
    • dataplex.datascans.get
    • dataplex.datascans.getData
    • dataplex.datascans.list
    • dataplex.datascans.update
  • データ抽出:
    • bigquery.tables.create
    • bigquery.tables.update
    • bigquery.tables.getData
    • bigquery.jobs.create

管理者は、カスタムロールや他の事前定義ロールを使用して、これらの権限をユーザー アカウントに付与することもできます。

Dataplex Discovery サービス エージェントのロールと権限

Dataplex 検出サービス エージェントは、Vertex AI を使用してスキャンを実行し、セマンティック推論を行うためにアクセス権が必要なサービス エージェントです。

Dataplex 検出サービス エージェント(通常は service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com)に、スキャンを実行し、Vertex AI を使用してセマンティック推論を実行するために必要な権限が付与されるように、プロジェクトの Dataplex 検出サービス エージェント(通常は service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com)に次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

これらの事前定義ロールには、Vertex AI を使用してスキャンを実行し、セマンティック推論を実行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

Vertex AI を使用してスキャンを実行し、セマンティック推論を行うには、次の権限が必要です。

  • すべて:
    • aiplatform.endpoints.predict
    • bigquery.datasets.create
    • bigquery.datasets.get
    • bigquery.tables.get
    • bigquery.tables.getData
    • storage.buckets.get
    • storage.objects.get
    • storage.objects.list

管理者は、Dataplex 検出サービス エージェント(通常は service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com)に、カスタムロールや他の事前定義ロールを付与することもできます。

BigQuery 接続サービス アカウントのロールと権限

BigQuery Cloud リソース接続を使用すると、Knowledge Catalog は Cloud Storage に保存されている非構造化データにアクセスできます。接続を作成すると、BigQuery は専用のサービス アカウントを自動的に作成します。このサービス アカウントは、外部データソースへの接続に使用される ID として機能します。

デフォルトでは、このサービス アカウントには権限がありません。データを含む Cloud Storage バケットに必要な IAM ロールをこのサービス アカウントに明示的に付与する必要があります。既存の BigQuery 接続を使用するか、ソース Cloud Storage バケットと同じロケーションに新しい接続を作成できます。接続の共有の詳細については、ユーザーと接続を共有するをご覧ください。

BigQuery 接続サービス アカウント(接続の詳細の接続情報セクションから ID を取得)にオブジェクト テーブルの読み取りと推論の実行に必要な権限があることを確認するには、BigQuery 接続サービス アカウント(接続の詳細の接続情報セクションから ID を取得)に次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

これらの事前定義ロールには、オブジェクト テーブルの読み取りと推論の実行に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

オブジェクト テーブルを読み取って推論を実行するには、次の権限が必要です。

  • すべて:
    • 非構造化データを含むバケットに対する storage.buckets.get
    • 非構造化データを含むバケットに対する storage.objects.get
    • プロジェクトに対する aiplatform.endpoints.predict

管理者は、BigQuery 接続のサービス アカウント(接続の詳細の接続情報セクションから ID を取得)に、カスタムロールや他の事前定義ロールを付与することもできます。

パイプライン実行サービス アカウントのロールと権限(省略可)

自動化されたパイプラインを使用して推論されたデータを抽出する場合は、パイプラインを実行するための専用のサービス アカウントを作成するか、指定する必要があります。この実行サービス アカウントは、BigQuery でバックグラウンドのデータ抽出タスクと分析タスクを認証して実行する ID として機能します。また、この実行サービス アカウントの権限を借用する権限をデフォルトの Dataform サービス アカウントに付与する必要があります。

パイプライン実行サービス アカウントに、パイプラインを使用して推論されたエンティティとリレーションを抽出するために必要な権限が付与されるように、プロジェクトに対する次の IAM ロールをパイプライン実行サービス アカウントに付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

これらの事前定義ロールには、パイプラインを使用して推論されたエンティティとリレーションシップを抽出するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

パイプラインを使用して推論されたエンティティとリレーションシップを抽出するには、次の権限が必要です。

  • すべて:
    • bigquery.tables.create
    • bigquery.tables.update
    • bigquery.tables.get
    • bigquery.tables.getData
    • bigquery.jobs.create
    • aiplatform.endpoints.predict

管理者は、カスタムロールや他の事前定義ロールを使用して、これらの権限をパイプライン実行サービス アカウントに付与することもできます。

デフォルトの Dataform サービス アカウント(service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com)に、パイプライン実行サービス アカウントの権限を借用するために必要な権限があることを確認するには、パイプライン実行サービス アカウントに対する次の IAM ロールをデフォルトの Dataform サービス アカウント(service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com)に付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

これらの事前定義ロールには、パイプライン実行サービス アカウントの権限を借用するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

パイプライン実行サービス アカウントの権限を借用するには、次の権限が必要です。

  • すべて: iam.serviceAccounts.getAccessToken

管理者は、デフォルトの Dataform サービス アカウント(service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com)に、カスタムロールや他の事前定義ロールを付与することもできます。


オブジェクト テーブルを準備する

非構造化データのデータ プロファイル スキャンは、既存の BigQuery オブジェクト テーブルで直接実行されます。スキャンを作成する前に、非構造化データ(PDF など)が Cloud Storage バケットに保存され、Cloud リソース接続を使用してそのバケットに BigQuery オブジェクト テーブルが作成されていることを確認してください。

オブジェクト テーブルで使用される接続に対して、ユーザーと Knowledge Catalog サービス アカウントに BigQuery Connection ユーザー(roles/bigquery.connectionUser)ロールがあることを確認します。

オブジェクト テーブルの作成と必要な接続の設定の詳細については、オブジェクト テーブルを作成するをご覧ください。

非構造化データのデータ プロファイル スキャンを作成する

オブジェクト テーブルからセマンティック分析情報を抽出するには、非構造化データ(UnstructuredDataProfileSpec)のデータ プロファイル スキャンを作成する必要があります。このスキャンでは、Vertex AI Gemini 2.5 Pro モデルを使用して、オブジェクト テーブルで参照されている非構造化ファイルを分析し、推論されたメタデータ、スキーマ、関係を生成します。

この初回リリースでは、スキャンの作成は REST API の使用でのみサポートされています。

REST API を使用して非構造化データのデータ プロファイル スキャンを作成するには、unstructuredDataProfileSpec を使用して dataScans.create メソッドを使用します。

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans?dataScanId=DATASCAN
{
  "description": "Data profile scan for unstructured data",
  "data": {
    "resource": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID"
  },
  "executionSpec": {
    "trigger": {
      "onDemand": {}
    }
  },
  "unstructuredDataProfileSpec": {
    "customizedPrompt": "",
    "graphProfilePublishingEnabled": false
  }
}

次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloudプロジェクトの ID。
  • LOCATION: Google Cloud リージョン(Gemini 2.5 Pro をサポートしている必要があります)。
  • DATASCAN: データ プロファイル スキャンの名前。
  • DATASET_IDTABLE_ID: BigQuery データセットとオブジェクト テーブルの名前。

データ プロファイル スキャンの仕様パラメータ

  • customizedPrompt: 省略可。抽出する特定のエンティティまたはドメイン コンテキストを Gemini に指示する自然言語プロンプト(例: Focus extraction on M&A contract terms, identifying purchasing entities, target companies, and agreed escrow amounts.)。デフォルトでは、これは空の文字列("")です。カスタマイズされたプロンプトの最大文字長には上限があります。

  • graphProfilePublishingEnabled: 省略可。推論されたグラフ プロファイルをスキャン完了時にカタログに自動的に公開するかどうか。デフォルトは false です。

Knowledge Catalog はデータ プロファイル スキャンを実行し、AI 生成のメタデータでカタログ エントリを拡充します。通常、この処理には標準データセットで数分かかります。

例: 販売者の PDF から契約条件を抽出する

次の例は、サンプル小売企業がオブジェクト テーブル(seller_agreements_obj_table)に保存されている販売者契約 PDF を分析するためにデータ プロファイル スキャン(seller-contracts-scan)を作成する REST API リクエストを示しています。カスタマイズされたプロンプトを使用して、手数料率や支払い条件などの特定のビジネス用語を抽出するように Gemini に指示しています。

POST https://dataplex.googleapis.com/v1/projects/example-retail-project/locations/us-central1/dataScans?dataScanId=seller-contracts-scan
{
  "description": "Data profile scan for seller PDF agreements",
  "data": {
    "resource": "//bigquery.googleapis.com/projects/example-retail-project/datasets/marketplace_operations/tables/seller_agreements_obj_table"
  },
  "executionSpec": {
    "trigger": {
      "onDemand": {}
    }
  },
  "unstructuredDataProfileSpec": {
    "customizedPrompt": "Focus extraction on seller agreement terms, identifying seller business entities, commission rates, payment terms, and termination clauses in the PDFs.",
    "graphProfilePublishingEnabled": true
  }
}

データ プロファイル スキャンを実行する

オンデマンドで実行するようにデータ プロファイル スキャンを構成した場合は、非構造化データを分析するためにスキャンを手動でトリガーする必要があります。

REST API を使用してオンデマンド データ プロファイル スキャンを実行するには、dataScans.run メソッドを使用します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN:run"

次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloudプロジェクトの ID。
  • LOCATION: データ プロファイル スキャンが配置されている Google Cloud リージョン。
  • DATASCAN: データ プロファイル スキャンの名前。

データ プロファイル スキャンの結果を確認する

データ プロファイル スキャンが完了すると、Knowledge Catalog はエンティティとリレーションシップの推論されたスキーマを含むグラフ プロファイルを生成します。これらの結果は、 Google Cloud コンソールまたは REST API を使用して確認できます。

コンソール

カタログ(graphProfilePublishingEnabled: true)へのグラフ プロファイルの公開を有効にしている場合は、Knowledge Catalog でオブジェクト テーブルとその推論されたセマンティック グラフを表示できます。

  1. Google Cloud コンソールで、Knowledge Catalog の [検索] ページに移動します。

    [検索] に移動

  2. スキャンで構成した ID のオブジェクト テーブルを貼り付けて検索します。

  3. 検索結果で、表をクリックしてエントリページを開きます。

  4. [詳細] タブの [アスペクト] で、グラフ プロファイル アスペクト(dataplex-types.global.graph-profile)が存在することを確認します。このアスペクトには、エンティティとリレーションシップの推論されたスキーマが含まれています。

  5. [分析情報] タブをクリックします。[分析情報] タブでは、次の情報を確認できます。

    • セマンティック抽出。抽出可能なエンティティとリレーションが検出されたことを示すバナーが表示されます。このバナーには、SQL またはパイプラインのデプロイを使用してデータを具体化するための [抽出] ボタンが含まれています。

    • 説明。AI によって生成された人が読める形式の要約で、非構造化データの内容を説明します。検出されたプライマリ ノード(エンティティ)と、エッジ(関係)を介して相互にマッピングする方法について説明します。

    • パイプライン。このリソースに関連付けられている、以前にデプロイされたデータ抽出パイプラインのリスト。表示名、リージョン、作成時間、パイプラインを作成したユーザーを表示できます。

    • 推論されたエンティティと関係。非構造化データの検出されたセマンティック構造が、インタラクティブなグラフで視覚的に表示されます。グラフには、個別のエンティティを表すノード(RecipeIngredient など)と、それらの間の接続を表すエッジ(HasAllergenStatus など)が含まれます。凡例を使用して、特定のノードとエッジをフィルタして調べることができます。

    • エンティティ。検出されたプライマリ エンティティの詳細なリスト。各エンティティを展開して、AI によって生成された説明と、フィールド名、データ型、フィールドの説明を含む推定スキーマを表示できます。

    • 関係。検出されたエンティティ間の接続の詳細なリスト。各関係を開いて、その説明と、エンティティ間のマッピング方法を定義するスキーマを表示できます。

REST

REST API を使用してスキャンジョブの実行からグラフ プロファイルの結果を直接取得するには、view=fulldataScans.jobs.get メソッドを使用します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN/jobs/JOB_ID?view=full"

次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloudプロジェクトの ID。
  • LOCATION: データ プロファイル スキャンが配置されている Google Cloud リージョン。
  • DATASCAN: データ プロファイル スキャンの名前。
  • JOB_ID: データ プロファイル スキャン ジョブ実行の一意の ID。

次の例は、unstructuredDataProfileResultgraphProfile を含む seller-contracts-scan ジョブのレスポンスを示しています。

{
  "name": "projects/example-retail-project/locations/us-central1/dataScans/seller-contracts-scan/jobs/123e4567-e89b-12d3-a456-426614174000",
  "uid": "123e4567-e89b-12d3-a456-426614174000",
  "startTime": "2026-06-08T19:12:03.102Z",
  "endTime": "2026-06-08T19:15:28.415Z",
  "state": "SUCCEEDED",
  "type": "DATA_SCAN_TYPE_UNSTRUCTURED_DATA_PROFILE",
  "unstructuredDataProfileSpec": {
    "customizedPrompt": "Focus extraction on seller agreement terms, identifying seller business entities, commission rates, payment terms, and termination clauses in the PDFs.",
    "graphProfilePublishingEnabled": true
  },
  "unstructuredDataProfileResult": {
    "description": "The unstructured data contains seller agreement PDFs. The primary entities discovered are Seller Entity, Commission Rate, Payment Terms, and Termination Clause, mapped to each other through business agreement relationships.",
    "graphProfile": {
      "nodeTypes": [
        {
          "name": "Seller Entity",
          "description": "Discovered business entity representing the seller.",
          "fields": [
            {
              "name": "seller_name",
              "dataType": "STRING",
              "description": "The legal name of the seller.",
              "mode": "NULLABLE"
            },
            {
              "name": "address",
              "dataType": "STRING",
              "description": "The physical or mailing address of the seller.",
              "mode": "NULLABLE"
            }
          ]
        },
        {
          "name": "Commission Rate",
          "description": "Discovered agreed commission rate terms.",
          "fields": [
            {
              "name": "rate_percentage",
              "dataType": "NUMBER",
              "description": "The agreed commission percentage.",
              "mode": "NULLABLE"
            }
          ]
        },
        {
          "name": "Payment Terms",
          "description": "Discovered payment schedule and terms.",
          "fields": [
            {
              "name": "billing_cycle",
              "dataType": "STRING",
              "description": "The agreed billing frequency or payment schedule.",
              "mode": "NULLABLE"
            }
          ]
        }
      ],
      "edgeTypes": [
        {
          "name": "AgreedCommission",
          "description": "Defines the commission rate agreed by the seller entity.",
          "sourceNodeType": "Seller Entity",
          "targetNodeType": "Commission Rate"
        },
        {
          "name": "HasPaymentTerms",
          "description": "Defines the payment terms applicable to the seller entity.",
          "sourceNodeType": "Seller Entity",
          "targetNodeType": "Payment Terms"
        }
      ]
    }
  }
}

推論された分析情報を更新する

推論された分析情報は、オブジェクト テーブルに付加されたアスペクトとして Knowledge Catalog カタログに保存されます。これらの分析情報は、REST API を使用して手動で更新できます。

REST

REST API を使用して推論された分析情報を更新する手順は次のとおりです。

  1. payload.json という名前のファイルを作成し、更新するアスペクトの JSON コンテンツを追加します。次に例を示します。

    {
      "aspects": {
        "dataplex-types.global.graph-profile": {
          "data": {
            "nodeTypes": [],
            "edgeTypes": []
          }
        }
      }
    }
    
  2. ターミナルで次のコマンドを実行します。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @payload.json \
    "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID/entries/ENTRY_ID?updateMask=aspects"
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクトの ID(例: example-project
    • LOCATION: エントリの場所(例: us-central1
    • ENTRY_GROUP_ID: エントリ グループの ID(例: example-entry-group)。BigQuery オブジェクト テーブルの場合は @bigquery を使用します。
    • ENTRY_ID: エントリの ID(例: example-entry)。( Google Cloud コンソールのエントリの詳細ページの [概要] タブから取得します)。

他の言語の詳細とコードサンプルについては、エントリのアスペクトを更新するをご覧ください。

BigQuery にデータを抽出する

SQL または自動パイプラインを使用して、推論されたエンティティとリレーションシップを BigQuery の構造化テーブルまたはビューにマテリアライズできます。

  1. Google Cloud コンソールで、Knowledge Catalog の [検索] ページに移動します。

    [検索] に移動

  2. スキャンで生成されたオブジェクト テーブルを検索します。

  3. 検索結果で、表をクリックしてエントリページを開きます。

  4. [分析情報] タブをクリックします。

  5. [分析情報] タブで、[抽出] をクリックします。

  6. 分析のニーズと非構造化データの規模に基づいて、次のいずれかの方法を選択します。

    • SQL で抽出: 迅速なアドホック分析、小規模から中規模のデータセット、または BigQuery リモートモデルを使用したインフラストラクチャ不要のアプローチが必要な場合は、このオプションを選択します。

      SQL を使用して抽出する手順は次のとおりです。

      1. [SQL で抽出] を選択します。
      2. [SQL で抽出] ペインで、宛先データセットを選択します。データセットは、ソースと同じロケーションに存在する必要があります。
      3. [Extract] をクリックします。
      4. BigQuery エディタで、ML.PROCESS_DOCUMENT 関数を利用する事前入力されたクエリが開きます。クエリを実行して、標準テーブルとビューを作成します。

      SQL を使用してドキュメントの分析情報を抽出する方法については、ML.PROCESS_DOCUMENT 関数を使用してドキュメントを処理するをご覧ください。

    • パイプラインで抽出: 大規模なデータ処理を行う場合や、大量のドキュメントを処理するために堅牢な再試行ロジック、エラー処理、自動オーケストレーションが必要な場合は、このオプションを選択します。

      パイプラインを使用して抽出する手順は次のとおりです。

      1. [Extract by pipeline] を選択します。
      2. [パイプラインで抽出] ペインで、パイプラインの表示名を入力します。
      3. リージョンを選択します。
      4. 宛先データセットを選択します。データセットは、ソースと同じロケーションに存在する必要があります。
      5. [抽出] をクリックします。これにより、Dataform を使用してデータ マテリアライズをオーケストレートする BigQuery パイプラインが作成されます。
      6. パイプライン内のすべてのタスクを実行して、構造化されたノードビューとエッジビューを生成します。

      データ ワークフローの実行の詳細については、Dataform の概要をご覧ください。

セマンティック分析情報を抽出して BigQuery にマテリアライズすると、次のタスクを実行できます。

  • 構造化データをクエリします。新しく作成したテーブルに対して標準 SQL クエリを実行して、抽出したエンティティとリレーションシップを分析します。

  • 既存のデータと結合する。非構造化ファイルから抽出した定性的な分析情報を、既存の構造化 BigQuery データセットと組み合わせます(解析された請求書データを会計テーブルと結合するなど)。

  • データ分析情報を確認します。BigQuery Studio のデータ分析情報機能を使用して、新しい構造化アセットの自然言語の質問と SQL クエリを自動的に生成します。

  • Gemini で分析する。Gemini in BigQuery を使用して、会話分析の実行、傾向の要約、抽出されたデータに基づくデータポータルのダッシュボードの作成を行います。

次のステップ