Unstructured-IO/unstructured

PDF、Word、メール、スキャン画像など60以上のファイル形式を構造化データに変換するPythonライブラリです。

開発の材料自由に使える · Apache-2.0データ・クローリングHTML難易度
15,5330 保存
1,350フォーク186Issue
デモ・公式サイトをひらくunstructured.io

中辛 の解説

unstructuredはPDF、Word、HTML、メール、スキャン画像など60以上の形式から非構造化データを解析し、構造化データに変換するPythonライブラリです。ファイルを渡すと、partition()関数が形式を自動判定して適切な解析器にルーティングし、テキスト要素・レイアウト情報などを抽出できます。docker pullでイメージを取得してコンテナで即実行するか、pip installで個別形式ごとの依存関係を指定してインストール可能です。背景にはpoppler・tesseract・libreofficeなどのシステムライブラリがあり、これらの有無でサポートする形式が変わります。LLM向けのパイプライン構築やベクトルデータベース連携を想定した設計になっており、エンタープライズ向けのUnstructured Pipelinesサービスも提供されています。

こんなリポジトリです

こんなときに便利です

  • 大量のPDF・Word文書をテキストと表組み情報に変換し、ベクトルデータベースに登録する前処理
  • スキャン済み帳票や契約書の画像をテキスト化して、LLMに入力可能な構造化形式に変換
  • メールやHTML、複数形式が混在したドキュメントセットから統一した形式で要素を抽出し、下流の自動分類やサマリー生成に活用

主な機能

60以上のファイル形式を自動判定して解析する`partition`関数PDFやスキャン画像からのテキスト・レイアウト抽出(OCR対応)チャンキング・埋め込み・テーブル認識などのLLMパイプライン向け拡張機能

ほかとの違い

単なるテキスト抽出にとどまらず、ドキュメント内のレイアウト構造や表の形式まで保持した上で、LLMモデルの入力に最適な段階的前処理を提供します。

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

準備するもの

  • Python 3.x
  • システムライブラリ(libmagic、poppler、tesseract、libreoffice等)、または Docker

すぐに始める

  1. Dockerイメージを取得して、コンテナ内で対話型Pythonを実行する場合:
docker pull downloads.unstructured.io/unstructured-io/unstructured:latest
  1. コンテナを作成して起動します:
docker run -dt --name unstructured downloads.unstructured.io/unstructured-io/unstructured:latest
docker exec -it unstructured bash
  1. Pythonインタプリタで対話モード開始:
python3
  1. PDFまたはテキストを解析:
>>> from unstructured.partition.pdf import partition_pdf
>>> elements = partition_pdf(filename="example-docs/layout-parser-paper-fast.pdf")

代替案:PyPIからインストールして使用する場合

  1. すべてのドキュメント形式をサポートする依存関係をインストール:
pip install "unstructured[all-docs]"
  1. システムライブラリをインストール(macOS / Linux):
brew install libmagic poppler tesseract libreoffice
  1. Pythonコードで実行:
python3 -c "from unstructured.partition.auto import partition; elements = partition(filename='example-docs/eml/fake-email.eml'); print('\\n\\n'.join([str(el) for el in elements]))"

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try Unstructured-IO/unstructured

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

スター推移 · 7日

15,5337日間の増加数を計算するための比較データが不足しています

確認日時

使いやすさ · まねしやすいか

サンプル評点 34/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2022 年に作成

「データ・クローリング」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/Unstructured-IO/unstructured.svg)](https://www.gitbap.com/r/Unstructured-IO/unstructured)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る