Document AI を使用して、ドキュメント処理結果を検証するためのカスタム ビジネスルールを定義できます。検証は、最終的に抽出されたエンティティに対して検証ルールを実行するドキュメント処理プロセスです。修正は、検証ルールの結果に基づいて抽出結果の改善を試み、抽出の精度を高めるオプションのプロセスです。
検証ルールでは、たとえば、明細項目の価格の合計が合計値と等しいかどうかを確認したり、複数のドキュメント間でフィールドの整合性を検証したり、抽出されたフィールドがレイアウト内で空間的に整列している(水平ブロック内など)ことを確認したりできます。Common Expression Language(CEL)を使用してビジネスルールを定義し、自然言語プロンプトから生成します。
検証と修正を有効にする
検証と修正は、Document AI コンソールで個別に有効にできます。これらの設定は、選択したプロセッサ バージョンのすべての processDocument リクエストに適用されます。ただし、processDocument API 呼び出しのパラメータを使用して、個々のリクエストでこの動作をオーバーライドできます。
検証ルールなどの検証と修正の構成は、各プロセッサ バージョンに固有のものです。Google マネージドのすべての事前トレーニング済みプロセッサ バージョンは、共通のベース構成を共有します。新しいカスタム プロセッサ バージョンを作成すると(ファインチューニングなど)、Document AI はベース構成を複製し、新しいバージョンに添付します。
検証が有効になっている場合、定義されたすべての検証ルールの結果が、同期リクエストとバッチリクエストの両方の ProcessDocument レスポンスに含まれます。修正を有効にするには、検証も有効にする必要があります。Document AI は、特定のドキュメントで 1 つ以上の検証ルールが失敗した場合にのみ、修正プロセスを実行します。修正後、Document AI は検証プロセスを再実行して最終結果を提供します。修正前後の検証結果は、processDocument レスポンスの修正リストで確認できます。
CEL 検証ルール
検証ルールは、Common Expression Language(CEL)に基づく式を使用して定義されます。CEL は、シンプルさと安全性を重視して設計された非チューリング完全な式言語です。定義できるルールの例:
- フィールド
Aの合計がフィールドBと等しい。 - フィールド
Bが指定された正規表現パターンに一致します。 - すべての親エンティティのサブフィールドは水平方向に配置されます。
ルール作成を簡素化するには、自然言語でプロンプトを指定して CEL ルールを生成します。この方法では、CEL 構文の複雑さを回避できます。Document AI の CEL 実装は、標準仕様と若干異なる場合があります。詳細な説明と例については、CEL ルールのリファレンスをご覧ください。
Google Cloud コンソールで検証を有効にする
既存のプロセッサの Google Cloud コンソールで、[検証と修正] エントリを選択します。

ドキュメントを処理する前に、ルール管理に移動します。

[検証を有効にする] 切り替えを選択します。
省略可: [補正を有効にする] 切り替えボタンを選択します。
ルールの作成
[Add Rule] をクリックします。

ルール作成フォームに、自然言語プロンプトを入力します。

ルールに名前を付け、Common Expression Language(CEL)を使用して動作を定義します。
省略可。既存のルールを管理するには、[編集] オプションまたは [削除] オプションを使用します。
プロセッサ間で構成をコピーする
[ルール管理] セクションで、[ 別の PV にコピー] をクリックします。

構成のコピー先となるプロセッサの名前とバージョンを選択します。
ルールの結果
[データセットの管理] ページで、[ルール管理] に移動します。

合格したテストと不合格のテストの合計数を評価します。
個々のルールの結果の内訳を確認します。
変更を比較すると、修正後に作成された新しいエンティティは緑色、変更されたエンティティは黄色で表示されます。

[評価とテスト] セクションには、補正を有効にする前後のスコアの列が表示されます。

評価
補正が有効になっている場合、プロセッサ バージョンの評価には、補正後の結果と補正前の結果の両方の主要な指標が含まれます。これらの指標を使用して、修正プロセスが抽出品質に与える影響を評価します。