Cloud AI サービスを介したリモートモデルのための CREATE MODEL ステートメント

このドキュメントでは、Cloud AI サービスを介して BigQuery でリモートモデルを作成するための CREATE MODEL ステートメントについて説明します。たとえば、Cloud Natural Language API などです。

CREATE MODEL の構文

{CREATE MODEL | CREATE MODEL IF NOT EXISTS | CREATE OR REPLACE MODEL}
`project_id.dataset.model_name`
REMOTE WITH CONNECTION `project_id.region.connection_id`
OPTIONS(REMOTE_SERVICE_TYPE = remote_service_type
[, DOCUMENT_PROCESSOR = document_processor]
[, SPEECH_RECOGNIZER = speech_recognizer]
);

CREATE MODEL

指定したデータセットに新しいモデルを作成し、トレーニングします。モデル名が存在する場合、CREATE MODEL はエラーを返します。

CREATE MODEL IF NOT EXISTS

指定したデータセットにモデルが存在しない場合にのみ、新しいモデルを作成してトレーニングします。

CREATE OR REPLACE MODEL

モデルを作成してトレーニングし、指定したデータセット内の同じ名前をもつ既存のモデルを置き換えます。

model_name

作成または置換するモデルの名前。モデル名は、データセット内で一意である必要があります。他のモデルやテーブルに同じ名前を付けることはできません。モデル名は、BigQuery テーブルと同じ命名規則に従う必要があります。モデル名の条件は次のとおりです。

  • 1,024 文字以内
  • 英字(大文字または小文字)、数字、アンダースコアだけが含まれている

model_name では、大文字と小文字は区別されません。

デフォルト プロジェクトを構成していない場合は、次の形式でプロジェクト ID をモデル名の前に付加する必要があります(バッククォートを含みます)。

`[PROJECT_ID].[DATASET].[MODEL]`

たとえば `myproject.mydataset.mymodel` です。

REMOTE WITH CONNECTION

構文

`[PROJECT_ID].[LOCATION].[CONNECTION_ID]`

BigQuery は、クラウド リソース接続を使用して Cloud AI サービスとやり取りします。

接続の要素は次のとおりです。

  • PROJECT_ID: 接続を含むプロジェクトのプロジェクト ID。
  • LOCATION: 接続で使用されるロケーション。接続は、モデルを含むデータセットと同じロケーションに存在する必要があります。
  • CONNECTION_ID: 接続 ID(例: myconnection)。

    接続 ID を確認するには、Google Cloud コンソールで接続の詳細を表示します。接続 ID は、接続 ID に表示される完全修飾された接続 ID の最後のセクションの値です(例: projects/myproject/locations/connection_location/connections/myconnection)。

モデルを作成するプロジェクトの接続のサービス アカウントに Vertex AI ユーザーロールを付与する必要があります。

`myproject.us.my_connection`

REMOTE_SERVICE_TYPE

構文

REMOTE_SERVICE_TYPE = { 'CLOUD_AI_NATURAL_LANGUAGE_V1' | 'CLOUD_AI_TRANSLATE_V3' | 'CLOUD_AI_VISION_V1' | 'CLOUD_AI_DOCUMENT_V1' | 'CLOUD_AI_SPEECH_TO_TEXT_V2' }

説明

モデルの作成に使用するサービスを指定します。

Cloud AI サービスに基づいてリモートモデルを作成したら、次のいずれかの BigQuery ML 関数でモデルを使用して BigQuery データを分析できます。

REMOTE_SERVICE_TYPE = 'CLOUD_AI_VISION_V1'

DOCUMENT_PROCESSOR

このオプションでは、REMOTE_SERVICE_TYPE 値が CLOUD_AI_DOCUMENT_V1 の場合に使用するドキュメント プロセッサを指定します。Document AI API を介してリモートモデルを作成する場合は、このオプションを使用する必要があります。このオプションは、他のタイプのリモートモデルでは使用できません。

Document AI には、次のようなさまざまな種類のドキュメントから分析情報を抽出する事前構築済みのプロセッサが用意されています。

  • 請求書
  • 税務フォーム
  • 財務諸表

すべてのタイプのプロセッサがサポートされているわけではありません。サポートされているプロセッサはドキュメントから分析情報を抽出し、プロセッサ ギャラリーExtract で始まる説明を表示します。たとえば、請求書、支払い明細、銀行明細書のパーサーなどです。サポートされていないプロセッサを指定すると、CREATE MODEL ステートメントは失敗します。

DOCUMENT_PROCESSOR 値は次の形式の文字列にする必要があります。

projects/PROJECT_NUMBER/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION

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

  • PROJECT_NUMBER: ドキュメント プロセッサを含むプロジェクトのプロジェクト番号。この値を確認するには、プロセッサの詳細を調べ予測エンドポイントを確認し、プロジェクト要素に続く値を取得します(例: https://us-documentai.googleapis.com/v1/projects/project_number/locations/processor_location/processors/processor_id:process)。
  • LOCATION: ドキュメント プロセッサで使用されるロケーション。この値を確認するには、プロセッサの詳細を調べ予測エンドポイントを確認し、ロケーション要素に続く値を取得します(例: https://us-documentai.googleapis.com/v1/projects/project_number/locations/processor_location/processors/processor_id:process)。
  • PROCESSOR_ID: ドキュメント プロセッサ ID。この値を確認するには、プロセッサの詳細を調べ予測エンドポイントを確認し、プロセッサ要素に続く値を取得します(例: https://us-documentai.googleapis.com/v1/projects/project_number/locations/processor_location/processors/processor_id:process)。
  • PROCESSOR_VERSION: ドキュメント プロセッサのバージョン。この値は、プロセッサの詳細で [バージョン管理] タブを選択し、使用するバージョンのバージョン ID の値をコピーします。

SPEECH_RECOGNIZER

このオプションは、REMOTE_SERVICE_TYPE 値が CLOUD_AI_SPEECH_TO_TEXT_V2 の場合にオプションで使用する音声認識ツールを指定します。このオプションを指定しない場合、リモートモデルを参照する場合は、ML.TRANSCRIBE 関数の recognition_config 引数に値を指定する必要があります。このオプションは、他のタイプのリモートモデルでは使用できません。

SPEECH_RECOGNIZER 値は次の形式の文字列にする必要があります。

projects/PROJECT_NUMBER/locations/LOCATION/recognizers/RECOGNIZER_ID

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

  • PROJECT_NUMBER: 音声認識ツールを含むプロジェクトのプロジェクト番号。この値は、Google Cloud コンソールの [ダッシュボード] ページにある [プロジェクト情報] カードで確認できます。
  • LOCATION: 音声認識ツールで使用されるロケーション。この値は、Google Cloud コンソールの [リスト認識機能] ページの [ロケーション] フィールドで確認できます。
  • RECOGNIZER_ID: 音声認識機能 ID。この値は、Google Cloud コンソールの [リスト認識機能] ページの [ID] フィールドで確認できます。

次の例では、Cloud Vision API を使用する BigQuery ML リモートモデルを作成します。

CREATE MODEL `project_id.mydataset.mymodel`
REMOTE WITH CONNECTION `myproject.us.test_connection`
 OPTIONS(REMOTE_SERVICE_TYPE = 'CLOUD_AI_VISION_V1')

次のステップ

BigQuery ML で Cloud AI サービスを使用する方法について詳しくは、AI アプリケーションの概要をご覧ください。