宜信OCR技術探索之版面分析業務實踐|技術沙龍直播速記

宜信技術學院發表於2020-09-07

直播視訊回放:https://v.qq.com/x/page/i3135lgkagd.html

一、專案背景

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

解決痛點

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

2、關鍵資訊提取:涉及多類複雜場景,理解識別文件內容、提取關鍵資訊,為風險控制、營銷擴充套件、流程優化做支撐。

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

專案目標

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

版面分析現狀

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

二、抽象行列識別

行列識別介紹

  • 那麼什麼是行列識別?

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

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

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

  • 如何進行行列識別?

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

行列識別抽象方案演進

方法一:

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

缺點:

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

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

3、中間序列導致行號不正確

方法二:

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

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

方法三:

根據模板資料特點,參考經驗值設定資料塊平均高度,再從標題下邊開始,把資料根據平均高度切割行

問題:

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

方法四:投影法

把所有資料塊的豎邊投射到右側,重疊的部分即屬於同一行

優點:
方法效率高,可封裝,為開發遮蔽細節

缺點:

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

#### 俄羅斯方塊方法

俄羅斯方塊法
1、按橫座標分別排序

2、從第一個資料塊開始放入第i列集合

3、如果新資料滿足下面條件則資料當前列,否則換列了

3.1 在當前列所有資料的右側   3.2 和當前列中資料在縱軸上有重疊

4、依次算完每個資料塊

5、同理計算行資料

優點:

封裝程式碼,對開發遮蔽細節
開發週期大幅縮短,從3-5天縮短為一小時提供可配置引數

缺點:

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

問題:

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

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

總結:

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

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

三、模板開發

什麼是模板

模板:

  • 識別的目標檔案可能有不同業務線的圖片,例如流水、卡證、報告、其他單據等 – 我們叫業務類

  • 每種業務線還有細化的型別,例如銀行流水中的不同銀行,保單中不同保險公司等 – 我們叫大類

  • 每家銀行或保險公司的單據在不同地點、時間上還可能不是一個樣子,這每種圖片樣子叫做模板

為了提高成功率我們需要針對模板定製化解析,要理解一點,專屬的一定比公用的好
那麼第一步我們就需要區分圖片屬於那種模板
針對剛才說的,到大類這一層比較固定,通過api層判斷
現在來形象看下模板這層的問題

模板舉例

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

模板方法

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

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

缺點:1、可能找不出經驗特點 2、可能識別失敗

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

優點:
1、開發效率極高 2、對開發遮蔽了細節

缺點:
僅能區分已知模板

四、結構化

什麼是結構化

什麼是結構化

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

如何結構化

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

特殊模板舉例

有些圖片有水印或印章,干擾結構化結果
目前我們只解決部分水印,蓋章問題,還有沒教好較統一解決方案,這也是目前我們重點要解決的課題,希望有機會同行交流交流經驗

#### 近行列粘連

#### 無標題

更有這種標題分多行的
針對上面幾種場景,我們依據經驗,採用模式匹配方式封裝了一些常用方法來解析和抽取關鍵資料,最後組裝資料
#### 缺塊

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

語義矯正

部分業務對文字準確率要求高,例如 工資 有時會識別成7資 7貝 1識別成I 0識別成o,遇到這種情況,我們綜合利用全域性及區域性語義資訊進行的NLP文字校正正
上期劉創老師有介紹過文字糾錯內容,這裡就不細講了,有興趣的同學可以翻回上期內容複習一下,至此版面分析技術側內容分享完畢

五、總結

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

作者:宜信技術學院 劉鵬飛

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69918724/viewspace-2717672/,如需轉載,請註明出處,否則將追究法律責任。

相關文章