跳转到主要内容

热门内容

今日:


总体:


最近浏览:


Chinese, Simplified

category

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

架构


显示数据如何在文档处理的提取、丰富和分析阶段流动的体系结构图。

下载此体系结构的Visio文件。

数据流


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

数据接收和提取

  • 文档是通过web应用程序前端的浏览器获取的。这些文档包含图像或为PDF格式。Azure应用程序服务承载后端应用程序。该解决方案通过Azure应用程序网关将文档路由到该应用程序。此负载平衡器与Azure Web应用程序防火墙一起运行,这有助于保护应用程序免受常见攻击和漏洞的攻击。
  • 后端应用程序向使用以下模型之一的Azure AI Document Intelligence REST API终结点发布请求:
    1. Layout
    2. Invoice
    3. Receipt
    4. ID document
    5. General document
    6. US tax document models
    7. US mortgage document model

 

  • Azure AI Document Intelligence的响应包含原始光学字符识别(OCR)数据和结构化提取。
  • App Service后端应用程序使用置信度值来检查提取质量。如果质量低于指定的阈值,应用程序会标记数据以进行手动验证。当提取质量满足要求时,数据进入Azure Cosmos DB,用于下游应用程序消费。该应用程序还可以将结果返回到前端浏览器。
  • 其他来源提供图像、PDF文件和其他文档。来源包括电子邮件附件和文件传输协议(FTP)服务器。Azure数据工厂和AzCopy等工具将这些文件传输到Azure Blob存储。Azure Logic Apps提供了从电子邮件中自动提取附件的管道。
  • 当文档进入Blob存储时,会触发Azure功能。功能:
    • 向相关Azure AI Document Intelligence预构建端点发布请求。
    • 接收响应。
    • 评估提取质量。
  • 提取的数据进入Azure Cosmos数据库。

数据丰富

  • 用于数据丰富的管道取决于用例。
    • 数据丰富可以包括以下NLP功能:
      • 命名实体识别
      • 提取个人信息、关键短语、健康信息和其他领域相关实体
    • 为了丰富数据,web应用程序:
      • 从Azure Cosmos数据库检索提取的数据。
      • 发布对AI语言API的这些功能的请求:
        • NER
        • 个人信息
        • 关键词提取
        • 健康文本分析
        • 自定义NER,正在预览中
        • 情绪分析
        • 意见挖掘
      • 接收来自人工智能语言API的响应。
  • 自定义模型对数据执行欺诈检测、风险分析和其他类型的分析:
    • Azure机器学习服务培训和部署自定义模型。
    • 从Azure Cosmos数据库中检索提取的数据。
    • 这些模型从数据中得出见解。
    • 存在以下推理可能性:
      • 实时流程。这些模型可以部署到托管在线端点或Kubernetes在线端点,其中托管Kubernete集群可以在任何地方,包括Azure Kubernets服务(AKS)。
      • 可以在批处理端点或Azure虚拟机中进行批处理推理。
  • 丰富的数据进入Azure Cosmos数据库。

分析和可视化

  • 应用程序使用原始OCR、来自Azure AI Document Intelligence端点的结构化数据以及来自NLP的丰富数据:
    • Power BI显示数据并提供有关数据的报告。
    • 该数据作为Azure认知搜索的来源。
    • 其他应用程序使用数据。
       

