ブログ一覧に戻る

PDFをMarkdownに変換してRAGへ

SimplifyAI Team

RAGや社内ナレッジベースを構築する際、PDFは最初に処理する資料になりがちです。契約書、マニュアル、ホワイトペーパー、社内規程など、多くの情報がPDFに蓄積されています。プレーンテキストとして抽出するだけなら速く済みますが、分割後の検索品質は上がりにくいことがあります。見出しの境界が失われ、表は文字列の連続になり、画像と本文の対応も切れてしまうためです。

そのため、多くの人が探しているのは単なる「PDFをMarkdownに変換」する方法ではありません。分割、ベクトル化、質問応答の処理に使える出力を得られるか、という点が重要です。構造を失ったテキストの塊をもう一度作ることが目的ではありません。

RAGでプレーンテキストだけでは不十分な理由

RAGの品質は、テキスト分割に意味的な境界があるかどうかに大きく左右されます。

  • 見出し階層がなければ、モデルはどの段落がどの章に属するのかを判断しにくくなります。
  • 表が平坦な文字列になると、行と列の対応関係が失われ、数値に関する質問への回答で誤りが起きやすくなります。
  • 画像が単独のファイルとして残るだけでは、本文中の「図3を参照」といった記述の参照先が分からなくなります。
  • ヘッダー、フッター、ページ番号が繰り返し含まれると、要約、検索ヒット、モデルの回答にノイズが混ざります。

Markdownが中間形式としてよく使われるのは、見た目が整うからではありません。見出し、リスト、表、画像参照を軽量な記法で表現でき、後続の分割やデータベース登録に扱いやすいためです。

RAG向けのPDF → Markdownで最低限保持したいもの

ナレッジベースに適したMarkdownには、通常、次のような構造シグナルが必要です。

  1. 見出し階層
    # / ## のような階層は章の境界を示し、多くの分割方法でどこを区切るかの基準になります。
  2. リスト
    手順、条項、箇条書きが通常の段落に変わると、「並列する項目の集合」であるという情報が検索時に失われます。

  3. 標準的なMarkdown表では行と列の関係を保持でき、後続の質問応答でもデータを参照しやすくなります。
  4. 画像参照
    本文内の画像位置は相対パスの参照として残し、画像ファイルとまとめて出力されることが望まれます。空のリンクだけが残る状態は避ける必要があります。
  5. クリーンな本文
    ページをまたいで繰り返されるヘッダー、フッター、ページ番号は、できるだけコーパスに含めないようにします。一方、原文ページを確認する必要がある場合は、元ページマーカーを残せると便利です。

SimplifyAIのPDFからMarkdownへの変換は、このような構造化抽出を想定しています。見出し、リスト、表、画像リソースをできる限り保持し、ヘッダー・フッターの整理にも対応します。また、日本語を含む文章の改行は読み方に合わせて結合し、単語や文が行の途中で不自然に分断されるノイズを減らします。

元ページマーカーとヘッダー・フッター:出典追跡か、クリーンなコーパスか

ナレッジベースを運用するチームは、しばしば次の2つの目的の間で選択します。

  • 原文のページを追跡したい場合:元ページマーカーを残せば、分割したコンテンツがヒットした後に該当するPDFページへ戻れます。
  • よりクリーンな学習・検索コーパスが必要な場合:ページ番号の注記を除去し、ページごとに繰り返されるヘッダー・フッターも整理します。

SimplifyAIのPDF「Markdown抽出」設定では、それぞれを選択できます。

  • 元ページマーカーを保持(初期設定で有効):Markdown内に元のPDFページ番号の注記を残し、出典確認に役立てられます。
  • ヘッダー・フッターを保持(初期設定で無効):通常はページをまたぐ繰り返し要素をできるだけ除去します。原本との照合が必要な場合にのみ有効にしてください。

これらの設定は構造化抽出そのものを変更するものではありませんが、コーパスのクリーンさと出典の追跡しやすさに直接影響します。まずは初期設定でサンプルを1件処理し、ナレッジベースの運用ルールに合わせて調整することをおすすめします。

実務フロー:PDFから登録可能なMarkdownへ

  1. PDFをアップロードし、「Markdown抽出」を選択します。
  2. ナレッジベースの要件に応じて、元ページマーカーとヘッダー・フッターのオプションを設定します。
  3. プレビューで見出し階層、表、画像参照が完全に出力されているか確認します。
  4. .mdをダウンロードするか、images/を含むZIPをダウンロードして、分割・ベクトル化の処理へ渡します。

ここでの成果物は、見た目のレイアウトを再現するためのものではなく、意味の構造を扱うためのものです。つまり、PDFの二段組レイアウトをそのまま複製するのではなく、モデルが章、リスト、表を読み取れるようにすることが目的です。

現在の対象範囲:事前に確認したい点

適しているケース:

  • テキストレイヤーが明確な単段組のPDF
  • 見出し、リスト、表をRAGやナレッジベースに取り込みたい場合
  • 画像と本文内での配置をまとめて扱いたい場合

人による確認が必要なケース:

  • 多段組レイアウトの読み順
  • 複雑な数式の意味的な再現
  • スキャンPDF(現時点ではOCR結果を標準機能として保証するものではありません)
  • 座標配置に大きく依存する、非常に不規則な表

構造化した内容を最終的に編集可能なWordへ戻す必要がある場合は、PDFをWordに変換するとレイアウトが崩れる理由をご覧ください。元データがすでにWordの場合は、DOCXをMarkdownに変換する際に表構造と見出し階層を保持する方法も参考になります。

次のステップ

実際にナレッジベースへ登録するPDFを1つ選び、SimplifyAIでMarkdownへ変換してみてください。確認するポイントは3つです。見出しが分割の基準として使えるか、表を行・列として読めるか、画像が本文の該当位置に残っているか。この3点を確認することが、PDFと見た目が同一かどうかにこだわるよりも、RAGの実用的な目的に近づく方法です。

関連記事

PDF Markdown変換RAG向けPDF変換PDF構造化抽出PDF表の変換ナレッジベース構築

関連記事 / 関連記事

ドキュメントを自動化する準備はできていますか?

InDesign、Word、PDFをアップロードして、レイアウトを保持した自動翻訳と構造化抽出をお試しください。

SimplifyAIを無料で試す