字段提取和映射
注释
有关更多详细信息,请参阅 “文本和图像 ”选项卡!
字段提取是将 OCR 输出的文本值映射到与有意义的业务信息相对应的特定标记数据字段的过程。 虽然 OCR 告诉你文档中 存在哪些 文本,但字段提取会告诉你 文本的含义 以及 它属于 业务系统的位置。
字段提取管道
字段提取遵循将 OCR 输出转换为结构化数据的系统管道。
字段提取过程中的阶段包括:
- OCR 输出引入。
- 字段检测和候选识别。
- 字段映射和关联。
- 数据规范化和标准化。
- 与业务流程和系统集成。
让我们更详细地探讨这些阶段。
阶段 1:OCR 输出引入
该过程从 OCR 管道的结构化输出开始,其中包括:
- 原始文本内容:从文档中提取的实际字符和单词
- 位置元数据:边界框坐标、页面位置和阅读顺序信息
- 置信度分数:每个文本元素的 OCR 引擎置信度级别
- 布局信息:文档结构、换行符、段落边界
注释
与简单的文本处理不同,字段提取在很大程度上依赖于文本出现在文档中 的位置 ,而不仅仅是它所说的内容。 “12345”的位置可能有助于确定它是发票号码、客户 ID 还是电话号码。
阶段 2:区域检测和候选对象识别
此阶段标识 OCR 输出中的潜在字段值。 有多种方法可用于独立或组合使用,以确定 OCR 结果中的可能字段。
基于模板的检测
字段检测的模板依赖于基于规则的模式匹配。 可以使用以下技术完成字段识别:
- 具有已知字段位置和定位点关键字的预定义文档布局。
- 搜索标签值对,例如“发票编号:”、“日期:”、“总计:”。
- 正则表达式和字符串匹配算法。
基于模板的方法的优点包括对已知文档类型、快速处理和可解释的结果的高精度。
此方法的限制包括手动模板创建的要求,以及布局变体或字段命名不一致导致的复杂性。
基于机器学习的检测
与其使用基于已知名称和位置的硬编码逻辑来提取字段,不如使用一个示例文档库来训练机器学习模型,通过学习的关系来提取字段。 特别是基于转换器的模型擅长应用上下文提示来识别模式,因此通常是现场检测解决方案的基础。
现场检测机器学习模型的训练方法包括:
- 监督学习:在已标记的数据集上进行训练,其中包含已知字段的位置信息。
- 自监督学习:在大型文档库上进行预训练,以理解布局模式。
- 多模式学习:组合文本、视觉对象和位置特征。
-
高级模型体系结构,例如:
- 将文本元素之间的空间关系建模为图形连接的图形神经网络(GNN)。
- 预测字段值时关注相关文档区域的注意机制。
- 序列到序列模型,将非结构化文本序列转换为结构化的字段分配。
用于基于架构提取的生成型 AI
大型语言模型(LLM)的最新进展导致基于生成 AI 的现场检测技术出现,从而通过以下方法实现更高效和有效的现场检测:
- 基于提示的提取 ,在其中为 LLM 提供文档文本和架构定义,并将文本与架构中的字段匹配。
- 少样本学习,在其中可以使用最少的示例来训练模型,以提取自定义字段。
- 思维链推理,指导模型逐步执行字段识别逻辑。
阶段 3:字段映射和关联
确定候选值后,它们必须映射到特定的架构字段:
键值配对技术
在许多情况下,文档或表单中的数据字段是可映射到键的离散值,例如,收据或发票中的供应商名称、日期和总金额。 用于键值配对的常见方法包括:
邻近分析:
- 空间聚类分析:使用距离算法对附近的文本元素进行分组。
- 阅读顺序分析:遵循自然文本流将标签与值相关联。
- 几何关系:使用对齐、缩进和定位模式。
语言模式识别:
- 命名实体识别(NER):标识特定的实体类型(日期、数量、名称)。
- 部分语音标记:了解标签和值之间的语法关系。
- 依赖项分析:分析文本中的语法关系。
表格与结构化内容的处理
某些文档包括更复杂的文本结构,例如表格。 例如,收据或发票可能包含一个行项表,其中的列包括项名称、价格和购买数量。
可以使用多种技术来判断表是否存在,包括:
- 用于表结构识别的专用卷积神经网络 (CNN) 体系结构。
- 适用于表格单元格识别的对象检测方法。
- 基于图形分析的方法,将表结构建模为单元格之间的图形关系。
若要将表中单元格中的值映射到字段,字段提取解决方案可能采用以下一种或多种技术:
- 用于将表格单元格映射到特定字段架构的行列关联。
- 通过标题检测来识别列标题,从而理解字段含义。
- 用于处理嵌套表结构和子总计的分层处理。
置信度评分和验证
字段提取准确性取决于许多因素,用于实现解决方案的算法和模型可能会出现识别错误或对于值解释错误。 为此,会采用各种技术来评估预测字段值的准确性;包括:
- OCR 置信度:从基础文本识别继承置信度分数。
- 模式匹配置信度:基于提取与预期模式匹配程度进行评分。
- 上下文验证:验证字段值在文档上下文中是否有意义。
- 跨字段验证:检查提取的字段之间的关系(例如,验证行项小计之和是否等于发票总额)。
阶段 4:数据规范化和标准化
原始提取的值通常转换为一致的格式(例如,确保所有提取的日期都以相同的日期格式表示),并检查其有效性。
格式标准化
可实现的格式标准化示例包括:
日期规范化:
- 格式检测:识别各种日期格式(MM/DD/YYYY、DD-MM-YYYY 等)。
- 分析算法:转换为标准化 ISO 格式。
- 模糊解决:处理日期格式不明确的情况。
货币和数字处理:
- 符号识别:处理不同的货币符号和千位分隔符。
- 十进制规范化:统一各地区的小数点表示形式。
- 单位转换:根据需要在不同度量单位之间进行转换。
文本标准化:
- 大小写规范化:应用一致的大写规则。
- 编码标准化:处理不同的字符编码和特殊字符。
- 缩写扩展:将常用缩写转换为完整表单。
数据验证和质量保证
与格式化提取字段一样,标准化过程还可以进一步验证通过以下技术提取的值:
基于规则的验证:
- 格式检查:验证提取的值是否与预期模式(电话号码、电子邮件地址)匹配。
- 范围验证:确保数值位于合理的边界内。
- 必需字段检查:确认存在所有必填字段。
统计验证:
- 离群值检测:识别异常高或异常低的值,这些值可能表明提取错误。
- 分布分析:将提取的值与历史模式进行比较。
- 跨文档验证:检查相关文档的一致性。
阶段 5:与业务流程和系统的集成
该过程的最后阶段通常涉及将提取的字段值集成到业务流程或系统中:
架构映射
提取的字段可能需要进一步转换或重新格式化,以便它们与用于将数据引入下游系统的应用程序架构保持一致。 例如:
- 数据库架构:将提取的字段映射到特定的数据库列和表。
- API 有效负载:为下游系统通过 REST API 消费而格式化数据。
- 消息队列:为异步处理准备结构化消息。
架构映射过程可能涉及以下转换:
- 字段重命名:将提取的字段名称映射到目标系统约定。
- 数据类型转换:确保值与目标系统中的预期数据类型匹配。
- 条件逻辑:应用业务规则进行字段转换和派生。
质量指标和报告
提取过程完成后的另一个常见任务是评估和报告提取数据的质量。 报告可以包括以下信息,例如:
- 字段级置信度分数:每个提取字段的单个置信度分级。
- 文档级质量评估:总体提取成功指标。
- 错误分类:按类型和原因对提取失败进行分类。