组件

  • 应用服务是Azure上的一种平台即服务(PaaS)产品。您可以使用应用程序服务来托管web应用程序,您可以手动或自动扩展这些应用程序。该服务支持各种语言和框架,如ASP。NET,ASP。NET Core、Java、Ruby、Node.js、PHP和Python。
  • 应用程序网关是一个第7层(应用程序层)负载均衡器,用于管理web应用程序的流量。您可以使用Azure Web应用程序防火墙运行应用程序网关,以帮助保护Web应用程序免受常见的漏洞攻击。
  • Azure函数是一个无服务器计算平台,您可以使用它来构建应用程序。使用函数,您可以使用触发器和绑定对Azure服务(如Blob Storage和Azure Cosmos DB)中的更改做出反应。函数可以运行计划任务、实时处理数据和处理消息队列。
  • Azure人工智能文档智能是Azure人工智能服务的一部分。Azure AI Document Intelligence提供了一组预构建的端点,用于从发票、文档、收据、身份证和名片中提取数据。该服务将提取的每条数据映射到作为键值对的字段。Azure AI Document Intelligence还提取表格内容和结构。输出格式为JSON。
  • Azure Storage是一种云存储解决方案,包括对象、blob、文件、磁盘、队列和表存储。
  • Blob存储是Azure存储的一部分。Blob存储为大量非结构化数据提供了优化的云对象存储。
  • Azure数据湖存储是一种可扩展、安全的数据湖,用于高性能分析工作负载。数据通常来自多个异构源,可以是结构化的、半结构化的或非结构化的。Azure Data Lake Storage Gen2将Azure Data Lake-Storage Gen1功能与Blob Storage相结合。作为下一代解决方案,Data Lake Storage Gen2提供了文件系统语义、文件级安全性和可扩展性。但它也提供了Blob存储的分层存储、高可用性和灾难恢复功能。
  • Azure Cosmos DB是一个完全管理、高度响应、可扩展的NoSQL数据库。Azure Cosmos DB提供企业级安全性,并支持许多数据库、语言和平台的API。示例包括SQL、MongoDB、Gremlin、Table和Apache Cassandra。Azure Cosmos DB中的无服务器自动扩展选项可有效管理应用程序的容量需求。
  • AI语言提供了许多NLP服务,您可以使用这些服务来理解和分析文本。其中一些服务是可定制的,例如自定义NER、自定义文本分类、会话语言理解和问答。
  • 机器学习是一个用于大规模管理机器学习模型开发和部署的开放平台。机器学习迎合了不同用户的技能水平,如数据科学家或商业分析师。该平台支持常用的开放框架,并提供自动特征化和算法选择。您可以将模型部署到各种目标。示例包括AKS、作为用于大规模实时推理的web服务的Azure容器实例,以及用于批量评分的Azure虚拟机。机器学习中的托管端点抽象了实时或批量模型推理所需的基础设施。
  • AKS是一个完全管理的Kubernetes服务,它使部署和管理容器化应用程序变得容易。AKS提供无服务器Kubernetes技术、集成的持续集成和持续交付(CI/CD)体验以及企业级安全和治理。
  • Power BI是显示分析信息的软件服务和应用程序的集合。
  • Azure认知搜索是一种云搜索服务,提供搜索基础设施、API和工具。您可以使用Azure认知搜索在web、移动和企业应用程序中构建针对私有异构内容的搜索体验。

选择

  • 您可以使用Azure虚拟机而不是应用程序服务来托管您的应用程序。
  • 您可以使用任何关系数据库来持久存储提取的数据,包括:
    • Azure SQL数据库。
    • 用于PostgreSQL的Azure数据库。
    • Azure数据库MySQL。
       

场景详细信息

  • 自动化文档处理和数据提取是所有垂直行业组织中不可或缺的任务。人工智能是这一过程中经过验证的解决方案之一,尽管实现100%的准确性是一个遥远的现实。但是,使用人工智能进行数字化,而不是纯粹的手动过程,可以将手动工作量减少90%。
  • 光学字符识别(OCR)可以从图像和PDF文件中提取内容,这些文件构成了组织使用的大多数文档。这个过程使用关键字搜索和正则表达式匹配。这些机制从全文中提取相关数据,然后创建结构化输出。这种方法有缺点。修改提取后流程以满足不断变化的文档格式需要大量的维护工作。

潜在用例


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

  • 审批费用报告
  • 处理保险索赔和财务审计的发票、收据和账单
  • 处理索赔,包括发票、出院摘要和其他文档
  • 工作说明书(SoW)审批自动化
  • 自动提取身份以进行验证,如护照或驾驶执照
  • 将名片数据输入访客管理系统的过程自动化
  • 识别购买模式和重复的财务文档以进行欺诈检测

注意事项


这些注意事项实现了Azure架构良好的框架的支柱,这是一套可用于提高工作负载质量的指导原则。有关详细信息,请参阅Microsoft Azure架构良好的框架。

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

可用性


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

  • Azure人工智能文档智能是Azure人工智能服务的一部分。有关此服务的可用性保证,请参阅Azure AI服务的服务级别协议(SLA)。
  • 人工智能语言是Azure人工智能服务的一部分。有关这些服务的可用性保证,请参阅Azure AI服务的SLA。
  • Azure Cosmos DB通过在每个区域内维护四个数据副本以及跨区域复制数据来提供高可用性。确切的可用性保证取决于您是在单个区域内复制还是跨多个区域复制。有关更多信息,请参阅使用Azure Cosmos DB实现高可用性。
  • Blob存储提供了冗余选项,有助于确保高可用性。您可以使用以下任一方法在主区域中复制数据三次:
    • 位于本地冗余存储(LRS)的单个物理位置。
    • 跨三个使用不同可用性参数的可用性区域。有关更多信息,请参阅耐久性和可用性参数。此选项最适用于需要高可用性的应用程序。
  • 有关解决方案中其他Azure服务的可用性保证,请参阅以下资源:
    • 应用程序服务的SLA
    • Azure功能的SLA
    • 应用程序网关的SLA
    • Azure Kubernetes服务的SLA(AKS)
       

