使用Textract order_blocks_by_geo 遇到错误

0

【以下的问题经过翻译处理】 你好。我正在使用亚马逊文本提取(Amazon Textract)尝试从PDF文件中提取临床数据。具体来说,我正在使用Python,使用“order_blocks_by_geo”(来自trp.t_pipeline)进行实验。我注意到当提取的文本分为两个批次(需要使用get_document_text_detection的“NextToken”)时,“order_blocks_by_geo”将无法从PAGE块中的关系中找到特定的LINE块;这种情况下,我会得到一个“无块ID:xxxxxx”值错误,其中xxxxx是子LINE块的ID。当数据可以在get_document_text_detection请求中分开,而父页面块在一个响应中,相关的子LINE块在另一个响应中时,我应该如何向order_blocks_by_geo呈现数据,使其具有所有必要的关系?在我的情况下,我有一个小的10页PDF跨越两个批次,其中页面块在第一个批次中,而子LINE块在第二个批次中(使用NextToken)。如果我发送了一个数千页的大型PDF会发生什么?谢谢您对此问题的关注。

profile picture
专家
已提问 8 个月前40 查看次数
1 回答
0

【以下的回答经过翻译处理】 当你处理分页响应时,你需要先抓取整个 JSON 并将其组合起来。

为了获得完整的 JSON,请查看 Textract Caller (https://github.com/aws-samples/amazon-textract-textractor/tree/master/caller) 和 get_full_json 方法 (<https //github.com/aws-samples/amazon-textract-textractor/blob/4b1e55426fc7fa623afcf210a2e3f5b51edc614c/caller/textractcaller/t_call.py#L256>)。

对于较少数量的页面和作业,它们工作正常,但它们会针对 Textract Get* API 进行轮询。 对于大量页面和多个并发作业,请在 SNS 通知后传入 OutputConfig 和 get_full_json_from_output_config,否则您可能会在 Textract Get* 调用中受到限制。

使用完整的 JSON,order_blocks_by_geo 应该可以正常工作。

对于具有数千页的大型 PDF,内存消耗会很高(根据我的经验,Python 消耗的 RAM 是文件在磁盘上消耗的 RAM 的 5 倍...),因此请确保您有足够的可用 RAM。

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则