Google CloudがLive Queryの請求書処理例を紹介、PDF抽出とBigQueryで履歴照合が可能
公開:
Google Cloudは、Alteryx One Live QueryとBigQueryの組み合わせが、企業による大規模で複雑な非構造化データの扱い方を変えるとしています。Live Queryは、ビジネスユーザーがコードを書かずにデータパイプラインを作れる、ブラウザベースの環境です。[1]
変化の理由として同社は、分断されたツールへの依存の削減、データ移動の最小化、ウェアハウス内での実行を挙げています。この記事の対象は、Live Queryで請求書PDFから項目を抽出してBigQueryの履歴と照合する流れと、利用前に確かめる点です。
Live Queryでできること
Live Queryでは、ワークフローをブラウザ上で視覚的に作成します。作成時に設定する処理は、文書の抽出や分類、データの整形、検証、振り分けです。[1]
BigQuery連携での処理の仕組み
BigQueryと組み合わせた場合、Live Queryはsecure SQL pushdownに対応します。データ変換のロジックを、データウェアハウス内で直接実行する仕組みです。
Live Queryは、GeminiのようなGoogleのAIモデルを連携させ、PDFや画像から情報を取り出せます。Google Cloudによると、この処理はBigQuery環境の厳格なデータガバナンスとセキュリティを保ちながら行うものです。
Live Queryのアーキテクチャは、ウェアハウス規模の処理と管理された実行を対象に設計されています。secure SQL pushdownで変換と照合のロジックをBigQuery内で直接実行し、文書の抽出や分類、要約などのAI機能でGeminiと連携します。
請求書処理例の構成の利点
Google Cloudは、この請求書処理の例でAIによる抽出とBigQueryネイティブの実行を組み合わせた構成について、利点を挙げています。主な利点は、以下の通りです。
Google Cloudは、Alteryx One Live QueryとBigQueryによる請求書処理の例を、手作業の介入を最小限にして文書から判断まで進める設計としています。企業規模では、照合ロジックをBigQueryとそろえたまま、数百万件の非構造化文書の分析やAIを支えるパターンです。
Live Queryで請求書を処理する例
請求書の例のワークフローは、Google Cloud Storage(GCS)にある請求書PDFのディレクトリを入力に指定して始まります。PDFはブラウザで作成したLive Queryワークフローで処理され、BigQueryの過去の請求書と照合した業務出力がBigQueryへ書き戻される流れです。[1]
Live Queryは、対話的な設計中はプレビュー用に一部の文書URIだけを処理し、実行時に請求書PDFの全件を処理します。編集部では、プレビューの結果で設計を進める場合、全件を処理した実行後の出力も確認の対象に加えることを勧めます。
AI.GENERATEを使う請求書の抽出
請求書の例では、ワークフローがGCSに保存されたPDFの場所を列挙します。あわせて、絶対パスやサイズ、作成・更新日時などのファイル単位の情報を返す仕組みです。
Document Extractツールは、GCSの請求書PDFから構造化または半構造化の結果をBigQueryの中で直接抽出します。抽出の際には、入力文書のURIから外部オブジェクトテーブルを一時的に作ります。
実行される関数は、Document AIモデルではML.PROCESS_DOCUMENT、Gemini AIモデルではAI.GENERATEです。次のSQLは、Geminiの経路でAI.GENERATEに請求書の項目を取り出させる、説明用のパターンです。
-- illustrative pattern only
SELECT *
FROM AI.GENERATE(
MODEL project.dataset.gemini_model,
(
SELECT
uri,
'Extract invoice_number, invoice_amount, vendor_name, net_amount, tax_amount, and line_items.' AS prompt
FROM project.dataset.temp_invoice_object_table
)
);
公式資料からの抜粋:Modernizing Unstructured Data Workflows: Alteryx Live Query meets Google Cloud BigQuery(Live query workflow walkthrough: From PDF to insight)。対象版・範囲:記事で説明された請求書処理の例の構成。
上記のコードでは、各uriにプロンプトを添え、invoice_numberやinvoice_amount、line_itemsなどを取り出させます。AI.GENERATEが返した請求書の項目は、後続のLive Queryワークフローへ渡されます。
Classifyの分類
抽出の後、ワークフローはAlteryxのClassifyツールで、抽出した請求書のテキストをゼロショット分類します。請求書の例で分類する対象は明細の内容で、区分は工業用品や事務用品などの事前に定めた業務区分です。
分類には、BigQueryのAI.CLASSIFYが使われ、予測したラベルの新しい列が加わります。業務の区分が付くことによって、後の照合や例外の処理、レポートで抽出データを使いやすくなります。
次のSQLは、AI.CLASSIFYで明細のテキストを2つの区分に分ける、説明用のパターンです。
-- illustrative pattern only
SELECT *,
AI.CLASSIFY(line_item_text, categories => ['industrial', 'office']) AS line_item_classify
FROM upstream
公式資料からの抜粋:Modernizing Unstructured Data Workflows: Alteryx Live Query meets Google Cloud BigQuery(Live query workflow walkthrough: From PDF to insight)。対象版・範囲:Alteryx One Live QueryとBigQueryによる請求書処理の例。
上記のコードでは、line_item_textを'industrial'か'office'に分類し、結果をline_item_classifyの列として加えます。分類先の区分は、categoriesに並べた値で指定する形です。
履歴との照合と重複候補の検出
照合の前に、抽出した請求書番号から空白などの表記の違いを取り除き、形式をそろえます。そのうえで、BigQueryにある過去の請求書と結合し、番号が一致する記録を重複の候補として示す処理です。
残りの記録には、計算式のステップで業務ルールを当てはめます。請求書の例では、invoice_amountがnet_amount + tax_amountと一致するかを調べ、不一致を確認対象として示します。
ルールはワークフローごとに異なり、金額の不一致や必須項目の欠落、合計の誤りなどの確認も含めることが可能です。履歴と一致しない現在の請求書は、検証と必要に応じた例外の表示を経て、未払い請求書の処理用の出力として準備されます。
もう1つの出力は、履歴と一致して重複の候補とされた請求書です。Google Cloudは、2種類の業務出力を、財務チームがすぐに確認して対応できる管理された出力と位置づけています。
Live Queryを使う請求書処理の構成
請求書の例の構成では、ブラウザが作成の層、Alteryx One Platform Servicesが調整の層、Google Cloudが管理されたデータと実行の層です。ワークフローのロジックはLive Queryで視覚的に作り、実行はBigQueryの管理されたデータとウェアハウス規模の処理に沿わせます。[1]
調整の層が担う実行の管理
BigQueryを使う請求書処理の例では、Transformation Serviceがブラウザのワークフローと利用者のデータ環境の間を調整します。調整の対象は、要求の処理や実行計画、結果の取得です。
同じ請求書処理の例で、Alteryx One Platform Servicesはワークフロー実行全体に追跡性と可観測性を加えます。この仕組みによって、運用の監視と監査性が強化されます。
請求書データの保存先と出力先
請求書の例では、PDFをGCSに置き、過去の請求書データをBigQueryで管理し、出力をBigQueryへ書き戻します。BigQueryのきめ細かなアクセスポリシーで管理されたBigQuery内の企業データは、データウェアハウスの外へ移す必要がありません。
請求書の例のワークフローは、保存や抽出、照合、出力の作成を、BigQueryにある管理された企業データにそろえて進める構成です。Google Cloudは、財務チームが手作業を減らし、例外処理を早められるとしています。
請求書の例と同じ構成でLive Queryを使う場合は、PDFをGCSに置けるかと、過去の請求書がBigQueryで管理されているかを先に確かめます。アクセス管理に、BigQueryのきめ細かなアクセスポリシーを使っているかも確認の対象です。
Live QueryのBigQuery統合では請求書の処理全体を自動化でき、今回の発表はその処理パターンを請求書の例で示しています。提供地域や料金、一般提供かプレビューかという正式な提供区分の明示は、今回の発表に含まれていません。
Live Queryの抽出ツールのモデル選択
Document Extractツールでは、ワークフローの設定に応じて利用者がDocument AIかGemini AIのモデルを選びます。掲載された請求書の例のワークフローは、このうちGemini AIの経路を使う構成です。[1]
Document Extractツールで抽出モデルを選ぶ場合、請求書の例と同じ構成にするなら、Gemini AIでAI.GENERATEを使う経路が前提です。同じツールでDocument AIに切り替える場合は、実行される関数がML.PROCESS_DOCUMENTに変わる点を確かめます。
出典
- ^ Google Cloud. 「Modernizing Unstructured Data Workflows: Alteryx Live Query meets Google Cloud BigQuery」. https://cloud.google.com/blog/products/data-analytics/modernize-unstructured-data-workloads-with-alteryx-and-bigquery, (参照 26-10-09).
※本記事は公式の一次情報を基に編集しています。内容はAIで確認していますが、誤りや最新情報との差異がある場合は、以下フォームよりご報告ください。
修正・削除・掲載などの依頼はこちら




















