README_ja-JP.md 11 KB

[![stars](https://img.shields.io/github/stars/opendatalab/MinerU.svg)](https://github.com/opendatalab/MinerU) [![forks](https://img.shields.io/github/forks/opendatalab/MinerU.svg)](https://github.com/opendatalab/MinerU) [![open issues](https://img.shields.io/github/issues-raw/opendatalab/MinerU)](https://github.com/opendatalab/MinerU/issues) [![issue resolution](https://img.shields.io/github/issues-closed-raw/opendatalab/MinerU)](https://github.com/opendatalab/MinerU/issues) [![PyPI version](https://badge.fury.io/py/magic-pdf.svg)](https://badge.fury.io/py/magic-pdf) [![Downloads](https://static.pepy.tech/badge/magic-pdf)](https://pepy.tech/project/magic-pdf) [![Downloads](https://static.pepy.tech/badge/magic-pdf/month)](https://pepy.tech/project/magic-pdf) [English](README.md) | [简体中文](README_zh-CN.md) | [日本語](README_ja-JP.md)

MinerU

紹介

MinerUは、ワンストップのオープンソースで高品質なデータ抽出ツールであり、以下の主要な機能を含みます:

  • Magic-PDF PDFドキュメント抽出
  • Magic-Doc ウェブページと電子書籍の抽出

Magic-PDF

紹介

Magic-PDFは、PDFドキュメントをMarkdown形式に変換するためのツールであり、ローカルに保存されたファイルやS3プロトコルをサポートするオブジェクトストレージ上のファイルを処理することができます。

主な機能は以下の通りです:

  • 複数のフロントエンドモデル入力をサポート
  • ヘッダー、フッター、脚注、ページ番号の削除
  • 人間が読みやすいレイアウトフォーマット
  • 見出し、段落、リストなど、元のドキュメントの構造とフォーマットを保持
  • 画像や表を抽出してmarkdown内に表示
  • 数式をLaTeX形式に変換
  • 文字化けしたPDFの自動検出と変換
  • CPUおよびGPU環境に対応
  • Windows、Linux、macOSプラットフォームに対応

https://github.com/user-attachments/assets/4bea02c9-6d54-4cd6-97ed-dff14340982c

プロジェクト全景

プロジェクト全景

フローチャート

フローチャート

依存リポジトリ

入門ガイド

要件

  • Python >= 3.9

依存関係の競合を避けるために、仮想環境の使用をお勧めします。venvとcondaの両方が適しています。 例:

conda create -n MinerU python=3.10
conda activate MinerU

インストールと設定

1. Magic-PDFのインストール

pipを使用してフル機能パッケージをインストールします:

注意:pipでインストールされたパッケージはCPUのみをサポートし、クイックテストに最適です。

CUDA/MPSによる加速については、CUDAまたはMPSによる加速を参照してください。

pip install magic-pdf[full-cpu]

フル機能パッケージはdetectron2に依存しており、コンパイルインストールが必要です。
自分でコンパイルする必要がある場合は、https://github.com/facebookresearch/detectron2/issues/5114 を参照してください。
または、私たちの事前コンパイルされたwhlパッケージを直接使用できます(Python 3.10に限定):

pip install detectron2 --extra-index-url https://myhloli.github.io/wheels/

2. モデルの重みファイルのダウンロード

詳細については、how_to_download_modelsを参照してください。

モデルの重みをダウンロードした後、'models'ディレクトリを大きなディスクスペースのあるディレクトリに移動します。できればSSDに移動してください。

3. 設定ファイルのコピーと設定

リポジトリのルートディレクトリにmagic-pdf.template.jsonファイルがあります。

cp magic-pdf.template.json ~/magic-pdf.json

magic-pdf.jsonで、"models-dir"をモデルの重みファイルがあるディレクトリに設定します。

{
  "models-dir": "/tmp/models"
}

4. CUDAまたはMPSによる加速

利用可能なNvidia GPUを持っている場合や、Apple Siliconを搭載したMacを使用している場合は、それぞれCUDAまたはMPSによる加速を利用できます。

CUDA

CUDAバージョンに応じたPyTorchバージョンをインストールする必要があります。
この例では、CUDA 11.8バージョンをインストールします。詳細はhttps://pytorch.org/get-started/locally/ を参照してください。

pip install --force-reinstall torch==2.3.1 torchvision==0.18.1 --index-url https://download.pytorch.org/whl/cu118

また、設定ファイルmagic-pdf.jsonの"device-mode"の値を変更する必要があります。

{
  "device-mode":"cuda"
}
MPS

Mシリーズチップデバイスを搭載したmacOSユーザーは、推論加速のためにMPSを使用できます。
設定ファイルmagic-pdf.jsonの"device-mode"の値を変更する必要があります。

{
  "device-mode":"mps"
}

使用方法

1. コマンドラインでの使用

シンプル
magic-pdf pdf-command --pdf "pdf_path" --inside_model true

プログラムが終了した後、"/tmp/magic-pdf"ディレクトリに生成されたmarkdownファイルが見つかります。
markdownディレクトリには対応するxxx_model.jsonファイルがあります。
ポストプロセッシングパイプラインの二次開発を行う場合は、次のコマンドを使用できます:

magic-pdf pdf-command --pdf "pdf_path" --model "model_json_path"

この方法では、モデルデータを再実行する必要がなくなり、デバッグが便利になります。

詳細
magic-pdf --help

2. APIを使用した利用

ローカル
image_writer = DiskReaderWriter(local_image_dir)
image_dir = str(os.path.basename(local_image_dir))
jso_useful_key = {"_pdf_type": "", "model_list": []}
pipe = UNIPipe(pdf_bytes, jso_useful_key, image_writer)
pipe.pipe_classify()
pipe.pipe_parse()
md_content = pipe.pipe_mk_markdown(image_dir, drop_mode="none")
オブジェクトストレージ
s3pdf_cli = S3ReaderWriter(pdf_ak, pdf_sk, pdf_endpoint)
image_dir = "s3://img_bucket/"
s3image_cli = S3ReaderWriter(img_ak, img_sk, img_endpoint, parent_path=image_dir)
pdf_bytes = s3pdf_cli.read(s3_pdf_path, mode=s3pdf_cli.MODE_BIN)
jso_useful_key = {"_pdf_type": "", "model_list": []}
pipe = UNIPipe(pdf_bytes, jso_useful_key, s3image_cli)
pipe.pipe_classify()
pipe.pipe_parse()
md_content = pipe.pipe_mk_markdown(image_dir, drop_mode="none")

デモはdemo.pyを参照してください

Magic-Doc

紹介

Magic-Docは、ウェブページや多形式の電子書籍をmarkdown形式に変換するためのツールです。

主な機能は以下の通りです:

  • ウェブページ抽出

    • テキスト、画像、表、数式情報のクロスモーダルな正確な解析。
  • 電子書籍ドキュメント抽出

    • epub、mobiなどのさまざまなドキュメント形式をサポートし、テキストと画像に完全対応。
  • 言語タイプの識別

    • 176の言語を正確に認識。

https://github.com/opendatalab/MinerU/assets/11393164/a5a650e9-f4c0-463e-acc3-960967f1a1ca

https://github.com/opendatalab/MinerU/assets/11393164/0f4a6fe9-6cca-4113-9fdc-a537749d764d

https://github.com/opendatalab/MinerU/assets/11393164/20438a02-ce6c-4af8-9dde-d722a4e825b2

プロジェクトリポジトリ

  • Magic-Doc 優れたウェブページと電子書籍の抽出ツール

貢献者の皆様に感謝

ライセンス情報

LICENSE.md

このプロジェクトは現在、PyMuPDFを利用して高度な機能を提供していますが、AGPLライセンスに準拠しているため、特定の使用ケースに制限を課す可能性があります。今後のバージョンでは、より寛容なライセンスのPDF処理ライブラリへの移行を検討し、ユーザーフレンドリーさと柔軟性を向上させる予定です。

謝辞

引用

@misc{2024mineru,
    title={MinerU: A One-stop, Open-source, High-quality Data Extraction Tool},
    author={MinerU Contributors},
    howpublished = {\url{https://github.com/opendatalab/MinerU}},
    year={2024}
}

スター履歴

Star History Chart

リンク