李嘉慧 高健祎 安 鵬
(中國海洋石油集團有限公司,北京 100010)
中國海油海外業(yè)務覆蓋全球40多個國家和地區(qū),海外資產占比約為總資產三分之一。中國海油海外審計中心為集團公司海外審計項目執(zhí)行主體,涵蓋包括陸地、淺水和深水的常規(guī)油氣、油砂、頁巖油氣等非常規(guī)油氣各類項目。
海外審計覆蓋海外業(yè)務各方面工作,流程繁瑣且涉及大量非結構化數據,如鉆井日報、船舶航海日志、招投標文件、合同文件、完工報告、審批流程文件等。目前上述文檔通常以電子版形式存在于各業(yè)務系統(tǒng)或部門,或紙質資料形式保存。審計過程中,文檔一般以可編輯電子版形式(PDF或Word)或者不可編輯掃描件或圖片形式提供給審計人員;需要審計人員細致地人工檢查,如核對生產作業(yè)產出與鉆井設備更換是否合理正常、支出發(fā)票采購物品是否為海油權益項目所使用、資金外方是否準時注入、免稅物品采購是否產生不合理稅費等。
傳統(tǒng)審計模式下,上述文檔和相關工作全部依靠審計人員人工操作,工作量巨大且效率較低。因此希望在審計工作中引入人工智能技術,即OCR(光學字符識別)與NLP(自然語言處理)技術,幫助審計人員快速識別和處理海量非結構化文檔,提高審計效率。
隨著AI技術在行業(yè)應用深化,金融、司法、政府、能源等行業(yè)涌現出大量自動從文本中提取關鍵要素的需求場景,其中包括海油海外審計工作業(yè)務需求,例如,從合同中提取甲乙方信息、付款信息、交貨信息等;從日報中提取運行參數、風險描述、費用產生等;從審計報告中提取關鍵章節(jié)、審計結果等。審計工作非結構化資料大致可以分為以下三種類型:
(1)長文本類型。指有多頁文字的各類報告、合同等文件,此類文件主要特點是表格文字混合,以文字為主,其關鍵信息在文檔中某一個位置,文字較多并以描述性為主,在同一份報告中要素名稱多變,一個要素可以有多個詞語來表示,也可能同一個詞語表示不同要素,需要根據上下文或來確認要素關鍵信息。
(2)復雜制式表格類型。以表格為主,可能嵌為某篇文檔的一部分,也可能作為單獨表格類型出現,此類表格類型復雜,經常整表中包含跨行、跨列、一維表、二維表、橫向表、縱向表、不唯一要素表等多種類型,如鉆井日報表、財務報表等。
(3)多版式票據類型。以相對規(guī)范的版式單頁出現,每個版式的要素名稱比較唯一,不會出現統(tǒng)一要素多種名稱現象,但版式多變并且類型繁多,如海外發(fā)票、對賬單、付款憑證等。
當前核心業(yè)需求為關鍵要素抽取,即從文檔、表格、票據等將關鍵要素進行自動抽取和結構化索引,以便進行關鍵信息比對校核。對于長文本和多版式票據的識別及要素抽取市面上已經有相對成熟的商業(yè)化解決方案和技術解決相關問題,但對于復雜制式表格要素抽取并無成熟產品解決該問題,大部分解決方案僅僅是將不可編輯表格轉換成可編輯形態(tài),很難做到對此類復雜表格關鍵要素進行結構化索引。
傳統(tǒng)的表格要素抽取方法主要包括三大類:
(1)基于預定義布局的方法:為可能的表格結構設計多個模板。如文檔的某些部分對應于某些模板,則它們被標識為表格。
(2)基于啟發(fā)式的方法:指定一組規(guī)則來進行決策,以便檢測出滿足特定條件的表格。
(3)基于統(tǒng)計或優(yōu)化的方法:首先通過離線訓練獲得統(tǒng)計指標,然后將估計得到的參數用于實際表格識別。
對于構成表格的要素,或者說常見的狀況有以下四種:
(1)基本單頁表格:即最基本的表格類型,它占用不到一個頁面,每個要素有對應的行和列,并且不包括合并單元格。值得一提的是,本數據集中不僅提供文本的基本事實和結構信息,且提供表格的單位,因為大多數財務表格包含相當多的數字。
(2)包含合并單元格的表格。
(3)跨頁表格:需要將跨頁表格合并;如兩頁的頁眉是重復的,則只需保留一頁;頁碼和其他無用信息也應刪除。另一個需要注意的任務難點是,如一個單元格被兩頁面分隔,則應該根據其語義將其合并為一個單元格。
(4)表格線條不完整:需要根據文本的位置、格式和含義智能定位分界線。
以上四種方法在小規(guī)模的表格上取得了非常不錯的效果,但在大規(guī)模的制式表格上表現往往很差。主要原因在于雖然預定義布局能最大限度地規(guī)約待識別的內容,但當制式表格過于復雜時,往往預定義布局很難生效從而造成項目上的死循環(huán):從建模角度來說,更多的頁數和要素數量導致模型難以兼容所有子頁面,需要更多數據進行建模,這又導致訓練用數據量和標注成本激增。根據現有較成熟技術,每個模型都需要千量級訓練數據,而每份數據又有上百個要素等待標注。這意味著高昂的成本和項目周期;另外,通過這種模式訓練出來的模型適應性較差,由于版式稍微變動、原件質量交叉、拍攝角度、數據陰影傾斜等原因造成不可識別。綜上,目前需要一種能結合AI能力的方法,低成本快速處理大量的富內容制式表格并有效提取信息。
本文提出一種方法:利用基于深度學習技術的OCR配合擴展識別框架,能有效識別復雜跨頁制式表格并提取關鍵信息,方案包含以下幾個主要部分。
第一部分與OCR識別模型相關,結合復雜報表數據的特點收集大量小字體和英文數字等特殊字符,并利用fine-tune技術對現有的OCR模型進行有效的增強。在返回值方面,根據實踐并結合行業(yè)研究,將OCR的返回值除內容外,擴充另外兩類。
錨點和文字信息是目前主流OCR技術路線中最基礎的返回值信息(用以區(qū)別以前基于MASK或像素摳圖的早期OCR技術)。利用返回的錨點信息,可以做很多OCR基礎功能組合,如雙層PDF制作:目前絕大多數PDF處于保密和數據安全要求考慮,都是使用單層PDF來進行保存的,即上面的文字不可以被復制和粘貼。PDF內信息如想進行提取只能通過人手錄入的形式實現。但如使用OCR系統(tǒng)的全文識別模塊對整頁進行掃描后,將獲得所有文字的錨點信息并創(chuàng)建一個新的圖層,在對應位置上將對應文字寫回相應的位置,再合并兩個圖層生成新的PDF,以獲得可靈活復制粘貼的雙層PDF排除干擾信息,可以利用坐標信息有針對地選擇候選區(qū)域,并針對OCR的返回結果做一次篩選后再做研判,則可有效地提高識別準確度。
置信度代表機器對自己識別的字塊的信心程度。在沒有置信度的情況下,只能默認相信識別結果就代表了機器的絕對判斷。但在算法工程層面,機器的判斷也是相對的,即每個字段都會跟隨一個置信度,如繼續(xù)采信最高置信度識別結果小于0.8的置信度結果,很大程度會造成錯誤判斷。此時,最好的方式不是一味要求機器學習改善性能,而是轉交人工來進行判斷。如果能指定有效的識別精度的同時,制定相應拒絕率,即被拒絕結果直接轉人工且通過閾值調節(jié)拒絕率,則可以有效削減人員配置。
(1)要素參數獲取。通過強化OCR模型獲得以下類型的返回值,{(內容,文本框錨點,置信度),(內容,文本框錨點,置信度)…}
(2)子表拆分?;跇I(yè)務場景樣本稀少性和業(yè)務語義特殊性,表格的拆分需要基于業(yè)務理論知識。首先,將提取的表格進行內容單元拆分,即把一張含有數百要素的復雜表格網拆成若干個簡單表格單元。如單純的橫、豎表,而不是復雜業(yè)務總表。此步驟需要業(yè)務人員參與并確認。
(3)子表識別試驗驗證。確定每個子表的關鍵字符,關鍵字符可為子表表名或子表中的任意一個字段。對于關鍵字符有兩個規(guī)約,其一是該字段盡量全局唯一;其二是該字段一定會出現,而不是選擇性出現。即該字段應該具有排他性和必現性兩個特點。
利用關鍵字符對應的錨點信息和置信度信息,確定錨點被正確識別后,對錨點本身識別框進行成比例擴張(通過實驗獲得,或根據表格下方文字或其他明顯特征進行識別框校驗),即可得到子表的置信像素邊界。該邊界內的所有內容即為子表內容。通過此方法有效避免其他信息干擾識別結果。利用虛擬切片的邊界重新過濾文檔所有識別結果,可得到每個子表切片的必要結果。
(4)子表重繪與結果輸出。接下來需要對識別結果的子集進行“表格重建”。如上述提及,為保證子表盡量是相對“單純”的橫表或者豎表、有效避免混合表出現,可結合業(yè)務經驗和指導,邏輯上重繪整張完整的行base或者列base表格。利用重繪后結果能有效地確認表中每個key-value所在位置并有效地在對應位置下獲取該值。經過整理后以json或者Excel形式逐行輸出如下內容:{文件,頁碼,子表名,字段key,字段value}。用這種方式,可將整張復雜表識別進行有效拆分并進行結構化重建。
本文所描述的是基于Pytorch框架實驗方法,包含大部分深度學習的神經網絡模型,具體實驗環(huán)境如表1所示。
表1 實驗環(huán)境
實驗通過整理篩選共使用300余份海外審計項目中的海外鉆井日報,并由業(yè)務人員對關鍵要素進行選定和標注,將全量數據按照1∶1∶8比例進行模型測試集、驗證集以及訓練集數據分配。
4.2.1 實驗評價標準
單字識別率:字識別,一百個字里錯5個,識別率95%。
字符識別準確率:即識別正確字符數占總識別字符數比例,反映錯識別和多識別情況,但無法反映漏識別情況。
字符識別召回率:識別正確字符數占實際字符數比例,反映漏識別情況,但無法反映多識別情況,可結合字符識別準確率使用。
字段準確率:一個字段算一個整體,如100個字分為20個字段,5個錯字在4個字段里,即識別率為6/20=80%。
4.2.2 實驗對比及結果分析
(1)閾值分析。模型預測通常返回的是概率分布,也可以將概率轉換成二元值。針對復雜場景時,模型算法可能對數據的感知能力較弱,為好進行模型預測,通常會將模型預測的概率分布輸出,通過分析不同類別之間判定閾值,使得模型對類別有分別能力。調整模型預測概率分布的閾值不同于調整學習速率等超參數。在選擇閾值時需評估項目人工參與程度。當大于該閾值時,模型是有能力分辨出分類類別,當小于閾值時,模型不做判斷。
為選擇更加適合的閾值,本文在上述概率分布與預測樣本數量分析外,還添加了不同閾值下各個指標和干預程度分析,本文在實驗最終本文中選擇閾值0.95進行分析。
表2 閾值分析程度表
(2)試驗結論。
表3 試驗結論
通過實驗可以驗證,本文提出的框架能有效解決目前文檔關鍵信息提取中的幾個重要難題:建模過程太復雜業(yè)務人員無法掌握、建模資金成本和時間成本過于高昂導致無法落地、提取精度無法達到預期效果且業(yè)務人員無法主動干預。相信隨著后續(xù)研究深入,我們可以獲得一整套的針對海量復雜制式文檔的要素提取方案,來有效提升業(yè)務人員工作效率。