问题标签 [form-recognizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1599 浏览

microsoft-cognitive - 在天蓝色表单识别器中识别复选框

我想在表单识别器中使用的表单有几个复选框。目前,表单识别器的 OCR 引擎似乎没有检测到复选框。是否有解决方法,或者有没有办法训练复选框识别?

我也尝试过在 Windows 和 linux 上使用 tesseract,但我也无法在那里解决它。

复选框是您的标准空心方块。有时他们可能有一个“x”或复选标记。

如果没有解决方案,那么我可能会要求客户从复选框更改为实心圆圈(单选按钮)。我还没有测试过,看看 OCR 会对它们产生什么影响。

编辑:我阅读了表单识别器文档,我看到它明确表示不支持复选框和单选按钮。我想知道是否有人有解决方法?

0 投票
2 回答
525 浏览

microsoft-cognitive - 为什么表单识别器返回的“boundingBox”坐标对于我的 PDF 表单似乎不正确?

我正在使用表单识别器从示例 PDF 表单(ACORD 3101 (2012/02))中提取文本信息,但在某些字段上返回的“boundingBox”对我来说似乎不正确。我想知道它背后的原因是什么。

  1. 请指导如何计算这些boundingBox信息。谢谢。
  2. 请查看返回的 json 响应。“键值”对也不如预期。有一个“令牌”键带有多个值。但实际上,这些值中的每一个都应该在它们自己的键下。为什么?

我通过使用多张填写的表格和一张空的表格来培训服务。当我在训练模型上调用“/{id}/keys”时,我确实看到了被识别的键:

我觉得很好。然后我调用“/{id}/analyze”API 来提取样本 PDF。正如我所说,结果似乎不正确。以下是我得到的 Json 响应的一部分。

请注意高度和宽度值(分别为 842 和 595)是正确的。这些是以点为单位的正常 A4 纸尺寸。但是,“John Doe”和“aren Liu”的字段具有不正确的 boundingBox 信息。显然,这些边界框聚集在论文的左下角(例如,对于“John Doe”,它们是 2.8、93.9、6.9、93.9、6.9、92.8、2.8、92.8),而不是 pdf 顶部的预期位置. 为什么?

这是用于训练和分析的示例 pdf

这是另一个用于培训的示例 pdf

这是用于培训的空pdf

0 投票
1 回答
319 浏览

microsoft-cognitive - 如何使用 Form-Recognizer Microsoft-Cognitive 分析来自 blob 的文档?

我正在使用 Microsoft-Cognitive 服务 (Form-Recognizer) 来分析文档并阅读其内容以进行进一步操作。我想分析在 blob 上传的 pdf 文件。

我可以使用本地文件路径获取内容,但是一旦我提供了 blob URL,它就无法打开文件。

文件路径看起来像: https:\blob\SupplierformUpdate1.pdf

我已经对其进行了适当的训练并获得了模型 ID。

我尝试了分析服务。

https://docs.microsoft.com/en-us/azure/cognitive-services/form-recognizer/quickstarts/curl-train-extract#train-a-form-recognizer-model

我想通过提供 pdf 文件的 blob URL 来获取内容。

0 投票
1 回答
102 浏览

microsoft-cognitive - 表单设计最佳实践

在为表单识别器 API 设计纸质表单时,是否有任何最佳实践、示例表单或做/不做列表或提示?我很幸运,我可以对表单进行更改以使其更适合 API。

我在 Word 中设计了表格。它有信笺和标题作为标题,一个用于客户信息、日期和工作描述的文本区域以及一个包含三列的表格:项目/产品、单位、金额。表格由流动维修/安装工人手工填写。

0 投票
1 回答
355 浏览

microsoft-cognitive - 如何训练相同的表单识别器模型?

我们正在尝试通过为要训练的模型提供更多数据来提高表单识别器模型的准确性。我们已尝试为初始训练提供超过 5 个文件,但它已超时。

我们已经查看了提供的文档,但没有找到让我们再次训练相同模​​型的方法。

是否可以训练相同的模型?

0 投票
1 回答
74 浏览

microsoft-cognitive - 如果我想要每个键右侧的列中的 5 个值,那么训练表单识别器的理想方法是什么?

我在最左边有一列数字作为我的键,其中每个条目都有 5 个我试图与之配对的设计值。为了训练模型,我使用了 15 个完整的 pdf 文件,其中大部分不是扫描的。我还编辑了其中的 3 个,删除了值但保留了键,并将它们保存为与原始文件名相同的文件名,后缀为“Empty”。从模型返回的结果可以毫无问题地找到任何数字或其位置,但它们不在任何类型的键值对中。我得到这个键值“对”排除了获取列标题和行的任何可能性,但只有行和相对于其他行的位置会让事情变得足够简单。只是希望对如何训练它以重用与在行中看起来相同的键有所了解。

我将数据导出为 Word 格式并用浅色边框将值制成表格。我没有机器学习的经验。对于空表单,将 DocVariable 字段添加到 5 个值列中的每一列是否有任何好处,变量名称是行键名称和列键名称的组合?

0 投票
1 回答
1596 浏览

python - 如何将 Azure Functions Blob 触发器中的图像与表单识别器一起使用

我正在尝试使用 Azure Functions 来使用用 Python 编写的 Form-Recognizer 来包装应用程序。我的问题是使用 BlobTrigger 将 JPEG 转换为 Form-Recognizer 可以使用的格式。

打开图像的基本代码是

该图像具有类:'PIL.JpegImagePlugin.JpegImageFile'。

调用 Form-Recognizer 分析的代码如下:

不幸的是,http_post 中的 data = image 必须是 class: 'bytes'。

因此,我尝试了各种使用 PIL 将输入图像转换为字节格式的方法。

我的两个主要方法是

这两种方法都给了我一个字节格式,但是,它仍然不起作用。无论哪种方式,我最终都会得到这样的回应:

有谁知道解决这个问题的正确方法?

0 投票
0 回答
553 浏览

microsoft-cognitive - 1002 - 训练请求无效或缺少必需的参数

试图训练我的模型。我的“docs2”存储库中有 10 个 pdf。我尝试在适用于 Linux 的 Windows 子系统上的 bash shell 中运行以下命令并获得 1002 消息。我已经在帖子的子键中更改了一些数字,但你明白了。有人有想法么?

jhealy@HPZBOOK-DEVFISH MINGW64 ~ $ curl -X POST " https://ocrinsights.cognitiveservices.azure.com/formrecognizer/v1.0-preview/custom/train " -H "Content-T ype: application/json" - H "Ocp-Apim-Subscription-Key: b023a97ef64e4fd190f68c5092df7441" --data-ascii "{ \"source\": \"" https://ocrinsights.blob.core.windows.net/docs2?st=2019-08- 29T17%3A29%3A45Z&se=2019-08-30T17%3A29%3A45Z&sp=rl&sv=2018-0 3-28&sr=c&sig=mOwg2xxZBywhZKpDuStlMlh4QZkHnwjCNPiptISnS8%3D"\"}"

[1] 13348

[2] 17512

[3] 5296

[4] 14296

[5] 17684

[2] 完成=2019-08-30T17%3A29%3A45Z

[3] 完成 sp=rl

[4] 完成 sv=2018-03-28

[5]+ 完成 sr=c

jhealy@HPZBOOK-DEVFISH MINGW64 ~ $ {"error":{"code":"1002","message":"火车请求无效或缺少必需的参数。请参考 API 参考并重试您的请求。"}}

GitHub 上的类似问题,未解决 - https://github.com/Azure-Samples/cognitive-services-REST-api-samples/issues/33

0 投票
2 回答
236 浏览

json - 用于分析自定义表单的 API 调用

我正在尝试对 Microsoft 的表单识别器进行 API 调用,以根据自定义模型分析表单,但我不知道该怎么做。

这是API的文档

https://westus2.dev.cognitive.microsoft.com/docs/services/form-recognizer-api/operations/AnalyzeWithCustomModel

请求正文是空白的,我真的不知道应该如何格式化才能发送出去。

如果您查看 POST Train 模型方法,我可以使用该请求正文发送使该 api 调用工作。这表明问题出在我身上,而不是 API。

我已经通过命令行成功地用 curl 完成了这个......

curl -X POST " https://formrecognizerbp.cognitiveservices.azure.com/formrecognizer/v1.0-preview/custom/models/[MODEL ID]/analyze" -H "Content-Type: multipart/form-data" - F "form=@\"C:\Temp\Capture1.jpg\";type=image/jpeg" -H "Ocp-Apim-Subscription-Key: [SUBSCRIPTION ID]"

我真的不知道/无法弄清楚如何将其转换为格式类似于 POST 训练模型方法所具有的请求正文。

我不断收到此错误,因为我不知道如何正确格式化请求。

内部:Web API HTTP 请求期间出现意外错误 HTTP 状态代码:400 HTTP 响应内容:{“value”:{“error”:{“code”:“BadRequest”,“message”:“无法处理传入请求:'缺少内容类型边界。'。请确保其格式正确。"}},"formatters":[],"contentTypes":[],"statusCode":400}

所以我猜格式化程序和 contentTypes 是缺少的部分,但那只是 curl 的文件路径和图像/jpeg 部分吗?

0 投票
1 回答
61 浏览

microsoft-cognitive - 将参数添加到 POST 分析方法

https://westus2.dev.cognitive.microsoft.com/docs/services/form-recognizer-api/operations/AnalyzeWithCustomModel

在上述文档中有以下 URL,这意味着您应该能够分析特定 Key 值的表单

https://{endpoint}/formrecognizer/v1.0-preview/custom/models/{id}/analyze[?keys]

我已经训练了自己的模型,当我使用 Get Keys 方法时,这就是返回的内容......

在我看来,我应该能够针对其中任何一个关键值执行该帖子。所以....

https://{endpoint}/formrecognizer/v1.0-preview/custom/models/{id}/analyze?keys=Name

应该撤回与 Name 键关联的任何值(并且有一个值),但我得到了 200 成功并且没有可用的信息。

我想我误解了如何正确地做到这一点