本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon Textract 自动从PDF文件中提取内容
由贾天霞创作 () AWS
环境:生产 | 技术:机器学习和人工智能;分析;大数据 | AWS服务:亚马逊 S3;亚马逊 Textract;亚马逊 SageMaker |
Summary
许多组织需要从上传到其业务应用程序PDF的文件中提取信息。例如,组织可能需要准确地从税务或医疗PDF档案中提取信息,用于税务分析或医疗索赔处理。
在 Amazon Web Services (AWS) 云上,Amazon Textract 会自动从PDF文件中提取信息(例如打印的文本、表单和表格),并生成包含原始文件信息的JSON格式文件。PDF您可以在AWS管理控制台中使用 Amazon Textract,也可以通过实现API调用来使用。我们建议您使用编程API调
当 Amazon Textract 处理文件时,它会创建以下 Block
对象列表:页面、文本行和单词、表单(键值对)、表格和单元格以及选择元素。还包括其他对象信息,例如边界框、置信区间和关系。IDsAmazon Textract 将提取字符串形式的内容信息。需要正确识别和转换数据值,以便下游应用程序更轻松的使用。
此模式描述了使用 Amazon Textract 自动从PDF文件中提取内容并将其处理成干净输出 step-by-step的工作流程。此模式使用模板匹配技术正确识别必填字段、密钥名称和表,然后对每种数据类型进行后期处理更正。您可以使用这种模式来处理不同类型的PDF文件,然后可以缩放和自动化此工作流程,以处理格式相同的PDF文件。
先决条件和限制
先决条件
一个活动的 AWS 账户。
现有的亚马逊简单存储服务 (Amazon S3) 存储桶,用于存储PDF文件转换为格式JPEG以供亚马逊 Textract 处理后的文件。有关 S3 存储桶的更多信息,请参阅 Amazon S3 文档中的存储桶概述。
Textract_PostProcessing.ipynb
Jupyter 笔记本(附件),已安装并配置。有关 Jupyter 笔记本的更多信息,请参阅亚马逊文档中的创建 Jupyter 笔记本。 SageMaker具有相同格式的现有PDF文件。
了解 Python。
限制
您的PDF文件必须质量良好且清晰可读。建议使用本机PDF文件,但如果所有单词都清晰可见,则可以使用转换成某种PDF格式的扫描文档。有关这方面的更多信息,请参阅 Machine Learnin AWS g 博客上的 “使用 Amazon Textract 进行PDF文档预处理:视觉检测和
移除”。 对于多页文件,您可以使用异步操作或将PDF文件拆分为单个页面并使用同步操作。有关这两个选项的更多信息,请参阅 Amazon Textract 文档中的检测和分析多页文档的文本和检测和分析单页文档的文本。
架构
此模式的工作流程首先在示例PDF文件上运行 Amazon Textract(首次运行),然后在格式与第一个PDF文件相同的文件上运行PDF(重复运行)。下图显示了 “首次运行” 和 “重复运行” 的组合工作流程,该工作流程会自动重复地从具有相同格式PDF的文件中提取内容。
图表显示了此模式的以下工作流程:
将PDF文件转换为JPEG格式并将其存储在 S3 存储桶中。
致电亚马逊 Textract API 并解析亚马逊 Textract 的响应文件。JSON
通过为每个必填字段添加正确的
KeyName:DataType
配对来编辑JSON文件。为重复运行阶段创建TemplateJSON
文件。为每种数据类型(例如浮点数、整数和日期)定义后处理校正函数。
准备与第一个PDF文件格式相同的PDF文件。
致电亚马逊 Textract API 并解析亚马逊 Textract 的回复。JSON
将解析后的JSON文件与文件进行匹配。
TemplateJSON
实施后期处理校正。
最终JSON输出文件中每个必填字段KeyName
都有Value
正确的 and。
目标技术堆栈
亚马逊 SageMaker
Amazon S3
Amazon Textract
自动化和扩缩
您可以使用 AWS Lambda 函数自动执行重复运行工作流程,该函数会在向 Amazon S3 中添加新PDF文件时启动 Amazon Textract。然后,Amazon Textract 会运行处理脚本,并将最终输出保存至存储位置。有关这方面的更多信息,请参阅 Lambda 文档中的使用 Amazon S3 触发器调用 Lambda 函数。
工具
Amazon SageMaker 是一项完全托管的机器学习服务,可帮助您快速轻松地构建和训练机器学习模型,然后将其直接部署到可用于生产的托管环境中。
Amazon Simple Storage Service (Amazon S3) 是一项基于云的对象存储服务,可帮助您存储、保护和检索任意数量的数据。
Amazon Textract 可以轻松地将文档文本检测和分析添加至您的应用程序。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
转换PDF文件。 | 将PDF文件拆分为单个页面,然后将其转换为 Amazon Textract 同步操作的JPEG格式(),为首次运行 注意:您也可以对多PDF页文件使用 Amazon Textrac t 异步操作 ( | 数据科学家,开发人员 |
解析亚马逊 Text JSON ract 的回复。 | 打开
使用以下代码JSON将响应解析为表单和表格:
| 数据科学家,开发人员 |
编辑模板JSON文件。 | 编辑每个 此模板用于每种单独PDF的文件类型,这意味着该模板可以重复用于格式相同的PDF文件。 | 数据科学家,开发人员 |
定义后处理校正函数。 | Amazon Textract 对 使用以下代码根据
| 数据科学家,开发人员 |
任务 | 描述 | 所需技能 |
---|---|---|
准备PDF文件。 | 通过将PDF文件拆分为单个页面,然后将其转换为用于 Amazon Textract 同步操作的JPEG格式() 注意:您也可以对多PDF页文件使用 Amazon Textrac t 异步操作 ( | 数据科学家,开发人员 |
致电 Amazon Textract API。 | 使用以下代码致电 Amazon T API extract:
| 数据科学家,开发人员 |
解析亚马逊 Text JSON ract 的回复。 | 使用以下代码JSON将响应解析为表单和表格:
| 数据科学家,开发人员 |
加载模板JSON文件并将其与解析后的JSON文件进行匹配。 | 通过以下命令使用
| 数据科学家,开发人员 |
后期处理校正。 | 在
| 数据科学家,开发人员 |
相关资源
附件
要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip