Chunkr: 在线PDF文档解析与OCR工具
介绍
1 版面分割模型
这部分属于另一个项目(pdf-document-layout-analysis)的内容,可以移步查看具体模型的介绍和训练过程。
1.1 机器学习模型
基于LIGHTGBM算法,并且只需要使用CPU资源,因此对硬件要求不高,速度快,但是只能处理文字类型的PDF。
1.2 VGT模型
能处理图片PDF,同时把版面内容识别为11种类型
1: "Caption"
2: "Footnote"
3: "Formula"
4: "List item"
5: "Page footer"
6: "Page header"
7: "Picture"
8: "Section header"
9: "Table"
10: "Text"
11: "Title"
如果对表格、图片、手写内容的识别精度有要求,则需要使用该模型。
2 分割策略
上述模型能够为每一块区域生成一种对应的类型(如Title、Text等),默认按照Title -> Section header -> Other
这种层次结构进行分割和组合,如果遇到高于当前段中的层次或者段长度超过限制(target_chunk_length
),则进行分割。
3 OCR策略
chunkr
使用的OCR为Textract
,的OCR策略分为如下三种:
● Auto:对于扫描件,则全部进行OCR;对于文字PDF,则只有图片和表格进行OCR
● All:开启所有组件的OCR
● Off:关闭所有组件的OCR
用法
1 注册账号
在官网完成账号注册,获取API KEY
有1000页的快速处理额度和500页的高精度处理额度
2 API处理
2.1 创建任务
curl -X POST https://api.chunkr.ai/api/v1/task \
-H "Content-Type: multipart/form-data" \
-H "Authorization: ${YOUR_API_KEY}" \
-F "file=@/path/to/your/file" \
-F "model=HighQuality" \
-F "target_chunk_length=512" \
-F "ocr_strategy=Auto"
任务为异步调用,可通过返回的任务id查看处理结果
2.2 获取结果
curl -X GET https://api.chunkr.ai/api/v1/task/${TASK_ID} \
-H "Authorization: ${YOUR_API_KEY}"
3 在线处理
在这里可以直接拖拽、上传PDF文档,配置参数(与API调用一致)、实时查看处理结果
使用体会
在试用过程中发现版面分析部分把一部分简单的Text区域识别为表格或者图片,猜测可能是因为模型的阈值不可控制导致的。这种使用方法比较适合普通用户,对于开发者或者需要调整文档识别结果的人来说可能不是很友好,不过有1500页的免费额度使用还是挺香的~