Silviase/jgov_v1.4_full_ann
收藏Hugging Face2025-12-07 更新2025-12-20 收录
下载链接:
https://hf-mirror.com/datasets/Silviase/jgov_v1.4_full_ann
下载链接
链接失效反馈官方服务:
资源简介:
# e-Gov PDF → Page Images + Text (Silviase/jgov) / + PaddleOCR-VL (Silviase/jgov_v1.4_full_ann)
## 概要
- e-Gov オープンデータの政策評価 PDF をページ画像化したデータセット (Silviase/jgov) と、その画像に PaddleOCR-VL で Markdown OCR を付与したデータセット (Silviase/jgov_v1.4_full_ann)。
- 帳票や表を含む日本語 PDF のレイアウト認識・OCR 評価用途を想定。
## 出典とライセンス
- 出典: e-Gov Open Data Portal <https://data.e-gov.go.jp/>
- 利用規約: <https://data.e-gov.go.jp/info/terms>
- オリジナル PDF は CC-BY-4.0(出典明記が必要)。本データセットの派生物(レンダリング画像・OCR テキスト)も CC-BY-4.0 を継承し、出典を保持。
- PaddleOCR-VL: Apache-2.0 <https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/LICENSE>(OCR 生成物自体は CC-BY-4.0 の範囲で再配布)。
## データ内容
- Silviase/jgov
- カラム: `image` (datasets.Image), `text` (PDF 埋め込みテキスト; 空の場合あり), `source` (元 PDF パス), `page` (1 始まり)
- 画像: 200 DPI, RGB, MuPDF でレンダリング
- Silviase/jgov_v1.4_full_ann
- カラム: `fname`, `image` (Image), `ocr_text_paddleocrvl` (Markdown), `source="jgov"`, `conversations=[{user, assistant}]` (assistant に OCR 出力)
- 件数: 896,725 ページ(1 ページ欠損は除外済み)
## Silviase/jgov の生成手順(PDF → 画像 + テキスト)
1. 取得
- e-Gov CKAN API (`resource_search` → 0 件なら `package_search` にフォールバック) で PDF URL を収集。
- スクリプト: `egov/dl.py`(URL 由来の短ハッシュを付けて保存)。
2. 保存レイアウト
- PDF: `data/JpOCR-XL/egov/<year>/*.pdf`
- 画像: `data/JpOCR-XL/egov/images/<year>/<pdf_stem>/<pdf_stem>_p0001.png`
- HF Datasets 保存: `data/JpOCR-XL/egov/dataset`
3. 変換
- 画像レンダリング: MuPDF (`pymupdf`), 200 DPI, RGB, `_p0001.png` 形式。
- テキスト抽出: `pdfplumber` の text layer(OCR なし; 空もあり)。
4. スキーマ
- `image: Image`, `text: string`, `source: string`, `page: int32`
5. コマンド例
```bash
uv run egov/build_hf_dataset.py -v \
--images-root data/JpOCR-XL/egov/images \
--save-dir data/JpOCR-XL/egov \
--push Silviase/jgov \
--spec egov/spec.md
```
- 少量試験: `--limit-files 3 --max-pages 2`
- 既存 `--save-dir` があれば再計算せず push のみ。
## Silviase/jgov_v1.4_full_ann の生成手順(PaddleOCR-VL 付与)
1. 入力: Silviase/jgov の画像列。
2. 画像保存: `fname={pdf_id_md5[:8]}_p{page}.png`(非 ASCII 置換済み)、`/home/maeda-k/jgov_v1.4_full_ann/images/`。
3. OCR: PaddleOCR-VL (`vl_rec_backend=vllm-server`, `vl_rec_server_url=http://127.0.0.1:8080/v1`, `vl_rec_max_concurrency` = ワーカー数)。
4. 後処理: Markdown から inline `style` 属性のみ除去(HTML タグは保持)。
5. JSONL 書き出し: `jgov_paddleocrvl.jsonl` に `fname/image/ocr_text_paddleocrvl/source/conversations`。壊れた画像はスキップ(1 ページ欠損)。
6. Push:
```bash
source .env # HF_TOKEN を読み込み
uv run python scripts/push_jsonl_to_hub.py \
--jsonl /home/maeda-k/jgov_v1.4_full_ann/jgov_paddleocrvl.jsonl \
--images-dir /home/maeda-k/jgov_v1.4_full_ann \
--repo-id Silviase/jgov_v1.4_full_ann \
--split train \
--num-proc 8
```
- デバッグ: `--limit 100` で先頭 N 行のみ push。
## 品質と注意点
- Silviase/jgov: テキストは PDF 埋め込み依存。空や文字化けの可能性あり。
- Silviase/jgov_v1.4_full_ann: OCR は PaddleOCR-VL の生出力(style 削除のみ)。表やレイアウトの崩れはモデル依存。
- 1 ページのみ画像破損で除外済み(合計 896,725 行)。
## 利用方法
- `datasets.load_dataset("Silviase/jgov", split="train")`
- `datasets.load_dataset("Silviase/jgov_v1.4_full_ann", split="train")`
- `example["image"]` → `PIL.Image`
- `example["ocr_text_paddleocrvl"]` → Markdown
- `example["conversations"][0]["assistant"]` → 同内容
## 引用
- Dataset: `Silviase/jgov_v1.4_full_ann` (Hugging Face Datasets)
- Source: e-Gov Open Data Portal (CC-BY-4.0, attribution required)
# e-Gov PDF → 页面图像+文本(Silviase/jgov)/ 附加PaddleOCR-VL标注(Silviase/jgov_v1.4_full_ann)
## 概要
- 本数据集包含两类子数据集:一是将e-Gov开放数据中的政策评估PDF转换为页面图像的数据集(Silviase/jgov);二是为该数据集的图像通过PaddleOCR-VL添加Markdown格式OCR标注的数据集(Silviase/jgov_v1.4_full_ann)。
- 本数据集旨在用于包含表单与表格的日语PDF的布局识别与OCR效果评估。
## 出典与许可
- 数据来源:e-Gov开放数据门户(e-Gov Open Data Portal)<https://data.e-gov.go.jp/>
- 使用条款:<https://data.e-gov.go.jp/info/terms>
- 原始PDF采用CC-BY-4.0许可协议(需注明来源)。本数据集的衍生内容(渲染图像、OCR文本)同样遵循CC-BY-4.0许可,需保留来源标注。
- PaddleOCR-VL采用Apache-2.0许可协议<https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/LICENSE>(OCR生成结果可在CC-BY-4.0许可范围内进行再分发)。
## 数据内容
- Silviase/jgov
- 字段说明:`image`(datasets.Image类型,图像数据)、`text`(PDF内置文本,可能为空)、`source`(原始PDF路径)、`page`(页码从1开始计数)
- 图像参数:200 DPI分辨率、RGB色彩模式,通过MuPDF渲染生成
- Silviase/jgov_v1.4_full_ann
- 字段说明:`fname`(文件名)、`image`(图像数据)、`ocr_text_paddleocrvl`(Markdown格式OCR文本)、`source="jgov"`(数据源标识)、`conversations=[{user, assistant}]`(其中`assistant`字段存储OCR输出内容)
- 数据规模:共896,725页(已剔除1页损坏的样本)
## Silviase/jgov 数据集生成流程(PDF → 图像+文本)
1. 数据获取
- 通过e-Gov CKAN API(调用`resource_search`接口,若返回0条结果则回退至`package_search`接口)收集PDF文件的下载链接。
- 配套脚本:`egov/dl.py`(为文件添加基于URL生成的短哈希值后保存)。
2. 存储布局
- PDF文件存储路径:`data/JpOCR-XL/egov/<year>/*.pdf`
- 图像文件存储路径:`data/JpOCR-XL/egov/images/<year>/<pdf_stem>/<pdf_stem>_p0001.png`
- Hugging Face数据集(Hugging Face Datasets)格式数据集存储路径:`data/JpOCR-XL/egov/dataset`
3. 格式转换
- 图像渲染:通过MuPDF(`pymupdf`库)完成,分辨率200 DPI,RGB色彩模式,保存为`_p0001.png`命名格式。
- 文本提取:通过`pdfplumber`提取PDF内置文本图层(无OCR处理,可能存在空文本)。
4. 数据Schema
- 字段定义:`image: Image`、`text: string`、`source: string`、`page: int32`
5. 命令示例
bash
uv run egov/build_hf_dataset.py -v
--images-root data/JpOCR-XL/egov/images
--save-dir data/JpOCR-XL/egov
--push Silviase/jgov
--spec egov/spec.md
- 小规模测试命令:`--limit-files 3 --max-pages 2`
- 若已存在`--save-dir`指定的目录,则跳过重新计算,仅执行推送操作。
## Silviase/jgov_v1.4_full_ann 数据集生成流程(添加PaddleOCR-VL标注)
1. 输入数据:Silviase/jgov 数据集的图像序列。
2. 图像存储:将图像命名为`fname={pdf_id_md5[:8]}_p{page}.png`(已替换非ASCII字符),存储至`/home/maeda-k/jgov_v1.4_full_ann/images/`目录。
3. OCR处理:使用PaddleOCR-VL进行标注,配置参数为`vl_rec_backend=vllm-server`、`vl_rec_server_url=http://127.0.0.1:8080/v1`、`vl_rec_max_concurrency`(并发数等于工作进程数)。
4. 后处理:仅移除Markdown文本中的内联`style`属性(保留HTML标签)。
5. JSONL格式导出:将`fname`、`image`、`ocr_text_paddleocrvl`、`source`、`conversations`字段写入`jgov_paddleocrvl.jsonl`文件。跳过损坏的图像(共剔除1页损坏样本)。
6. 推送至Hub
bash
source .env # 加载HF_TOKEN环境变量
uv run python scripts/push_jsonl_to_hub.py
--jsonl /home/maeda-k/jgov_v1.4_full_ann/jgov_paddleocrvl.jsonl
--images-dir /home/maeda-k/jgov_v1.4_full_ann
--repo-id Silviase/jgov_v1.4_full_ann
--split train
--num-proc 8
- 调试模式:添加`--limit 100`参数仅推送前100条样本。
## 数据质量与注意事项
- Silviase/jgov 数据集:文本提取依赖PDF内置文本图层,可能存在空文本或字符乱码问题。
- Silviase/jgov_v1.4_full_ann 数据集:OCR文本为PaddleOCR-VL的原生输出(仅移除了内联style属性),表格与布局识别错误取决于模型性能。
- 本次数据集共剔除1页损坏的图像样本,最终有效样本量为896,725条。
## 使用方法
- 使用`datasets.load_dataset("Silviase/jgov", split="train")`加载数据集
- 使用`datasets.load_dataset("Silviase/jgov_v1.4_full_ann", split="train")`加载数据集
- `example["image"]` → 返回PIL.Image类型的图像对象
- `example["ocr_text_paddleocrvl"]` → 返回Markdown格式的OCR文本
- `example["conversations"][0]["assistant"]` → 与`ocr_text_paddleocrvl`内容一致
## 引用
- 数据集:`Silviase/jgov_v1.4_full_ann`(基于Hugging Face Datasets格式)
- 数据来源:e-Gov开放数据门户(遵循CC-BY-4.0许可,需注明来源)
提供机构:
Silviase


