View a markdown version of this page

自定义查询教程 - Amazon Textract

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

自定义查询教程

本教程向您展示如何创建、训练、评估、使用和管理适配器。

借助适配器,您可以提高 Amazon Textract API 操作的准确性,根据自己的需求和用例自定义模型的行为。使用本教程创建适配器后,您可以在使用 AnalyzeDocumentAPI 操作分析自己的文档时使用它,也可以重新训练适配器以备将来的改进。

在本教程中,您将学习如何:

  • 使用创建适配器 AWS 管理控制台。

  • 创建用于训练适配器的数据集。

  • 注释您的训练数据。

  • 在训练数据集上训练您的适配器。

  • 查看适配器的性能。

  • 重新训练您的适配器。

  • 使用您的适配器进行文档分析。

  • 删除您的适配器。

先决条件

在开始之前,我们建议您先阅读创建适配器

您还必须设置 AWS 帐户并安装和配置 S AWS DK。有关 SDK 的设置说明,请参阅步骤 2:设置 AWS CLI and AWS 软件开发工具包

创建适配器

在训练或使用适配器之前,必须先创建一个适配器。要创建适配器,请执行以下操作:

  1. 登录 AWS 管理控制台 并打开亚马逊 Textr act 控制台。

  2. 在左侧窗格中,选择 “自定义查询”。将显示亚马逊 Textract 自定义查询登录页面。

    Self-service 界面显示了 Amazon Textract Custom Queries 功能,用于提高业务文档的信息提取准确性,其图标描述了其优势和工作流程步骤,例如创建适配器、上传样本、标签、训练模型和检查绩效指标。
  3. Custom Queries 登录页面显示了所有适配器的列表,还有一个用于创建适配器的按钮。选择 “创建适配器” 来创建您的适配器。每个 AWS 账户每月可以成功进行的培训数量是有限的。有关限制在 Amazon Textract 中设置配额的更多信息,请参阅。

    您的适配器列表为空,上面有 “无适配器” 消息和 “创建适配器” 按钮。
  4. 在下一页上,输入适配器名称,选择是否自动更新适配器,并可选择向其添加标签。然后,选择 “创建适配器”。当您选择 “自动更新” 时,Amazon Textract 将在预训练查询功能更新时自动更新您的适配器。

创建适配器后,您将能够看到该适配器的详细信息,包括适配器名称和适配器 ID。这些详细信息的存在验证适配器是否已成功创建。

现在,您可以创建用于训练和测试适配器的数据集。

数据集创建

在此步骤中,您将通过从本地计算机或 Amazon S3 存储桶上传图像来创建训练数据集和测试数据集。有关数据集的更多信息,请参见 检测文本 准备训练和测试数据集

从本地计算机上传图像时,您一次最多可以上传 30 张图片。如果您有大量图像要上传,请考虑通过从 Amazon S3 存储桶导入图像来创建数据集。

  1. 要开始创建数据集,请从适配器列表中选择您的适配器,然后选择创建数据集

    my-test-adapter 的 Textract 自定义查询页面显示了创建数据集、查询、验证文档、训练适配器、检查性能指标和改进适配器的步骤。
  2. 在 “数据集配置” 部分,选择 “手动拆分” 或 “自动拆”。通过手动拆分,您可以将单个图像指定为训练和测试数据集的一部分。如果您选择 Autosplit,它将在您上传所有图像时自动定义您的训练和测试集。对于首次训练适应者的人,建议手动拆分。现在,选择 “自动拆分”。

    界面显示了为 Amazon Textract 创建数据集的选项——要么手动拆分以自己提供训练和测试集,要么自动拆分让Textract自动拆分为训练集和测试集。从 S3 存储桶或本地文件导入文档。
  3. 在训练数据集详细信息部分,您可以选择从计算机上传文档或从 S3 存储桶导入文档。如果您选择从 Amazon S3 存储桶导入文档,请提供存储桶的路径以及包含您的训练图像的文件夹。如果您直接从计算机上传文档,请注意一次只能上传 30 个文档。在本教程中,请选择从您的计算机上传文档。

  4. 在测试数据集详细信息部分,您可以选择从计算机上传文档或从 S3 存储桶导入文档。在本教程中,选择 “从您的计算机上传文档”。

  5. 选择创建数据集

  6. 创建数据集后,您将进入数据集详细信息页面。数据集详细信息页面显示了整个数据集中所有文档的列表,以及您的文档已分配到数据集的哪一部分(训练或测试)。在 “分配给的数据集” 列下查看。您还可以查看以下内容:

    • 文档名称

    • 文件状态

    • 文档的页数

    • 文档类型

    • 文档大小

    • 如果文档是训练集或测试集的一部分

  7. 选择 “向数据集添加文档”,然后将至少五个文档添加到您的训练和测试数据集中。如果您之前选择了 “自动拆分”,则可以一次添加所有文档。

  8. 如果要向数据集中添加更多文档,请使用添加文档菜单进行操作。