可扩展性

  • 应用程序服务可以根据应用程序负载的变化自动扩展和扩展。有关详细信息,请参阅基于性能数据或计划为Azure资源创建自动缩放设置。
  • Azure功能可以自动扩展,也可以手动扩展。您选择的托管计划决定了功能应用程序的扩展行为。有关更多信息,请参阅Azure功能托管选项。
  • 默认情况下,Azure AI Document Intelligence每秒支持15个并发请求。您可以通过创建带有配额增加请求的Azure支持票证来增加此值。
  • 对于您在AKS上作为web服务托管的自定义模型,azureml-fe会根据需要自动缩放。此前端组件将传入的推理请求路由到已部署的服务。
  • 对于批量推理,机器学习根据需要创建一个自动缩放的计算集群。有关更多信息,请参阅教程:构建用于批量评分的Azure机器学习管道。机器学习使用ParellelRunStep类并行运行推理作业。
  • 对于AI语言,数据和速率限制适用。有关更多信息,请参阅这些资源:
    • 如何使用命名实体识别(NER)
    • 如何检测和编辑个人信息
    • 如何使用情绪分析和意见挖掘
    • 如何使用文本分析进行健康检查
       

安全


安全性提供了防止蓄意攻击和滥用您的宝贵数据和系统的保证。有关更多信息,请参阅安全支柱概述。

  • Azure Web应用程序防火墙有助于保护您的应用程序免受常见漏洞的攻击。此应用程序网关选项使用开放全球应用程序安全项目(OWASP)规则来防止跨站点脚本、会话劫持和其他攻击。
  • 要提高应用程序服务的安全性,请考虑以下选项:
    • 应用程序服务可以通过虚拟网络集成访问Azure虚拟网络中的资源。
    • 您可以在应用程序服务环境中使用应用程序服务,并将其部署到专用虚拟网络。这种方法有助于隔离应用程序服务与虚拟网络中其他资源之间的连接。
      有关详细信息,请参阅Azure应用程序服务中的安全性。
  • Blob存储和Azure Cosmos DB在静止时加密数据。您可以通过使用服务端点或专用端点来保护这些服务。
  • Azure功能支持虚拟网络集成。通过使用此功能,功能应用程序可以访问虚拟网络内的资源。有关详细信息,请参阅Azure功能网络选项。
  • 您可以配置Azure AI文档智能和AI语言,以便从特定虚拟网络或专用端点进行访问。这些服务在静止时加密数据。您可以使用订阅密钥、令牌或Microsoft Entra ID来验证对这些服务的请求。有关更多信息,请参阅对Azure AI服务的身份验证请求。
  • 机器学习提供了许多级别的安全性:
    • 工作区身份验证提供身份和访问管理。
    • 您可以使用授权来管理对工作区的访问。
    • 通过保护工作区资源,可以提高网络安全性。
    • 您可以使用传输层安全性(TLS)来保护通过机器学习部署的web服务。
    • 为了保护数据,您可以更改机器学习使用的Azure存储帐户的访问密钥。
       

弹性

  • 该解决方案的弹性取决于单个服务的故障模式,如应用程序服务、功能、Azure Cosmos DB、存储和应用程序网关。有关更多信息,请参阅特定Azure服务的弹性检查表。
  • 您可以使Azure AI文档智能具有弹性。可能性包括将其设计为故障转移到另一个区域,并将工作负载划分为两个或多个区域。有关更多信息,请参阅备份和恢复Azure AI文档智能模型。
  • 机器学习服务依赖于许多Azure服务。为了提供弹性,您需要将每个服务配置为具有弹性。有关更多信息,请参阅故障切换以获得业务连续性和灾难恢复。

成本优化


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

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

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

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


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


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

贡献者


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

主要作者:

  • Jyotsna Ravi |高级客户工程师

Next steps

本文地址
最后修改
星期四, 七月 4, 2024 - 17:37
Article