了解文档智能示例标记工具的入门知识
此内容适用于: v2.1。
提示
- 若要获得增强的体验和高级模型质量,请尝试文档智能 v3.0 工作室。
- v3.0 工作室支持任何使用 v2.1 标记数据进行训练的模型。
- 若要详细了解如何从 v2.1 迁移到 v3.0,可参阅 API 迁移指南。
- 请参阅 REST API 或 C#、Java、JavaScript 或 Python SDK 快速入门,了解如何开始使用 v3.0 版本。
Azure AI 文档智能示例标记工具是一种开源工具,可用于测试文档智能和光学字符识别 (OCR) 服务的最新功能:
利用布局 API 来分析文档。 试用布局 API 以从文档中提取文本、表、选择标记和结构。
使用预构建的模型分析文档。 首先,使用预构建的模型从发票、收据、标识文档或名片中提取数据。
训练和分析自定义表单。 使用自定义模型从特定于不同业务数据和用例的文档中提取数据。
先决条件
你需要以下内容才能开始:
Azure 订阅 - 可以创建试用订阅
Azure AI 服务或文档智能资源。 获得 Azure 订阅后,在 Azure 门户中创建单服务或多服务文档智能资源以获取密钥和终结点。 可以使用免费定价层 (
F0
) 试用该服务,然后再升级到付费层进行生产。提示
如果计划通过一个终结点/密钥访问多个 Azure AI 服务,请创建 Azure AI 服务资源。 请创建仅供文档智能访问的文档智能资源。 请注意,如果你打算使用 Microsoft Entra 身份验证,则需要单一服务资源。
创建文档智能资源
转到 Azure 门户并创建新的文档智能资源。 在“创建”窗格中提供以下信息:
项目详细信息 | 说明 |
---|---|
订阅 | 选择已被授予访问权限的 Azure 订阅。 |
资源组 | 包含你的资源的 Azure 资源组。 可以创建新组或将其添加到预先存在的组。 |
区域 | Azure AI 服务资源的位置。 不同位置可能会导致延迟,但不会影响资源的运行时可用性。 |
名称 | 资源的描述性名称。 建议使用描述性名称,例如“MyNameFormRecognizer”。 |
定价层 | 资源的费用取决于所选的定价层和使用情况。 有关详细信息,请参阅 API 定价详细信息。 |
查看 + 创建 | 选择“查看 + 创建”按钮,在 Azure 门户上部署资源。 |
检索密钥和终结点
文档智能资源完成部署以后,请在门户的“所有资源”列表中找到并选中它。 你的密钥和终结点将位于资源的“密钥和终结点”页的“资源管理”下。 请先将它们保存到临时位置,然后继续。
使用预构建的模型进行分析
文档智能提供了多个预先生成的模型以供选择。 每个模型支持一套自身特有的字段。 用于 Analyze
操作的模型由要分析的文档类型确定。 下面是文档智能服务目前支持的预生成模型:
导航到“文档智能示例工具”。
在示例工具主页上,选择“使用预生成模型获取数据”磁贴。
从下拉菜单中选择要分析的“表单类型”。
从以下选项中选择要分析的文件的 URL:
从“源”字段的下拉菜单中选择“URL”,粘贴所选 URL,然后选择“提取”按钮。
在“文档智能服务终结点”字段中,粘贴使用文档智能订阅获得的终结点。
在“密钥”字段中,粘贴从文档智能资源中获取的密钥。
选择“运行分析”。 文档智能示例标记工具可调用分析预生成 API 并分析文档。
查看结果 - 查看提取的键值对、明细项目、突出显示的提取的文本和检测到的表。
下载 JSON 输出文件,查看详细结果。
- “readResults”节点包含每一行文本,及其各自在页面上的边界框位置。
- “selectionMarks”节点会显示每个选择标记(复选框、单选按钮)以及其状态是
selected
还是unselected
。 - “pageResults”部分包含提取的表。 对于每个表,将会提取文本、行和列索引、行和列跨距、边界框等。
- “documentResults”字段包含文档中相关度最高部分的键/值对信息和明细项目信息。
分析布局
Azure 文档智能布局 API 可从文档(PDF 和 TIFF)和图像(JPG、PNG 和 BMP)提取文本、表、选择标记和结构信息。
导航到“文档智能示例工具”。
在示例工具主页上,选择“使用布局获取文本、表和选择标记”。
在“文档智能服务终结点”字段中,粘贴使用文档智能订阅获得的终结点。
在“密钥”字段中,粘贴从文档智能资源中获取的密钥。
从“源”字段的下拉菜单中选择“URL”,粘贴以下 URL
https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/layout-page-001.jpg
,然后选择“提取”按钮。选择“运行布局”。 文档智能示例标记工具可调用
Analyze Layout API
并分析文档。查看结果 - 查看突出显示的提取的文本、检测到的选择标记和表。
下载 JSON 输出文件,查看详细的布局结果。
readResults
节点包含每一行文本,以及其各自在页面上的边界框位置。selectionMarks
节点显示每个选择标记(复选框、单选按钮)以及其状态是selected
还是unselected
。pageResults
部分包含提取的表。 对于每个表,将会提取文本、行和列索引、行和列跨距、边界框等。
训练自定义表单模型
训练自定义模型以分析和提取特定于企业的表单和文档中的数据。 该 API 是已经过训练的机器学习程序,可识别不同内容中的表单字段并提取键值对和表数据。 至少需要 5 个相同类型的表单示例才能开始,自定义模型可使用,也可不使用带标记的数据集进行训练。
训练自定义表单模型的先决条件
包含一组训练数据的 Azure 存储 Blob 容器。 确保所有训练文档的格式相同。 如果有多种格式的表单,请根据通用格式将它们组织到子文件夹中。 对于此项目,可以使用我们的示例数据集。
如果不知道如何使用容器创建 Azure 存储帐户,请按照 Azure 门户的 Azure 存储快速入门中的说明操作。
配置 CORS
需要在 Azure 存储帐户上配置 CORS(跨源资源共享),以便可以从文档智能工作室进行访问。 若要在 Azure 门户中配置 CORS,需要访问存储帐户的 CORS 选项卡。
选择存储帐户的 CORS 选项卡。
首先,在 Blob 服务中创建一个新的 CORS 条目。
将“允许的源”设置为“
https://fott-2-1.azurewebsites.net
”。提示
可以使用通配符“*”(而不是指定域)允许所有源域通过 CORS 发出请求。
为“允许的方法”选择所有可用的 8 个选项。
通过在每个字段中输入 * 来批准所有“允许的标头”和“公开的标头” 。
将“最长时间”设置为 120 秒或任何可接受的值。
选择页面顶部的“保存”按钮并保存更改。
使用示例标记工具
导航到“文档智能示例工具”。
在示例工具主页上,选择“使用自定义表单通过标签训练模型并获取键值对”。
选择“新建项目”
创建新项目
使用以下值来配置“项目设置”字段:
显示名称。 为项目命名。
安全令牌。 每个项目都会自动生成一个安全令牌,可用于加密/解密敏感项目设置。 可以在左侧导航栏底部选择齿轮图标,然后在“应用程序设置”中找到安全令牌。
源连接。 示例标记工具将连接到源(上传的原始表单)和目标(创建的标签和输出数据)。 可以在项目之间设置和共享连接。 它们使用可扩展的提供程序模型,因此你可以轻松地添加新的源/目标提供程序。
- 创建新连接,选择“添加连接”按钮。 在字段中填写以下值:
- 显示名称。 为连接命名。
- 说明。 添加一项简短说明。
- SAS URL。 粘贴 Azure Blob 存储容器的共享访问签名 (SAS) URL。
- 若要检索自定义模型训练数据的 SAS URL,请转到Azure 门户中你的存储资源,然后选择“存储浏览器”选项卡。导航到你的容器,单击右键并选择“生成 SAS”。 请务必获取容器的 SAS,而不是存储帐户本身的。 确保选中“读取”、“写入”、“删除”和“列表”权限,然后选择“创建” 。 然后将“URL”部分中的值复制到临时位置。 它应当采用
https://<storage account>.blob.core.chinacloudapi.cn/<container name>?<SAS value>
形式。
文件夹路径(可选)。 如果源表单位于 Blob 容器中的文件夹中,请指定文件夹名称。
文档智能服务 URL - 文档智能终结点 URL。
Key。 文档智能密钥。
API 版本。 保留值 v2.1(默认值)。
描述(可选)。 描述你的项目。
标记表单
创建或打开项目时,会打开主标记编辑器窗口。 标记编辑器由三部分组成:
- 一个可调整大小的预览窗格,其中包含源连接中的可滚动表单列表。
- 可以应用标记的主编辑器窗格。
- 通过标记编辑器窗格,用户可以修改、锁定、重新排序和删除标记。
标识文本和标签
在左侧窗格中选择“对未访问的文档运行布局”,以获取每个文档的文本和表布局信息。 标记工具将在每个文本元素周围绘制边界框。
标记工具还将显示已自动提取的表。 选择文档左侧的表/网格图标并查看提取的表。 由于表内容是自动提取的,我们不会对表内容进行标记,而是依靠自动提取。
将标签应用于文本
接下来创建标记(标签),并将其应用到希望模型分析的文本元素。 请注意,示例标签数据集包含已标记的字段,我们会另外添加一个字段。
使用标记编辑器窗格来创建要识别的新标记:
选择 + 加号以创建新标记。
输入标记“总计”名称。
按 Enter 以保存标记。
在主编辑器中,从突出显示的文本元素中选择值总计。
选择要应用到值的“总计”标记,或按相应的键盘键。 数字键已分配为前 10 个标记的热键。 可以使用标记编辑器窗格中的向上和向下箭头图标对标记进行重新排序。 按照以下步骤标记示例数据集中的所有五种形式:
提示
在标记窗体时,请记住以下提示:
只能将一个标记应用到所选的每个文本元素。
每页只能应用每个标记一次。 如果某个值多次显示在同一窗体中,将为每个实例创建不同的标记。 例如:“invoice# 1”、“invoice# 2”等。
标记不能跨页。
按照值在窗体中的显示方式标记值;不要尝试使用两个不同的标记将值拆分为两个部分。 例如,即使某个地址字段跨越多行,也应使用单个标记对其进行标记。
不要在标记的字段中包含键 — 仅包含值。
系统应会自动检测表数据,最终的输出 JSON 文件的“pageResults”部分中将提供这些数据。 但如果模型无法检测到所有表数据,你也可以对模型进行标记和训练以检测表,请参阅训练自定义模型 | 标记表单
使用 + 右侧的按钮搜索、重命名、重新排序和删除标记。
若要在不删除标记本身的情况下删除已应用的标记,请在文档视图上选择带标记的矩形,并按 Delete 键。
训练自定义模型
在左侧窗格中选择“训练”图标并打开“训练”页。 然后选择“训练”按钮开始训练模型。 训练过程完成后,你将看到以下信息:
模型 ID - 已创建和训练的模型的 ID。 每个训练调用都将创建一个具有自己的 ID 的新模型。 将此字符串复制到安全位置;如果要通过 REST API 或客户端库进行预测调用,则需要使用此字符串。
平均准确度 - 模型的平均准确性。 可以通过标记更多表单并重新训练来创建新的模型,从而提高模型准确度。 我们建议先标记五个表单、分析并测试结果,然后根据需要添加更多表单。
标记列表,以及每个标记的估计准确度。 有关详细信息,请参阅说明及提升准确性和置信度。
分析自定义表单
从导航栏中选择
Analyze
图标并测试模型。选择源本地文件并浏览文件,从你在测试文件夹中解压缩的示例数据集中进行选择。
选择“运行分析”按钮,获取表单的键/值对、文本和表预测值。 该工具在边界框中应用标记,并报告每个标记的置信度。
就这么简单! 你已经了解了如何使用面向文档智能预构建、布局和自定义模型的文档智能示例工具。 你还了解了如何分析包含手动标记数据的自定义表单。