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

直播視頻回放:https://v.qq.com/x/page/i3135lgkagd.htmlhtml

1、項目背景

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

解決痛點

一、降本增效:幫助客戶減小人力投入,解放傳統OCR識別場景耗費的時間,提高工做效率。編程

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

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

項目目標

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

版面分析現狀

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

2、抽象行列識別

行列識別介紹

  • 那麼什麼是行列識別?

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

  • 爲何要進行行列識別?

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

  • 如何進行行列識別?

在研發過程當中,造成了不少行列識別方法,咱們挑幾個典型方法介紹3d

行列識別抽象方案演進

方法一:

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

缺點:

一、標題文字識別不許確或未識別到標題

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

三、中間串行致使行號不正確

方法二:

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

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

方法三:

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

問題:

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

方法四:投影法

把全部數據塊的豎邊投射到右側,重疊的部分即屬於同一行

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

缺點:

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

#### 俄羅斯方塊方法

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

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

三、若是新數據知足下面條件則數據當前列,不然換列了

3.1 在當前列全部數據的右側   3.2 和當前列中數據在縱軸上有重疊

四、依次算完每一個數據塊

五、同理計算行數據

優勢:

封裝代碼,對開發屏蔽細節
開發週期大幅縮短,從3-5天縮短爲一小時提供可配置參數

缺點:

參數比較多,開發須要必定學習時間

問題:

一、條件2中,若是兩塊屬於重疊,可是邊緣壓的很少,能夠設置閾值,當作不重疊

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

總結:

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

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

3、模板開發

什麼是模板

模板:

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

爲了提升成功率咱們須要針對模板定製化解析,要理解一點,專屬的必定比公用的好
那麼第一步咱們就須要區分圖片屬於那種模板
針對剛纔說的,到大類這一層比較固定,經過api層判斷
如今來形象看下模板這層的問題

模板舉例

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

模板方法

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

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

缺點:一、可能找不出經驗特色 二、可能識別失敗

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

優勢:
一、開發效率極高 二、對開發屏蔽了細節

缺點:
僅能區分已知模板

4、結構化

什麼是結構化

什麼是結構化

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

如何結構化

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

特殊模板舉例

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

#### 近行列粘連

#### 無標題

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

因爲圖片質量問題,會出現缺數據塊的狀況,這時即便模式匹配也沒法抽取,目前咱們AI模型在逐漸優化過程當中,這種問題會愈來愈少

語義矯正

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

5、總結

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

做者:宜信技術學院 劉鵬飛
相關文章
相關標籤/搜索