AWS Textract DetectDocumentText 和AnalyzeDocument 函数有什么区别?

问题描述 投票:0回答:1

我正在对 AWS Textract 功能进行一些研究。我发现有两种主要方法可以(同步)从 PDF 文件中获取信息:DetectDocumentText 和AnalyzeDocument。我一直在试图理解这两个函数之间的区别,但我似乎找不到具体的信息。

基于 API 文档 DetectDocumentText 返回文档中检测到的文本,而 AnalyzeDocument 分析文档和表单以查找检测到的文本之间的关系。但是,我看到 DetectDocumentText 返回关系,因此这就是我对两个 API 调用之间的差异感到困惑的地方。

检测文档文本返回:

  • 检测到的文本的行和单词
  • 检测到的文本的行和单词之间的关系
  • 检测到的文本出现的页面
  • 文档页面上文本行和单词的位置

一些问题:

  1. 这是否意味着需要在AnalyzeDocument之前调用DetectDocumentText,以便检测到文本,然后调用AnalyzeDocument来了解文本之间的关系?
  2. 仅当数据中没有表单时才应使用 DetectDocumentText 吗?
  3. 使用 DetectDocumentText 与 AnalyzeDocument 相比有什么好处?

任何帮助理解这两个函数的帮助将不胜感激。谢谢!

amazon-web-services text-extraction amazon-textract
1个回答
0
投票

但是,我看到 DetectDocumentText 返回关系,因此这就是我对两个 API 调用之间的差异感到困惑的地方。

Textract 调用的结果始终是一个图形结构:特别是一个森林,每个页面都是树的根,所有检测都是从那里下降的节点。当然,所有图都有节点和边。然而,这里重要的部分是 Textract 为您提供仅包含平面节点列表的 JSON。关系字段包含这些边:它是与当前节点相邻的检测的 ID 列表。无论您调用哪个 Textract API,这都是一样的。

基于 API 文档 DetectDocumentText 返回文档中检测到的文本

根据我刚才的描述,这实际上并不是 100% 正确。您不仅仅获得长字符串形式的原始文本,您还获得该图表,其中每个节点都包含有关其在页面上的几何形状、其在文档中的层次结构以及该特定的置信度的一整套信息检测。它非常精细,就像一两个单词,因此无论您使用什么,都需要在应用程序中进行一定程度的重建才能获取文档的全文。考虑一下具有复杂的栏和段落排列的文档 - 例如报纸的头版。 Textract 不知道如何自行重新组合该文本的阅读顺序(即空间索引),因此它不会代表您做出任何假设。

仅当数据中没有表单时才应使用 DetectDocumentText 吗?

不一定,如果您不需要要检测的表单,可以使用DetectDocumentText。 (或表,或查询等)。 AnalyzeDocument 将在该图中为您提供非常好的数据结构,专门突出显示这些文档功能,而 DetectDocumentText 将使这些功能显示为行和单词,与页面上的其他文本无法区分。

这是否意味着需要在AnalyzeDocument之前调用DetectDocumentText,以便检测到文本,然后调用AnalyzeDocument来了解文本之间的关系?

绝对不是。 AnalyzeDocument 将为您提供从 DetectDocumentText 中获得的所有内容以及额外的内容 - 包括文档中的所有文本。通常,您应该根据您的用例提前知道是否需要这些文档功能(例如表格和表单)。但它绝对不需要两次 API 调用。

使用 DetectDocumentText 与 AnalyzeDocument 相比有什么好处?

因为 DetectDocumentText 功能不全,我认为每次 API 调用更便宜。

© www.soinside.com 2019 - 2024. All rights reserved.