Layout Parser でドキュメントを処理する
レイアウト パーサーは、テキスト、表、リストなどのドキュメント コンテンツ要素を抽出し、生成 AI や検索アプリケーションでの情報検索を容易にするコンテキスト アウェア チャンクを作成します。
レイアウト パーサーの機能
ドキュメント レイアウトを解析します。Layout Parser に HTML ファイルまたは PDF ファイルを入力して、テキスト ブロック、表、リストなどのコンテンツ要素や、タイトルや見出しなどの構造要素を識別できます。これらの要素は、リッチ コンテンツと構造要素を含むドキュメントの構成と階層を定義するのに役立ちます。これらの要素は、情報検索と検出のコンテキストをより多く作成できます。
ドキュメントをチャンクします。レイアウト パーサーは、元のドキュメントのレイアウト階層に関するコンテキスト情報を保持するチャンクにドキュメントを分割できます。回答生成 LLM は、チャンクを使用して関連性を高め、計算負荷を軽減できます。
チャンク化の際にドキュメントのレイアウトを考慮すると、セマンティックな一貫性が向上し、検索や LLM 生成に使用される際のコンテンツのノイズが軽減されます。チャンク内のすべてのテキストは、見出し、小見出し、リストなどの同じレイアウト エンティティから取得されます。
制限事項
次の制限が適用されます。
- オンライン処理:
- 入力ファイルの最大サイズは、すべてのファイル形式で 20 MB
- PDF ファイル 1 つあたり最大 15 ページ
- バッチ処理:
- PDF ファイルの最大ファイルサイズは 40 MB
- PDF ファイルあたりの最大ページ数: 500 ページ
ファイルタイプごとのレイアウト検出
次の表に、ドキュメントのファイル形式別に Layout Parser が検出できる要素を示します。
ファイル形式 | 検出された要素 | 制限事項 |
---|---|---|
HTML | 段落、表、リスト、タイトル、見出し、ページ ヘッダー、ページ フッター | 解析は HTML タグに大きく依存するため、CSS ベースの書式設定はキャプチャされない可能性があります。 |
段落、表、タイトル、見出し、ページ ヘッダー、ページ フッター | 複数ページにまたがる表は、2 つの表に分割されることがあります。 | |
DOCX(プレビュー) | 段落、複数ページにわたる表、リスト、タイトル、見出しの要素 | ネストされたテーブルはサポートされていません。 |
PPTX(プレビュー) | 段落、表、リスト、タイトル、見出しの要素 | 見出しを正確に識別するには、PowerPoint ファイル内で見出しとしてマークする必要があります。ネストされた表と非表示のスライドはサポートされていません。 |
XLSX/XLSM(プレビュー) | Excel スプレッドシート内のテーブル。INT 、FLOAT 、STRING の値をサポート |
複数のテーブルの検出はサポートされていません。非表示のシート、行、列も検出に影響する可能性があります。 |
始める前に
レイアウト パーサーを有効にする手順は次のとおりです。
プロセッサの作成と管理の手順に沿って、レイアウト パーサーを作成します。
プロセッサ タイプ名は
LAYOUT_PARSER_PROCESSOR
です。プロセッサを有効にするの手順に沿って、レイアウト パーサーを有効にします。
Layout Parser を使用してオンライン プロセス リクエストを送信する
レイアウト パーサーに入力ドキュメントを渡して、解析とチャンク処理を行います。
処理リクエストを送信するのバッチ処理リクエストの手順に沿って操作します。
ProcessDocumentRequest
のProcessOptions.layoutConfig
でフィールドを構成します。REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: プロセッサのロケーション(例:
-
)
us
- 米国eu
- 欧州連合
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- PROCESSOR_ID: カスタム プロセッサの ID。
- MIME_TYPE: レイアウト パーサーは
application/pdf
とtext/html
をサポートします。 - DOCUMENT: チャンクに分割するコンテンツ。レイアウト パーサーは、生の PDF ドキュメントまたは HTML ドキュメント、またはレイアウト パーサーによって出力された解析済みドキュメントを受け入れます。
- CHUNK_SIZE: 省略可。ドキュメントの分割時に使用するチャンクサイズ(トークン単位)。
- INCLUDE_ANCESTOR_HEADINGS: 省略可。ブール値。ドキュメントを分割するときに上位の見出しを含めるかどうか。
HTTP メソッドと URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process
リクエストの本文(JSON):
// Sample for inputting raw documents such as PDF or HTML { "rawDocument": { "mimeType": "MIME_TYPE", "content": "DOCUMENT" }, "processOptions": { "layoutConfig": { "chunkingConfig": { "chunkSize": "CHUNK_SIZE", "includeAncestorHeadings": "INCLUDE_ANCESTOR_HEADINGS", } } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を
request.json
という名前のファイルに保存して、次のコマンドを実行します。curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process"PowerShell
リクエスト本文を
request.json
という名前のファイルに保存して、次のコマンドを実行します。$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process" | Select-Object -Expand ContentDocument.documentLayout
とDocument.chunkedDocument
として含まれます。Python
詳細については、Document AI Python API のリファレンス ドキュメントをご覧ください。
Document AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
- LOCATION: プロセッサのロケーション(例:
Layout Parser でドキュメントをバッチ処理する
次の手順で、1 つのリクエストで複数のドキュメントを解析してチャンク化します。
レイアウト パーサーに入力ドキュメントを渡して、解析とチャンク処理を行います。
処理リクエストを送信するのバッチ処理リクエストの手順に沿って操作します。
batchProcess
リクエストを行うときに、ProcessOptions.layoutConfig
でフィールドを構成します。入力
次の JSON の例では、
ProcessOptions.layoutConfig
を構成します。"processOptions": { "layoutConfig": { "chunkingConfig": { "chunkSize": "CHUNK_SIZE", "includeAncestorHeadings": "INCLUDE_ANCESTOR_HEADINGS_BOOLEAN" } } }
次のように置き換えます。
CHUNK_SIZE
: ドキュメントの分割時に使用するチャンクの最大サイズ(トークンの数)。INCLUDE_ANCESTOR_HEADINGS_BOOLEAN
: ドキュメントを分割するときに、祖先の見出しを含めるかどうか。上位の見出しは、元のドキュメントの小見出しの親です。元のドキュメント内の位置に関する追加のコンテキストを含むチャンクを提供できます。チャンクには、最大 2 レベルの見出しを含めることができます。
次のステップ
- プロセッサ リストを確認します。
- カスタム分類子を作成します。
- Enterprise Document OCR を使用してテキストを検出して抽出します。
- レスポンスの処理方法については、バッチ処理ドキュメント リクエストを送信するをご覧ください。