请求驱动提取技术:从OCR到RDE的进化

在数字化时代,文档处理技术不断进步,OCR(光学字符识别)技术已经成为读取纸质文档的强大工具。现代的OCR系统不再仅限于读取文本,还能识别更复杂的布局结构,如列表和表格。然而,尽管OCR技术如此强大,它在处理表格数据时仍然存在局限性。本文将探讨请求驱动提取(RDE)技术,这是一种超越传统OCR分析的先进方法,专门用于更精确地从文档中提取表格数据。

问题的提出

假设需要将表格数据导出到Excel文件中。例如,有三份纸质文档,它们具有相同的表格布局(比如电话账单)。如果不想手动输入每个字符,可以扫描文档并执行OCR分析。但由于OCR无法“知道”所有文档都包含相同的表格布局,可能会得到三种不同的表格格式,这显然是不理想的。

解决方案:请求驱动提取(RDE)

RDE技术的出现解决了这一问题。通过RDE,可以为所有文档创建一个唯一的表格模式,并让机器生成相应的结果。这样,就可以为每个文档获得一个统一的信息模型,这是一个虽小但非常重要的区别。

TableExtractor用户手册

为了简单展示RDE技术,创建了一个名为TableExtractor的应用程序。这个应用程序可以看作是文档处理第一部分中MODI示例的扩展版本。同样,需要使用MS Office 2003。新特性是“表格捕获框架”,这是一个半透明的工具窗口,用于自定义个人表格请求。以下是表格提取的整个过程:

  1. 打开一个图像文档。
  2. 按下OCR按钮以获取文档文本。
  3. 使用红色选择区域选择要提取的表格。
  4. 按下调整按钮。这将显示表格捕获框架。默认情况下,表格请求将只包含一个单独的列。
  5. 要自定义表格请求,请选择添加列并通过拖动列标题来调整大小。
  6. 按下捕获按钮以提取表格。
  7. 将表格结果导出到文件。
  8. 打开一个新文档。当然,可以使用已经自定义的表格。

TableExtractor技术细节

该实现既没有包含特殊技巧,也没有提供突破性的设计模式。想引起对底层对象模型的注意。

对于应用程序,设计了一个简单的文档模型。这是一个由四个布局元素类组成的层次结构:文档、页面、行、单词。这次不使用MODI对象模型,因为需要的是行元素,而MODI模型中没有提供。OCR处理完成后,通过转换MODI对象生成该模型的实例。此时不会生成行,因为特殊的聚类算法会将单词聚类成行。

为了表示对表格的了解,创建了一个表格请求。这个表格请求包含列请求。每个列请求提供了相对于表格的相对宽度。

提取过程分为两个简单的步骤。第一步,从选定的单词元素中聚类表格的行。这种聚类称为Hugh变换。在Y轴上具有重叠投影的单词将被组合成行元素。这就是不进行全局行分割的原因。由于噪声元素(如OCR错误),Hugh变换在限制在小区域时效果更好。第二步遍历所有生成的行,并将包含的单词分割到列中。这是通过使用简单的交集标准来完成的。

限制

本文描述了一个非常基础的表格模型。有很多功能可以扩展这个模型。为了给一个概念,列出了一些示例。请注意,这些点可能会变得非常复杂,而且它们的开发目前正忙于许多人。

  • 多行请求:在示例请求模型中,只定义了一种类型的行。可以允许在单个表格中使用替代行类型。
  • 自动更正:可以将数据格式模板(例如正则表达式)添加到列请求模型中。这使能够检测或纠正文本内容中的OCR错误。
  • 列顺序:可以扩展模型以支持不同的列顺序和可选列。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485