你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 AI 文档智能自动化文档处理

Azure AI 搜索
Azure AI 服务
Azure Cosmos DB
Azure AI 文档智能
Azure 机器学习

本文概述了一个可缩放且安全的解决方案,用于生成自动化文档处理管道。 该解决方案使用 AI 文档智能对数据进行结构化提取。 自然语言处理 (NLP) 模型和自定义模型可扩充数据。

体系结构

显示数据在文档处理的提取、扩充和分析阶段的流动情况的体系结构示意图。

下载此体系结构的 Visio 文件

数据流

以下部分介绍数据提取过程的各个阶段。

数据引入和提取

  1. 文档通过 Web 应用程序前端的浏览器引入。 文档包含图像或采用 PDF 格式。 Azure 应用程序服务托管后端应用程序。 解决方案通过 Azure 应用程序网关将文档路由到该应用程序。 此负载均衡器与 Azure Web 应用程序防火墙一起运行,这有助于保护应用程序免受常见攻击和漏洞的影响。

  2. 后端应用程序向使用以下模型之一的 Azure AI 文档智能 REST API 终结点发布请求:

    Azure AI 文档智能的响应包含原始光学字符识别 (OCR) 数据和结构化提取。

  3. 应用程序服务后端应用程序使用置信度值来检查提取质量。 如果质量低于指定的阈值,则应用会标记数据进行手动验证。 提取质量满足要求时,数据将进入 Azure Cosmos DB 供下游应用程序使用。 该应用还可以将结果返回到前端浏览器。

  4. 其他源提供图像、PDF 文件和其他文档。 源包括电子邮件附件和文件传输协议 (FTP) 服务器。 Azure 数据工厂AzCopy 等工具将这些文件传输到 Azure Blob 存储。 Azure 逻辑应用提供管道,用于自动从电子邮件中提取附件。

  5. 当文档进入 Blob 存储时,将触发 Azure 函数。 函数:

    • 向相关 Azure AI 文档智能预构建终结点发布请求。
    • 接收响应。
    • 评估提取质量。
  6. 提取的数据进入 Azure Cosmos DB。

数据扩充

用于数据扩充的管道取决于用例。

  1. 数据扩充可以包含以下 NLP 功能:

    • 命名实体识别 (NER)
    • 提取个人信息、关键短语、运行状况信息和其他依赖于域的实体

    要扩充数据,Web 应用将:

  2. 自定义模型对数据执行欺诈检测、风险分析和其他类型的分析:

    • Azure 机器学习服务训练和部署自定义模型。
    • 从 Azure Cosmos DB 检索提取的数据。
    • 模型从数据中派生见解。

    推理存在以下可能性:

  3. 扩充的数据进入 Azure Cosmos DB。

分析和可视化效果

  1. 应用程序使用原始 OCR、来自 Azure AI 文档智能终结点的结构化数据以及来自 NLP 的丰富数据:

    • Power BI 显示数据并提供相关报表。
    • 数据充当 Azure 认知搜索的源。
    • 其他应用程序使用数据。

组件

  • 应用程序服务是 Azure 的平台即服务 (PaaS) 产品。 可以使用应用程序服务托管可以手动或自动横向缩减或横向扩展的 Web 应用程序。 该服务支持多种语言和框架,例如 ASP.NET、ASP.NET Core、Java、Ruby、Node.js、PHP 和 Python。

  • 应用程序网关是一种第 7 层(应用程序层)负载均衡器,可用于管理发往 Web 应用程序的流量。 可以使用 Azure Web 应用程序防火墙运行应用程序网关,以帮助保护 Web 应用程序免受常见攻击和漏洞的影响。

  • Azure Functions 是一个无服务器计算平台,可用于构建应用程序。 借助 Functions,可以使用触发器和绑定来响应 Azure 服务(如 Blob 存储和 Azure Cosmos DB)中的更改。 Functions 可以运行计划任务、实时处理数据和处理消息队列。

  • Azure AI 文档智能是 Azure AI 服务的一部分。 Azure AI 文档智能提供了一组预构建的终结点,用于从发票、文档、收据、身份证和名片中提取数据。 此服务将每个提取的数据映射到字段作为键值对。 Azure AI 文档智能还提取表格内容和结构。 输出格式为 JSON。

  • Azure 存储是一种云存储解决方案,包括对象、blob、文件、磁盘、队列和表存储。

  • Blob 存储是 Azure 存储中的一项服务。 Blob 存储提供针对大量非结构化数据进行了优化的云对象存储。

  • Azure Data Lake Storage 是一种可缩放且安全的数据湖,适用于高性能分析工作负载。 这些数据通常来自多个异构源,可以是结构化的、半结构化的或非结构化的。 Azure Data Lake Storage Gen2 结合了 Azure Data Lake Storage Gen1 功能与 Blob 存储。 作为下一代数据湖解决方案,Data Lake Storage Gen2 提供文件系统语义、文件级安全性和缩放功能。 但它还提供 Blob 存储的分层存储、高可用性和灾难恢复功能。

  • Azure Cosmos DB 是完全托管、快速响应、可缩放的 NoSQL 数据库。 Azure Cosmos DB 提供企业级安全性并支持许多数据库、语言和平台的 API。 示例包括 SQL、MongoDB、Gremlin、表和 Apache Cassandra。 Azure Cosmos DB 中的无服务器自动缩放选项可以有效管理应用程序的容量需求。

  • AI Language 提供许多 NLP 服务,可以使用这些服务来理解和分析文本。 其中一些服务是可自定义的,例如自定义 NER、自定义文本分类、对话语言理解和问题解答。

  • 机器学习是一个开放平台,用于大规模管理机器学习模型的开发和部署。 机器学习适用于不同用户的技能级别,例如数据科学家或业务分析师。 该平台支持常用的开放框架,并提供自动特征化和算法选择。 可以将模型部署到各种目标。 示例包括 AKSAzure 容器实例作为 Web 服务进行大规模实时推理,以及用于批量评分的 Azure 虚拟机。 机器学习中的托管终结点会抽象化实时批处理模型推理所需的基础结构。

  • AKS 是一项完全托管的 Kubernetes 服务,可以轻松部署和管理容器化应用程序。 AKS 提供无服务器 Kubernetes 技术(一种整合的持续集成和持续交付 (CI/CD) 体验)以及企业级安全性和管理。

  • Power BI 是显示分析信息的软件服务和应用的集合。

  • Azure 认知搜索是一项云搜索服务,提供基础结构、API 和搜索工具。 可以使用 Azure 认知搜索通过 Web、移动和企业应用程序中的专用异类内容生成搜索体验。

