文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級

微軟研究院AI頭條發表於2020-08-19

隨著數字化程式的加快,文件、影像等載體的結構化分析和內容提取成為關乎企業數字化轉型成敗的關鍵一環,自動、精準、快速的資訊處理對於生產力的提升至關重要。以商業文件為例,不僅包含了公司內外部事務的處理細節和知識沉澱,還有大量行業相關的實體和數字資訊。人工提取這些資訊既耗時費力且精度低,而且可複用性也不高,因此,文件智慧技術(Document Intelligence)應運而生。

文件智慧技術深層次地結合了人工智慧和人類智慧,在金融、醫療、保險、能源、物流等多個行業都有不同型別的應用。例如:在金融領域,它可以實現財報分析和智慧決策分析,為企業戰略的制定和投資決策提供科學、系統的資料支撐;在醫療領域,它可以實現病例的數字化,提高診斷的精準度,並透過分析醫學文獻和病例的關聯性,定位潛在的治療方案。

什麼是文件智慧?

文件智慧主要是指對於網頁、數字文件或掃描文件所包含的文字以及豐富的排版格式等資訊,透過人工智慧技術進行理解、分類、提取以及資訊歸納的過程。

文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級文件智慧技術在過去的30年中,文件智慧的發展大致經歷了三個階段。90年代初期,研究人員大多使用基於啟發式規則的方法進行文件的理解與分析,透過人工觀察文件的佈局資訊,總結歸納一些處理規則,對固定佈局資訊的文件進行處理。然而,傳統基於規則的方法往往需要較大的人力成本,而且這些人工總結的規則可擴充套件性不強,因此研究人員開始採用基於統計學習的方法。隨著機器學習技術的發展和進步,基於大規模標註資料驅動的機器學習模型成為了文件智慧的主流方法,它透過人工設計的特徵模板,利用有監督學習的方式在標註資料中學習不同特徵的權重,以此來理解、分析文件的內容和佈局。

基於深度學習特別是預訓練技術的文件智慧模型,近幾年受到越來越多的重視,大型科技公司紛紛推出相應的文件智慧服務,包括微軟、亞馬遜、谷歌、IBM、阿里巴巴、百度等在內的很多公司在這個領域持續發力,對於許多傳統行業的數字化轉型提供了有力的支撐。

隨著各類實際業務和產品的出現,文件智慧領域的基準資料集也百花齊放,這些基準資料集通常包含了基於自然語言文字或影像的標註資訊,涵蓋了文件佈局分析、表格識別、資訊抽取等重要的文件智慧任務,它們的出現也推動了文件智慧技術的進一步發展。

文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級
文件智慧相關的基準資料集
傳統的文件理解和分析技術往往基於人工定製的規則或少量標註資料進行學習,這些方法雖然能夠帶來一定程度的效能提升,但由於定製規則和可學習的樣本數量不足,其通用性往往不盡如人意,而且針對不同類別文件的分析遷移成本較高。隨著深度學習預訓練技術的發展,以及大量無標註電子文件的積累,文件分析與識別技術進入了一個全新的時代。

