Markerを使ってPDFをLLM対応データのMarkdownに変換する

複雑なPDFファイルを簡単にLLM対応のMarkdownファイルに変換できます。オープンソースツールのMarkerを使えば、Nougatなどの他のオプションと比べて、PDF to Markdown変換の精度と速度を向上させることができます。この効率的なワークフローを使えば、言語モデル向けのデータセットを最適化できます。

2025年2月24日

party-gif

PDFドキュメントの力を言語モデルのために解き放つ。Markerは、複雑なPDFを簡単に整形されたMarkdownファイルに変換する、オープンソースのツールです。ソースデータの形式に関わらず、データ準備プロセスを効率化し、言語モデルの可能性を最大限に引き出します。

PDFを扱う際の課題

PDFを大規模言語モデル(LLM)アプリケーションで使用するのは非常に困難な場合があります。PDFは本質的に「壊れた」フォーマットであり、さまざまなデータ型の入れ子構造を持っていることが多く、レイアウトが標準化されていないため、データを抽出するのが面倒です。

主な課題には以下のようなものがあります:

  • 複雑な構造: PDFには、テキスト、表、画像、方程式など、さまざまなデータ型の入れ子構造があるため、関連情報を解析し抽出するのが難しい。

  • 標準化の欠如: PDFのレイアウトは標準化されていないため、データの構造が様々で、一律のソリューションを開発するのが難しい。

  • エンコーディングと書式の問題: PDFには、さまざまなエンコーディングや書式(フォントやレイアウトなど)が使用されており、データ抽出をさらに複雑にしている。

  • 表と画像: PDFの表や画像からデータを抽出するのは特に難しい。これらの要素のレイアウトや書式は大きく異なるため。

  • エラーと不正確さ: PDFからデータを抽出するプロセスはエラーや不正確さが生じやすく、LLMアプリケーションのパフォーマンスに悪影響を及ぼす。

PDFをLLM向けにするために、PDFをプレーンテキストに変換したり、レイアウトを検出するためにマシンラーニングモデルを使ったり、光学文字認識(OCR)技術を使ったりといった様々なアプローチが試されています。しかし、これらの方法は面倒で、まだエラーが生じやすい。

これに対し、軽量マークアップ言語のMarkdownを使うと、LLMアプリケーションにとってはるかに簡単に扱えます。Markdownは、タイトル、ヘッダー、画像、表、方程式などの元のフォーマットを保持しているため、LLMによって効果的に処理できます。

LLMにおけるMarkdownの利点

Markdownは、大規模言語モデル(LLM)を使う際に以下のような利点があります:

  1. 構造化されたデータ: Markdownは、タイトル、ヘッダー、画像、表、方程式などの元のフォーマットを保持しています。この構造化されたデータをLLMが効果的に処理できるため、コンテンツの文脈と関係性を理解できます。

  2. 変換の容易さ: PDFファイルをプレーンテキストに変換するのは、PDFの複雑な構造とフォーマットのため面倒な作業です。一方、Markdownはプレーンテキストに簡単に変換できるため、LLMに適したフォーマットです。

  3. 一貫性: Markdownは、テキストの書式設定に一貫性と標準化を提供します。これは、大規模なデータセットや複数のドキュメントを扱う際に特に有用です。この一貫性によって、LLMアプリケーションのパフォーマンスと信頼性が向上します。

  4. 可読性: Markdownの簡単な構文と整ったフォーマットにより、テキストがより読みやすく、人間とマシンの両方にとってアクセスしやすくなります。これにより、LLMによるコンテンツの理解と解釈が促進されます。

  5. ポータビリティ: Markdownファイルは軽量で、簡単に共有、保存、バージョン管理ができるため、LLMアプリケーションのデータポータビリティと共同作業に適しています。

  6. 柔軟性: Markdownは、さまざまなツールやワークフローと簡単に統合できるため、LLMパイプラインやその他のデータ処理タスクとの連携が容易です。

Markdownの利点を活用することで、LLMアプリケーションの品質とパフォーマンスを向上させることができます。データ準備と管理に最適な選択肢といえます。

オープンソースツール「Marker」によるPDFからMarkdownへの変換

Markerは、複雑なPDFファイルを迅速かつ正確にMarkdownに変換できるオープンソースツールです。これは、Markdownがクリーンで処理しやすいフォーマットであるのに対し、PDFには多くの課題があるため、特にLLM(大規模言語モデル)を使う際に有用です。

Markerは、書籍、科学論文、履歴書など、さまざまなドキュメントタイプをサポートしています。PDFの複雑な構造に最適化されており、ヘッダー、フッター、その他の要素を除去して、コアコンテンツを抽出します。さらに、Markerは表、コードブロック、方程式(ほとんどをLaTeXに変換)を書式設定し、元のドキュメントに含まれる画像も保存します。

Markerの主な利点の1つは、パフォーマンスの良さです。他のオープンソースツールであるNougatと比較すると、Markerは大幅に高速で、1ページのテキストを処理するのに約100秒かかるのに対し、Nougatは400秒かかります。Markerはまた、元のドキュメントの構造とレイアウトをより効果的に保持する高い精度も示しています。

Markerには完璧ではない面もありますが、複雑な方程式や表の書式設定に一部限界がある一方で、PDFをMarkdownに変換する堅牢で信頼性の高いソリューションを提供します。このツールはオープンソースで利用可能で、組織の収益や資金が一定の水準を超える場合の商用利用に制限があります。