在开始训练适配器之前,需要使用 Queries 对训练文档进行注释。这是创建清单文件的 “annotations-ref” 条目所必需的。将所有文档添加到训练集或测试集之后,就可以开始注释过程了。

注释和验证

在此步骤中,您将为上传到训练和测试数据集的每个文档分配查询和标签。您可以使用 AWS 管理控制台 批注工具将查询链接到文档页面上的相关答案。

要为文档分配查询和答案,请执行以下操作:

  1. 从 “适配器” 登录页面中选择 “创建查询”。

    要自动注释文档,请选择 “创建查询” 按钮,创建供Textract预训练模型使用的查询。
  2. 通过在文本框中输入查询来添加查询。

    用于在 Amazon Textract 上创建查询的界面,其中带有 “指定 Textract 可以用来提取所需信息的查询” 的文本框。显示的示例查询是 “支票金额是多少?”
  3. 要添加更多查询,请选择添加新查询。查询可以有 “原始文本” 响应或 “二进制- Yes/No” 响应。要创建带有二进制响应的查询,请使用高级设置。

    用于在文档文件上创建文本提取查询的接口。允许为每个查询提示指定原始文本或二进制 (yes/no) 响应类型。界面上有用于输入查询文本、选择响应类型和添加新查询的字段。
  4. 创建查询后,必须为文档分配标签。要为文档设置标签,请选择Auto-labeling手动贴标。 Auto-labeling 建议您在首次训练适配器时使用。选择该Auto-labelling选项,然后选择 “开始自动标注”。

    Auto-labeling 选择 “推荐” 徽章和 “开始自动贴标” 按钮的选项。
  5. 自动贴标过程需要一些时间才能完成。完成后,系统会通知您 “Auto-labeling 现已完成”。标签过程完成后,必须验证标签的准确性。在 “详细信息” 页面的 “适配器详细信息” 面板中选择 “验证文档”,然后从 “数据集” 页面选择 “开始审阅”。

    数据集拆分概述共显示 16 个文档,其中 10 个在训练集中,6 个在测试集中。没有无效文件。状态表示数据集已准备就绪,可供审查。
  6. 在批注工具中,您可以选择单个文档并查看这些文档中的各个页面。在 “查看回复” 部分下,选择已分配给您的文档页面的查询。如果查询的答案不正确,您可以通过单击查询的编辑按钮来编辑响应。

    查看显示客户姓名 John Doe 示例的回复屏幕并提示您输入摊销类型。包括 “应用” 和 “取消” 按钮。

    对于带有 Yes/No 答案的查询,请选择 “是”、“否” 或 “空”。然后,选择 “应用”。

    编辑分配给查询的标签的 OCR 时,请选择提供的响应,然后在文档图像的一部分周围画一个边框。为此,请使用注释工具底部工具栏上的 “B” 快捷键或边界框工具。然后,选择 “应用”。

    如果一个查询应该有多个响应元素(答案),则可以添加其他响应。为此,请选择查询,然后选择添加响应。然后,系统会提示您在有答案的文档区域画一个边框。确认您的装订箱的标签正确无误。

    要为文档页面添加新查询,请选择添加查询。如果添加查询,则必须指定要添加的查询,然后为查询标签绘制一个边界框。

    完成后,选择 “提交” 和 “下一步”,继续阅读下一个文档以及下一组查询和回复。重复此操作,直到您查看所有查询和回复。

    查看并评估所有查询和回复后,选择提交并关闭

训练

将所有文档添加到训练集或测试集并查看生成的查询响应后,就可以训练适配器了。

Amazon Textract 适配器数据集概述显示 16 个文档,其中 10 个在训练集中,6 个在测试集中,没有无效文件。数据集状态为注释审核完成。

要训练适配器,请执行以下操作:

  1. 首先在 “数据集管理” 页面上单击 “训练适配器”。

    通过 “训练适配器” 按钮,通知您的数据集中有足够的文档来训练适配器。
  2. 启动训练过程时,您可以指定一个 Amazon S3 存储桶,该存储桶将包含您的适配器训练作业的输出。如果您指定的 Amazon S3 存储桶位置尚不存在,则系统将为您创建存储桶路径。您还可以向适配器添加标签以对其进行跟踪,并自定义您的加密设置。根据您的需求自定义适配器训练,然后选择 T rain Adapter

  3. 在下一页上,选择 T rain Adap ter 以确认您要开始训练过程。这将创建您的适配器的第一个版本。

