收據分析 – 使用 Azure Form Recognizer

人工智慧的服務日趨成熟,很多企業都已開始將電腦視覺應用融入於業務流程中。今天要為大家介紹與測試的,是微軟Azure上的Form Recognizer 表單辨識服務,我們將實作如何利用此服務來成功識別收據,並解析出其中的內容。

  1. 登入微軟Azure入口網站後,建立資源,表單辨識器(預覽)

2. 使用既有資源群組或新建資源群組,並選擇離服務客戶較近的區域,並且為端點進行命名,例如hello-form-recognizer,定價層則選擇Free F0,免費資源每月可進行500頁的表單辨識。

3. 按下下一步驗證完成後,可直接建立資源。資源建立完成後,點擊「前往資源」,在資源管理中的金鑰與端點有我們後續開發所需要的資訊。

4. 有了以上的資訊,我們可以開始進行網頁程式的撰寫,打開 VS Code,檔案 → 開啟資料夾…,新增一個資料夾 form_recognizer 來作為我們開發使用的專案資料夾。

5. 我們在專案資料夾中一共會建立四個檔案:
index.html:用來呈現原始圖片與辨識結果
style.css:調整網頁樣式
key.js:存放申請的金鑰
main.js:主要程式邏輯

6. 在index.html中,我們一共規劃了三個區域,最左邊呈現回傳的內容,中間放置要辨識的收據圖片,右邊則是辨識得到的結果:

7. 在style.css中,我們設計了最右邊的收據文字樣式,盡可能讓排版接近於原始收據的格式。

8. 主程式在main.js,透過我們所申請到的端點網址,向微軟Azure請求表單辨識服務,由於文字辨識時間較長,所以會等待一陣子後,再向雲端請求辨識完成的結果,將結果照收據的格式來進行呈現。其中比較特別的是購買項目的呈現,使用html的list item,透過巡訪辨識結果中的Items陣列,逐筆新增置網頁中。

測試結果如下:

Azure的Form Recognizer已經將美國常見的幾種文件格式預先訓練好,有US W-2 表格、一般發票、店家收據、美國護照、美國駕照、常見名片,這些類型的圖片直接進行辨識即可以獲得不錯的效果,若有其他格式的文件希望可以辨識,則需另外進行模型的訓練。

完整範例程式在此

https://github.com/ryan403/azure_form_recognizer_receipt

作者:鐘祥仁(Ryan Chung)

•微軟 MVP 、國際技術工作坊指定講師
•故宮博物院AI教案開發師
•Chatbot/語音助理開發者
•元智大學資工系兼任助理教授
•中央大學AI跨域學分學程兼任講師
•中央大學網學所博士班進修

在〈收據分析 – 使用 Azure Form Recognizer〉中有 1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

回到頂端