Markerの使用を始めるには、Conda環境の設定とPyTorchのインストールなどの手順に従ってください。インストールが完了すると、単一のPDFファイルや複数ファイルのバッチ変換に使用できる各種コマンドが利用できます。Markerが、レイアウト分析、テキスト抽出、Markdown書式設定を処理するため、LLMを扱い、大量のPDFデータを処理する必要がある人にとって非常に有用なツールです。

Markerと他のPDF-to-Markdownツールの比較

Markerは、他のPDF-to-Markdown変換ツールに比べて多くの利点を提供するオープンソースツールです。特に、もう1つの人気のあるオープンソースオプションであるNugetと比較すると、Markerは非常に高速で、1ページのテキストを処理するのに約100秒かかるのに対し、Nugetは400秒かかります。さらに、Markerの精度はNugetの約2倍です。

著者は、「Think Python」という書籍を使って具体的な例を示しています。Nugetは最初のページや目次を完全に無視したのに対し、Markerは本の全体的な構造、つまり最初のページ、目次、そして第1章を完全に保持することができました。

Markerは、書籍や科学論文など、さまざまなタイプのドキュメントをサポートし、複数の言語にも対応しています。ヘッダー、フッター、その他の要素を削除し、表やコードブロックを正確に書式設定します。Markerはまた、画像を抽出して保存し、ほとんどの方程式をLaTeX形式に変換することもできます。

ただし、Markerにも限界があります。方程式の100%をLaTeXに変換できないこと、表の書式設定が完璧ではないこと、空白やラインスパンが常に適切に保持されないことなどがあります。これらの限界はありますが、MarkerはほとんどのPDFファイルで良好に機能し、PDF文書を構造化されたMarkdownに変換するための価値のあるオープンソースツールです。

Markerのインストールと使用方法

Markerツールをインストールして使用するには、以下の手順に従ってください:

  1. 新しいCondaの環境を作成し、markerと名付けます:

    conda create -n marker python=3.9
    conda activate marker
    
  2. Markerに必要なPyTorchをインストールします:

    # Mac の場合
    pip install torch torchvision torchaudio
    
    # Linux の場合
    # PyTorchのウェブサイトから適切なコマンドを使用してください
    
    # Windows の場合
    # PyTorchのウェブサイトから適切なコマンドを使用してください
    
  3. pip を使ってMarkerパッケージをインストールします:

    pip install marker-pdf
    
  4. 単一のPDFファイルをMarkdownに変換するには、以下のコマンドを使用します:

    marker-single <path_to_pdf_file> <output_directory>
    

    バッチ倍率や文書の言語などのオプションパラメーターを指定することもできます。

  5. 複数のPDFファイルをMarkdownに変換するには、以下のコマンドを使用します:

    marker-multi <directory_with_pdf_files> <output_directory>
    

Markerツールは、まず必要なOCRモデルをダウンロードし、その後PDFファイルを処理して、テキスト、画像、表、方程式(可能な場合)を含む抽出したコンテンツのMarkdownファイルを生成します。出力は指定された出力ディレクトリに保存されます。

Markerには一部の制限事項があり、表の書式設定が完璧ではない、方程式の100%をLaTeXに変換できないなどの問題があります。しかし、PDFファイルを構造化されたMarkdownに迅速かつ正確に変換できるため、LLMアプリケーションでPDFデータを扱う際に非常に有用なツールです。

Markerの機能と制限

Markerは、複雑なPDFファイルを効果的に構造化されたMarkdown形式に変換できるオープンソースツールです。その主な機能には以下のようなものがあります:

  • 書籍、科学論文、履歴書など、さまざまなタイプのドキュメントをサポート。
  • PDFからコンテンツを抽出するために最適化されており、ヘッダー、フッター、その他の要素を除去。
  • 表とコードブロックを書式設定し、画像を抽出・保存、ほとんどの方程式をLaTeXに変換。
  • GPU、CPU、Apple's MPSで動作し、オプションでOCRをサポート。

ただし、Markerにも以下のような制限事項があります:

  • 方程式の100%をLaTeXに変換できるわけではない。
  • 表の書式設定が完璧ではなく、一部の行間隔やスパンが適切に結合されない可能性がある。
  • 一定の収益や資金を超える商用プロジェクトには使用制限がある。

これらの制限にもかかわらず、Markerは言語モデルやその他のアプリケーションでPDFデータを扱う際の課題を大幅に簡素化できる強力なツールです。オープンソースであり、優れたパフォーマンスを持つことから、PDF-to-Markdown変換ワークフローを合理化したい人にとって非常に価値のあるリソースといえます。

結論

LLMアプリケーションの成功には、良質なデータの確保が不可欠です。PDFファイルはテキストデータの一般的な保存形式ですが、その複雑な構造と標準化の欠如により、扱うのが極めて困難です。

オープンソースツールのMarkerは、この問題に対する解決策を提供します。PDFファイルを効率的に構造化されたMarkdown形式に変換することができます。Nugetなどの他のツールと比較して、Markerはより高速で、ヘッダー、表、画像、方程式などの元のドキュメント構造をより正確に保持しています。

このツールは、書籍、科学論文、履歴書など、さまざまなタイプのドキュメントをサポートしています。ヘッダー、フッター、その他の要素を除去し、表とコードブロックを適切に書式設定します。方程式や表の書式設定が100%完璧ではありませんが、Markerは LLMアプリケーションでPDFデータを準備する過程を大幅に簡素化できる非常に有用なツールです。

総じて、Markerは、PDFデータの課題を克服し、LLMアプリケーションで使用するデータの質を向上させるための強力なオープンソースソリューションです。

FAQ