自定义提取器机制

您可以创建专门适合您的文档使用的自定义提取器,并使用您的数据进行训练和评估。此处理器会从您的文档中识别并提取实体。之后,您便可以将此经过训练的处理器用于其他文档。

准备工作

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Document AI, Cloud Storage APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Document AI, Cloud Storage APIs.

    Enable the APIs

创建处理器

  1. 在 Google Cloud 控制台的 Document AI 部分中,前往 Workbench 页面。

    Workbench

  2. 对于自定义提取器,选择创建处理器

    updated-cde-2.0-path-to-docai-1

  3. 创建处理器菜单中,输入处理器的名称,例如 my-custom-document-extractor

    updated-cde-2.0-path-to-docai-2

  4. 选择离您最近的区域。

  5. 可选:打开高级选项

    • 您可以选择让 Google 为您创建 Cloud Storage 存储桶,也可以创建自己的存储桶。在本教程中,请选择由 Google 管理的存储空间

    • 您还可以选择使用 Google 管理的加密密钥或客户管理的加密密钥 (CMEK)。 在本教程中,请选择由 Google 管理的 加密密钥

  6. 选择创建以创建处理器。

定义处理器字段

您现在位于刚刚创建的处理器的处理器概览页面。

updated-cde-2.0-path-to-docai-3

您可以指定希望处理器提取的字段并开始为文档添加标签。

  1. 选择开始使用标签页。系统随即会显示字段菜单。

  2. 选择创建新字段

  3. 输入字段的名称。选择数据类型出现。 为标签提供一个具有描述性且独一无二的说明。借助属性说明,您可以为每个实体提供额外的背景信息、数据洞见和先验知识,从而提高提取准确性和性能。

updated-cde-2.0-path-to-docai-9
  1. 选择创建。如需详细了解如何创建和修改架构,请参阅定义处理器架构
  1. 为处理器架构创建以下每个标签。

    名称 数据类型 出现次数
    control_number 数量 可选,数量不限
    employees_social_security_number 数量 必需,数量不限
    employer_identification_number 数量 必需,数量不限
    employers_name_address_and_zip_code 地址 必需,数量不限
    federal_income_tax_withheld 金额 必需,数量不限
    social_security_tax_withheld 金额 必需,数量不限
    social_security_wages 金额 必需,数量不限
    wages_tips_other_compensation 金额 必需,数量不限

    您还可以在处理器架构中创建和使用其他类型的标签,例如复选框和表格实体。例如,W-2 表单包含法定雇员养老金计划第三方病假工资复选框,您也可以将这些复选框添加到架构。

    updated-cde-2.0-path-to-docai-4

上传示例文档

使用示例文档进行测试。

  1. 选择上传示例文档

  2. 在边栏中,选择从 Google Cloud Storage 中导入文档

  3. 在此示例中,请在来源路径中输入此存储桶名称。这可直接链接到一个文档。

    cloud-samples-data/documentai/Custom/W2/PDF/W2_XL_input_clean_2950.pdf
    
  4. 选择导入

系统会将您重定向至标签控制台。

为文档加标签

在文档中选择文本并应用标签的过程称为“添加注解”或“添加标签”。

  1. 在标签控制台中,您会发现已填充了许多标签。这是因为默认的自定义提取器模型类型为基础模型,可以执行零样本预测(即无需训练)。

    updated-cde-2.0-path-to-docai-5

  2. 如需使用建议的标签,请将指针悬停在侧边栏中的每个标签上,然后选择对勾标记以确认标签正确无误。请勿修改文本,即使 OCR 未正确识别文本也是如此。

  3. 在此示例中,文档底部的值未自动识别,因此您需要手动为这些值添加标签。

  4. 使用文档上方工具栏中的图标添加标签。默认情况下使用边界框工具,或使用选择文本工具设置多行值,以选择内容并应用标签。

  5. 选择文本后,系统会显示一个下拉菜单,其中包含所有已定义的字段(实体),供您选择。在此示例中,我们使用边界框工具选择了 wages_tips_other_compensation 的值并应用了该标签。

    updated-cde-2.0-path-to-docai-6

  6. 查看检测到的文本值,以确保其反映每个字段的正确文本位置。完成添加标签的 W2 文档应如下所示:

    updated-cde-2.0-path-to-docai-7

  7. 如果需要,您可以选择创建新字段,以通过此页面向架构添加新字段。

  8. 完成为文档添加注解后,选择标记为已加标签。系统会将您重定向至开始使用标签页。

使用基础模型构建处理器版本

为单个文档添加标签后,您可以使用预训练的基础模型创建处理器版本来提取实体。

  1. 选择构建标签页。

    updated-cde-2.0-path-to-docai-8

  2. 调用基础模型下,选择创建新版本

  3. 输入处理器版本的名称,例如 w2-foundation-model

  4. 选择创建版本。创建过程需要几分钟的时间。

  5. 可选:选择部署和使用标签页。在此页面上,您可以查看可用的处理器版本以及新版本的部署状态。

使用生成式 AI 自动为文档添加标签

基础模型可以准确提取各种文档类型的字段,不过您也可以提供额外的训练数据,以提高模型针对特定文档结构的准确率。