微軟亞洲研究院提出的 LayoutLM 便是一個全新的文件理解模型,透過引入預訓練技術,同時利用文字佈局的區域性不變性特徵,可有效地將未標註文件的資訊遷移到下游任務中。LayoutLM 的論文(論文連結:https://arxiv.org/abs/1912.13318)已被KDD 2020 接收,並將在下週舉行的 KDD 大會上進行分享。同時,為了解決文件理解領域現有的資料集標註規模小、標註粒度大、多模態資訊缺失等缺陷,微軟亞洲研究院的研究員們還提出了大規模表格識別資料集 TableBank和大規模文件佈局標註資料集 DocBank(論文連結:https://arxiv.org/abs/2006.01038),利用弱監督的方法,構建了高質量的文件佈局細粒度標註。

LayoutLM:在預訓練階段實現文字和佈局資訊對齊

大量的研究成果表明,大規模預訓練語言模型透過自監督任務,可在預訓練階段有效捕捉文字中蘊含的語義資訊,經過下游任務微調後能有效的提升模型效果。然而,現有的預訓練語言模型主要針對文字單一模態進行,忽視了文件本身與文字天然對齊的視覺結構資訊。為了解決這一問題,研究員們提出了一種通用文件預訓練模型LayoutLM[1][2],選擇了文件結構資訊(Document Layout Information)和視覺資訊(Visual Information)進行建模,讓模型在預訓練階段進行多模態對齊。

在實際使用的過程中,LayoutLM 僅需要極少的標註資料即可達到行業領先的水平。研究員們在三個不同型別的下游任務中進行了驗證:表單理解(Form Understanding)、票據理解(Receipt Understanding),以及文件影像分類(Document Image Classification)。實驗結果表明,在預訓練中引入的結構和視覺資訊,能夠有效地遷移到下游任務中,最終在三個下游任務中都取得了顯著的準確率提升。

文件結構和視覺資訊不可忽視

很多情況下,文件中文字的位置關係蘊含著豐富的語義資訊。以下圖的表單為例,表單通常是以鍵值對(key-value pair)的形式展示的(例如 “DATE: 11/28/84”)。一般情況下,鍵值對的排布是以左右或者上下的形式,並且有特殊的型別關係。類似地,在表格文件中,表格中的文字通常是網格狀排列,並且表頭一般出現在第一列或第一行。透過預訓練,這些與文字天然對齊的位置資訊可以為下游的資訊抽取任務提供更豐富的語義資訊。

文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級表單示例對於富文字文件,除了文字本身的位置關係之外,文字格式所呈現的視覺資訊同樣可以幫助下游任務。對文字級(token-level)任務來說,文字大小、是否傾斜、是否加粗,以及字型等富文字格式都能夠體現相應的語義。例如,表單鍵值對的鍵位(key)通常會以加粗的形式給出;而在一般文件中,文章的標題通常會放大加粗呈現,特殊概念名詞會以斜體呈現,等等。對文件級(document-level)任務來說,整體的文件影像能提供全域性的結構資訊。例如個人簡歷的整體文件結構與科學文獻的文件結構是有明顯的視覺差異的。這些模態對齊的富文字格式所展現的視覺特徵,可以透過視覺模型抽取,再結合到預訓練階段,從而有效地幫助下游任務。

將視覺資訊與文件結構融入到通用預訓練方案

建模上述資訊需要尋找這些資訊的有效表示方式。然而現實中的文件格式豐富多樣,除了格式明確的電子文件外,還有大量掃描式報表和票據等圖片式文件。對於計算機生成的電子文件,可以使用對應的工具獲取文字和對應的位置以及格式資訊;對於掃描圖片文件,則可以使用 OCR 技術進行處理,從而獲得相應的資訊。兩種不同的手段幾乎可以使用現存的所有文件資料進行預訓練,保證了預訓練資料的規模。

文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級基於文件結構和視覺資訊的 LayoutLM 模型結構利用上述資訊,微軟亞洲研究院的研究員們在現有的預訓練模型基礎上新增了二維位置嵌入(2-D Position Embedding)和圖嵌入(Image Embedding)兩種新的 Embedding 層,可以有效地結合文件結構和視覺資訊:

1) 二維位置嵌入 2-D Position Embedding:根據 OCR 獲得的文字邊界框 (Bounding Box),能獲取文字在文件中的具體位置。在將對應座標轉化為虛擬座標之後,則可以計算該座標對應在 x、y、w、h 四個 Embedding 子層的表示,最終的 2-D Position Embedding 為四個子層的 Embedding 之和。

2) 圖嵌入 Image Embedding:將每個文字相應的邊界框 (Bounding Box) 當作 Faster R-CNN 中的候選框(Proposal),從而提取對應的區域性特徵。其特別之處在於,由於 [CLS] 符號用於表示整個輸入文字的語義,所以同樣使用整張文件影像作為該位置的 Image Embedding,從而保持模態對齊。

在預訓練階段,研究員們針對 LayoutLM 的特點提出了兩個自監督預訓練任務:

1) 掩碼視覺語言模型(Masked Visual-Language Model,MVLM):大量實驗已經證明 MLM 能夠在預訓練階段有效地進行自監督學習。研究員們在此基礎上進行了修改:在遮蓋當前詞之後,保留對應的 2-D Position Embedding 暗示,讓模型預測對應的詞。在這種方法下,模型根據已有的上下文和對應的視覺暗示預測被掩碼的詞,從而讓模型更好地學習文字位置和文字語義的模態對齊關係。

2) 多標籤文件分類(Multi-label Document Classification,MDC):MLM 能夠有效的表示詞級別的資訊,但是對於文件級的表示,還需要將文件級的預訓練任務引入更高層的語義資訊。在預訓練階段研究員們使用的 IIT-CDIP 資料集為每個文件提供了多標籤的文件型別標註,並引入 MDC 多標籤文件分類任務。該任務使得模型可以利用這些監督訊號,聚合相應的文件類別並捕捉文件型別資訊,從而獲得更有效的高層語義表示。

實驗結果:LayoutLM 的表單、票據理解和文件影像分類水平顯著提升

預訓練過程使用了 IIT-CDIP 資料集,這是一個大規模的掃描影像公開資料集,經過處理後的文件數量達到約11,000,000。研究員們隨機取樣了1,000,000個進行測試實驗,最終使用全量資料進行完全預訓練。透過千萬文件量級的預訓練並在下游任務微調,LayoutLM 在測試的三個不同型別的下游任務中都取得了 SOTA 的成績,具體如下:

1) 表單理解(Form Understanding):表單理解任務上,使用了 FUNSD 作為測試資料集,該資料集中的199個標註文件包含了31,485個詞和9,707個語義實體。在該資料集上,需要對資料集中的表單進行鍵值對(key-value)抽取。透過引入位置資訊的訓練,LayoutLM 模型在該任務上取得了顯著的提升,將表單理解的 F1 值從70.72 提高至79.2。

2) 票據理解(Receipt Understanding):票據理解任務中,選擇了 SROIE 測評比賽作為測試。SROIE 票據理解包含1000張已標註的票據,每張票據都標註了店鋪名、店鋪地址、總價、消費時間四個語義實體。透過在該資料集上微調,LayoutLM 模型在 SROIE 測評中的 F1 值高出第一名(2019)1.2個百分點,達到95.24%。

3) 文件影像分類(Document Image Classification):對於文件影像分類任務,則選擇了 RVL-CDIP 資料集進行測試。RVL-CDIP 資料集包含有16類總記40萬個文件,每一類都包含25,000個文件資料。LayoutLM 模型在該資料集上微調之後,將分類準確率提高了1.35個百分點,達到了94.42%。

DocBank資料集:50萬文件頁面,以弱監督方法獲取高質量標註

在許多文件理解應用中,文件佈局分析是一項重要任務,因為它可以將半結構化資訊轉換為結構化表示形式,同時從文件中提取關鍵資訊。由於文件的佈局和格式不同,因此這一直是一個具有挑戰性的問題。目前,最先進的計算機視覺和自然語言處理模型通常採用“預訓練-微調”正規化來解決這個問題,首先在預先訓練的模型上初始化,然後對特定的下游任務進行微調,從而獲得十分可觀的結果。

但是,模型的預訓練過程不僅需要大規模的無標記資料進行自我監督學習,還需要高質量的標記資料進行特定任務的微調以實現良好的效能。對於文件佈局分析任務,目前已經有一些基於影像的文件佈局資料集,但其中大多數是為計算機視覺方法而構建的,很難應用於自然語言處理方法。此外,基於影像的標註主要包括頁面影像和大型語義結構的邊界框,精準度遠不如細粒度的文字級標註。然而,人工標註細粒度的 Token 級別文字的人力成本和時間成本非常高昂。因此,利用弱監督方法,以較少的人力物力來獲得帶標籤的細粒度文件標註,同時使資料易於應用在任何自然語言處理和計算機視覺方法上至關重要。

