吳泊心,仲國強,馬龍龍
(1. 中國海洋大學 信息科學與工程學部,山東 青島 266400;2. 中國科學院軟件研究所 中文信息處理實驗室,北京 100190)
在人類社會的發(fā)展中,文字是表達信息的重要方式,而文檔是傳遞和組織這些文字信息的重要載體。視覺文檔則是一種賦予文字更多視覺和結構特征的文檔,通過設置文字版式、頁面排版等方式,突出其中的關鍵信息及聯(lián)系。在商業(yè)、教育、醫(yī)療等領域,視覺文檔廣泛存在,例如,收據(jù)、發(fā)票、合同、試卷、診單等,具有重要的業(yè)務價值。在處理這些視覺文檔時,需要從中提取指定的關鍵信息,過去信息提取工作往往采用人工的方式完成,不僅耗時而且昂貴。隨著時代的發(fā)展,人們需要更加智能、高效的方法。
視覺文檔一般被認為具有三種模態(tài)信息: 文本、布局和視覺圖像。文本信息表示文本的語言含義,布局信息表示文本的空間位置和文檔布局結構,視覺圖像信息如文本的顏色、字體、背景、標注等。在研究和應用中,視覺文檔常以掃描圖像和照片的形式出現(xiàn),如圖1所示,一般具有以下特點: ①豐富的文本樣式,如不同的大小、字體和顏色,印刷或手寫格式等; ②多種文檔組件,由文本、表格、圖像和印章等內(nèi)容組成; ③多樣文檔結構,通過對齊、留白、分割線等形成特定結構; ④復雜圖像背景,可能含有褶皺或涂改痕跡,另外在拍攝、掃描獲得圖像時常引入光照、角度等干擾。在視覺文檔信息抽取商業(yè)應用中,以上這些因素帶來了巨大挑戰(zhàn),并使其成為結合計算機視覺和自然語言處理多領域的多模態(tài)任務,吸引著各大科技公司和高校深入研究。
圖1 視覺文檔樣例: 表格、發(fā)票和收據(jù)
簡言之,視覺文檔信息抽取(Visual Document Information Extraction,VDIE)是指從大量具有豐富視覺信息的文檔內(nèi)容中抽取實體及其關系的技術[1]。與傳統(tǒng)的信息抽取[2](Information Extraction,IE)相比,IE以文字序列為輸入,只需考慮文本模態(tài)信息;而VDIE則以視覺文檔為輸入,需綜合考慮多模態(tài)信息。21世紀初,視覺文檔信息抽取方法主要基于模板和機器學習,應用于發(fā)票和收據(jù)等方面[3-7],但效果欠佳。隨著深度學習技術的成熟和突破,近五年文檔信息抽取技術發(fā)展迅速,基于深度學習的視覺文檔信息抽取方法涌現(xiàn),而且具有以下優(yōu)點: ①準確率高,滿足商業(yè)應用要求; ②適應性好,可以處理多種類型的文檔; ③學習能力強,能夠自動提取多模態(tài)特征以提升信息抽取的性能; ④拓展性強,能夠通過增加數(shù)據(jù)量和模型規(guī)模進一步提高方法的性能。基于深度學習的方法,通常使用計算機視覺中的卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)提取視覺文檔的圖像特征,使用自然語言處理中長短時記憶網(wǎng)絡(Long Short Term Memory,LSTM)等循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)學習文本語言中的上下文信息[8-9],使用注意力機制網(wǎng)絡[10]挖掘多模態(tài)信息之間的深層聯(lián)系。
最近幾年,預訓練技術[11-12]在深度學習領域的廣泛應用,同樣對文檔領域產(chǎn)生了深刻影響。研究人員利用海量堆積的無標記視覺文檔,通過自監(jiān)督的預訓練方式學習、理解其中的先驗知識,并在有標注的數(shù)據(jù)集上進行有監(jiān)督學習的微調訓練以提升下游任務的性能。該方法的代表作LayoutLM[13]在視覺文檔信息抽取以及文檔分類、版面分析等多個下游任務上表現(xiàn)優(yōu)異,并啟發(fā)了許多后續(xù)研究。
綜上,基于深度學習的方法可以大致分為兩類: 一類是基于有監(jiān)督學習的方法,在標注數(shù)據(jù)集上進行訓練和測試,主要包括基于網(wǎng)格的方法、基于圖的方法和端到端方法;另一類是日漸成為主流的基于自監(jiān)督預訓練和有監(jiān)督微調的方法,對大規(guī)模無標記數(shù)據(jù)集進行自監(jiān)督預訓練并在下游標注數(shù)據(jù)集上進行有監(jiān)督微調。
本文接下從以下幾方面介紹該領域的發(fā)展。
第1節(jié)介紹基于有監(jiān)督學習的方法,包括基于網(wǎng)格的方法、基于圖的方法和端到端方法。第2節(jié)分析基于自監(jiān)督預訓練和有監(jiān)督微調的方法,介紹其中的四個方面: 多模態(tài)信息獲取與編碼、預訓練模型、自監(jiān)督預訓練,以及視覺文檔信息抽取的有監(jiān)督微調。第3節(jié)介紹視覺文檔信息抽取領域常用的一些公開數(shù)據(jù)集和評價指標。
最后總結并展望該領域未來可能的研究方向。
有監(jiān)督學習指深度學習模型在人工標注的數(shù)據(jù)樣本上進行優(yōu)化訓練,是深度學習長期以來的一種主流方法?;谟斜O(jiān)督學習的視覺文檔信息抽取方法,主要有基于網(wǎng)格的方法、基于圖的方法和端到端方法。
根據(jù)視覺文檔的二維平面特性,有研究者提出網(wǎng)格(Grid)的概念,將文檔抽象為二維棋盤結構,將相應位置文本的語言特征填充到格子中,使其不僅在整體上保留了文本單元間的相對空間關系,而且在局部上增強了網(wǎng)格元素的語義特征。
Chargrid[14]最早應用了網(wǎng)格特征圖的概念,通過光學字符識別(Optical Character Recognition,OCR)獲得字符和文本框信息,使用像素大小作為網(wǎng)格尺寸,將字符的獨熱編碼填入文本框區(qū)域網(wǎng)格中,構建Chargrid特征圖。該方法使用如圖2所示的編碼器/解碼器網(wǎng)絡學習Chargrid特征圖,以語義分割的方式抽取特定信息。該網(wǎng)絡具有兩個相同結構的解碼器,其中一個解碼器負責完成語義分割任務,另一個解碼器則學習文本框信息協(xié)助編碼器。為提升Chargrid特征圖的語義分割效果,Dang等人[15]設計了多層UNet編碼器/解碼器,結合注意力機制,以更少的參數(shù)量達到了更好效果,同時證明了Chargrid特征圖的有效性。
圖2 Chargrid[14]方法概述圖
研究者認為增強網(wǎng)格元素的語義特征,有助于提升網(wǎng)格特征圖的表征能力。在后續(xù)工作中,Wordgrid[16]使用了詞特征嵌入,BERTgrid[17]通過BERT模型在大量收據(jù)文本上進行預訓練,進一步獲得并使用含有上下文信息的詞嵌入特征。Cutie[18]降低了網(wǎng)格特征圖的復雜度,不再使用像素作為網(wǎng)格單元,而是將粗粒度的文本塊(Segment)映射到網(wǎng)格中。這些增強網(wǎng)格語義特征的方法,都取得了性能上的提升。
為進一步融合視覺圖像信息,Visual-WordGrid[19]首次將圖像信息和網(wǎng)格特征結合,比WordGrid[16]具有一定性能提升。ViBERTgrid[20]則采用端到端的方式,將生成特征圖和信息抽取兩個步驟做聯(lián)合訓練以優(yōu)化模型,降低了傳統(tǒng)方法的誤差積累;并在推理階段,不再以語義分割為信息抽取方法,而是直接根據(jù)特征圖區(qū)域解碼特征和詞嵌入進行詞性分類,大幅提高了基于網(wǎng)格方法的性能。
基于網(wǎng)格的方法更多地從計算機視覺的角度,將深度學習技術應用于視覺文檔信息抽取,以二維平面形式對視覺文檔及其多模態(tài)信息進行建模,面對多種不同版式視覺文檔的應用場景,比以往基于規(guī)則和機器學習的方法具有更強的處理能力。
基于圖(graph)的方法[21-27]對視覺文檔構建圖表征,通過圖卷積網(wǎng)絡(Graph Convolutional Network,GCN)更新圖嵌入信息。圖表征由節(jié)點(Node)和邊緣(Edge)組成,節(jié)點含有文本等模態(tài)信息,邊緣一般由布局位置信息確定并表示節(jié)點之間的連通性和權重。
如圖3(a)所示,Liu等人[22]通過文檔圖對文本及其空間布局關系進行建模。它首先以文本塊(Segment)為單位初始化圖節(jié)點信息,以文本框大小距離初始化圖邊緣信息,然后如圖3(c)所示以節(jié)點-邊緣-節(jié)點三元組為圖卷積單元,著重更新交換相鄰節(jié)點間的文本信息。最后,如圖3(b)所示,將圖嵌入和文本嵌入拼接作為BiLSTM-CRF[28]提取器的輸入,通過BIO格式[29]抽取關鍵信息。其中BIO是一種常見的序列標注格式,指Beginning-Inside-Outside,其將組成實體的多個詞,分別打上B、I、O不同的標記。Liu等人[22]通過實驗證明了圖結構對文本和布局信息表征的有效性,啟發(fā)了后續(xù)工作。
圖3 基于圖的方法: Liu等人[22]方法概述圖
現(xiàn)實中,視覺文檔往往具有多層結構關系,傳統(tǒng)的BIO序列標記的信息抽取方式并不能很好地處理這種層次關系。SPADE[24]使用實體間的關系矩陣表示多層實體關系。它首先將實體信息融入文檔圖表征,同時建立實體節(jié)點和文本節(jié)點間的序列和層次兩種邊緣關系類型,再通過解碼函數(shù)將關系矩陣轉換為結構化json文本來獲得實體信息,有效處理了文本間的層次關系。
PICK[25]在Liu等人[22]的工作基礎上,在初始化文檔圖節(jié)點時加入了視覺圖像信息,將文本嵌入與對應區(qū)域的視覺圖像嵌入相加。通過實驗,PICK[25]取得了比LayoutLM[13]更好的效果,說明視覺信息能增強文檔圖結構的表征能力。
在發(fā)票、收據(jù)等半結構化視覺文檔中,往往具有明顯的鍵值關系。MatchVIE[26]希望通過這種鍵值關系來輔助糾正序列中的錯誤標記。該方法一方面根據(jù)圖表征模塊預測文檔內(nèi)容中的鍵值關系,另一方面通過序列標記模塊預測實體信息,最終以鍵值關系中的值輔助糾正最終的實體信息。MatchVIE[26]充分利用了結構化視覺文檔中的特點,與圖表征結合,提升了實體信息抽取的精度。
基于圖的方法能充分利用視覺文檔中的文本和空間信息對文本信息建模,通過圖卷積進行局部和全局信息的交流,更加便于實體信息的預測;同時也需要更仔細地考慮文檔圖的定義、節(jié)點和邊緣的初始化,圖卷積學習過程以及如何使用學習后的圖嵌入優(yōu)化信息抽取的效果等多個問題。
大部分基于深度學習的視覺文檔信息抽取方法,需要先使用OCR獲得文本序列和文本框信息。端到端方法[30-34]則跳過這一步驟,直接以視覺文檔圖像為輸入,輸出實體信息,減少任務多個步驟導致的誤差積累。
EATEN[30]較早嘗試了以端到端的方式完成信息抽取,將CNN網(wǎng)絡提取的文檔視覺特征分別輸入到多個RNN解碼器。每個解碼器將根據(jù)圖像標記檢測、識別和輸出特定類型的實體信息。但該工作沒有利用文檔中包含的文本語義,模型方法存在改進的空間。
TRIE[31]則提出了一個統(tǒng)一的文本閱讀和信息抽取的網(wǎng)絡,如圖4所示??梢钥闯?該模型主要具有三個模塊,文本閱讀模塊負責檢測、識別文本并獲得文本、視覺和布局特征,多模態(tài)上下文模塊通過注意力機制融合多個模態(tài)特征為多模態(tài)特征,信息抽取模塊則結合多模態(tài)特征與文本特征進行序列標記,獲得最終實體信息。其中,TRIE將文本閱讀模塊和信息抽取模塊聯(lián)合訓練,使之相互增強,并以多模態(tài)上下文模塊銜接二者。實驗表明,端到端的聯(lián)合訓練一方面對信息抽取性能有明顯提升,另一方面信息抽取的速度也獲得了大幅領先,證明了TRIE端到端方法的有效性和實用性。
圖4 端到端方法: TRIE[31]概述圖
VIES[32]同樣采取聯(lián)合訓練文本檢測識別模塊和信息抽取模塊的方式,不過同時學習了詞和字符兩種級別的布局、文本、視覺信息,不僅豐富了多模態(tài)嵌入的信息,而且降低了單側文本識別錯誤的影響,提升了信息抽取模塊的精度并反饋增強了文本檢測識別的性能。在實驗中,VIES在文本檢測、文本識別和信息抽取多個環(huán)節(jié)上的表現(xiàn)都優(yōu)于TRIE[31],提高了端到端方法中的準確率、魯棒性和對復雜視覺文檔的處理能力。
圖5描述了三種方法的主要特點,從左到右來看,基于端到端學習的方法直接使用原始文檔圖像作為輸入,基于圖的方法和基于網(wǎng)格的方法則對文檔多模態(tài)輸入構建不同的表征,一般通過序列標注和語義分割等方式完成實體信息的抽取。三種方法均以有監(jiān)督學習的方式,將深度學習用于視覺文檔的信息抽取,比傳統(tǒng)的基于規(guī)則的方法和機器學習的方法,對標記數(shù)據(jù)的學習能力更強,性能更好,魯棒性更強,能更高效地處理多種類型的文檔。
圖5 基于有監(jiān)督學習的方法框架圖
BERT[11]使用預訓練技術,在多個自然語言處理任務上同時取得大幅性能提升,證明了預訓練技術的有效性,使預訓練技術在多個領域流行起來。BERT的成功得益于大量數(shù)據(jù)、注意力機制模型、自監(jiān)督預訓練,以及有監(jiān)督微調,大量文本數(shù)據(jù)提供了豐富的語義、語境和上下文等語言信息,注意力機制模型提供了強大的長距離上下文學習能力及高效的并行計算效率,自監(jiān)督預訓練則提供了利用海量無標記數(shù)據(jù)的可行性,在下游任務的有監(jiān)督微調則可以大幅提高任務性能。視覺文檔領域具有大量未經(jīng)標記的視覺文檔數(shù)據(jù),研究人員嘗試應用自監(jiān)督預訓練和有監(jiān)督微調的處理范式,進一步提高各類文檔任務的性能。
預訓練語言模型應用于視覺文檔時,最早只關注了文本信息,并未利用其中豐富的文本樣式、版面結構和布局信息,而這往往對文檔理解非常重要。2020年初,LayoutLM[13]提出了一種多模態(tài)預訓練模型,結合了視覺文檔中的布局和視覺信息進行預訓練,在多個文檔下游任務上取得了領先性能。從而,基于自監(jiān)督預訓練和有監(jiān)督微調的視覺文檔方法(后文簡稱預訓練方法)開始被廣泛研究,視覺文檔信息抽取研究進入了一個新的階段。
如圖6所示,LayoutLM[13]為了將預訓練技術與視覺文檔多模態(tài)信息結合,首先通過OCR技術獲得掃描文檔圖像的文本和布局信息,在訓練階段將文本嵌入與布局嵌入相加作為預訓練模型輸入,在微調階段再加上對應區(qū)域的視覺圖像特征送入下游任務,如此實現(xiàn)了多模態(tài)信息的利用。布局嵌入特征由文本框的四個坐標值通過線性變換獲得,視覺圖像嵌入特征由CNN模塊和全連接層獲得,最終送入預訓練模型中學習。為了幫助模型在預訓練過程中能有效學習到視覺文檔中的先驗知識和多模態(tài)特征的上下文語義,LayoutLM在1 100萬張文檔圖片上進行預訓練,并設計了三個自監(jiān)督預訓練任務,最終以序列標記的方式在視覺文檔信息抽取任務上進行微調。本節(jié)圍繞視覺文檔信息抽取,認為LayoutLM方法中有四個關鍵的技術方面: 多模態(tài)信息獲取與編碼、預訓練模型、自監(jiān)督預訓練、視覺文檔信息抽取的有監(jiān)督微調方法。本節(jié)將從上述四個技術方面介紹和分析預訓練方法相關工作,最后對預訓練方法簡單總結。
LayoutLM[13]通過OCR從掃描文檔圖像中獲得文本和布局信息,通過文本框獲得相應文本圖像區(qū)域的視覺圖像,進而將多模態(tài)信息編碼為模型輸入。在這個過程中,需要考慮合適的多模態(tài)信息選擇、信息粒度、信息獲取及編碼方式,以及其他存在的問題。
2.1.1 多模態(tài)信息選擇
選擇視覺文檔中合適的模態(tài)信息,是解決目標問題的關鍵,是后續(xù)設計模型、預訓練任務的基礎與前提。LayoutLM[13]在預訓練階段使用了文本、布局信息,在微調階段使用了文本、布局和視覺圖像信息,綜合利用了視覺文檔多模態(tài)信息。后續(xù)工作中,選擇“文本+布局”還是“文本+布局+視覺圖像”的多模態(tài)信息組合,不同方法有著不同的考慮。
LayoutLM v2[35]在LayoutLM[13]使用文本和布局信息預訓練的基礎上,往輸入中融入了視覺圖像信息。具體而言,它在模型的序列輸入中拼接了含有文檔圖像嵌入的序列特征,并針對加入視覺信息的多模態(tài)序列輸入,重新設計了兩個預訓練任務,學習文本與視覺模態(tài)之間的聯(lián)系。相比于LayoutLM,LayoutLM v2在多個視覺文檔信息抽取數(shù)據(jù)集上取得了性能提升,證明了視覺信息有助于理解文檔中的語義信息,可提升下游任務的性能。
視覺文檔中的布局信息往往更易獲取與計算,且可以表示文檔結構和文本間的關系。BROS[36]認為融合視覺圖像信息會增加模型的方法復雜性和計算開銷,所以僅使用了文本和布局信息,并進一步加強了模型對布局信息的學習與利用。BROS結合了SPADE[24]圖表征,在模型中引入并改進了空間感知的自注意力機制,并設計了針對學習文本和布局信息的預訓練任務。實驗表明,BROS與LayoutLM v2[35]相比,即使模型參數(shù)大大減少,也取得了不錯的信息抽取效果。
在電子文檔中,文本和布局信息往往比視覺信息更容易獲取。Wei等人[37]針對電子簡歷額外提取了字體信息,包括字符大小和字體類型作為補充模態(tài)信息。對于標記語言文檔,如html網(wǎng)頁、xml文檔,MarkupLM[38]利用文本標簽的組織關系作為結構信息,并根據(jù)標記語言的特點設計了兩個預訓練任務: Node Relationship Prediction(NRP)判斷文本之間的節(jié)點關系,Title-Page Matching(TPM)判斷頁面標題和頁面文本是否一致,提高了在標記語言文檔中信息抽取的性能。
2.1.2 多模態(tài)信息粒度
信息粒度指信息單元大小,含有內(nèi)容信息的級別。文本信息粒度一般分為字符、token、詞(Word)、文本塊(Segment)和句子級別;視覺圖像信息粒度,除了與文本信息對應外,還有文檔組件、圖像塊(Patch)和頁面級別(圖7),布局信息粒度則可以根據(jù)前兩者確定。細粒度的信息單元,將給模型帶來龐大的計算開銷,選擇合適的模態(tài)粒度是一個重要問題。另一方面,不同模態(tài)、不同粒度之間的關系對文檔理解的幫助也有待進一步的研究。
在LayoutLM[13]中,文本通過OCR獲得后,進一步被分割為token,以細粒度的方式劃分文本和文本框進行學習。Selfdoc[40]則探索了粗粒度信息的利用,如句子、標題、表格等。Selfdoc使用句子作為文本信息單元,以文檔組件為視覺圖像信息單元。通過設計專門的文本編碼器、視覺編碼器和跨模態(tài)信息編碼器更加高效地學習文本和視覺信息,最終在更少的預訓練數(shù)據(jù)集上以更少的模型參數(shù)取得了更好的實體抽取效果。
在粗粒度信息的研究中,StructuralLM[41]提出cell的區(qū)域概念,如表格中的每個框、文檔組件中的段落和句子。該方法認為每個cell中的文本共享著相同的文檔組件含義,應該共同使用同一個cell的文本框信息,加強彼此之間的聯(lián)系。StructuralLM基于文本和布局模態(tài),設計了預訓練任務Cell Position Classification(CPC),加強模型對文檔內(nèi)容結構的理解。StructuralLM在信息抽取上獲得了不錯的效果,不過模型參數(shù)遠大于同樣基于文本和布局模態(tài)的BROS[36]。
結構化文檔一般通過空白距離、文本對齊等方式,表示更加清晰的文檔結構和鍵值關系。StrucTexT[42]研究了結構化視覺文檔中不同模態(tài)不同粒度之間的聯(lián)系。研究者使用OCR獲得若干文檔文本塊(Segment),將文本拆分為token,布局和視覺圖像依然保持Segment大小。模型輸入以文本特征序列和視覺特征序列拼接,并添加了對應的Segment嵌入,同屬一個文本框的文本和視覺圖像特征將加上相同的Segment信息。在兩個信息抽取數(shù)據(jù)集上,StrucTexT驗證了使用Segment粒度效果優(yōu)于使用token粒度。
此外,UniDoc[43]以句子為單元,同時編碼為文本和視覺圖像信息粒度,認為這更符合人類閱讀的習慣。在Wukong-Reader[44]在StructuralLM[41]的基礎上,融合考慮了文本行的視覺信息。另外,MGDoc[39]同樣使用多模態(tài)、多粒度的方法,比Structext[42]在性能上取得了大幅領先。
2.1.3 多模態(tài)信息獲取和特征編碼
從視覺文檔中獲取文本和布局信息,是許多工作的前提。對于電子文檔,文字和布局信息可以直接從文件獲得。對于掃描文檔圖像,文本和文本框信息常借助OCR獲取,根據(jù)文本框進一步獲得區(qū)域圖像信息。常見的OCR工具有Tesseract OCR、PaddleOCR、EasyOCR等,但它們在識別過程中,容易出現(xiàn)積累文字識別錯誤和文本亂序的問題,對下游任務積累誤差。
針對文本亂序問題,XylayoutLM[45]在引入了XYCut模塊修正文本順序。XYCut算法[46]是一種啟發(fā)式分治算法,最早根據(jù)每個像素的值將句子分割成單詞,后被用于分解文檔組件[47]。XylayoutLM首次將其應用于多模態(tài)的閱讀順序問題,并提出了增強XYCut算法,即隨機移動文檔組件位置,以增強模型方法的魯棒性,并通過消融實驗證明了其有效性,降低了文本亂序干擾。
緊接著,多模態(tài)的信息需要編碼為嵌入特征,作為模型的輸入。OCR提取的文本字符和文本框數(shù)值被編碼為文本和布局嵌入特征,視覺圖像則由CNN模塊提取特征。
對于文本信息的特征編碼,部分工作[21,44]使用Glove、Word2Vec等傳統(tǒng)的NLP詞嵌入方法,部分工作[20,35,40]則使用BERT[11]、UniLMv2[48]、RoBERTa[49]、SentenceBert[50]等預訓練后的語言模型,獲得蘊含語義上下文的文本嵌入特征,增強多模態(tài)輸入的語義內(nèi)涵,進一步幫助模型理解文檔內(nèi)容。
對于布局信息的特征編碼,需要考慮很多因素。第一,考慮文本框位置大小不一,將坐標值縮放到一定區(qū)間[13];第二,選擇合適的坐標信息,即選擇性使用長、寬和坐標信息中的數(shù)值;第三,選擇合適的數(shù)值編碼方式,常見的有正余弦函數(shù)轉換[51]、嵌入層編碼[5,42]等。
對于視覺圖像特征的提取,大部分方法[35,40,42]借助 ResNet50[52]、ResNeXt101[53]等額外的CNN模塊。LayoutLM[13]中CNN模塊單獨訓練,而LayoutLM v2[35]則聯(lián)合訓練調整。LayoutLM v3[54]則受ViT[12]和ViLT[55]的啟發(fā),使用線性投影提取圖像塊區(qū)域的視覺圖像嵌入特征,減少了CNN模塊的計算開銷,并減少了整體模型參數(shù)。
目前,視覺文檔預訓練模型主要參考BERT[11]等語言預訓練模型,處理序列輸入。因此需要將文檔中的二維空間信息序列化,并選擇或設計合適的注意力機制網(wǎng)絡作為預訓練模型。如圖6所示,LayoutLM[13]將每個token的文本嵌入特征和布局嵌入特征相加作為多模態(tài)序列輸入BERT學習。部分工作[13,56-57]參考LayoutLM直接將多種嵌入特征直接相加,另一些工作[35,42,54]則將不同模態(tài)的特征序列相拼接。
將視覺文檔與語言預訓練模型結合時,存在兩個問題: 一方面,布局與視覺信息在序列化后,容易丟失一些潛在的結構信息。另一方面,傳統(tǒng)的語言預訓練模型不能很好地學習多模態(tài)信息之間的聯(lián)系。
2.2.1 序列化輸入
為了避免序列化過程中丟失空間結構上的信息,GMN[58]去除了Transformer結構中使用的一維位置嵌入,削弱了模型輸入的序列特性,提出了一種新的二維位置信息編碼方法Cord2Vec,通過精心設計的空間編碼器和模態(tài)感知掩碼模塊,增強了對文檔結構的理解,對一些難以按順序序列化的復雜視覺文檔產(chǎn)生了更好的處理能力。
基于圖的文檔表征能加強相鄰節(jié)點之間的信息交流,從而保留一定的文檔空間結構信息,降低文本亂序的干擾。Lee等人[59]在β-skeleton連通圖[60]的基礎上,針對圖節(jié)點之間的位置編碼,提出了一種順序等位置編碼Rope,不再針對全局特征進行一維位置編碼,而僅關注相鄰圖節(jié)點,實驗表明,Rope使GCN在信息抽取上有明顯性能提升。
2.2.2 模型選擇與設計
一些工作[36-37,41,51]和LayoutLM[13]一樣,基于語言預訓練模型,如BERT[9]、RoBERTa[50];另一些工作則針對文檔多模態(tài)信息的特點,設計和改進了注意力機制網(wǎng)絡作為預訓練模型。
結合視覺文檔二維空間特點,LayoutLM v2[35]在語言預訓練模型的基礎上,引入了時空感知的自注意力機制,并逐漸被諸多工作[36,51,56]采用和改進。傳統(tǒng)Transformer[10]結構模型只能處理固定長度輸入,XYLayoutLM[45]提出了一種拓展條件位置編碼(Dilated Conditional Position Encoding),能夠處理更長的文檔信息序列。而另一些工作認為,語言預訓練模型面對視覺文檔任務時存在設計上不足,不能很好地應用于多模態(tài)特征學習。因此,他們針對多模態(tài)信息的特點及聯(lián)系,設計了不同模型結構。
為了加強模型對視覺模態(tài)信息的利用, Selfdoc[40]設計了雙流注意力機制網(wǎng)絡,分別學習文本特征序列和視覺特征序列,再通過跨模態(tài)注意力網(wǎng)絡聯(lián)合學習。UniDoc[43]則設計了門控注意力機制,動態(tài)調整文本和視覺信息之間進行交流聯(lián)系。Docformer[61]受殘差連接的啟發(fā),將Transformer中間的輸出與原始多模態(tài)信息融合,作為下一Transformer層的輸入。這些方法在不同程度上都提高了模型學習多模態(tài)信息的效率。
LiLT[62]認為,即使在不同語言的視覺文檔中,文本結構、布局版式信息也是共通的,為此設計了學習文本和布局信息的雙流模型,通過雙模塊中的中間狀態(tài)聯(lián)合計算彼此的注意力分數(shù)達到信息融合的效果。通過這樣一種設計,LiLT在布局模塊中學到了通用的文檔結構信息,而且文本模塊在不同語言任務中可以隨意替換。
預訓練數(shù)據(jù)集蘊含了廣泛的視覺文檔先驗知識,自監(jiān)督預訓練任務可以幫助模型從其中學習視覺文檔廣泛的先驗知識。
2.3.1 預訓練數(shù)據(jù)集
IIT-CDIP Test Collection 1.0[63]英文文檔數(shù)據(jù)集是LayoutLM[13]使用的預訓練數(shù)據(jù)集。它包含1 100萬文檔圖片,擁有各種類型和版面格式的視覺文檔,同時也有文檔對應的元數(shù)據(jù),包括文本、序號和文檔標簽,非常適合用于多模態(tài)的預訓練方法,是最常用也是最大的一個視覺文檔預訓練數(shù)據(jù)集。部分工作為提高模型學習效率以降低模型預訓練的成本,使用小規(guī)模的數(shù)據(jù)集進行預訓練,如RVL-CDIP文檔分類數(shù)據(jù)集[64]和PubLayNet學術文章數(shù)據(jù)集[65]。
預訓練視覺文檔數(shù)據(jù)集中的先驗知識決定了模型的能力基礎。LayoutXLM[66]為了克服視覺文檔應用中的語言障礙,收集了一個由53種語言、3 000萬個視覺文檔組成的預訓練數(shù)據(jù)集,基于LayoutLM v2的模型和方法進行預訓練和微調,使模型可以同時處理具有多種語言的視覺文檔。
2.3.2 自監(jiān)督預訓練任務
在預訓練方法解決各種問題的過程中,不僅需要選擇和設計多模態(tài)信息或者預訓練模型,還需要為其設計針對性的預訓練任務,來最大程度地利用多模態(tài)信息和特點,提高預訓練模型的學習效率。根據(jù)無標注視覺文檔的自有文本和布局特征,預訓練任務采取自監(jiān)督的設計策略,能有效應用于大規(guī)模的預訓練數(shù)據(jù)集。在目前的預訓練方法中,預訓練任務可以分成如表1所示的四類,其中文本類、視覺類分別主要針對文本和視覺模態(tài)信息設計,對齊類受多模態(tài)信息之間的對齊關系啟發(fā),其他類則包括了其余的預訓練任務。
表1 部分工作的預訓練任務統(tǒng)計
根據(jù)表1的統(tǒng)計結果,文本類預訓練任務被廣泛應用,其中大部分受BERT[11]啟發(fā),采取預測遮擋文本的思想。BERT在多種文本任務上的出色性能,充分證明了Masked Language Modeling(MLM)的有效性。MLM隨機選擇一些文本進行遮擋操作,通過文本的上下文信息預測被遮擋的文本信息。遮擋操作將隨機選擇的文本一部分設置為無效信息,另一部分用其他文本替代,剩余部分則保持不變。文本作為文檔的基礎內(nèi)容,MLM可以自然地遷移作為視覺文檔的預訓練任務。Masked Visual-Language Model(MVLM)在MLM的基礎上,綜合多模態(tài)的上下文信息對被遮擋文本進行預測,而不是僅考慮文本信息。Masked Sentence Model(MSL)則是以句子為文檔單位進行遮擋和預測。BROS[36]中的Token Masked Language Model(TMLM)和Area Masked Language Model(AMLM)則是對選擇遮擋token的策略做了一定調整。文本遮擋預測類預訓練任務目標明確、實現(xiàn)簡單、性能高效,能充分高效學習文本中的語言上下文信息。
受文本遮擋建模的啟發(fā),視覺類預訓練任務選擇遮擋視覺圖像區(qū)域,并預測其圖像信息特征,如Masked Visual Model(MVM)[40]和Masked Image Model(MIM)[54]。Learn To Reconstruct (LTR)[58]則以重建整張文檔圖像為目標學習文檔圖像的視覺特征。UniDoc[43]通過Visual Contrastive Learning(VCL)引入對比,學習最大化文本圖像區(qū)域的預測表征和量化表征。
對齊類預訓練任務則根據(jù)視覺文檔中不同模態(tài)信息以及不同粒度間存在著的對齊關系而設計。它可以更好地幫助模型學習多模態(tài)信息之間的聯(lián)系,如文本的語言含義和視覺圖像之間的關系,具體而言通常用一種模態(tài)的信息預測另一種模態(tài)的信息或狀態(tài),如LayoutLM v2[38]提出Text-Image Alignment(TIA)判斷token所在文本區(qū)域是否被覆蓋,LayoutLM v3[54]中的Word-Patch Alignment (WPA)只將TIA中的圖像文本區(qū)域改為圖像塊區(qū)域,與此類似的還有Text Describes Image[61](TDI)、Cross-modal Alignment Identification[62](CAI)、Key Point Location[62](KPL)和Vision-Language Alignment(VLA)[43]。Structext[42]中的Sentence Length Prediction (SLP)通過視覺嵌入預測其視覺區(qū)域包含的文本長度。針對長文檔應用,Pramanik等人[57]設計Document Shuffle Prediction(DSP)判斷頁面圖像和文本內(nèi)容是否匹配。
其余一些預訓練任務則利用了布局信息和文檔的其他特點,比如Wei等人[37]和Structext[41]分別通過Sequence Positional Relationship Classification(SPRC)和Paired Boxes Direction(PBD)預測文本之間的空間方向關系,探索了布局信息在預訓練中的作用。Pramanik等人[57]提出的Document Category Classification(DCC)和Document Topic Modelling(DTM)以及LayoutLM[13]中的Multi-label Document Classification(MDC)則從文檔整體的角度考慮,對文檔進行分類。
從上面的分析中可以看出,在預訓練任務的設計中,對語言信息的理解是主要的、基礎的,文本是文檔的核心內(nèi)容;其次,文本和其他模態(tài)信息的聯(lián)系,是加強模型對多模態(tài)信息理解的關鍵,大部分預訓練方法都設計了針對多模態(tài)信息對齊的預訓練任務;最后,是針對視覺圖像和布局信息,或者是針對一些特殊文檔的特點而設計的一些預訓練任務,可以有效增強對特定模態(tài)信息的理解,提高處理特定類型文檔的能力。
在完成預訓練之后,預訓練模型學習到了大量預訓練數(shù)據(jù)集中的先驗知識,提高了對視覺文檔的一般理解能力,但是對于下游任務來說,還需要進行有監(jiān)督的微調。對于視覺文檔中實體信息抽取的任務建模,一般采取序列標記的方式,如LayoutLM v2[38]使用BIO實體標記格式[29],StructuralLM[41]使用BIOES實體標記格式[67]。BIOES的各個字母分別表示Begin、Inside、Other、End、Single,文本序列逐個被標記為實體頭、實體內(nèi)、其他、實體尾和單字段實體五種類型。這種方式需要再通過后處理才能輸出完整的實體信息。但是,目前這種主流的序列標記方法,也存在著一些問題,如后處理步驟瑣碎、無法處理實體層次關系、忽略了實體屬性中的語義信息等,亟待進一步研究。
本節(jié)介紹基于自監(jiān)督預訓練和有監(jiān)督微調的方法的多個方面,并根據(jù)其中存在的問題,分析了相關研究工作及其特點,其主要方法流程如圖8所示。該方法分為預訓練和微調兩個階段,使用對應的數(shù)據(jù)集和訓練任務,獲取多模態(tài)信息并編碼,分別提高預訓練模型的通用文檔理解能力和下游任務性能。預訓練方法最大限度地利用了無標注文檔中蘊含的先驗知識,充分發(fā)揮了注意力模型的學習能力,使模型不僅具有了同時處理多種任務的能力,也在各種下游任務中大幅提高了性能,讓視覺文檔信息抽取研究進一步發(fā)展。
圖8 預訓練方法主要流程圖
近幾年的視覺文檔信息抽取任務逐漸獲得越來越多工業(yè)界和學術界的關注,不斷有新的數(shù)據(jù)集出現(xiàn)。表2按年份列舉了一些公開的信息抽取的視覺文檔數(shù)據(jù)集及一些文檔屬性。
表2 部分用于視覺文檔信息抽取的公開數(shù)據(jù)集
(1) IEHHR[68]是一個較早的加泰羅尼亞語寫的婚姻記錄數(shù)據(jù)集,共有1 221份婚姻記錄,相關單詞分為五個類別,是古籍信息抽取研究[75-78]中常用數(shù)據(jù)集。
(2) FUNSD[69]是一個掃描文檔圖像數(shù)據(jù)集,可用表單理解任務,表單圖像背景嘈雜、版式不一,標注有實體類別及其之間的關系,分為149個訓練樣本和50個測試樣本,是表格理解的常用數(shù)據(jù)集且具有挑戰(zhàn)。
(3) SROIE[70]來自2019年ICDAR會議舉行的收據(jù)OCR和信息抽取比賽,其中包括626份訓練樣本和347份測試樣本,每張收據(jù)含有四個類型字段。
(4) CORD[71]同樣是一個票據(jù)數(shù)據(jù)集,分別包含800、100、100張的訓練、驗證、測試樣本,標有四類30種實體。
(5) DeepForm數(shù)據(jù)集[72]是一個電視行業(yè)的表格的英文數(shù)據(jù)集。
(6) WildReceipt[63]是一個針對真實英文票據(jù)場景的數(shù)據(jù)集,含有1 268個訓練樣本和400個測試樣本。
(7) EPHOIE[22]為中文試卷頭數(shù)據(jù)集,包含學校、年紀、姓名等12種信息。
(8) Kleister Charity[73]和Kleister NDA[73]是針對長文檔實體抽取任務的文檔理解數(shù)據(jù)集,包含協(xié)議和財務報表等長文本文檔。
(9) XFUND[66]是針對FUNSD數(shù)據(jù)集的多語言版本,包含有除英文以外的七種主流語言的視覺文檔。
視覺文檔信息抽取通常使用準確率(Precision)、召回率(Recall)和F1值作為衡量實體信息抽取任務的性能指標。在序列標記完成實體抽取的方法中,準確率為正確預測的標記數(shù)量占所有預測標記數(shù)量中的比例。召回率指正確預測的標記數(shù)量占實際實體標記數(shù)量中的比例。F1值則是準確率和召回率的調和平均數(shù),綜合考慮了模型判斷的正確性和全面性。在視覺文檔信息抽取任務中,F1值越高,表示方法性能越好。
EATEN[30]在實體級別定義了mean Entity Accuracy(mEA)、mean Entity Precision(mEP)、mean Entity Recall(mER)和mean Entity F-measure(mEF)作為衡量標準,mEA為正確預測的實體數(shù)占全部實體數(shù)的比例,mEP為正確預測的實體數(shù)占全部非空預測的實體數(shù)的比例,mER為正確預測的實體數(shù)占全部非空目標實體數(shù)的比例,F1值則是mEP和mER的調和平均數(shù)。mEP、mER更是適用于出現(xiàn)大量空值的實體抽取場景,通過這些指標,可以更高效地評估實體信息的抽取性能。
隨著視覺文檔數(shù)量不斷積累,工業(yè)界對復雜文檔的智能化處理的需求愈加迫切,推動視覺文檔信息抽取的研究發(fā)展和加速該領域的學術研究成果落地意義重大,但是目前仍存在許多的研究問題,基于前文的分析,本文從以下幾個角度展望視覺文檔信息抽取未來可能的研究方向。
(1) 基于小樣本學習的視覺文檔信息抽取方法?,F(xiàn)有的大部分方法只能在有標注的數(shù)據(jù)集上進行訓練,即使是基于模型預訓練的方法也依賴于一個經(jīng)過完全標注的微調數(shù)據(jù)集,對全新樣式的視覺文檔泛化性較差,不能滿足開放領域的信息抽取的需求,而且人工標注極大地影響了效率。因此,在只包含少量標注文檔數(shù)據(jù)的情況下,完成對指定語義實體的信息抽取的能力是非常有重要的。在這方面,目前一些工作[37,75-77]的性能仍不理想,有較大的提升空間。
(2) 基于提示學習的生成式文檔信息抽取方法。現(xiàn)有的文檔信息抽取方法基本采用序列標注等方式完成實體抽取,一方面受OCR工具帶來的文本亂序的負面影響,另一方面需要大量精力對文檔進行細粒度的標注。近年來提示學習方法展示出強大的潛力,可以很好地克服如上的困難,雖然與視覺文檔信息抽取的結合已有相關工作[58,77]開展,但仍有待進一步探索。
(3) 端到端的視覺文檔預訓練方法。視覺文檔的預訓練方法一般都需要借助OCR工具獲得文本和布局信息,但這樣的方法引入了額外的文本識別誤差,且無法通過訓練改進。傳統(tǒng)的基于端到端學習的方法雖然避免了這一問題,但性能和通用性無法與基于模型預訓練的方法相媲美。以端到端的方式完成視覺文檔模型預訓練[78],可以兼顧二者的優(yōu)點。
(4) 模型輕量化?,F(xiàn)有的預訓練模型往往參數(shù)規(guī)模很大,對算力的要求較高,不能做到實時推理,不適合部署在終端設備中。只有進一步縮小模型規(guī)模,才能更經(jīng)濟地在業(yè)務中使用該技術。
(5) 現(xiàn)有工作基本上都在研究視覺文檔中的實體信息抽取,而對實體關系抽取的工作較少。目前在幾個數(shù)據(jù)集上,實體關系抽取[36,42,52]的性能表現(xiàn)仍不夠理想,有進一步提升的空間。
概括起來,本文主要介紹了基于深度學習的兩類方法,一類是基于有監(jiān)督學習的方法,包括基于圖的方法、基于網(wǎng)格的方法、基于端到端學習的方法;另一類是基于自監(jiān)督預訓練和有監(jiān)督微調的方法,根據(jù)其中的多模態(tài)信息獲取與編碼、預訓練模型、自監(jiān)督預訓練以及視覺文檔信息抽取的微調任務四個技術方面進行了相關工作的介紹。本文還簡單介紹了一些公開數(shù)據(jù)集和評價指標,最后小結并討論了一些未來研究方向。在技術成熟、數(shù)據(jù)充足、算力充沛、商業(yè)需求旺盛的時代背景下,視覺文檔信息抽取逐漸進入高速發(fā)展的階段,解決相關問題的環(huán)境條件日漸成熟,投入相應的研究資源為社會帶來更多的現(xiàn)實價值也初見成效。