Document AIを徹底解説

記事タイトルとURLをコピーする

G-gen の片岩です。当記事では文書のデジタル化と解析を自動化するサービスである Document AI について解説します。

概要

Document AI とは

Google Cloud の Document AI は、文書のデジタル化と解析を自動化するクラウドサービスです。手書きのテキストや印刷文書、PDF、スキャンされた画像などのさまざまな形式の文書から名前、住所、電話番号、日付、金額、メールアドレスといった任意の情報を JSON 形式で抽出することができます。

以下の公式サイトでは、ファイルをアップロードして Document AI を簡易的に試すことができます。

領収書の解析結果

ユースケース

企業内には多種多様な文書があるため Document AI のユースケースは多岐に及びますが、たとえば以下のようなユースケースが考えられます。

  • 請求書や領収書の自動処理:金融や会計業務で、請求書や領収書からデータを自動的に抽出し、データベースに入力するプロセスを自動化します。

  • 契約書や法的文書の解析:法的文書や契約書から重要な情報を抽出し、リスク分析やコンプライアンスチェックを支援します。

  • カスタマーサービスの最適化:カスタマーサポートで顧客からの書類を迅速に処理し、応答時間を短縮します。

利用方法

Document AI は、Web ブラウザで操作する Web コンソール(Google Cloud コンソール)、Python など各言語用の クライアントライブラリ、HTTPS でコールする Rest API などのインターフェイスを介して利用します。

また、Document AI は BigQuery と統合されているため、Document AI による処理を SQL で呼び出すこともできます。詳細は後述します。

Document AI のコンソール画面

対応フォーマット

Document AI は、以下のようなファイルタイプ(フォーマット)に対応しています。

  • PDF
  • GIF
  • TIFF
  • JPEG
  • PNG
  • BMP
  • WebP

詳細は、以下の公式ドキュメントを参照してください。

プロセッサ

プロセッサとは

Document AI において、テキストの抽出やドキュメントの分類、解析を実行する主体を プロセッサ と呼びます。プロセッサは大きく以下の 3 つに分類できます。

  • さまざまな用途に利用できる 汎用プロセッサ
  • 請求書や本人確認書類、契約書など個別の用途に特化した 専用プロセッサ
  • カスタマイズ可能な カスタムプロセッサ

以下ではそれぞれのプロセッサについて詳しく見ていきます。

汎用プロセッサ

OCR プロセッサ

最もシンプルな機能を備えたプロセッサが OCR プロセッサ です。 画像や PDF 内のテキストを抽出します。 ここでは一例として領収書の解析結果を示します。

領収書

OCR プロセッサによる解析結果

Form パーサー

Form パーサー はキーとバリューのペアとして情報を抽出します。 単なる文字列の羅列と異なり、後続処理に連携しやすい形式になっています。

Form パーサーによる解析結果

専用プロセッサ

専用プロセッサ は、領収書や請求書、契約書のように頻繁に使われるドキュメントの解析に特化したプロセッサです。たとえば領収書であれば、領収書に存在すべき項目を収集します。 先程同様に領収書の解析結果を以下に示します。

専門プロセッサによる解析結果

後述しますが、一部の専用プロセッサでは アップトレーニング を実施することにより独自にカスタマイズできます。

カスタムプロセッサ

カスタムドキュメントエクストラクタ

カスタムドキュメントエクストラクタ は、利用者が事前に設定した内容に沿ってドキュメントから任意の項目を抽出します。専用プロセッサをベースとしたアップトレーニングと異なり、ゼロから新しくプロセッサを作成します。詳細については後述します。

カスタムドキュメント分類器

カスタムドキュメント分類器 は、利用者が事前にトレーニングした内容に沿ってドキュメントをカテゴリに分類します。たとえば領収書や請求書などを自動で判別するといったことができます。

カスタムドキュメントスプリッター

カスタムドキュメントスプリッター は、利用者が事前にトレーニングした内容に沿ってサイズの大きいドキュメントの境界を特定します。その境界でドキュメントを分割することにより、 1 つのドキュメントを複数のドキュメントに分割することができます。

サマライザ

サマライザ はドキュメントの要約を生成します。生成する文章の長さや、箇条書きといった形式を選択することが可能です。先程の領収書の処理結果を以下に示します。

 This document is a receipt issued by Japan Airlines (JAL) on November 22, 2023, at 19:04. It acknowledges the payment of 34,180 yen (including tax) for airfare and fees. The receipt includes the following details:

- Date of Issue: October 20, 2023
- Issuing Office: Japan Airlines
- Payment Method: Cash, credit card, or other means

Please note that this summary is based solely on the provided document and may not include all relevant information.

トレーニング

Document AI におけるトレーニング

一部の専用プロセッサやカスタムプロセッサでは トレーニング によって独自にカスタマイズすることができます。以下のとおりプロセッサに応じて学習内容が異なります。

プロセッサ トレーニングによる学習内容
専用プロセッサ
カスタムドキュメントエクストラクタ
抽出対象
カスタムドキュメント分類器 ドキュメントのカテゴリ
カスタムドキュメントスプリッター ドキュメントの境界

トレーニングがサポートされている専用プロセッサは以下のとおりです。

  • 給与明細パーサー
  • W2 パーサー
  • 経費パーサー
  • 請求書パーサー
  • 発注書パーサー

