kotaro-kinoshita/yomitoku
YomiTokuはAIを活用した日本語文書解析エンジンを提供するPythonパッケージです。 Yomitoku is an AI-powered document image analysis package designed specifically for the Japanese language.
YomiToku – 日本語特化のドキュメント AI
YomiToku は、日本語(および英語)の文書画像に対して、OCR、レイアウト解析、テーブル構造解析、読み順推定を実行するオープンソースの Python ライブラリです。4 つの目的別トレーニング済みモデル(テキスト検出、テキスト認識、レイアウト、テーブルセマンティクス)を同梱し、GPU または CPU で動作し、より高速な推論のための軽量“lite”モードも備えています。
機能
- 全文 OCR – 7,000 以上の日本語文字を認識し、手書き、縦書き、混在言語テキストに対応。
- レイアウト解析 – 段落、図、表、読み順を識別し、文書の視覚的構造を保持。
- テーブル意味解析 – 表をキー値ペアまたはグリッドデータとして抽出し、セル ID と座標を含む構造化 JSON を出力。
- 抽出器 – ユーザー提供のスキーマに従って、フォームからフィールドをルールベースまたは LLM 拡張で YAML/JSON に抽出。
- 複数のエクスポート形式 – Markdown、HTML、JSON、CSV、検索可能な PDF、およびオプションの図/画像エクスポート。
主な特徴
| 特徴 | 詳細 |
|---|---|
| 日本語中心のモデル | 日本語文書データセットで学習;縦書きや手書き文字に対応。 |
| GPU 加速、低 VRAM | 8 GB 以下の VRAM で動作;軽量モデル(--lite)は CPU でも快適に動作。 |
| Web 演示 | 通过 WebAssembly/WebGPU 进行纯浏览器推理(无需上传图像)。 |
| CLI 和 Python API | yomitoku 用于批量处理,yomitoku_table 用于表格解析,yomitoku_extract/yomitoku_extract_with_llm 用于结构化提取。 |
| 可扩展提取 | 基于规则(快速,无需 LLM)和基于 LLM(通过 vLLM,例如 Qwen-3-8B-Instruct)模式。 |
| 商业许可 | 在 CC BY-NC-SA 4.0 下非商业用途免费;企业功能提供付费本地或 AWS Marketplace 许可。 |
安装
pip install yomitoku # 核心 OCR 和版面
# 提取功能的可选扩展
pip install "yomitoku[extract]"
需要 Python 3.10-3.13、PyTorch ≥2.5 和 CUDA ≥11.8 以支持 GPU 加速。为没有兼容 CUDA 的环境提供了 Dockerfile。
快速开始(CLI)
# 完整 OCR + 版面,输出带图形的 Markdown
yomitoku path/to/image_or_dir -f md -o out_dir -v --figure
# 更快的纯 CPU 模式
yomitoku path/to/image -f json --lite -d cpu -o out_dir
快速开始(Python API)
import cv2
from yomitoku import DocumentAnalyzer
# 可选的轻量配置
configs = {
"ocr": {
"text_recognizer": {
"model_name": "parseq-tiny-dynw-v4",
"dynamic_width": True,
"batch_bucketing": True,
"device": "cpu",
},
"text_detector": {"device": "cpu", "infer_onnx": True},
}
}
analyzer = DocumentAnalyzer(configs=configs, device="cpu")
img = cv2.imread("sample.jpg")
results, ocr_vis, layout_vis = analyzer(img)
results.to_json("output.json")
表格语义解析器(CLI)
yomitoku_table docs/ -o tables_out -v # 提取键值对和网格 JSON
选项: --simple(仅文本)、--raw(完整模式)、--lite、--grid_only、--kv_only 等。
提取器(CLI)
# 基于规则的提取
yomitoku_extract invoice.jpg -s schema.yaml -o out_dir -v
# 基于 LLM 的提取(需要运行 vLLM 服务器)
yomitoku_extract_with_llm receipt.jpg -s schema.yaml -m Qwen/Qwen3-8B-Instruct
文档与演示
- 在线文档:https://kotaro-kinoshita.github.io/yomitoku/
- 浏览器演示(无需安装):https://yomitoku-studio.mlism.com
- OCR/版面结果画廊:仓库中的
gallery.md和gallery_table_semantic_parser.md。
许可证
源代码和模型权重在 CC BY-NC-SA 4.0 下发布(允许非商业用途)。商业部署需要付费许可(本地或 AWS Marketplace)。
总结
YomiToku 提供了一个即用型、面向日语的文档 OCR 和版面处理流水线,可在普通硬件上本地运行,或通过零安装的 Web 演示访问。它适合需要高精度日语文本提取、表格解析或从表单中提取结构化数据的开发者,并提供基于规则和 LLM 增强的选项。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト