Azure 表單辨識器 (Form Recognizer) 輕鬆玩 (一)

表單辨識器 (form recognizer) 為微軟 Azure AI 中認知服務的其中一個項目,故名思義它就是可以針對表格作辨識的一個服務,透過這個服務我們可以很方便的辨識各種表單,例如說發票、收據、身份證…等。接下來會針對這一個服務出一系列的文章,第一篇就先使用官方提供的線上工具先來體驗服務的威力吧!

前言

表單辨識器 (form recognizer) 為微軟 Azure AI 中認知服務的其中一個項目,故名思義它就是可以針對表格作辨識的一個服務,透過這個服務我們可以很方便的辨識各種表單,例如說發票、收據、身份證…等。接下來會針對這一個服務出一系列的文章,第一篇就先使用官方提供的線上工具先來體驗服務的威力吧!

說明

表單辨識器包含了幾個功能:

  • 內建模型
    微軟針對常見的表單預先建立的模型,包含了發票、收據、身分識別檔、名片等,但是因為模型訓練主要會以英美語系為主,可能辨識度跟支援上會比較不足。
  • 自訂表單模型
    如果內建模型的類別辨識結果都不如預期或是表單是公司內部的格式,那當然是開大決,自己訓練模型,可以透過簡單的標記要辨識的文字在表單上的位置,準備一些檔案即可訓練出自己的模型來作為辨識使用。
  • 版面配置 (Layout) 模型
    針對文件上的文字可以標記出文字的位置和範圍,也可以辨識出文件上的表格,並提取裡面的內容,可以說是這服務的核心部分,可以正確辨識出文字和表單才可以再往後面設定我們要提取的資料。

表單辨識器在文字的辨識上,最新版 (2.1) 的 API,針對版面配置和自訂模型可以支援 73 種語言,其中也包含了我們使用的繁體中文,所以在使用上中文辨識率上應該是可以不用擔心了。

針對費用部分則是如下圖,其中有免費方案,可以在開發測試的時候有一定的免費額度可以使用。另外針對 API 呼較不同方案也有不同的限制,其中針對訓練 API 的呼叫兩個方案都是每分鐘 1 次,針對辨識器 API 呼叫免費方案則有 20 次的限制。

實做

接下來我們要透過微軟開源的表單辨識器範例工具來輕鬆完成第一個模型的訓練和辨識,而我使用的範例為台灣的長型統一發票來作為訓練和辨識,首先先準備好發票的照片檔案 (記得分成訓練和測試組),並且上傳到儲存體的 Blob 中,這邊就不另外說明建立儲存體和上傳檔案的過程了,僅針對需要特別注意的點來說明。

首先需要針對儲存體的 CORS 需要特別做設定,允許跨網域存取,因為線上工具會透過網頁呼叫去存取,沒有設定的話會無法正確存取儲存體內的檔案。設定如下圖所示允許來源、允許的標題、公開的標題都設定 * ,允許的方法則為全選,存留期上限為 200。

接下來針對存放發票檔案的容器取得 SAS URL,注意是針對發票檔案的容器,並非是整個儲存體帳號,權限部分則是選擇讀取、建立、刪除、清單,然後設定好想要授權的期間就可以產生 SAS Token 了,最後複製下方的 Blob SAS URL,在後面的步驟會用到此網址。

再來建立表單辨識器,點選建立資源,搜尋 Form Recognizer,點選建立。

輸入相關資訊和選擇定價層就可以建立了,並沒有特別需要說明的部分。

建立好之後可以在金鑰與端點取得後面需要用的的金鑰和端點的相關資訊。

接下來就可以正式開啟表單辨識器範例工具來建立自訂模型了。這邊我們選擇自訂模型的方式來訓練模型。

輸入相關的資訊,假設還沒有建立過儲存體連線,可以先點選新增連線

這邊的 SAS Url 輸入前面我們取的得的容器 SAS Url,儲存之後就可以回到建立專案的畫面。

之後把相關資訊都輸入即可建立專案

如果都設定正確的話,應該會列出我們上傳的圖片,這時候我們可以看到畫面上已經有自訂辨識到的 Layout,然後我們新增標籤來標記圖片上的資料。我這邊就簡單建立的三個標籤。

再來就是針對圖片上的 Layout 設定標籤,首先點選黃色方框的 Layout ,它會呈現綠色,這邊是可以多選的,然後再設定要標記的標籤,成功設定之後選擇的 Layout 就會變成標記的顏色,然後標籤下面也會正確的顯示文字。

再來就可以針對所有要訓練的圖片做標記設定,然後就可以點選訓練的頁籤,並且輸入名稱並按下訓練按鈕。完成之後就會顯示所有標籤預估的準確率,我準備了 15 張圖片做為訓練,準確率都有 90% 以上,後面就可以辨識的算蠻正確的了。

接下來點選分析的按鈕,然後選擇要做測試的圖片,點選執行分析之後,果然可以正確的辨識出發票號碼和年月份,到這邊我們就簡單又快速的完成了發票辨識的模型了。

結論

本文先針對表單辨識器做簡單的介紹和透過線上的工具做快速的建立自訂模型和辨識的測試,可以說完全沒有寫到任何的程式,後續系列文章也會針對程式呼叫做介紹,第一篇先讓我們快速的來體驗表單辨識器的威力,後面我們再針對所有服務做較深入的探討。

參考資料