参考 : Processor training and evaluation overview

カスタムドキュメントエクストラクタにおけるトレーニング

従来型トレーニングを利用したトレーニング

カスタムドキュメントエクストラクタでは、専用プロセッサのアップトレーニングと同じようにデータを読み込んで抽出対象を学習することができます。具体的には以下 2 種類のトレーニングが提供されています。

  • カスタムモデル (テンプレート) を利用する方法 :固定レイアウトの文書に適しています。トレーニングに要するドキュメント数は 3 文書で構いません。

  • カスタムモデル (モデル) を利用する方法 :年度ごとにフォーマットが変わる文書や、取引先によりフォーマットが変わる文書に適しています。フォーマットごとにサンプルデータを用意してトレーニングします。

生成 AI を用いたトレーニング

生成 AI に抽出対象を検索させる方法もあります。従来型と比較して生成 AI は文脈を読み取ることができるため、契約書のような自由記述型の文書の場合は生成 AI の利用が適しています。こちらも 2 通りの方法でプロセッサを作成できます。

トレーニングの流れ

Document AI におけるトレーニングの流れを以下に示します。 Vertex AI AutoML におけるトレーニングの流れとほぼ同じです。

  1. データセットの作成
  2. ドキュメントのラベル付け
  3. トレーニングの実施
  4. 評価指標の確認

トレーニングを手早く実行できるように、 これら一連の機能が Document AI ワークベンチ としてまとめられています。

人間参加型

人間参加型とは

実業務では Document AI による処理結果を人間がチェックする運用が必要です。 たとえばサービス導入直後の段階では、Document AI によって処理した全ての結果を人間の担当者がレビューすることが望ましいですし、Document AI の処理精度を十分検証できた後であれば、人間の担当者は項目を読み取れなかった場合だけレビューすれば十分です。Document AI には人間の担当者がレビューできる機構が備わっており、その機構を 人間参加型 と呼びます。

また、レビュー結果をトレーニングサンプルとしてフィードバックすることで、バリエーションが多い場合にも Document AI のプロセッサが徐々に学習し、高精度の処理をできるようになります。

なお、2024年1月16日に当機能は非推奨となりました。2025年1月16日に機能が廃止されることが決定しています。

ラベリングマネージャー

人間参加型ではラベリング全体のタスクを管理する ラベリングマネージャー と個々の Document AI のラベリング結果を確認する ラベラー によって運用されるイメージです。

ラベリングマネージャーは以下のような画面を利用してタスクを管理し、ラベラーにタスクをアサインします。

ラベリングマネージャによるタスク管理画面

ラベラー

ラベラーは以下のような画面でラベリング結果を確認・修正を実施します。

ラベラーによる確認画面

BigQuery との統合

Document AI は BigQuery と統合されています。すなわち BigQuery のクエリを発行することにより Document AI による処理を実行することができます。

以下ではおおまかな流れを紹介します。

1. まず Cloud Storage バケットに解析対象の文書を保存します。
2. 次に BigQuery に Cloud Storage を参照する オブジェクトテーブル を作成します。

Cloud Storage を参照する BigQuery のオブジェクトテーブル

3. 適用したい Document AI プロセッサを BigQuery のモデルに登録します。
4. 最後にクエリを発行して文書を処理します。

BigQuery における Document AI プロセッサの呼び出し結果

この方法を用いれば BigQuery のクエリを発行するだけで Document AI による処理を実行することができます。

日本語対応状況

2024年1月時点の日本語対応状況を以下に示します。詳細についてはこちらをご参照ください。

プロセッサ 日本語対応 GA / Preview
OCR プロセッサ 一般提供 (GA) あり
Form パーサー 一般提供 (GA) あり
専用プロセッサ (領収書用) 一般提供 (GA) あり
専用プロセッサ (請求書用) 一般提供 (GA) なし
カスタムドキュメントエクストラクタ (生成 AI 利用なし) 一般提供 (GA) あり
カスタムドキュメントエクストラクタ (生成 AI 利用あり) ※1 あり
カスタムドキュメント分類器 一般提供 (GA) なし
カスタムドキュメントスプリッター 一般提供 (GA) なし
サマライザ プレビュー提供 なし

※1:英語のみ一般提供 (GA) 。ただし日本語はプレビュー提供。ファインチューニングもプレビュー提供。

料金

Document AI の料金は、処理したドキュメントのページ数に応じた従量課金で、プロセッサに応じて単価が変わります。2024年1月時点の料金例を以下に示します。

プロセッサ 料金
OCR プロセッサ 1,000 ページあたり $1.5
Form パーサー 1,000 ページあたり $30
専用プロセッサ (Expense parser) 10 ページあたり $0.1

以下の機能を利用する場合は追加の費用が掛かります。

  • 人間参加型を利用する場合、1 ページあたり $0.02
  • デプロイしたカスタムプロセッサをホスティングする場合、1 時間あたり $0.05

片岩 裕貴 (記事一覧)

クラウドソリューション部 クラウドディベロッパー課

2022年5月にG-genにジョインした和歌山県在住のエンジニア。興味分野はAI/ML。2024年にGoogle Cloud認定資格全冠達成。最近は子供と鈴鹿サーキットや名古屋のレゴランドに行ってきました。