备选方法

方案详细信息

自动化文档处理和数据提取是整个行业垂直组织中不可或缺的任务。 AI 是在此过程中经过验证的解决方案之一,尽管实现 100% 的准确度是一个遥远的现实。 但是,使用 AI 进行数字化(而不是纯手动过程)可以减少多达 90% 的手动工作量。

光学字符识别 (OCR) 可以从图像和 PDF 文件中提取内容,这些文件构成了组织使用的大部分文档。 此过程使用关键字搜索和正则表达式匹配。 这些机制从全文中提取相关数据,然后创建结构化输出。 这种方法有缺点。 修改提取后过程以满足不断变化的文档格式需要大量的维护工作。

可能的用例

此解决方案非常适合金融业。 它也适用于汽车、旅游和酒店业。 以下任务可以从此解决方案中受益:

  • 批准费用报告
  • 处理保险索赔和财务审核的发票、收据和账单
  • 处理包含发票、出院摘要和其他文档的声明
  • 自动审批工作陈述 (SoW)
  • 自动提取 ID 以进行验证,如护照或驾照
  • 自动将名片数据输入访问者管理系统
  • 识别购买模式和重复财务文档以进行欺诈检测

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

使用此解决方案时,请记住以下几点。

可用性

体系结构的可用性取决于构成解决方案的 Azure 服务:

可伸缩性

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述

  • Azure Web 应用程序防火墙可帮助保护应用程序免受常见漏洞的影响。 此应用程序网关选项使用 Open Worldwide Application Security Project (OWASP) 规则来防止跨站脚本、会话劫持和其他攻击。

  • 要提高应用程序服务安全性,请考虑以下选项:

    • 应用程序服务可以通过虚拟网络集成访问 Azure 虚拟网络中的资源。
    • 可以在应用程序服务环境中使用应用程序服务,将其部署到专用虚拟网络中。 此方法有助于隔离应用程序服务与虚拟网络中其他资源之间的连接。

    有关详细信息,请参阅 Azure 应用程序服务中的安全性

  • Blob 存储和 Azure Cosmos DB 对静态数据进行加密。 可以使用服务终结点或专用终结点来保护这些服务。

  • Azure Functions 支持虚拟网络集成。 通过使用此功能,函数应用可以访问虚拟网络中的资源。 有关详细信息,请参阅 [Azure Functions 网络选项][Azure Functions 网络选项]。

  • 可以配置 Azure AI 文档智能和 AI 语言,以便从特定虚拟网络或专用终结点进行访问。 这些服务对静态数据进行加密。 可以使用订阅密钥、令牌或 Microsoft Entra ID 对这些服务的请求进行身份验证。 有关详细信息,请参阅对 Azure AI 服务的请求进行身份验证

  • 机器学习提供许多级别的安全性:

复原

  • 解决方案的复原能力取决于各个服务(例如应用程序服务、Functions、Azure Cosmos DB、存储和应用程序网关)的故障模式。 有关详细信息,请参阅特定 Azure 服务的复原能力检查表

  • 可以使 Azure AI 文档智能具有复原能力。 可能的方法包括将表单识别器设计为故障转移到另一个区域和将工作负载拆分到两个或更多区域。 有关详细信息,请参阅备份和还原 Azure AI 文档智能模型

  • 机器学习服务依赖于许多 Azure 服务。 要提供复原能力,需要将每个服务配置为具有复原能力。 有关详细信息,请参阅业务连续性和灾难恢复的故障转移

成本优化

成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述

实现此解决方案的成本取决于所使用的组件以及为每个组件所选的选项。

许多因素可能会影响每个组件的价格:

  • 处理的文档数
  • 应用程序收到的并发请求数
  • 处理后存储的数据的大小
  • 部署区域

这些资源提供有关组件定价选项的信息:

确定每个组件的定价层后,使用 Azure 定价计算器来估算解决方案成本。

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

主要作者:

  • Jyotsna Ravi |首席客户工程师
  • Dixit Arora | 高级客户工程师

后续步骤