训练过程开始后,您可以在 Adapter 登录页面上监控训练过程的状态。

培训过程完成后,您会收到通知。然后,您可以通过检查指标来评估适配器的性能。

评估适配器性能

要评估模型性能,请使用左侧导航窗格选择要评估的适配器版本。

适配器性能指标显示 F1 分数、精度和召回率均为 94.4%。

通过检查适配器的指标,您可以确定您的适配器对数据集中的文档和您定义的查询的表现如何。您可以在训练数据的不同元素(查询、文档和页面)中查看适配器的 F1 分数、精度和召回率。要在这些元素的性能之间切换,请选择指标显示窗格下方的不同选项卡。

您还可以随时通过切换到基准指标开关来查看基准指标

适配器版本的性能摘要还包含一些有关如何提高适配器性能的提示。您可以随时查看这些小贴士,以改进您的适配器。有关如何管理和改进适配器的更多信息,请参阅评估和改进您的适配器

要演示您的适配器并在文档中查看其性能,请执行以下操作:

  1. 选择 “试用适配器”。

    试试 “适配器” 按钮和 Ver. 1 下拉菜单。
  2. 在 “试用适配器” 页面上,您可以选择要使用适配器分析的文档。选择 “选择文档” 按钮,然后浏览到文档在设备上的位置。或者,将文档拖放到上传文档窗格中。

上传文档后,Try Adapter 页面将更新以显示适配器的分析结果,包括查询、查询答案和置信度。如果您对适配器的性能感到满意,则可以在调用AnalyzeDocumentStartDocumentAnalysis时使用适配器继续进行推理。否则,您可以通过使用其他文档对适配器进行重新训练来提高适配器的性能。

改进适配器

要提高适配器的性能,请执行以下操作:

  1. 在适配器详细信息页面上选择修改数据集

    工作流程图显示了创建、验证、训练和改进用于文本提取的自定义数据集的步骤:1. 创建数据集,2. 创建查询,3。验证文件,4. 火车适配器,5. 检查性能指标,6. 改进适配器。
  2. 在数据集概述页面上,选择添加文档。要重新训练适配器,请向训练数据集再添加至少五个文档。

  3. 系统会通知您已将文档添加到数据集中。选择 “开始审阅” 以查看自动贴标流程的结果。

  4. 查看查询和回复。查看并批准所添加文档的所有注释后,选择 “提交并关闭”。

  5. 在数据集管理页面上,选择训练适配器,开始使用训练数据集中的所有数据(包括新的训练文档)训练适配器。

您运行的每项训练作业都会创建一个新版本的适配器。请记下新适配器版本的名称,以确保您评估的是正确适配器版本的性能。

推理

创建适配器后,系统会为您提供自定义适配器的 ID。您可以将此 ID 提供给用于同步文档分析的AnalyzeDocument操作,或为异步分析的StartDocumentAnalysis操作提供此 ID。

提供适配器 ID 会自动将适配器集成到分析过程中,并使用它来增强对文档的预测。这样,您就可以利用的功能, AnalyzeDocument 同时对其进行自定义以满足您的需求。

有关如何使用适配器和 AnalyzeDocument API 操作运行推理的示例,请参阅使用亚马逊 Textract 分析文档文本

当必须将多个适配器应用于同一文档中的不同页面时,您可以在 API 请求中指定一个或多个适配器及其各自的适配器版本。您可以使用 Page 参数来指定要将适配器应用到哪些页面。

注意以下几点:

这与查询Page参数的工作原理类似。注意以下几点:

  • 如果未指定页面,则["1"]默认情况下会将其设置为。

  • 以下字符在参数字符串中有效:1 2 3 4 5 6 7 8 9 - *。空格无效。

  • 使用* 表示所有页面时,它必须是列表中唯一的元素。

  • Page参数在适配器之间不重叠。一个页面只能应用一个适配器。

适配器管理

迭代重复以下步骤(在对适配器进行初始训练之后):

  • 在 Amazon Textract 控制台的适配器详情页面上选择修改数据集

  • 选择 “添加文档”。

  • 向训练数据集再添加至少五个文档,以重新训练您的适配器。

  • 系统会通知您已将文档添加到数据集中。选择 “开始审阅” 以查看自动贴标流程的结果。

  • 查看查询和回复。查看并批准新文档的所有注释后,选择 T rain adapter

  • 等待适配器完成新一轮训练,然后检查新适配器版本的性能指标。

将模型训练到目标性能水平后,可以在应用程序中使用适配器进行推理。

请务必删除不再需要的适配器版本。要删除适配器,请执行以下操作:

  • 转到 “适配器” 登录页面,选择适配器,然后选择 “删除”。

  • 在文本框中键入 “删除”,然后选择 “删除”。