“智能文档处理 (IDP) 解决方案提取数据以支持大批量、重复性文档处理任务的自动化,并用于分析和洞察。 IDP 使用自然语言技术和计算机视觉从结构化和非结构化内容中提取数据,尤其是从文档中提取数据,以支持自动化和增强。” – 加特纳
亚马逊智能文档处理 (IDP) 的目标是使用机器学习 (ML) 自动处理大量文档,以提高生产力、降低与人工相关的成本并提供无缝的用户体验。 客户花费大量时间和精力来识别文档并从中提取用于各种用例的关键信息。 今天, 亚马逊领悟 支持对纯文本文档进行分类,这需要您对半结构化格式的文档(扫描件、数字 PDF 或 PNG、JPG、TIFF 等图像)进行预处理,然后使用纯文本输出来运行推理 自定义分类 模型。 同样,对于 自定义实体识别 在实时情况下,需要对 PDF 和图像文件等半结构化文档进行预处理以提取文本。 这个两步过程在文档处理工作流程中引入了复杂性。
去年,我们 宣布支持原生文档格式 自定义命名实体识别 (NER) 异步作业. 今天,我们很高兴地宣布使用 Amazon Comprehend 对原生格式(PDF、TIFF、JPG、PNG)的半结构化文档的 NER 进行一步式文档分类和实时分析。 具体来说,我们宣布了以下功能:
- 支持原生格式的文档,用于自定义分类实时分析和异步作业
- 支持原生格式的文档,用于自定义实体识别实时分析
在这个新版本中,Amazon Comprehend 自定义分类和自定义实体识别 (NER) 直接支持 PDF、TIFF、PNG 和 JPEG 等格式的文档,无需从中提取 UTF8 编码的纯文本。 下图将以前的过程与新过程和支持进行了比较。
此功能通过消除从文档中提取纯文本所需的任何预处理步骤简化了文档处理工作流程,并减少了处理它们所需的总时间。
在本文中,我们讨论了高级 IDP 工作流解决方案设计、一些行业用例、Amazon Comprehend 的新功能以及如何使用它们。
解决方案概述
让我们从探索保险业中的一个常见用例开始。 典型的保险索赔流程涉及可能包含多个文件的索赔包。 当提交保险索赔时,它包括保险索赔表、事故报告、身份证明文件和第三方索赔文件等文件。 根据索赔类型和涉及的业务流程,处理和裁定保险索赔的文件数量可能高达数百甚至数千页。 保险理赔代表和裁决员通常要花费数百小时从数百甚至数千份理赔申请中手动筛选、分类和提取信息。
与保险行业用例类似,支付行业也处理大量的跨境支付协议、发票和外汇报表的半结构化文件。 业务用户将大部分时间花在手动活动上,例如识别、组织、验证、提取所需信息以及将所需信息传递给下游应用程序。 此手动过程繁琐、重复、容易出错、成本高昂且难以扩展。 面临类似挑战的其他行业包括抵押贷款和贷款、医疗保健和生命科学、法律、会计和税务管理。 对于企业来说,以高水平的准确性和少量的人工工作量及时处理如此大量的文档是极其重要的。
Amazon Comprehend 提供了关键功能,可以以可扩展且经济高效的方式从大量文档中高精度地自动进行文档分类和信息提取。 下图显示了使用 Amazon Comprehend 的 IDP 逻辑工作流程。 工作流程的核心包括使用 NER 和 Amazon Comprehend 自定义模型进行文档分类和信息提取。 该图还演示了如何随着文档和业务流程的发展不断改进自定义模型以提供更高的准确性。
自定义文档分类
借助 Amazon Comprehend 自定义分类,您可以将文档组织到预定义的类别(类别)中。 在高层次上,以下是设置自定义文档分类器和执行文档分类的步骤:
- 准备训练数据以训练自定义文档分类器。
- 使用训练数据训练客户文档分类器。
- 训练模型后,可选择部署实时端点。
- 使用异步作业或使用端点实时执行文档分类。
步骤 1 和 2 通常在识别与业务流程相关的文档类之后在 IDP 项目开始时完成。 然后可以定期重新训练自定义分类器模型以提高准确性并引入新的文档类别。 您可以在 多级模式 or 多标签模式. 可以通过以下两种方式之一对每个进行训练:使用 CSV 文件或使用增强清单文件。 参考 准备训练数据 有关训练自定义分类模型的更多详细信息。 训练自定义分类器模型后,可以使用以下方法对文档进行分类 实时分析 或 异步作业. 实时分析需要 要部署的端点 使用经过训练的模型,最适合根据用例处理小型文档。 对于大量文档,异步分类作业最适合。
训练自定义文档分类模型
为了演示新功能,我们在多标签模式下训练了一个自定义分类模型,该模型可以将保险文件分为七个不同类别之一。 课程是 INSURANCE_ID
, PASSPORT
, LICENSE
, INVOICE_RECEIPT
, MEDICAL_TRANSCRIPTION
, DISCHARGE_SUMMARY
及 CMS1500
. 我们想要对原始 PDF、PNG 和 JPEG 格式的示例文档进行分类,这些文档存储在 亚马逊简单存储服务 (Amazon S3) bucket,使用分类模型。 要启动异步分类作业,请完成以下步骤:
- 在Amazon Comprehend控制台上,选择 分析职位 在导航窗格中。
- 建立工作.
- 针对 名字, 输入分类作业的名称。
- 针对 分析类型¸选择 自定义分类.
- 针对 分类器模型,选择合适的训练分类模型。
- 针对 版本,选择合适的型号版本。
在 输入数据 部分,我们提供存储文档的位置。
- 针对 输入格式,选择 每个文件一个文档.
- 针对 文档阅读模式¸选择 强制文档读取操作.
- 针对 文档读取操作,选择 Textract 检测文档文本.
这使 Amazon Comprehend 能够使用 亚马逊Textract 检测文档文本 API 在运行分类之前读取文件。 这 DetectDocumentText
API 有助于从文档中提取文本行和单词。 您也可以选择 文本分析文件 文档读取操作,在这种情况下,Amazon Comprehend 使用 Amazon Textract 分析文件 API读取文件。 随着 AnalyzeDocument
API,可以选择提取 表, 表格, 或两者。 这 文档阅读模式 选项使 Amazon Comprehend 能够在幕后从文档中提取文本,这有助于减少从文档中提取文本的额外步骤,而这在我们的文档处理工作流程中是必需的。
Amazon Comprehend 自定义分类器还可以处理由 DetectDocumentText
和 AnalyzeDocument
API,未经任何修改或预处理。 这对于 Amazon Textract 已经参与从文档中提取文本的现有工作流程非常有用。 在这种情况下,Amazon Textract 的 JSON 输出可以直接提供给 Amazon Comprehend 文档分类 API。
您可以在 分析职位 页面上发布服务提醒。
作业完成后,我们可以查看分析作业的输出,该输出存储在作业配置期间提供的 Amazon S3 位置。 我们的单页 PDF 示例 CMS1500 文档的分类输出如下。 输出是一个 JSON 行格式的文件,其格式已被格式化以提高可读性。
前面的示例是一个单页 PDF 文档; 但是,自定义分类也可以处理多页 PDF 文档。 在多页文档的情况下,输出包含多行 JSON,其中每一行是文档中每个页面的分类结果。 以下是示例多页分类输出:
自定义实体识别
借助 Amazon Comprehend 自定义实体识别器,您可以分析文档并提取符合您特定需求的实体,例如产品代码或特定于业务的实体。 在高层次上,以下是设置自定义实体识别器和执行实体检测的步骤:
- 准备训练数据以训练自定义实体识别器。
- 使用训练数据训练自定义实体识别器。
- 训练模型后,可选择部署实时端点。
- 使用异步作业或使用端点实时执行实体检测。
可以定期重新训练自定义实体识别器模型以提高准确性并引入新的实体类型。 您可以使用任一方法训练自定义实体识别器模型 实体清单 or 注释. 在这两种情况下,Amazon Comprehend 都会了解文档的种类和实体出现的上下文,以构建可以概括为检测新实体的实体识别器模型。 参考 准备训练数据 了解有关为自定义实体识别器准备训练数据的更多信息。
训练自定义实体识别器模型后,可以使用以下方法进行实体检测 实时分析 或 异步作业. 实时分析需要 要部署的端点 使用经过训练的模型,最适合根据用例处理小型文档。 对于大量文档,异步分类作业最适合。
训练自定义实体识别模型
为了实时演示实体检测,我们使用保险文档和使用自定义注释的扩充清单文件训练了自定义实体识别器模型,并使用经过训练的模型部署了端点。 实体类型是 Law Firm
, Law Office Address
, Insurance Company
, Insurance Company Address
, Policy Holder Name
, Beneficiary Name
, Policy Number
, Payout
, Required Action
及 Sender
. 我们想要使用识别器模型从存储在 S3 存储桶中的原生 PDF、PNG 和 JPEG 格式的示例文档中检测实体。
请注意,您可以使用使用 PDF 文档训练的自定义实体识别模型从 PDF、TIFF、图像、Word 和纯文本文档中提取自定义实体。 如果您的模型是使用文本文档和实体列表进行训练的,则您只能使用纯文本文档来提取实体。
我们需要使用识别器模型从任何原生 PDF、PNG 和 JPEG 格式的示例文档中检测实体。 要启动同步实体检测作业,请完成以下步骤:
- 在Amazon Comprehend控制台上,选择 实时分析 在导航窗格中。
- 下 分析类型, 选择 定制版.
- 针对 自定义实体识别, 选择自定义模型类型。
- 针对 端点,选择您为实体识别器模型创建的实时终结点。
- 选择 上传文件 并选择 选择文件 上传 PDF 或图像文件以进行推理。
- 展开 高级文档输入 节和为 文档阅读模式,选择 服务违约.
- 针对 文档读取操作,选择 Textract 检测文档文本.
- 分析 实时分析文档。
认可实体列于 行业洞见 部分。 每个实体都包含实体值(文本)、您在训练过程中定义的实体类型以及相应的置信度分数。
有关如何训练自定义实体识别器模型并使用它使用异步分析作业执行异步推理的更多详细信息和完整演练,请参阅 使用 Amazon Comprehend 从原始格式的文档中提取自定义实体.
结论
这篇博文演示了如何使用 Amazon Comprehend 以原始格式对半结构化文档进行分类和分类,并从中检测特定于业务的实体。 您可以将实时 API 用于低延迟用例,或将异步分析作业用于批量文档处理。
作为下一步,我们鼓励您访问 Amazon Comprehend GitHub存储库 获取完整代码示例以试用这些新功能。 您还可以访问 Amazon Comprehend 开发人员指南 和 Amazon Comprehend 开发人员资源 用于视频、教程、博客等。
关于作者
瑞克·塔鲁克达尔 是 Amazon Comprehend Service 团队的高级架构师。 他与 AWS 客户合作,帮助他们大规模采用机器学习。 工作之余,他喜欢阅读和摄影。
安扬·比斯瓦斯 是一名高级 AI 服务解决方案架构师,专注于 AI/ML 和数据分析。 Anjan 是全球 AI 服务团队的一员,与客户合作,帮助他们理解和开发 AI 和 ML 业务问题的解决方案。 Anjan 拥有超过 14 年的与全球供应链、制造和零售组织合作的经验,并积极帮助客户开始使用 AWS AI 服务并进行扩展。
戈德温萨哈亚拉吉 文森特 是 AWS 的企业解决方案架构师,他热衷于机器学习并为客户提供设计、部署和管理其 AWS 工作负载和架构的指导。 在业余时间,他喜欢和朋友们一起打板球,和三个孩子一起打网球。