在利用智能文档处理技术从文档中提取信息之前,需要为每个文档类别定义一个模式,以指明要提取的内容。当拥有数千个文档且不清楚存在哪些类别时,如何创建模式?大规模执行此操作会耗费大量人力,使得下游的智能文档处理项目难以推进。
本文将展示多文档发现功能如何解决此问题。该功能作为一个自动化预处理步骤,分析未知文档,按类型进行聚类,并生成可供智能文档处理加速器直接使用的模式。您将了解这项新功能如何利用视觉嵌入进行自动聚类,以及如何利用代理进行模式生成。
智能文档处理加速器是一个可扩展、无服务器、开源的自动化文档处理和信息提取解决方案。要针对特定的文档类型定制该解决方案,需要提供一个配置文件,在其中指定类别和字段。如果不了解文档类型,创建此模式会非常困难。该加速器包含一个发现模块,可以从单个示例文档引导生成类别配置。然而,您必须事先知道文档类别,并能为每个类别找出代表性示例文档。本文介绍的多文档发现功能移除了这一前提条件,加速了将加速器应用于未标注文档集合的进程。
多文档发现功能将未分类的文档集合自动转换为结构化模式,供下游的智能文档处理项目使用。该解决方案已集成到加速器现有的发现模块中,是除“单文档”发现功能外新增的“多文档”能力。某机构的 Step Functions 状态机与某机构的 Lambda 函数提供了编排和无服务器计算能力。该解决方案处理来自某机构 S3 存储桶或上传的 Zip 文件中的文档。通过某机构的 Bedrock 可用的模型生成的模式会自动集成到加速器的配置文件中。完整的工作流程如下图所示。
工作流为每个文档创建一个嵌入,将视觉特征转换为数值表示。对于多页文档,仅使用第一页。当前,工作流使用视觉嵌入而非基于 OCR 的文本,因为视觉嵌入能捕捉区分文档类型的布局、格式和结构线索,即使在文本内容相似的情况下也是如此。该解决方案默认使用某机构 Bedrock 上的 Cohere Embed v4 作为嵌入模型。嵌入步骤自动处理常见的难点和障碍,如图像压缩、重试逻辑和速率限制。
多文档发现功能使用轮廓系数来学习集合中文档类型的数量。在此上下文中,轮廓系数衡量了簇之间的分离程度以及每个簇内文档的紧凑程度。使用 k-means 聚类,代理默认测试 k 从 2 到 20 的值,并选择轮廓系数最高的分组。其中 k 代表集合中不同文档类型的数量。为了创建有意义的簇,每个簇必须包含至少两个文档。如有必要,会降低 k 的上限以满足此约束。
在识别出簇之后,流程进入代理阶段。对于每个簇,调用一个代理来确定文档类型并生成模式。代理需要策略性地查看簇内不同位置的文档,以在生成模式前捕捉到全部多样性。例如,它会检查一个接近中心的文档、一个在外围的文档和一个在中间距离的文档。为此,代理配备了两种专用工具:
代理的系统提示编码了关于 JSON Schema 约定和加速器配置要求的领域专业知识。它指示代理:
x-aws-idp-document-type 和 x-aws-idp-evaluation-method。$defs。EXACT,数字用 NUMERIC_EXACT,复杂或嵌套对象用 LLM。这些代理并行运行,无需等待一个簇完成后再启动下一个。
每个代理独立生成模式后,模式分析步骤评估输出之间的整体差异性。它评估发现的文档分组是分离良好还是存在重叠,以及生成的模式是否完整且一致。它会查找不同文档类型之间的冗余或重复。基于这些发现,它提出具体建议,例如合并簇或优化字段定义。它会生成一份摘要报告,包括文档类别的人工可读概览。此质量报告在加速器的“发现作业详情”中可见。
要在自己的文档上运行多文档发现工作流,请按照加速器控制台中的步骤操作。
因为工作流目前仅处理每个 PDF 的第一页,请确保输入文件是单文档文件。尚不支持多文档包。获得初步结果后,在最终确定模式之前,彻底审查质量报告摘要,以发现重叠簇或文档分布不均等问题。
本文展示了多文档发现功能如何解决“处理文档前需要模式,但构建模式前又需要处理文档”这一难题。该解决方案结合了视觉嵌入、自动聚类以及使用多模态大语言模型的代理式模式生成,将未知文档的集合转变为结构化的、可供审查的文档类别和模式。FINISHED
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。