你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
文档智能自定义模型
重要
- 使用文档智能选公共预览版,可以提前使用目前正处于开发状态的功能。 在正式发布 (GA) 之前,根据用户反馈,功能、方法和流程可能会发生更改。
- 文档智能客户端库的公共预览版默认使用 REST API 版本 2024-07-31-preview。
- 公共预览版 2024-07-31-preview 目前仅在以下 Azure 区域中可用。 请注意,AI Studio 中的自定义生成式(文档字段提取)模型仅适用于美国中北部区域:
- 美国东部
- 美国西部 2
- “西欧”
- 美国中北部
此内容适用于: v2.1 | 最新版本: v4.0(预览版)
文档智能使用高级机器学习技术从表单与文档中识别文档,检测和提取信息,并以结构化的 JSON 输出返回提取的数据。 借助文档智能,可以使用文档分析模型、预生成/预训练模型或已训练的独立自定义模型。
自定义模型现在包括自定义分类模型,用于在调用提取模型之前需要标识文档类型的场景。 分类器模型从 API 开始 2023-07-31 (GA)
可用。 分类模型可以与自定义提取模型配对,以分析和提取特定于业务的表单和文档中的字段。 可以组合独立的自定义提取模型来创建组合模型。
自定义文档模型类型
自定义文档模型可以是两种类型之一:自定义模板或自定义表单和自定义神经或自定义文档模型。 这两种模型的标记和训练过程相同,但模型本身存在以下差异:
自定义提取模型
若要创建自定义提取模型,请标记包含要提取的值的文档数据集,并基于标记的数据集训练模型。 只需要有五个相同表单或文档类型的示例即可开始。
自定义神经模型
重要
从版本 4.0 (2024-02-29-preview) API 开始,自定义神经网络模型现在支持重叠字段,还支持表、行和单元格级别的置信度。
自定义神经(自定义文档)模型使用深度学习模型和在大量文档集合的基础上训练的基本模型。 在使用标记的数据集训练模型时,可以根据数据微调或改编此模型。 自定义神经模型支持从结构化、半结构化和非结构化文档中提取关键数据字段。 在两种模型类型之间选择时,开始可以先使用神经网络模型来确定它是否符合你的功能需求。 请参阅神经模型来详细了解自定义文档模型。
自定义模板模型
自定义模板或自定义表单模型依赖于使用一致的视觉模板来提取标记的数据。 文档视觉结构差异会影响模型的准确度。 结构化表单(如问卷或申请)是一致的视觉模板的示例。
训练集由结构化文档组成,其中格式和布局从一个文档实例到下一个文档实例都是静态且不变的。 自定义模板模型支持键值对、选择标记、表、签名字段和区域。 模板建模并且可以用任何支持语言的文档进行训练。 有关详细信息,参阅自定义模板模型。
如果文档和提取方案的语言支持自定义神经模型,建议使用自定义神经模型而不是模板模型,以获得更高的准确度。
提示
为确保训练文档呈现一致的视觉模板,请从集内的每个表单中删除用户输入的所有数据。 如果空白表单在外观上相同,则它们会呈现一致的视觉模板。
有关详细信息,请参阅解释和提高自定义模型的准确度与置信度。
输入要求
为获得最佳结果,请针对每个文档提供一张清晰的照片或高质量的扫描件。
支持的文件格式:
型号 PDF 图像: jpeg/jpg
、png
、bmp
、tiff
、heif
Microsoft Office:
Word (docx)、Excel (xlsx)、PowerPoint (pptx)读取 ✔ ✔ ✔ 布局 ✔ ✔ ✔(2024-02-29-preview、2023-10-31-preview 及更高版本) 常规文档 ✔ ✔ 预生成 ✔ ✔ 自定义提取 ✔ ✔ 自定义分类 ✔ ✔ ✔ ✱ 其他模型或版本当前不支持 Microsoft Office 文件。
对于 PDF 和 TIFF,最多可处理 2,000 页(对于免费层订阅,仅处理前两页)。
用于分析文档的文件大小对于付费 (S0) 层为 500 MB,对于免费 (F0) 层为 4 MB。
图像尺寸必须介于 50 x 50 像素与 10,000 x 10,000 像素之间。
如果 PDF 是密码锁定的文件,则必须先删除锁,然后才能提交它们。
对于 1024 x 768 像素的图像,要提取的文本的最小高度为 12 像素。 此尺寸对应于 150 点/英寸的大约
8
号字文本。对于自定义模型训练,自定义模板模型的训练数据最大页数为 500,自定义神经模型的训练数据最大页数为 50,000。
对于自定义提取模型训练,模板模型的训练数据总大小为 50 MB,神经模型的训练数据总大小为为 1G-MB。
对于自定义分类模型训练,训练数据的总大小为
1GB
,最大为 10,000 页。
最优训练数据
训练输入数据是任何机器学习模型的基础。 它确定了模型的质量、准确性和性能。 因此,为文档智能项目创建可能最佳的训练输入数据至关重要。 在使用文档智能自定义模型时,需要提供你自己的训练数据。 下面是可帮助你有效训练模型的几点提示:
尽可能使用基于文本而不是基于图像的 PDF。 识别基于图像*的 PDF 的方法之一是尝试选择文档中的特定文本。 如果只能选择文本的整个图像,则文档应该基于图像,而不是基于文本。
使用每种格式(JPEG/JPG、PNG、BMP、PDF 或 TIFF)的子文件夹来组织训练文档。
使用已填写所有可用字段的表单。
使用在每个字段中包含不同值的表单。
如果图像质量较低,请使用更大的数据集(超过 5 个训练文档)。
确定是需要使用单个模型,还是组合成单个模型的多个模型。
请考虑将数据集拆分为文件夹,其中每个文件夹都是一个唯一的模板。 为每个文件夹训练一个模型,并将生成的模型组合到单个终结点中。 使用单个模型分析不同的格式时,模型准确度可能会降低。
如果表单的格式和分页有差异,请考虑将数据集分段,以训练多个模型。 自定义表单依赖于一致的视觉模板。
考虑到格式、文档类型和结构,确保数据集平衡。
生成模式
“build custom model
”操作添加了对“模板”和“神经网络”自定义模型的支持。 以前版本的 REST API 和客户端库仅支持现在称为“模板”模式的单一生成模式。
模板模型只接受具有相同基本页面结构(统一的视觉外观)或文档中元素的相同相对位置的文档。
神经模型支持具有相同信息但页面结构不同的文档。 这些文档的示例包括美国 W2 表单,这些表单共享相同的信息,但在各个公司中在外观上可能有所不同。
下表提供了在 GitHub 上生成模式编程语言 SDK 参考和代码示例的链接:
编程语言 | SDK 参考 | 代码示例 |
---|---|---|
C#/.NET | DocumentBuildMode 结构 | Sample_BuildCustomModelAsync.cs |
Java | DocumentBuildMode 类 | BuildModel.java |
JavaScript | DocumentBuildMode 类型 | buildModel.js |
Python | DocumentBuildMode 枚举 | sample_build_model.py |
比较模型特征
下表比较了自定义模板模型和自定义神经网络模型的功能:
功能 | 自定义模板(表单) | 自定义神经(文档) |
---|---|---|
文档结构 | 模板、表单和结构化 | 结构化、半结构化和非结构化 |
定型时间 | 1 - 5 分钟 | 20 分钟 - 1 小时 |
数据提取 | 键值对、表、选择标记、坐标和签名 | 键值对、选择标记和表 |
重叠字段 | 不支持 | 支持 |
文档变体 | 每个变体需要一个模型 | 对所有变体使用单一模型 |
语言支持 | 语言支持自定义模板 | 语言支持自定义神经网络 |
自定义分类模型
文档分类是文档智能使用 2023-07-31
(v3.1 GA) API 支持的新方案。 文档分类器 API 支持分类和拆分应用场景。 训练分类模型以识别应用程序支持的不同类型的文档。 分类模型的输入文件可以包含多个文档,并在关联的页面范围内对每个文档进行分类。 要了解更多信息,请参阅自定义分类模型。
注意
从 2024-02-29-preview
API 版本开始,文档分类现在支持对 Office 文档类型进行分类。 此 API 版本还引入了分类模型的增量训练。
自定义模型工具
文档智能 v3.1 及更高版本模型支持以下工具、应用程序、库和程序:
功能 | 资源 | 模型 ID |
---|---|---|
自定义模型 | • 文档智能工作室 • REST API • C# SDK • Python SDK |
custom-model-id |
自定义模型生命周期
自定义模型的生命周期取决于用于训练它的 API 版本。 如果 API 版本是正式发布 (GA) 版本,则自定义模型与该版本具有相同的生命周期。 当 API 版本被弃用后,自定义模型不可用于推理。 如果 API 版本是预览版本,则自定义模型与该 API 的预览版本具有相同的生命周期。
文档智能 v2.1 支持以下工具、应用程序和库:
功能 | 资源 |
---|---|
自定义模型 | • 文档智能标记工具 • REST API • 客户端库 SDK • 文档智能 Docker 容器 |
构建自定义模型
使用自定义模型从特定的或独一无二的文档中提取数据。 需要以下资源:
示例标记工具
提示
- 若要获得增强的体验和高级模型质量,请尝试文档智能 v3.0 工作室。
- v3.0 工作室支持任何使用 v2.1 标记数据进行训练的模型。
- 若要详细了解如何从 v2.1 迁移到 v3.0,可参阅 API 迁移指南。
- 请参阅 REST API 或 C#、Java、JavaScript 或 Python SDK ../快速入门,了解如何开始使用 v3.0 版本。
文档智能示例标记工具是一种开源工具,可用于测试文档智能的最新功能和光学字符识别 (OCR) 功能。
请尝试示例标签工具快速入门,开始生成和使用自定义模型。
文档智能工作室
注意
文档智能工作室与 v3.1 和 v3.0 API 一起提供。
在文档智能工作室主页上,选择“自定义提取模型”。
在“我的项目”下,选择“创建项目”。
填写“项目详细信息”字段。
通过添加存储帐户和 Blob 容器,连接训练数据源,从而配置服务资源。
查看并创建项目。
添加示例文档来标记、生成和测试自定义模型。
如需了解如何创建第一个自定义提取模型的详细分步操作,请参阅如何创建自定义提取模型。
自定义模型提取摘要
下表比较了支持的数据提取区域:
建模 | 表单域 | 选定标记 | 结构化字段(表) | 签名 | 区域标记 | 重叠字段 |
---|---|---|---|---|---|---|
自定义模板 | ✔ | ✔ | ✔ | ✔ | ✔ | n/a |
自定义神经 | ✔ | ✔ | ✔ | n/a | * | ✔ (2024-02-29-preview) |
表符号:
✔—支持
**n/a—当前不可用;
*-行为因模型而异。 使用模板模型时,会在训练时生成合成数据。 使用神经网络模型时,会选择区域中识别的退出文本。
提示
在两种模型类型之间进行选择时,如果自定义神经模型符合功能需求,请从该类型着手。 请参阅自定义神经来详细了解自定义神经模型。
自定义模型开发选项
下表描述了可以配合相关工具和客户端库使用的功能。 作为最佳做法,请确保使用此处列出的兼容工具。
文档类型 | REST API | SDK | 标记和测试模型 |
---|---|---|---|
自定义模板 v 4.0、v3.1、v3.0 | 文档智能 3.1 | 文档智能 SDK | 文档智能工作室 |
自定义神经网络 v4.0、v3.1、v3.0 | 文档智能 3.1 | 文档智能 SDK | 文档智能工作室 |
自定义表单 v2.1 | 文档智能 2.1 GA API | 文档智能 SDK | 示例标记工具 |
注意
由于 OCR 引擎的改进,使用 3.0 API 训练的自定义模板模型相比使用 2.1 API 会得到一定的改进。 用于通过 2.1 API 训练自定义模板模型的数据集仍可用于通过 3.0 API 训练新模型。
为获得最佳结果,请针对每个文档提供一张清晰的照片或高质量的扫描件。
支持的文件格式有 JPEG/JPG、PNG、BMP、TIFF 和 PDF(文本嵌入或扫描式)。 最好是使用文本嵌入式 PDF,这可以避免在提取和定位字符时出错。
对于 PDF 和 TIFF 文件,最多可以处理 2,000 页。 若使用免费订阅层,则只处理前两页。
文件大小必须小于 500 MB(对于付费 (S0) 层)和 4 MB(对于免费 (F0) 层)。
图像尺寸必须介于 50 x 50 像素与 10000 x 10000 像素之间。
PDF 尺寸不超过 17 x 17 英寸,相当于法律专用纸或 A3 纸张尺寸或更小。
训练数据的总大小不得超过 500 页。
如果 PDF 是密码锁定的文件,则必须先删除锁,然后才能提交它们。
提示
定型数据:
- 如果可以,请使用基于文本的 PDF 文档而不是基于图像的文档。 扫描的 PDF 作为图像处理。
- 请只为每份文档提供一个表单实例。
- 对于填充表单,请使用填充了所有字段的示例。
- 在每个字段中使用具有不同值的表格。
- 如果表单图像质量较低,请使用更大的数据集。 例如,使用 10 到 15 个图像。
支持的语言和区域设置
有关受支持语言的完整列表,请参阅我们的语言支持 - 自定义模型页。
后续步骤
尝试使用文档智能示例标记工具来处理你自己的表单和文档。
完成文档智能快速入门,并使用你选择的开发语言开始创建文档处理应用。
尝试使用 Document Intelligence Studio 来处理你自己的表单和文档。
完成文档智能快速入门,并使用你选择的开发语言开始创建文档处理应用。