隨著許多行業的數字化轉型,電子商業文件的結構化分析和內容提取成為一項熱門的研究課題。電子商業文件通常包括兩大類:一類是紙質文件的掃描影像件,另一類是計算機生成的數字文件,這些文件涵蓋採購單據、行業報告、商務郵件、銷售合同、僱傭協議、商業發票、個人簡歷等。
一般來說,電子商業文件包含了公司對於內部和外部事物的處理細節,具有大量與行業相關的實體資訊和數字資訊。在過去,電子商業文件的資訊處理一般由人工來完成,然而,人工資訊提取不僅耗時費力,可複用性也不高,大大限制和阻礙了企業執行效率。因此,電子文件的自動精準快速處理對於企業生產力提升至關重要,這也促使了一些新興行業的出現,幫助傳統行業進行數字化轉型,提高生產力。
近年來,機器人流程自動化(Robotic Process Automation, RPA)應運而生,正是利用人工智慧技術幫助大量人力從繁雜的電子文件處理任務中解脫出來,提供了一系列配套的自動化工具提升企業生產力。其中,最為關鍵的核心技術就是自動文件分析與識別技術。
傳統的文件分析和識別技術往往基於人工定製的規則或少量標註資料進行學習,這些方法雖然能夠帶來一定程度的效能提升,但由於定製規則和可學習的樣本數量不足,其通用性往往不盡如人意,針對不同類別文件的分析遷移成本較高。
隨著深度學習預訓練技術的發展,以及大量無標註電子文件的積累,文件分析與識別技術進入了一個全新的時代。大量的研究成果表明,大規模預訓練語言模型能夠透過自監督任務在預訓練階段有效捕捉文字中蘊含的語義資訊,經過下游任務微調後能有效地提升模型效果。然而,現有的預訓練語言模型主要針對文字單一模態進行,而忽視了文件本身與文字天然對齊的視覺結構資訊。
為了解決這一問題,我們提出了一種通用文件預訓練模型 LayoutLM,對文件結構資訊(Document Layout Information)和視覺資訊(Visual Information)進行建模,讓模型在預訓練階段進行多模態對齊。我們在三個不同型別的下游任務中進行驗證:表單理解(Form Understanding),票據理解(Receipt Understanding),以及文件影像分類(Document Image Classification)。
實驗結果表明,我們在預訓練中引入的結構和視覺資訊,能夠有效地遷移到下游任務中。最終在三個下游任務中都取得了顯著的準確率提升,具體來說:
1)在表單理解任務中,我們的方法相比較於僅使用文字預訓練的模型提升8.5個百分點;
2)在票據理解任務中,我們的方法比ICDAR 2019票據資訊抽取比賽第一名的方法提升1.2個百分點[1];
3)在文件影像分類任務中,我們的方法比目前公開發表的最好結果提升1.3個百分點[2]。
目前,預訓練模型和程式碼都已經開放下載:
- 程式碼連結:
https://github.com/microsoft/unilm/tree/master/layoutlm - 論文連結:
https://arxiv.org/abs/1912.13318
文件中的多模態資訊
文件結構資訊
很多情況下,文件中文字的位置關係蘊含著豐富的語義資訊。以下圖的表單為例,表單通常是以鍵值對(key-value pair)的形式展示的(例如“DATE: 11/28/84”)。通常情況下,鍵值對的排布通常是左右或者上下形式,並且有特殊的型別關係。類似地,在表格文件中,表格中的文字通常是網格狀排列,並且表頭一般出現在第一列或第一行。透過預訓練,這些與文字天然對齊的位置資訊可以為下游的資訊抽取任務提供更豐富的語義資訊。
視覺資訊
對於富文字文件,除了文字本身的位置關係之外,文字格式所呈現的視覺資訊同樣可以幫助下游任務。對文字級(token-level)任務來說,文字大小,是否傾斜,是否加粗,以及字型等富文字格式能夠體現相應的語義。通常來說,表單鍵值對的鍵位(key)通常會以加粗的形式給出。對於一般文件來說,文章的標題通常會放大加粗呈現,特殊概念名詞會以斜體呈現等。對文件級(document-level)任務來說,整體的文件影像能提供全域性的結構資訊。例如個人簡歷的整體文件結構與科學文獻的文件結構是有明顯的視覺差異的。這些模態對齊的富文字格式所展現的視覺特徵可以透過視覺模型抽取,結合到預訓練階段,從而有效地幫助下游任務。
通用預訓練方案
為了建模上述資訊,我們需要尋找這些資訊的有效表示方式。然而現實中文件格式豐富多樣,除了格式明確的電子文件外,還有大量掃描式報表和票據等圖片式文件。對於計算機生成的電子文件,我們可以使用對應的工具方便地獲取文字和對應的位置以及格式資訊。而對於掃描圖片文件,我們使用 OCR 技術進行處理,從而獲得相應的資訊。透過兩種不同的手段,我們幾乎可以使用現存的所有文件資料進行預訓練,保證了預訓練資料的規模。
LayoutLM 模型結構
為了利用上述資訊,我們在現有的預訓練模型基礎上新增 2-D Position Embedding 和 Image Embedding 兩種新的 Embedding 層,這樣一來可以有效地結合文件結構和視覺資訊。
2-D Position Embedding
根據 OCR 獲得的文字 Bounding Box,我們能獲取文字在文件中的具體位置。將對應座標轉化為虛擬座標之後,我們計算該座標對應在 x、y、w、h 四個 Embedding 子層的表示,最終的 2-D Position Embedding 為四個子層的 Embedding 之和。
Image Embedding
在 Image Embedding 部分, 我們將每個文字相應的 Bounding Box 當作 Faster R-CNN 中的候選框(Proposal),從而提取對應的區域性特徵。特殊地,由於 [CLS] 符號用於表示整個輸入文字的語義,我們同樣使用整張文件影像作為該位置的 Image Embedding,從而保持模態對齊。
預訓練任務
在預訓練階段,我們針對 LayoutLM 的特點提出兩個自監督預訓練任務:1)Masked Visual-Language Model(MVLM,遮罩式視覺語言模型)2)Multi-label Document Classification (MDC,多標籤文件分類)。
任務1:MVLM 遮罩式視覺語言模型
大量實驗已經證明 MLM 能夠在預訓練階段有效地進行自監督學習。我們在此基礎上進行了修改:在遮蓋(Mask)當前詞之後,保留對應的 2-D Position Embedding 暗示,讓模型預測對應的詞。在這種方法下,模型根據已有的上下文和對應的視覺暗示預測被遮罩的詞,從而讓模型更好地學習文字位置和文字語義的模態對齊關係。
任務2:MDC 多標籤文件分類
MLM 能夠有效的表示詞級別的資訊,但是對於文件級的表示,我們需要文件級的預訓練任務來引入更高層的語義資訊。在預訓練階段我們使用的 IIT-CDIP 資料集為每個文件提供了多標籤的文件型別標註,我們引入 MDC 多標籤文件分類任務。該任務使得模型可以利用這些監督訊號去聚合相應的文件類別,並捕捉文件型別資訊,從而獲得更有效的高層語義表示。
預訓練過程
預訓練過程我們使用 IIT-CDIP 資料集[3]。IIT-CDIP 資料集是一個大規模的掃描影像公開資料集,經過處理後文件數量達到約11,000,000。我們隨機取樣了1,000,000進行了測試實驗,最終使用全量資料進行完全預訓練。
下游任務微調
透過千萬文件量級的預訓練並在下游任務微調,我們在測試的三個不同型別的下游任務中都取得了目前的最佳成績:在 FUNSD 資料集上將表單理解的 F1 值從70.72提高至79.2;將 ICDAR 2019 票據理解 SROIE 比賽中的第一名成績94.02提高至95.24;在 RVL-CDIP 文件影像分類資料集上將目前的最好結果93.07提高至94.42。
表單理解(Form Understanding)
在表單理解任務上,我們使用 FUNSD 作為測試資料集,該資料集中的199個標註文件包含31,485個詞和9,707個語義實體。在該資料集上,我們需要對資料集中的表單進行鍵值對(key-value)抽取。透過引入位置資訊的預訓練,我們的模型在該任務上取得了顯著的提升。實驗結果見下表。
票據理解(Receipt Understanding)
在票據理解任務中,我們選擇 SROIE 測評比賽作為測試。SROIE 票據理解包含1000張已標註的票據,每張票據標註了店鋪名、店鋪地址、總價、消費時間四個語義實體。透過在該資料集上微調,我們的模型在 SROIE 測評中,F1 值高出第一名(2019)1.2個百分點,達到95.24%。
文件影像分類(Document Image Classification)
對於文件影像分類任務,我們選擇 RVL-CDIP 資料集進行測試。RVL-CDIP 資料集包含16類總記40萬個文件,每一類都包含25,000個文件資料。我們的模型在該資料集上微調之後將分類準確率提高了1.35個百分點,達到了94.42%。
分析實驗
我們同樣根據實驗設定進行了分析。根據對訓練資料、步長、模型結構和初始化結構的分析,LayoutLM 還有更多的潛力可以挖掘。
訓練資料及步長
根據下表,我們可以看到增加訓練資料和訓練步長都能顯著提高模型效果。
模型結構和初始化權重
我們進行了使用 BASE/LARGE 網路結構以及使用 BERT/RoBERT 權重初始化的對照實驗。根據實驗結果我們發現,在其他實驗設定相同的情況下,使用規模更大的網路結構和更有效的權重能顯著影響模型的效果。
總結
經過實驗,我們觀察到在文件內容理解任務中,透過在預訓練階段引入文件結構和視覺資訊能有效提高模型在下游任務的表現。未來的工作中,我們將會在預訓練階段嘗試將 Image Embedding 進行早期融合(Early Fusion),將影像資訊編碼進 LayoutLM。與此同時,我們也會嘗試其他有效的預訓練任務,同時引入規模更大的訓練資料,擴充套件 LayoutLM 的潛力。
論文及程式碼
我們已經放出論文以及預訓練模型,並提供了微調的程式碼樣例,更多資訊請訪問以下連結。
論文連結:
https://arxiv.org/abs/1912.13318
程式碼連結:
https://github.com/microsoft/unilm/tree/master/layoutlm
參考文獻:
[1] https://rrc.cvc.uab.es/?ch=13&com=evaluation&task=3
[2] https://paperswithcode.com/sota/document-image-classification-on-rvl-cdip
[3] https://ir.nist.gov/cdip/
[4] https://rrc.cvc.uab.es/?ch=13&com=evaluation&task=3