让 Azure Form Recognizer 帮你数位化大量纸本表单

让 Azure Form Recognizer 帮你数位化大量纸本表单

在数位转型的过程,通常不会是一步到位,总是会有一些青黄不接的过渡时期,在这些过渡时期的各项产出可能都会有一点尴尬。最常遇到的情况之一是,明明已经将表单数位化了,但是由于种种因素,还是会需要用到大量纸本表单,这些表单的资料,又要想办法输入到资料库里,需要有耗时耗力 key in,而且也会有恍神输入错误的风险。为了渡过这样的尴尬时期,或许就可以利用光学字元辨识(Optical Character Recognition,OCR)的技术来解决问题。但自己训练模型又太久,所以我们可以偷懒一下,利用 Azure Form Recognizer。

Azure Form Recognizer Studio

登入 Form Recognizer Studio如果没有 Azure 帐号,可以试着申请免费帐号。点此看教学。需要建立表单辨识器(预览)进入 Form Recognizer Studio 之后,会看到各种现成的範本可以使用,每种都有提供现成的範例,让你可以尝试操作,观察效果。如果不知道自己的表格适合哪一种範本,建议一开始可以选择 General documents。在 General documents,可以直接用他们的範例档案作分析,也可以直接上传自己的档案辨识文件中的文字。

实测结果

以下两个範例,是将纸本表单 扫瞄 后,上传到 Form Recognizer Studio 进行测试:

表格侦测效果佳

以吞嚥问题评估表作为示範

针对文字的部分,很明显可以几乎都有侦测到文字,且手写文字也可被辨识。

可侦测到何处为表格,表格内需要打勾的格子,也被转换成 checkbox 的形式呈现,并且知道哪一格被打勾了。

若点选 Selection marks,也明确呈现出,每个格子勾选的情况。

提升侦测效果的懒人破解法

以这份肌少症风险自我检测(SARC-F)为例:

这边有一个小问题,checkbox 离文字太近,可能会导致侦测效果变差,例如:方框可能无法有效被侦测到,侦测成『コ』,或者『□2 分』变成『11 分』。

在不自己训练模型的情况下,最简单的偷懒方法是,直接用修图改掉原始表格。假设稍微把方框与文字分开一点,得到的结果就会改善许多。

侦测大量纸本表格

如果需要侦测的表格只有几张,或许手动上传侦测,可能还可以接受,但是量太大就有点痛苦了,这时候还是得稍微写一点程式来处理。Azure Form Recognizer 也还算佛心,虽然现在还是预览的版本,但也已经开出 API ,也把範例程式码(Python, JavaScript, C#)直接放在网页上,可以直接複製贴上,再自己依情况修改。

会需要用到自己的 key 和 endpoint,直接去自己的 resource 去取用即可,详情点此。

另外,以下三点可以注意一下:

API 可以让使用者透过档案的 URL 上传档案给 Form Recognizer 辨识,也可以将自己电脑中的档案透过 binary 的方式上传。分析 PDF 档的效果似乎比较好。目前 Azure Form Recognizer 还不是正式版本,似乎只能读取 PDF 档的前两页。在扫描时,可以把每一份表单都独立成一份 PDF 档,然后再一一交由 Form Recognizer 辨识。期待之后,推出正式版本,功能可以更完整。

有需要大量侦测纸本表格的人可以参考此 Colab Notebook。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章