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

文档与演示


许可证

源代码和模型权重在 CC BY-NC-SA 4.0 下发布(允许非商业用途)。商业部署需要付费许可(本地或 AWS Marketplace)。


总结

YomiToku 提供了一个即用型、面向日语的文档 OCR 和版面处理流水线,可在普通硬件上本地运行,或通过零安装的 Web 演示访问。它适合需要高精度日语文本提取、表格解析或从表单中提取结构化数据的开发者,并提供基于规则和 LLM 增强的选项。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト