レイアウト パーサーは、テキスト、表、リストなどのドキュメント コンテンツ要素を抽出し、生成 AI や検索アプリケーションでの情報検索を容易にするコンテキスト アウェア チャンクを作成します。
レイアウト パーサーの機能
- ドキュメント レイアウトを解析します。Layout Parser に HTML ファイルまたは PDF ファイルを入力して、テキスト ブロック、表、リストなどのコンテンツ要素や、タイトルや見出しなどの構造要素を識別できます。これらの要素は、リッチ コンテンツと構造要素を含むドキュメントの構成と階層を定義するのに役立ちます。これらの要素は、情報検索と検出のコンテキストをより多く作成できます。 
- ドキュメントをチャンクします。レイアウト パーサーは、元のドキュメントのレイアウト階層に関するコンテキスト情報を保持するチャンクにドキュメントを分割できます。回答生成 LLM は、チャンクを使用して関連性を高め、計算負荷を軽減できます。 - チャンク化の際にドキュメントのレイアウトを考慮すると、セマンティックな一貫性が向上し、検索や LLM 生成に使用される際のコンテンツのノイズが軽減されます。チャンク内のすべてのテキストは、見出し、小見出し、リストなどの同じレイアウト エンティティから取得されます。 
制限事項
次の制限が適用されます。
- オンライン処理:
- すべてのファイル形式で入力ファイルの最大サイズは 20 MB
- PDF ファイルあたりの最大ページ数: 15 ページ
 
- バッチ処理:
- PDF ファイルの最大ファイルサイズは 1 GB
- PDF ファイルあたりの最大ページ数: 500
 
ファイルタイプごとのレイアウト検出
次の表に、ドキュメントのファイル形式別に Layout Parser が検出できる要素を示します。
| ファイル形式 | MIME タイプ | 検出された要素 | 制限事項 | 
|---|---|---|---|
| HTML | text/html | 段落、表、リスト、タイトル、見出し、ページ ヘッダー、ページ フッター | 解析は HTML タグに大きく依存するため、CSS ベースの書式設定はキャプチャされない可能性があります。 | 
| application/pdf | 段落、表、タイトル、見出し、ページ ヘッダー、ページ フッター | 複数ページにまたがる表は、2 つの表に分割されることがあります。 | |
| DOCX(プレビュー) | application/vnd.openxmlformats-officedocument.wordprocessingml.document | 段落、複数ページにわたる表、リスト、タイトル、見出しの要素 | ネストされたテーブルはサポートされていません。 | 
| PPTX(プレビュー) | application/vnd.openxmlformats-officedocument.presentationml.presentation | 段落、表、リスト、タイトル、見出しの要素 | 見出しを正確に識別するには、PowerPoint ファイル内で見出しとしてマークする必要があります。ネストされた表と非表示のスライドはサポートされていません。 | 
| XLSX(プレビュー) | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Excel スプレッドシート内のテーブル。 INT、FLOAT、STRINGの値をサポート | 複数のテーブルの検出はサポートされていません。非表示のシート、行、列も検出に影響する可能性があります。 | 
| XLSM(プレビュー) | application/vnd.ms-excel.sheet.macroenabled.12 | マクロが有効なスプレッドシート。 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 Content- Document.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 を使用して、テキストを検出して抽出します。
- レスポンスの処理方法については、バッチ処理ドキュメント リクエストを送信するをご覧ください。