宜信OCR技術探索之版面分析業務實踐

導讀:圖像識別中最貼近我們生活的可能就是 OCR 技術了。在金融行業銀行流水,以及紙質圖片等在業務流程中極爲重要,上一期技術沙龍我們對OCR深度學習技術做了分享,但在OCR技術的實際應用中,還需要將OCR識別的座標塊排列組合,轉化爲目標結構,從而形成有效的可分析的數據,OCR識別文字排版技術降低了研發成本,大幅提高開發效率。本次我們主要結合圖像識別領域文字排版方面的技術進行展開, 從抽象行列識別、模板分析,以及結構化三個方面結合落地場景給大家提供嶄新的實踐思路。
分享大綱:
1、項目背景
2、詳解版面分析技術實踐
  抽象行列識別方法及其演進(俄羅斯方塊法)
  模板開發
  結構化
3、探索過程及總結
PPT下載鏈接: https://pan.baidu.com/s/1f_oFi3vpW7JNqfQngVLNAA 密碼: 65lt

以下爲直播視頻,可點擊回放,時長32m18s,建議在WiFi環境下觀看。

https://v.qq.com/x/page/i3135lgkagd.html

分享實錄

一、項目背景

業務端大量的新增數據來自紙質報告、電子郵件、文檔、圖像、視頻等非結構化內容。據統計,業務線對於80%的非結構化內容無法有效管理,60%的管理人員在決策時無法獲得關鍵信息,50%的信息內容無法爲公司帶來業務價值。

1.1 解決痛點

1、降本增效: 幫助客戶減少人力投入,解放傳統OCR識別場景耗費的時間,提升工作效率。

2、關鍵信息提取: 涉及多類複雜場景,理解識別文檔內容、提取關鍵信息,爲風險控制、營銷擴展、流程優化做支撐。

3、識別準確率,速度,安全性、穩定性: 基於人工智能的深度學習算法解決傳統OCR識別率低、模版固定、設備依賴的問題。

1.2 項目目標

我們的目標是,由最左側銀行單據圖像,經由AI模塊,識別出帶有座標和文字內容的半結構化數據,再經版面分析模塊解析出業務可理解的結構化數據。其中藍色框的過程就是我們今天講解的版面分析模塊過程,也就是說從AI識別結果到版面分析結果。兩種過程也是AI技術和編程技術的結合的一種表現。

1.3 版面分析現狀

前期我們對行業內版面分析技術進行調研,查閱文檔,查找一些大廠公開的解決方案,借鑑其中部分經驗,結合實際場景需求,研發人員依次突破了行列識別、模板、結構化的技術難點,並進行總結、抽象和優化,提取出一套較爲統一的OCR版面分析解決方案。

二、抽象行列識別

2.1 行列識別介紹

  • 什麼是行列識別?

    行列識別即將AI模塊識別回來的座標塊,依據一定方法,分辨出哪些塊,在邏輯上屬於同一行或同一列

  • 爲什麼要進行行列識別?

    版面分析開發中,行列識別是結構化的前提條件

  • 如何進行行列識別?

    在研發過程中,形成了很多行列識別方法,我們挑幾個典型方法介紹

2.2 行列識別抽象方案演進

  • 方法一:按標題識別:根據已識別出的標題座標,可以覆蓋到該列範圍,再根據列順序判斷行號

  • 缺點:

    1、標題文字識別不準確或未識別到標題

    2、標題左右粘連(即識別到一個塊中)

    3、中間串行導致行號不正確

  • 方法二:屬於標題法的升級版,針對多數場景,行的作用大於列,識別出行就可以進行結構化解析了,因標題過多,全識別成功率低,那麼只要知道最後一列的位置橫座標範圍,在根據縱座標排序,一旦某一塊屬於最後一列,那麼後面的就一定是屬於下一行了

  • 缺點:

    和方法一類似,最後一列標題也可能會識別失敗,部分模板,最後一列還可能受蓋章影響

  • 方法三:根據模板數據特點,參考經驗值設置數據塊平均高度,再從標題下邊開始,把數據根據平均高度切割行

  • 缺點:

    行高度是經驗值,不一定靠譜,例如圖片分辨率就可能會有影響

  • 方法四:投影法。把所有數據塊的豎邊投射到右側,重疊的部分即屬於同一行

  • 優點:

    方法效率高,可封裝,爲開發屏蔽細節

  • 缺點:

    有較長干擾塊,會把大部分塊包含進去,密集數據也會混亂

  • 俄羅斯方塊法

