使用 Amazon Textract 自动化文档处理 - 从 OCR 到表单与表格提取
通过超越 OCR 的表单和表格结构识别,从发票、收据和身份证件中自动提取数据。同时介绍通过 A2I 集成人工审核。
Textract 的 API 体系
Textract 是基于机器学习的文档分析服务,提供超越传统 OCR 的结构化数据提取。DetectDocumentText 是基本的 OCR 功能,从图像或 PDF 中按行和词提取文本。AnalyzeDocument 是识别表单(键值对)和表格(行列结构)的高级分析功能。例如,从申请表的「姓名:山田太郎」中自动配对键「姓名」和值「山田太郎」。AnalyzeExpense 是专门针对发票和收据的 API,将供应商名称、开票日期、总金额、税额和明细行作为结构化数据提取。AnalyzeID 从驾照和护照中提取姓名、出生日期、地址等信息。
大量文档的异步处理
同步 API 处理单页图像,但处理多页 PDF 或大量文档时需使用异步 API。通过 StartDocumentTextDetection 或 StartDocumentAnalysis 启动处理,完成通知发送到 SNS 主题。通过 Lambda 函数接收通知,使用 GetDocumentTextDetection 或 GetDocumentAnalysis 获取结果的事件驱动架构是标准模式。以 S3 文档上传为触发器,通过 Lambda 调用 Textract 并将提取结果存储到 DynamoDB 的管道,可完全自动化文档处理。
精度提升与人工审核
Textract 的提取结果为每个字段附带置信度分数(0-100%)。对于置信度低于阈值的结果,可使用 Amazon Augmented AI (A2I) 路由到人工审核工作流。审核人员在 A2I 控制台中并排查看原始文档和提取结果,进行修正。修正结果作为反馈积累,可用于提升后续处理的质量。使用 Textract 的查询功能,可以自然语言指定问题(例如:「患者姓名是?」)从文档中提取特定信息,也能应对表单结构不固定的文档。 如需全面学习 Textract 的算法,请参考技术书籍 (Amazon)。
Textract 的定价
Textract 按各 API 的按量计费。DetectDocumentText (OCR) 每页约 0.0015 美元,AnalyzeDocument(表单/表格)约 0.015 美元,AnalyzeExpense(发票)约 0.01 美元,AnalyzeID(身份证件)约 0.01 美元。Queries 功能每页约 0.015 美元加上每个查询约 0.005 美元。处理大量文档时,先用 DetectDocumentText 执行 OCR,仅对需要结构化数据提取的页面应用 AnalyzeDocument 的两阶段处理可优化成本。
总结
Textract 是一项超越传统 OCR、在理解文档结构的基础上提取数据的服务。针对表单、表格、发票、身份证件等不同文档类型提供专用 API,大幅减少手动数据录入工作。通过与 A2I 的集成嵌入人工审核,可应对要求高精度的业务流程。