DeepDoctection 是一个功能强大的 Python 库,专门用于文档布局分析和内容提取,为 RAG(检索增强生成)系统提供支持。该框架还提供了训练、评估和推理文档 AI 模型的完整工具链。
【免费下载链接】deepdoctection A Repo For Document AI 项目地址: https://gitcode.com/gh_mirrors/de/deepdoctection
核心功能特性
文档布局分析与表格识别
- 支持 PyTorch 框架下的 Detectron2
- 兼容 TensorFlow 和 Tensorpack
- 提供多种预训练模型支持
光学字符识别(OCR)
- 集成 Tesseract OCR 引擎
- 支持 DocTr 深度学习 OCR
- 兼容 AWS Textract 云服务
文档与令牌分类
- LayoutLM 系列模型完整支持
- LiLT 模型集成
- 支持滑动窗口等高级特征
高级文本处理
- 原生 PDF 文本挖掘
- 语言检测功能
- 图像倾斜校正与旋转
架构设计
DeepDoctection 采用模块化架构设计,包含以下核心组件:
Dataflow 数据流
Dataflow 是用于加载数据的包,最初为训练目的而开发。其基本思想是通过可链接的生成器块,使得构建数据加载和转换管道变得简单。
Datapoint 数据点
Datapoint 包为库添加了内部数据结构。我们可以将数据点解释为文档页面。
Mapper 映射器
映射器是任意函数(非生成器),它们接受数据点并返回数据点。
Pipelines 管道系统
管道系统提供布局检测、OCR 等任务的组件。链接的管道组件将形成一个完整的处理管道。
快速开始
基础安装
对于使用默认设置解析文档的简单设置,安装以下依赖:
PyTorch 环境
pip install transformers
pip install python-doctr==0.10.0
pip install deepdoctection
TensorFlow 环境
pip install tensorpack
pip install deepdoctection
pip install "numpy>=1.21,<2.0" --upgrade --force-reinstall
pip install "python-doctr==0.9.0"
完整安装
PyTorch 完整安装 首先单独安装 Detectron2:
pip install detectron2@git+https://github.com/deepdoctection/detectron2.git
然后安装完整依赖:
pip install deepdoctection[pt]
TensorFlow 完整安装
pip install deepdoctection[tf]
使用示例
以下是一个完整的使用示例,展示如何分析文档并提取信息:
import deepdoctection as dd
from IPython.core.display import HTML
from matplotlib import pyplot as plt
analyzer = dd.get_dd_analyzer() # 实例化内置分析器
df = analyzer.analyze(path="/path/to/your/doc.pdf") # 设置管道
df.reset_state() # 触发初始化
doc = iter(df)
page = next(doc)
image = page.viz(show_figures=True, show_residual_layouts=True)
plt.figure(figsize=(25,17))
plt.axis('off')
plt.imshow(image)
提取表格信息:
HTML(page.tables[0].html)
获取文本内容:
print(page.text)
系统要求
平台要求
- Linux 或 macOS
- Windows 不支持,但提供 Dockerfile 解决方案
- Python >= 3.9
深度学习框架支持
| 任务 | PyTorch | Torchscript | Tensorflow |
|---|---|---|---|
| 通过 Detectron2/Tensorpack 进行布局检测 | ✅ | ✅ (仅CPU) | ✅ (仅GPU) |
| 通过 Detectron2/Tensorpack 进行表格识别 | ✅ | ✅ (仅CPU) | ✅ (仅GPU) |
| 通过 Transformers 进行表格转换 | ✅ | ❌ | ❌ |
| 可变形检测器 | ✅ | ❌ | ❌ |
| DocTr OCR | ✅ | ❌ | ✅ |
| LayoutLM 系列模型 | ✅ | ❌ | ❌ |
从源码安装
下载仓库或通过以下命令克隆:
git clone https://gitcode.com/gh_mirrors/de/deepdoctection.git
PyTorch 环境
cd deepdoctection
pip install ".[pt]" # 或 "pip install -e .[pt]"
TensorFlow 环境
cd deepdoctection
pip install ".[tf]" # 或 "pip install -e .[tf]"
Docker 容器运行
可以从 Docker 镜像仓库下载预构建的镜像:
docker pull deepdoctection/deepdoctection:<release_tag>
使用 Docker compose 文件 ./docker/pytorch-gpu/docker-compose.yaml。在提供的 .env 文件中,指定 deepdoctection 缓存应存储的主机目录。
管道组件
DeepDoctection 提供了丰富的管道组件,包括:
- ImageLayoutService:图像布局服务
- TextExtractionService:文本提取服务
- LanguageDetectionService:语言检测服务
- TableSegmentationService:表格分割服务
- LMTokenClassifierService:语言模型令牌分类服务
这些组件可以灵活组合,构建适合特定任务的文档处理管道。每个组件都经过优化,确保在处理大规模文档时保持高效性能。
应用场景
学术研究
- 论文布局分析与内容提取
- 学术文档结构化处理
企业文档处理
- 合同文档智能解析
- 报告自动化生成
内容管理
- 文档数字化与索引
- 智能搜索与检索
DeepDoctection 框架的设计使其能够轻松适应各种文档处理需求,无论是简单的文本提取还是复杂的布局分析,都能提供稳定可靠的解决方案。
【免费下载链接】deepdoctection A Repo For Document AI 项目地址: https://gitcode.com/gh_mirrors/de/deepdoctection
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考







