模块 1:准备指南
学习模块
概览
Amazon Textract 和 .NET 工作负载徽章体现您对 Amazon Textract 服务和 .NET 工作负载的精通程度。此准备指南逐个主题解释了您需要了解哪些内容才能通过评测,并提供了可供您查看的资源。您还应该将该服务与自己的应用程序或 AWS 教程结合使用,获得实践经验。
准备就绪后,前往“模块 2”参加评测考试。
用途
Textract 是一项机器学习(ML)服务,可从 PDF 和图像等扫描文档中自动提取文本、手写内容和数据。该服务不是简单的光学字符识别技术(OCR),而是可以识别、理解并提取表单和表格中的数据。Textract 使用机器学习来读取和处理任何类型的文档,可以精确地提取文本、手写字、表格和其他数据,不需要任何手动工作。
优势
使用 Textract,您可以实现以下好处:
- 提升业务效率并加快决策速度,同时降低成本
- 从几乎任何文档中高度准确地提取关键见解
- 纵向扩展或缩减文档处理管道,以快速适应市场需求
- 使用数据隐私、加密和合规性标准安全地自动处理数据
功能
Textract 的功能包括:
- 将文档文本检测集成到您的应用程序中。 Textract 通过一个简单的 API 来提供强大且准确的分析功能,消除了在应用程序中构建文本检测功能的复杂性。
- 可扩展的文档分析:Textract 使您能够从数百万个文档中快速分析和提取数据,从而加快决策速度。
- 多种语言。Textract 支持英语、西班牙语、德语、意大利语、法语和葡萄牙语。
- 多种文档格式。 Textract 可以处理 PDF、TIFF、JPEG 和 PNG 文档。
定价
您应该熟悉 Amazon Textract 定价模型和免费套餐。使用 Textract 时,您只需按实际用量付费。既没有最低费用,也无需预先承诺。Textract 仅对处理的页面收费,无论您是提取文本、带表格的文本、表单数据、查询还是处理发票和身份文档。
- 费率因 API 而异。Textract 包含 5 个 API(Detect Document Text、Analyze Document、Analyze Expense、Analyze ID、Analyze Lending),每个 API 均按每 1000 页的特定费率收费。
- 不同 AWS 区域的费率可能有所不同。
- 达到每月门槛后,您可以支付较低的费率。一旦达到 API 的每月阈值,您就可以在该月剩余时间内按较低的费率付费。例如,当您在一个月内收到一百万个文档后,检测文档 API 的收费会降低。每个 API 的阈值和费率都不同。
- AWS Free Tier 持续 3 个月,每个 API 为您提供不同数量的免费页面。 例如,您每月可免费获得 1000 页的检测文档文本 API 和 100 页的分析费用 API。
- 您可以使用定价页面中的 AWS 定价计算器来估算您的成本。
使用案例
以下是使用 Amazon Textract 的常见用例:
- 创建智能搜索索引。使用 Textract,您可以创建包含在图像和 PDF 文件中检测到的文本的库。
- 使用智能文本提取进行自然语言处理(NLP)。Textract 使您可以控制如何将文本分组为 NLP 应用程序的输入。它可以将文本提取为单词和文本行。如果启用文档表格分析,它还会按表格单元格对文本进行分组。
- 加速不同来源数据的捕获和标准化。Textract 可以从各种文档(例如财务文档、研究报告和医疗笔记)中提取文本和表格数据。
- 自动从表单捕获数据。 Textract 支持从表单中提取结构化数据。借助 API,您可以将提取功能构建到现有业务工作流中,以便将通过表单提交的用户数据提取为可用的格式。
- 自动进行文档分类和提取。借助 Textract 的 Analyze Lending 文档处理 API,您可以自动将贷款文档分类为各种文档类别,然后自动将分类页面路由到正确的分析操作以进行进一步处理。
Textract 的行业使用案例包括以下内容。
- 金融服务:准确提取抵押贷款利率、申请人姓名和发票总额等各种金融表格的关键业务数据,以在数分钟内处理贷款和抵押贷款申请。
- 医疗保健与生命科学:从健康摄食表单、保险金申请和预授权表单中提取重要患者数据后,您可以更好地为患者和保险公司服务。保持数据在其原始上下文中组织有序,免去对输出的人工审查。
- 公共部门:轻松地从政府相关表格中提取相关数据,例如小企业贷款、联邦税表或商业申请,具有高度的准确性。
Amazon Textract 产品详情页面 — 使用案例
功能
您应该了解这些功能:
1.光学字符识别。 Textract 使用光学字符识别(OCR)自动检测扫描或呈现文件(如法律文件或图书扫描)中的打印文本、手写内容和数字。
2.分析贷款。Textract 的 Analyze Lending API 是一种托管、预配置的智能文档处理 API,可完全自动从贷款包中提取信息。您只需将抵押贷款文档上传到 Analyze Lending API,其预构建的机器学习模型将按文档类型对文档包进行分类和拆分。
3.表单提取。您可以自动检测文档图像中的键值对并保留上下文,无需手动干预。键值对是一组关联的数据项目。例如,在文档中,字段“First Name”是键,“Jane”是值。这样一来,您就可以轻松将提取的数据导入数据库中,或将其作为变量在应用程序中提供。
开发人员指南 — 分析文档 — 表单提取
4.表格提取。Textract 会保留提取期间存储在表中的数据组成。这对于主要由结构化数据组成的文档(例如带有列和行表格的财务报告或医疗记录)很有帮助。您可以使用预定义的架构将提取的数据加载到数据库中。例如,库存报告中的项目编号和数量行将保留其关联性,以便库存管理应用程序可以轻松增加项目总数。
5.签名检测。Textract 提供检测任何文档或图像上的签名的功能。这样可以轻松自动检测支票、贷款申请表和索赔表等文档上的签名。签名的位置和相关的置信度分数包含在 API 响应中
开发人员指南 — 分析文档 — 签名
6.基于查询的提取。 Textract 使您可以灵活地指定需要使用查询从文档中提取的数据。您可以以自然语言问题的形式(例如,“客户名称是什么”)指定需要的信息,以及接收作为 API 响应一部分的确切信息(例如,“John Doe”)。您无需了解文档中的数据结构(表格、表单、隐含字段、嵌套数据),也无需担心文档版本和格式之间的差异。Textract 查询针对各种文档进行了预先训练,包括工资单、银行对账单、W-2、贷款申请表、抵押票据、索赔文件和保险卡。Textract 查询非常灵活,可以减少对实施后处理的需要、对提取数据的手动审查的依赖或对训练 ML 模型的需要。查询提取仅适用于英文文档检测。
开发人员指南 — 分析文档 — 查询
7.手写识别:许多文件(例如医疗登记表和就业申请)都包含手写文本和印刷文本。Amazon Textract 可以从具有高置信度分数的英文文档中提取这两种内容,无论文本是自由格式还是嵌入在表格中。文档还可以混合键入文本和手写文本。
8.发票和收据。发票和收据可能有多种版式,这使得手动大规模提取数据变得困难且耗时。Amazon Textract 使用机器学习(ML)来了解发票和收据的上下文,并自动提取相关数据,例如供应商名称、发票编号、商品价格、总金额和付款条件。当您向AnalyzeExpense API 提交发票或收据时,它会返回一系列ExpenseDocument 对象。每个 ExpenseDocument 进一步分为 LineItemGroups 和 SummaryFields。
9.身份证件。Textract 使用机器学习(ML)来了解身份证件(如美国护照和驾驶执照)的上下文,无需模板或配置。您可以自动提取特定信息,如过期日期和出生日期,以及智能识别和提取隐含信息,如姓名和地址。使用 Analyze ID,提供身份验证服务的企业以及金融、医疗保健和保险领域的企业可以允许客户提交其身份证件的照片或扫描件,从而轻松实现账户创建、预约安排、就业申请等的自动化。
10.内置人工审核工作流。Textract 直接与 Amazon Augmented AI(A2I)集成,让您可以对文档中提取出的打印文本和手写字轻松执行人工审核。为您的应用程序选择一个置信度阈值,置信度低于该阈值的所有预测都会自动发送给人工审核者进行验证。您还可以指定应发送哪些键值对以供人工审核,并将 A2I 配置为发送随机选择的文档以供审核。
适用于 .NET 的 AWS SDK
使用适用于 .NET 的 AWS SDK 通过 .NET 代码与 Textract 进行交互。您应该了解用于支持上面“功能”下列出的功能的主要 SDK 类和方法。
- 要使用开发工具包,请将 AWSSDK.Textract NuGet 包添加到您的 C# 项目。
- 要使用 Textract,请实例化 AmazonTextractClient 的实例并调用其方法。
- 某些名称以 Async 结尾的 SDK 方法是使用 C# wait 关键字异步调用的。
- 使用创建请求对象的标准 SDK 模式来传递给方法并处理返回的响应对象。方法的 SDK 文档描述了其请求和响应对象。请求和响应对象具有与其支持的方法相同的根名称。例如,DetectDocumentTextAsync 方法的请求和响应对象名为 DetectDocumentTextRequest 和 DetectDocumentTextResponse。
using (var textractClient = new AmazonTextractClient(RegionEndpoint.USEast1))
{
var bytes = File.ReadAllBytes("example.png");
Console.WriteLine("Detect Document Text");
var detectResponse = await textractClient.DetectDocumentTextAsync(new DetectDocumentTextRequest
{
Document = new Document
{
Bytes = new MemoryStream(bytes)
}
});
foreach (var block in detectResponse.Blocks)
{
Console.WriteLine($"Type {block.BlockType}, Text: {block.Text}");
}
}
同步和异步操作
Textract 操作分为“同步”和“异步”类型。这与 C# 异步方法无关。
- “同步”操作近乎实时地返回结果。它们用于检测和分析单页文档中的文本。
- “异步”操作在后台运行。它们用于多页文档处理。例如,超过 1000 页的 PDF 文件需要很长时间才能处理,但异步处理 PDF 文件可以让您的应用程序在操作完成的同时完成其他任务。这些方法名称以“Start”一词开头,例如 StartDocumentAnalysis。
文本的行和单词
Textract 操作会返回在块对象列表中检测到的文本。这些对象表示在文档页面上检测到的文本行或文本单词。PAGE、LINE. 和 WORD 对象的列表以父子关系返回。
边界框
Textract 操作会返回在文档页面上找到的项目的位置和几何形状。所有提取的数据均以边界框坐标返回,即每段已识别数据(例如单词、文本行、表格或表格中的各个单元格)外围的多边形框架。这可以帮助您审核单词或数字在源文档中的位置,并在搜索结果提供原始文档的扫描件时,以便为您提供指导。例如,在医疗记录中搜索患者病史详细信息时,您可以轻松找到源文档并记下以备将来搜索。
可调整置信度阈值
从文档中提取信息时,Textract 会针对其识别的所有内容返回置信度分数,以便您就如何使用结果做出明智的决策。例如,如果您从税务记录中提取信息并希望确保高精度,则可以标记置信度分数低于 95% 的任何项目以供人工审核。您可以为其他文档设置较低的阈值,在这些文档中,错误产生的负面影响较小,例如在处理简历或数字化存档记录时。
处理受限制的调用和断开的连接
如果超过每秒最大事务数(TPS),导致服务限制您的应用程序,或者当连接断开,Textract 操作可能会失败。您可以通过自动重试操作来管理节流和断开的连接。通过在创建 Amazon Textract 客户端时包含 Config 参数来指定重试次数。AWS 建议的重试次数为 5 次。AWS SDK 会在失败并引发异常之前按指定的次数重试操作。
限额
您对 Amazon Textract 的使用受限额限制。有两种限额:
- 设定限额无法更改。其中包括可接受的文件格式、文件大小和页数限制、特定于 PDF 的限制、图像大小和旋转、字符大小、字符集和 ID 类型。
- 可以通过服务限额控制台查看或更改默认限额。TPS 限额决定您可以请求 Textract 处理新文档的频率。并发作业限制定义在给定时间可以并行运行的作业数量。
您可以使用服务限额计算器来估算限额需求。
最佳实践
您应该熟悉 Textract 的以下最佳实践:
- 提供最佳输入文档:至少 150 DPI 的高质量图像,采用 Textract 支持的语言和格式。
- 使用置信度分数。考虑 Textract API 操作返回的置信度分数及其用例的敏感度。最佳阈值因应用程序而异。在对检测错误(误报)敏感的应用程序中,强制执行最小置信度分数阈值。
- 考虑使用人工审核。您可以将人工审核纳入工作流。这对于敏感的应用程序(例如涉及财务决策的业务流程)尤其重要。
开发人员指南 — Amazon Textract 的最佳实践
实践经验
您应该具有使用 Textract 从文档中提取文本、手写内容和数据的经验。如果您没有可使用的应用程序,则可以使用下面的教程和演示。
教程
提取文本和结构化数据(AWS 管理控制台教程)
您好,Textract!(编程教程)
示例应用程序
社区视频
Textract 和 .NET 6 简介 — 第 1 集,作者:Tom Moore
Textract 和 .NET 6 简介 — 第 2 集,作者:Tom Moore
AWS 使用经验
新手或中级
.NET 使用经验
中级
完成时间
最多 3 个小时,具体取决于以前的经验
使用的服务
Amazon Textract
上次更新日期
2022 年 7 月 7 日