1、按橫座標分別排序

2、從第一個數據塊開始放入第i列集合

3、如果新數據滿足下麪條件則數據當前列,否則換列了

3.1 在當前列所有數據的右側

3.2 和當前列中數據在縱軸上有重疊

4、依次算完每個數據塊

5、同理計算行數據

  • 優點

封裝代碼,對開發屏蔽細節

開發週期大幅縮短,從3-5天縮短爲一小時

提供可配置參數

  • 缺點

參數比較多,開發需要一定學習時間

  • 問題

1、條件2中,如果兩塊屬於重疊,但是邊緣壓的不多,可以設置閾值,看成不重疊

2、圖片上下左右可能會存在部分干擾,可以設置一些匹配規則,滿足條件的外部區域可以裁剪掉,提高識別成功率

總結

以上各個方法各有優缺點,適應場景各不相同,目前我們使用較多的方法是俄羅斯方塊法和投影法。

這些是我們初期探索出的一些方法,相信還會有更好的方法,我們也會繼續探索。

三、模板開發

3.1 什麼是模板

模板:

  • 識別的目標文件可能有不同業務線的圖片,例如流水、卡證、報告、其他單據等 – 我們叫業務類
  • 每種業務線還有細化的類型,例如銀行流水中的不同銀行,保單中不同保險公司等 – 我們叫大類
  • 每家銀行或保險公司的單據在不同地點、時間上還可能不是一個樣子,這每種圖片樣子叫做模板

爲了提高成功率我們需要針對模板定製化解析,要理解一點,專屬的一定比公用的好。

那麼第一步我們就需要區分圖片屬於哪種模板。

針對剛纔說的,到大類這一層比較固定,通過api層判斷。

現在來形象看下模板這層的問題。

3.2 模板舉例

看三張圖片,針對同一個大類,分別是無表格、虛線表格和有表格的,需要通過訓練驗出來,有助於模板區分

3.3 模板方法

在開發中,總結了兩種模板判斷方法,當業務模板種類較少較固定時,我們採用大標題法。

大標題判斷方法,查找已知模板在大類中存在特殊的文字表示判斷

缺點

1、可能找不出經驗特點

2、可能識別失敗

相反第二種方法 可配置的模板匹配度方法,配置模板中各屬性的內容和座標範圍等要素,計算出匹配評分,選取分高者。

優點

1、開發效率極高

2、對開發屏蔽了細節

缺點

僅能區分已知模板

四、結構化

4.1 什麼是結構化

結構化是版面分析最後一步,在行列和模板識別完成後,把數據塊轉化爲目標報文結構,用於存儲、傳輸、分析等

4.2 如何結構化

通常使用標題和座標來抽取數據,但有時一些特殊的模板會使結構化難度提高

4.3 特殊模板舉例

有些圖片有水印或印章,干擾結構化結果

目前我們只解決部分水印,蓋章問題,還沒有較好統一解決方案,這也是目前我們重點要解決的課題,希望有機會同行交流交流經驗

針對上面幾種場景,我們依據經驗,採用 模式匹配方式 封裝了一些常用方法來解析和抽取關鍵數據,最後組裝數據

由於圖片質量問題,會出現缺數據塊的情況,這時即使模式匹配也無法抽取,目前我們AI模型在逐漸優化過程中,這種問題會越來越少

4.4 語義矯正

部分業務對文字準確率要求高,例如 工資 有時會識別成7資 7貝 1識別成I 0識別成o,遇到這種情況, 我們綜合利用全局及局部語義信息進行的NLP文字校正正

上期劉創老師有介紹過文字糾錯內容,這裏就不細講了,有興趣的同學可以翻回上期內容複習一下,至此版面分析技術側內容分享完畢

第12期技術沙龍宜信OCR技術探索與實踐|直播速記

五、總結

我們回顧一下今天講解內容。先介紹了項目背景,又從版面分析技術角度,分別介紹了行列識別五種技術方案探索過程,並重點講解了俄羅斯方塊法,然後介紹什麼是模板開發,並介紹了兩種不同的模板,最後介紹什麼是結構化及結構化遇到的問題和解決方案。至此今日分享到此結束感謝大家。

作者介紹

劉鵬飛,宜信高級研發工程師

本文轉載自公衆號宜信技術學院(ID:CE_TECH)。

原文鏈接

宜信OCR技術探索之版面分析業務實踐

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章