0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIに渡す前にPDFやDOCXをMarkdownへ変換するときの実践チェックリスト

0
Posted at

PDFやOffice文書の内容をLLMのプロンプト、ドキュメント、ノート、RAGの入力へ移すとき、単純なコピー&ペーストでは見出し、箇条書き、表、読み順が崩れることがあります。

Markdownを中間形式にすると、人が読める状態を保ちながら、後続処理で扱いやすい構造を残せます。ただし、変換結果が生成されたことと、内容が正しいことは別です。ここでは、文書をMarkdownへ変換したあとに確認したい項目を整理します。

1. まず入力文書の種類を確認する

同じ拡張子でも、内部構造は異なります。

  • PDF: テキストを持つPDFか、画像だけのスキャンPDFか
  • DOCX: 見出しスタイルが使われているか、見た目だけを整えているか
  • PPTX: テキストボックスの読み順が自然か
  • XLSX: 結合セル、複数シート、数式表示をどう扱うか
  • HTML: ナビゲーションや広告など、本文以外を含んでいないか

特にスキャンPDFはOCRが必要です。テキストPDFと同じ処理経路で扱うと、空の出力や文字化けを「変換成功」と誤認しやすくなります。

2. Markdownの構造を目視で確認する

最低限、次の点を原文と見比べます。

  1. 見出し階層が飛んでいないか
  2. 箇条書きの親子関係が保たれているか
  3. 表の列数と行数が原文と一致するか
  4. 段組みPDFの読み順が混ざっていないか
  5. ヘッダー、フッター、ページ番号が本文へ入り込んでいないか
  6. リンク先とリンクテキストが正しいか

Markdownはレイアウトの完全再現ではなく、意味のある構造を取り出すための形式です。見た目が原文と違っていても、見出しや表の意味が保たれていれば、後続のAI処理には使いやすくなります。

3. 機械的な異常チェックを追加する

大量の文書を扱う場合は、目視確認の前に軽い検査を入れると効率的です。例えばTypeScriptなら、空出力、置換文字、極端に短い結果などを検出できます。

type ReviewIssue = {
  code: string;
  message: string;
};

export function reviewMarkdown(markdown: string): ReviewIssue[] {
  const issues: ReviewIssue[] = [];
  const text = markdown.trim();

  if (!text) {
    issues.push({ code: "empty", message: "Markdown output is empty" });
  }

  if (text.includes("")) {
    issues.push({ code: "replacement-char", message: "Possible encoding problem" });
  }

  if (text.length > 0 && text.length < 100) {
    issues.push({ code: "too-short", message: "Output may be incomplete" });
  }

  const headingCount = (text.match(/^#{1,6}\s+/gm) ?? []).length;
  if (text.length > 2000 && headingCount === 0) {
    issues.push({ code: "no-headings", message: "Long output has no headings" });
  }

  return issues;
}

これは内容の正しさを保証するものではありません。異常の可能性が高いファイルを先に見つけるための入口です。

4. AIへ渡す前に分割単位を決める

RAGや長いプロンプトで利用する場合、文字数だけで機械的に分割すると、見出しと本文、表の途中、手順の途中が切れることがあります。

おすすめの順序は次の通りです。

  1. 見出し単位で分ける
  2. 大きすぎる節だけ段落単位で追加分割する
  3. 各チャンクへ文書名と見出しパスを付ける
  4. 表は可能なら一つのまとまりとして残す
  5. 元ページや元ファイルへ戻れる識別子を保存する

この形にすると、検索結果の根拠を確認しやすくなります。

5. ローカル処理とアップロード処理を分けて考える

機密文書を扱う場合は、「ブラウザ内で処理されるのか」「サーバーへアップロードされるのか」を明確に分ける必要があります。

例えばMarkItDown AIのBrowser Basicは、対応するPDF、DOCX、PPTX、XLSX、HTML、CSV、JSON、XMLをブラウザ内で処理します。画像だけのPDFや複雑な文書は別のEnhanced経路となり、サインインと明示的なアップロード同意が必要です。

ツールを選ぶときは、対応形式だけでなく、処理場所、アップロード境界、保存方針も確認するのが安全です。

まとめ

文書からMarkdownを生成するだけでは、AIへ渡せる品質になったとは限りません。

  • 入力文書の種類を確認する
  • 原文と構造を見比べる
  • 軽い機械チェックで異常を絞り込む
  • 見出しを意識して分割する
  • ローカル処理とアップロード処理の境界を確認する

この確認を一段入れるだけで、プロンプト、ドキュメント、ノート、RAGで利用するときの追跡性とレビュー性を高められます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?