為此,微軟亞洲研究院的研究員們構建了 DocBank 資料集[3][4],這是一個文件基準資料集,其中包含了50萬文件頁面以及用於文件佈局分析的細粒度 Token 級標註。與常規的人工標註資料集不同,微軟亞洲研究院的方法以簡單有效的方式利用弱監督的方法獲得了高質量標註。DocBank 資料集是文件佈局標註資料集 TableBank[5][6] 的擴充套件,基於網際網路上大量的數字化文件進行開發而來。例如當下很多研究論文的 PDF 檔案,都是由 LaTeX 工具編譯而成。LaTeX 系統的命令中包含了標記作為構造塊的顯式語義結構資訊,例如摘要、作者、標題、公式、圖形、頁尾、列表、段落、參考、節標題、表格和文章標題。為了區分不同的語義結構,研究員們修改了 LaTeX 原始碼,為不同語義結構的文字指定不同的顏色,從而能清楚地劃分不同的文字區域,並標識為對應的語義結構。

從自然語言處理的角度來看,DocBank 資料集的優勢是可用於任何序列標註模型,同時還可以輕鬆轉換為基於影像的標註,以支援計算機視覺中的物體檢測模型。透過這種方式,可以使用 DocBank 公平地比較來自不同模態的模型,並且進一步研究多模態方法,提高文件佈局分析的準確性。

為了驗證 DocBank 的有效性,研究員們使用了 BERT、RoBERTa 和 LayoutLM 三個基線模型進行實驗。實驗結果表明,對於文件佈局分析任務,LayoutLM 模型明顯優於 DocBank 上的 BERT 和 RoBERTa 模型。微軟亞洲研究院希望 DocBank 可以驅動更多文件佈局分析模型,同時促進更多的自定義網路結構在這個領域取得實質性進展。

文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級DocBank 資料集的資料樣例四步構建 DocBank 資料集
文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級DocBank 的處理步驟研究員們使用 Token 級標註構建 DocBank 資料集,以支援自然語言處理和計算機視覺模型的研究。DocBank 的構建包括四個步驟:文件獲取、語義結構檢測、Token 級別文字標註、後處理。DocBank 資料集總共包括50萬個文件頁面,其中訓練集包括40萬個文件頁面,驗證集和測試集分別包括5萬個文件頁面(點選閱讀原文,訪問DocBank 資料集網站了解更多具體資訊)。

文件獲取

研究員們在 arXiv.com 上獲取了大量科研論文的 PDF 檔案,以及對應的 LaTeX 原始檔,因為需要透過修改原始碼來檢測語義結構。這些論文包含物理、數學、電腦科學以及許多其他領域,非常有利於 DocBank 資料集的多樣性覆蓋,同時也可以使其訓練出的模型更加魯棒。目前這項工作聚焦在英文文件上,未來將會擴充套件到其他語言。

語義結構檢測

DocBank 是 TableBank 資料集的擴充套件,其中除了表格之外還包括其他語義單元,用於文件佈局分析。在 DocBank 資料集中標註了以下語義結構:摘要、作者、標題、公式、圖形、頁尾、列表、段落、參考文獻、節標題、表格和文章標題。

之前的 TableBank 研究使用了 “fcolorbox” 命令標記表格。但是,對於 DocBank 資料集,目標結構主要由文字組成,因此無法很好地應用 “fcolorbox” 命令。所以此次使用 “color” 命令來改變這些語義結構的字型顏色,透過特定於結構的顏色來區分它們。有兩種型別的命令可以表示語義結構。

一類是 LaTeX 命令的簡單單詞,後接反斜槓。例如,LaTeX 文件中的節標題通常採用以下格式:

文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級

另一類命令通常會啟動一個環境。例如,LaTeX 文件中的列表宣告如下所示:

文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級