自定义提取器使用您定义的标签名称和之前的注解,通过自动添加标签功能可以更加轻松快捷地为文档大规模添加标签。

  1. 前往构建页面。

  2. 选择导入文档

  3. 在边栏中,选择从 Google Cloud Storage 中导入文档

  4. 输入包含您的文档的此存储桶名称。

  5. 数据拆分列表中,选择自动拆分。这会自动拆分文档,使其数据在训练集中占 80%,在测试集中占 20%。

  6. 自动加标签部分,选中使用自动添加标签功能导入复选框。

  7. 选择基础模型处理器版本,以便为文档添加标签。

  8. 选择导入,然后等待文档导入。您可以暂时离开此页面,稍后再返回来查看。

  9. 您必须先验证自动添加标签的文档,然后才能将其用于训练或测试。选择开始添加标签以查看自动添加标签的文档。

  10. 如需使用建议的标签,请将指针悬停在每个注解上,然后选择对勾标记以确认标签正确无误。出于训练目的,当值与文档文本不匹配时,请勿修改值。仅当选择了错误的文本时才更改边界框。

  11. 完成为文档添加注解后,选择标记为已加标签

  12. 针对每个自动添加标签的文档重复上述步骤。

导入预先添加标签的训练文档

  1. 前往构建页面。

  2. 选择导入文档

  3. 在边栏中,选择从 Google Cloud Storage 中导入文档

  4. 来源路径中输入包含您的文档的路径。此存储桶应包含文档 JSON 格式的预先添加标签的文档。

  5. 数据拆分列表中,选择自动拆分。这会自动拆分文档,使其数据在训练集中占 80%,在测试集中占 20%。请不要勾选使用自动添加标签功能导入

  6. 选择导入。 导入过程需要几分钟时间。

可选:查看和管理数据集

  1. 构建页面中,您可以访问管理数据集控制台,以查看和修改数据集中的所有文档和标签。

训练基于自定义模型的处理器

训练过程可能需要几个小时。因此在开始训练之前,请确保您已使用适当的数据和标签设置处理器。

  1. 如需了解数据集要求,请在训练自定义模型下,选择创建新版本查看完整要求。这不是生成式 AI 模型。对于基于自定义模型的处理器,每个字段至少需要 10 个训练实例和 10 个测试实例。

  2. 版本名称字段中,输入此处理器版本的名称,例如 w2-custom-model

  3. 可选:选择查看标签统计信息,找到文档标签的相关信息。这有助于确定覆盖率。选择关闭即可返回训练设置。

  4. 模型训练方法下,选择基于模型

  5. 选择开始训练。 训练过程需要几个小时。您可以暂时关闭此页面,稍后再返回来查看。

  6. 可选:选择部署和使用标签页。 在此页面上,您可以查看可用的处理器版本以及新版本的训练状态。

部署处理器版本

  1. 训练完成后,选择部署和使用标签页。

  2. 选中您要部署的版本左侧的复选框,然后选择部署

  3. 从对话框窗口中选择部署。部署需要几分钟时间。

  4. 部署版本后,您可以将其设置为默认版本,也可以在使用 API 处理文档时提供版本 ID。

评估和测试处理器

  1. 选择评估标签页以测试处理器版本。在此页面上,您可以查看完整文档以及各个标签的各项评估指标,包括 F1 得分、精确率和召回率。如需详细了解评估及统计信息,请参阅评估处理器

  2. 选择版本选择器,然后选择使用基础模型的版本。

  3. 下载之前训练或测试中未涉及的文档,以便使用它来评估处理器版本。如果您使用自己的数据,则可以使用为此目的预留的文档。

    下载 PDF 文件

  4. 选择上传测试文档,然后选择您刚刚下载的文档。系统随即会打开自定义文档提取器分析页面。该屏幕上的输出内容展示了文档的提取效果。

  5. 使用带有自定义训练模型的版本再次测试文档。

使用处理器

您已成功创建并训练了一个自定义提取器处理器。

您可以像管理任何其他处理器版本一样管理自定义训练的处理器版本。如需了解详情,请参阅管理处理器版本

如需使用 Document AI API,请执行以下操作:

  • 请按照发送处理请求中的代码示例进行操作,使用在线处理或批处理功能。
    • 如需了解在线和批处理支持的页面数量,请参阅配额和限制
  • 请按照对处理响应进行处理中的自定义提取器代码示例进行操作,从处理器中获取已提取的实体。

清理

为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。

为避免产生不必要的 Google Cloud 费用,请使用 Google Cloud 控制台删除您不需要的处理器和项目。

如果您为了解 Document AI 创建了一个新项目,但现在不再需要该项目,请删除项目

如果您使用的是现有 Google Cloud 项目,请删除您创建的资源,以避免您的账号产生费用:

  1. 在 Google Cloud 控制台导航菜单中,依次选择 Document AI我的处理器

  2. 选择要删除的处理器所在行中的更多操作

  3. 选择删除处理器,输入处理器名称,然后再次选择删除进行确认。

后续步骤

如需了解详情,请参阅指南