项目简介
该 OCR 系统专门设计用于从复杂的教育材料(如试卷)中提取结构化数据,以优化机器学习(ML)训练的格式。它支持多语言文本、数学公式、表格、图表和图表,非常适合创建高质量的训练数据集。
关键特性
– 优化用于机器学习训练:提取的元素,如图表、表格和图形,都附有语义注释和上下文解释。这包括为视觉内容自动生成自然语言描述(例如,“此图显示了有丝分裂的四个阶段”)以增强下游模型训练。
– 多语言支持:支持日语、韩语和英语,并可轻松定制以支持其他语言。
– 结构化输出:生成 AI 就绪的 JSON 或 Markdown 输出,包括数学表达式的可读描述、表格摘要和图形标题。
– 高精度:在真实世界学术数据集(如 EJU 生物学和 UTokyo 数学)上实现 90-95%以上的准确率。
– 复杂布局支持:准确处理具有密集科学内容、公式密集段落和丰富视觉元素的考试风格 PDF。
– 构建工具:DocLayout-YOLO、Google Vision API、Gemini Pro Vision、MathPix OCR、OpenAI API、OpenCV 等。
样本输出
以下是使用真实材料(2017 年 EJU 生物学和 2014 年东京大学数学)生成的该系统输出示例,包括英文翻译的语义上下文和提取的数据。
Math Input 数学输入
输出
翻译输出
问题 1. 考虑矩形棱柱 OABC–DEFG,其底面为边长为 1 的正方形。点 P、Q、R 分别位于 AE、BF 和 CG 段上,点 O、P、Q 和 R 位于同一平面上。设 S 为四边形 OPQR 的面积。设 ∠AOP 为 α,∠COR 为 β。如果 α + β = 1 且 S = S,求 tan α + tan β 的值。如果 α ≤ β,求 tan α 的值。
[Image Start]
图像描述:此图像展示了矩形棱柱 OAB-CDEFGQ。每个顶点都标有字母。角α标记在面 OAB 上。平面 ORPQ 与棱柱相交并被突出显示。线 RC 位于面 ODCG 上,线 PB 位于面 ABFQ 上。
教育价值:此图像通过可视化 3D 几何和横截面来增强空间推理。它有助于学习者理解平面几何、立体形状、空间可视化和角度等概念。
相关主题:立体几何、横截面、棱柱面、三角形、空间推理
考试相关性:此类问题出现在入学考试中:
-
计算 ORPQ 的面积,使用角度α -
求 OR、RP、PQ、QO 的长度 -
确定 ORPQ 与棱柱面的夹角 -
在坐标系中定位点 P、Q、R -
计算棱柱部分的体积/面积 -
根据约束预测形状 -
绘制棱柱的形状
[Image End]
生物学输入
输出
翻译输出
问题 39。照片显示了洋葱根尖的有丝分裂细胞分裂过程(体细胞分裂)。细胞 A-D 处于不同的分裂阶段。将(前期、中期、后期、末期)与每个细胞对应,并从选项①-⑧中选择正确的组合。
[Image Start]
图像描述:这张图像展示了在显微镜下观察到的植物细胞分裂过程。各种细胞处于不同的有丝分裂阶段,包括染色体在中心排列(中期)、向两极分离(后期)或形成子核(末期)。
A – 好像处于后期
B – 可能是末期
C – 前期或前中期
D – 中期
教育价值:这有助于学生直观地理解有丝分裂的过程,加强了对细胞分裂阶段及其特性的认识。它与生物学概念如 DNA 复制、癌症生物学和遗传学相联系。
相关主题:有丝分裂、细胞周期、前期、中期、后期、末期、DNA 复制
考试相关性:此图像用于以下问题:
-
将 A、B、C、D 与相应的有丝分裂阶段匹配 -
描述每个阶段的特点 -
解释有丝分裂的重要性 -
讨论有丝分裂中的错误如何导致遗传疾病
[Image End]
[Table Start]
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
摘要:每个选项(①–⑧)对应 A、B、C、D 到有丝分裂前期、中期和后期的特定映射。
教育价值:理解有丝分裂中的时间转换和表格中的数据组织。增强数据解读、模式识别和分析技能。
相关主题:数据分析、表格解读、生物数据分类
[Table End] [表格结束]
使用流程
-
步骤 1 – 初始 OCR 提取运行 ocr_stage1.py 从输入 PDF 中提取原始元素(文本、表格、图像等)。此步骤执行布局检测并存储中间结果(例如,坐标、裁剪图像、原始内容)。
-
步骤 2 – 语义解释与最终输出运行 ocr_stage2.py 处理中间数据并将其转换为结构化、可读的输出。这包括生成自然语言解释、摘要并将内容组织成 AI 准备的格式(JSON/Markdown)。
技术实现
– 表格处理优化使用 DocLayout-YOLO 检测表格区域
– Google Vision OCR 用于表格处理,而不是 MathPix,以提高日语文本的准确性
– 表格结构以结构化 JSON 格式保存(保持行/列结构)
– 维护 Y 坐标信息以确保上下文连续性
– 原始布局信息与结构化数据一起保存,以供机器学习训练使用
– 图像和特殊区域处理:使用 Google Vision API 的图像分析功能(imageProperties、labelDetection、textDetection)处理图像区域
– 使用 Google Cloud Vision API 生成图像描述
– – 使用 Google Cloud Vision API 的文档分析功能处理图表/图表,并提取数据点
–– 特殊区域处理结果以结构化 JSON 格式存储,用于机器学习训练
– 原始坐标信息和区域类型元数据被添加以保持上下文连续性
项目链接
https://github.com/ses4255/Versatile-OCR-Program
扫码加入技术交流群,备注「开发语言-城市-昵称」
(文:GitHubStore)