\begin{itemize} 命令啟動一個環境,而 \end{itemize} 命令結束該環境。實際命令名稱是 “begin” 命令和 “end” 命令的引數。將 “color” 命令插入到語義結構的程式碼中(如下所示),然後重新編譯 LaTeX 文件。同時,為所有語義結構定義特定的顏色,使它們更好地被區分。不同的結構命令要求將 “color” 命令放置在不同的位置才能生效。最後,重新編譯 LaTeX 文件來獲取更新的 PDF 頁面,其中每個目標結構的字型顏色已修改為特定於結構的顏色。

文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級

Token 級別文字標註

研究員們使用 PDFPlumber(基於 PDFMiner 構建的 PDF 解析器)來提取文字行和非文字元素,以及它們的邊界框。透過劃分空格將文字行分詞,由於只能從解析器中獲得字元的邊界框,因此 Token 的邊界框定義是組成 Token 的單詞中最左上角座標和最右下角座標的集合。對於沒有任何文字的元素(例如 PDF 檔案中的圖形和線條),則在 PDFMiner 中使用其類名和兩個“#”符號將其組成一個特殊標記。表示圖形和線條的類名分別是 “LTFigure” 和 “LTLine”。

 PDFPlumber 可以從 PDF 檔案中以 RGB 值的形式,提取字元和非文字元素的顏色。通常,每個 Token 由具有相同顏色的字元組成。如果不是的話,則使用第一個字元的顏色作為 Token 的顏色。根據上述的顏色到結構的對映,可以確定 Token 級別的文字標籤。此外,語義結構可以同時包含文字和非文字元素。例如,表格由單詞和組成表格的線條構成。在這項工作中,為了使模型在元素被切分之後能夠儘可能地獲取表格的佈局,單詞和線條都被標註為“表格”類。

後處理

在某些情況下,一些 Token 天然具有多種顏色,並且無法透過 “ color” 命令進行轉換,例如 PDF 檔案中的超連結和引用,這些不變的顏色將導致標記的標註錯誤。因此,為了更正這些 Token 的標籤,還需要對 DocBank 資料集進行一些後處理步驟。

 通常,相同語義結構的 Token 將按閱讀順序組織在一起。因此,一般在相同的語義結構中連續的標記都具有相同的標籤。當語義結構交替時,邊界處相鄰 Token 的標籤將不一致。研究員們會根據文件中的閱讀順序檢查所有標籤。當單個 Token 的標籤與其上文和下文的標籤不同,但上文和下文的標籤相同時,會將此 Token 的標籤校正為與上下文標記相同。透過手動檢查,研究員們發現這些後處理步驟大大改善了DocBank 資料集的質量。

實驗資料統計

DocBank 資料集具有12種語義單元,DocBank 中訓練集、驗證集和測試集的統計資訊,顯示了每個語義單元的數量(定義為包含該語義單元的文件頁面數量),以及佔總文件頁面數量的百分比。由於這些文件頁面是隨機抽取並進行劃分的,因此語義單元在不同集合中的分佈幾乎是一致的。

文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級DocBank 中訓練、驗證和測試集的語義結構統計資訊年份統計資訊中展示了不同年份文件頁面的分佈,可以看到論文的數量是逐年增加的。為了保持這種自然分佈,研究員們隨機抽取了不同年份的文件樣本以構建 DocBank,而沒有平衡不同年份的數量。

文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級

DocBank 中訓練、驗證和測試集的年份統計資訊


DocBank 與現有的文件佈局分析資料集(包括 Article Regions、GROTOAP2、PubLayNet 和 TableBank)的比較顯示,DocBank 在資料集的規模和語義結構的種類上都超過了現有的資料集。而且,表格中所有資料集都是基於影像的,只有DocBank 同時支援基於文字和基於影像的模型。由於 DocBank 是基於公開論文自動構建的,因此具有可擴充套件性,可以隨著時間繼續擴大資料規模。


文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級DocBank 與現有的文件佈局分析資料集的比較評價指標

由於模型的輸入是序列化的二維文件,所以典型的 BIO 標籤評估並不適合這個任務。每個語義單元的 Token 可以在輸入序列中不連續地分佈。針對基於文字的文件佈局分析方法,研究員們提出了一個新的指標,其定義如下:

文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級
實驗結果
文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級LayoutLM、BERT、RoBERTa 模型在 DocBank 測試集的準確性在 DocBank 的測試集上評估了六個模型後,研究員們發現 LayoutLM 在摘要、作者、表格標題、方程式、圖形、頁尾、列表、段落、節標題、表格、文章標題標籤上得分最高。在其他標籤上 LayoutLM 與其他模型的差距也較小。這表明在文件佈局分析任務中,LayoutLM 結構明顯優於 BERT 和 RoBERTa 結構。


文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級

 


文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級

 


文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級

 


文件智慧:通用文件預訓練模型與資料集,推動NLP落地升級

 

原始文件頁面

預訓練BERT結果

真實結果

預訓練LayoutLM結果

測試集上預訓練 BERT 模型和預訓練 LayoutLM 模型的樣例輸出

研究員們又選取了測試集的一些樣本,將預訓練 BERT 和預訓練 LayoutLM 的輸出進行了視覺化。可以觀察到,序列標記方法在 DocBank 資料集上表現良好,它可以識別不同的語義單元。對於預訓練的 BERT 模型,某些 Token 沒有被正確標記,這表明僅使用文字資訊仍不足以完成文件佈局分析任務,還應考慮視覺資訊。

與預訓練的 BERT 模型相比,預訓練的 LayoutLM 模型整合了文字和佈局資訊,因此它在基準資料集上實現了更好的效能。這是因為二維的位置嵌入可以在統一的框架中對語義結構的空間距離和邊界進行建模,從而提高了檢測精度。

結束語

資訊處理是產業化的基礎和前提,如今對處理能力、處理速度和處理精度也都有著越來越高的要求。以商業領域為例,電子商業文件就涵蓋了採購單據、行業報告、商務郵件、銷售合同、僱傭協議、商業發票、個人簡歷等大量繁雜的資訊。機器人流程自動化(Robotic Process Automation,RPA) 行業正是在這一背景下應運而生,利用人工智慧技術幫助大量人工從繁雜的電子文件處理任務中解脫出來,並透過一系列配套的自動化工具提升生產力,RPA的關鍵核心之一就是文件智慧技術。

傳統的人工智慧技術往往需要利用大量的人工標註資料來構建自動化機器學習模型,然而標註資料的過程費時費力,通常成為產業化的瓶頸。LayoutLM 文件理解預訓練技術的優勢在於,利用基於深度神經網路的自學習技術,透過大規模無標註資料學習基礎模型,之後再透過遷移學習技術僅需少量標註資料即可達到人工處理文件的水平。目前,LayoutLM 技術已經成功應用於微軟的核心產品和服務中。

為了推動文件智慧技術的發展,LayoutLM 的相關模型程式碼和論文也已經開源(https://aka.ms/layoutlm),並受到了學術界和工業界的廣泛關注和好評,據媒體報導在金融智慧分析領域已經有機構開始採用 LayoutLM 模型[7]進行流程自動化的整合和部署,同時也有相關機構採用 LayoutLM 模型[8]進行文件視覺問答(Document VQA)方面的研究工作。相信隨著傳統行業數字化轉型的逐步深入,文件智慧研究工作將被更多的個人和企業關注,進一步推動相關技術和行業的發展。

附錄

[1]LayoutLM 論文:https://arxiv.org/abs/1912.13318

[2]LayoutLM 程式碼&模型:https://aka.ms/layoutlm

[3] DocBank 論文:https://arxiv.org/abs/2006.01038

[4] DocBank 資料集&模型:https://github.com/doc-analysis/DocBank

[5] TableBank 論文:https://arxiv.org/abs/1903.01949

[6] TableBank 資料集&模型:https://github.com/doc-analysis/TableBank

[7] “Injecting Artificial Intelligence into Financial Analysis”:https://medium.com/reimagine-banking/injecting-artificial-intelligence-into-financial-analysis-54718fbd5949

[8] “Document Visual Question Answering”:https://medium.com/@anishagunjal7/document-visual-question-answering-e6090f3bddee

相關文章