覃 俊 林宇亭 劉 晶,3 葉 正 劉 洲
(1.中南民族大學(xué)計(jì)算機(jī)科學(xué)學(xué)院 武漢 430074)(2.湖北省制造企業(yè)智能管理工程技術(shù)研究中心 武漢 430074)(3.農(nóng)業(yè)區(qū)塊鏈與智能管理湖北省工程研究中心 武漢 430074)
在當(dāng)今數(shù)字化的趨勢(shì)下,各行各業(yè)都利用文檔存儲(chǔ)信息,尤其是金融領(lǐng)域。如何將電子文檔中的信息自動(dòng)提取出來(lái),是企業(yè)化轉(zhuǎn)型的重要步驟[1]。預(yù)訓(xùn)練模型BERT[2]誕生后,文字抽取任務(wù)取得了巨大進(jìn)展。而文檔是多模態(tài)表示的,有多種模態(tài)數(shù)據(jù)需要學(xué)習(xí),包括文本位置和視覺(jué)信息等。在2019 年,微軟提出了文檔智能的預(yù)訓(xùn)練模型LayoutLM[9],該模型在BERT 的基礎(chǔ)上添加了2-D Position Embedding 和Image Embedding,使模型可以聯(lián)合學(xué)習(xí)文本信息和布局信息之間的關(guān)系,但是該模型沒(méi)有將視覺(jué)模態(tài)和文本模態(tài)結(jié)合。所以LayoutLMv2[2]將圖像信息也進(jìn)行編碼,并提出了空間感知的自我注意機(jī)制。最新的LayoutLMv3[3]舍棄了利用CNN[6]獲取視覺(jué)特征的方式,直接將圖像扁平化分塊。另外,百度提出的ERNIE-Layout[7]首次在預(yù)訓(xùn)練過(guò)程中對(duì)文檔布局進(jìn)行了排序。
雖然通過(guò)計(jì)算機(jī)視覺(jué)和自然語(yǔ)言處理的結(jié)合已經(jīng)可以有效提取文檔關(guān)鍵信息[8]。但是金融文檔存在信息混亂、背景復(fù)雜等問(wèn)題。現(xiàn)有的模型并不能有效處理金融文檔。所以,本文以金融票據(jù)為研究對(duì)象,提出一種針對(duì)票據(jù)文檔的序列化方法,結(jié)合LayoutLMv3 模型與GRU 網(wǎng)絡(luò),使模型的泛化能力和識(shí)別準(zhǔn)確率得到顯著提升。
文章的主要貢獻(xiàn)如下:1)構(gòu)建了一個(gè)含有復(fù)雜背景的金融票據(jù)數(shù)據(jù)集,驗(yàn)證了模型的泛化性。2)針對(duì)含有復(fù)雜背景的金融票據(jù),提出一種解決金融票據(jù)無(wú)結(jié)構(gòu)化的方法。3)文章結(jié)合了LayoutLMv3模型與GRU 網(wǎng)絡(luò),并與多個(gè)模型進(jìn)行對(duì)比實(shí)驗(yàn),以此來(lái)表明文章方法在處理復(fù)雜金融票據(jù)的優(yōu)越性。
金融票據(jù)的信息抽取是從非結(jié)構(gòu)化的數(shù)據(jù)中抽取實(shí)體以及實(shí)體關(guān)系的任務(wù)。圖1 展示的是本文所構(gòu)建的真實(shí)票據(jù)數(shù)據(jù)集示例。
圖1 含有復(fù)雜背景金融票據(jù)實(shí)例
為了提取出文本和布局模態(tài)信息,文獻(xiàn)[10]通過(guò)先進(jìn)性光學(xué)字符識(shí)別(OCR)。通過(guò)OCR 識(shí)別出文檔中的文本和位置信息,然后通過(guò)NLP模型抽取實(shí)體。而LayoutLM 的出現(xiàn),將文本模態(tài)和圖像結(jié)合起來(lái),通過(guò)大規(guī)模數(shù)據(jù)的預(yù)訓(xùn)練以達(dá)到很好的效果。其過(guò)程如圖2 所示,訓(xùn)練完畢后,就可以利用模型提取文檔中的信息[11]。在數(shù)據(jù)標(biāo)注階段,通常會(huì)利用序列標(biāo)注(BIO)的辦法。但是金融票據(jù)中的信息往往是無(wú)序的,所以僅使用序列標(biāo)注是很難提取到正確的關(guān)系。例如“名稱、數(shù)量、價(jià)格、西瓜、2、10$”,在這樣的文字順序中“名稱”和“西瓜”是存在邏輯關(guān)系的。需要人工標(biāo)注,但是利用序列標(biāo)注需要大量的人力。本文受ERNIE- Layout 模型在預(yù)訓(xùn)練中結(jié)構(gòu)排序的啟發(fā),提出一種針對(duì)金融票據(jù)的文本序列化方式。首先對(duì)OCR 的識(shí)別信息進(jìn)行實(shí)體標(biāo)注,然后利用Layout-Parser 工具包將OCR識(shí)別的結(jié)果進(jìn)行排序,并且將“名稱、數(shù)量、價(jià)格”標(biāo)注為“問(wèn)題”,將“西瓜、2、10$”標(biāo)注為答案,將有邏輯關(guān)系的數(shù)據(jù)進(jìn)行實(shí)體鏈接,沒(méi)有實(shí)體關(guān)系的數(shù)據(jù)如“標(biāo)題、地址等”,將其放在序列的最前方。以此更好地識(shí)別實(shí)體之間的關(guān)系。
圖2 文檔信息抽取流程圖
圖3 復(fù)雜結(jié)構(gòu)金融文檔實(shí)例
本文主要結(jié)構(gòu)遵循LayoutLMv3,并引入兩種方法:1)構(gòu)建順序重構(gòu)模塊,使用Layout-Parser 將文檔中的文字?jǐn)?shù)據(jù)進(jìn)行序列化,構(gòu)建文本之間的上下文關(guān)系和空間關(guān)系。2)使用單詞級(jí)別的編碼規(guī)則,并在模型中增加GRU[12]捕捉空間依賴關(guān)系。圖4是本文改進(jìn)后的模型。
圖4 文檔信息抽取模型圖
LayoutLMv3 模型在模型設(shè)計(jì)上,舍棄了CNN和Faster R-CNN 來(lái)表征圖像,直接利用文檔圖像的圖像塊,大大節(jié)省了參數(shù)并避免了復(fù)雜的文檔預(yù)處理(如人工標(biāo)注目標(biāo)區(qū)域框和文檔目標(biāo)檢測(cè))。簡(jiǎn)單的統(tǒng)一架構(gòu)和訓(xùn)練目標(biāo)使LayoutLMv3 成為通用的預(yù)訓(xùn)練模型。該模型大大超越了此前的SOTA結(jié)果。
首先需要利用OCR 技術(shù)將文本和文本位置識(shí)別出來(lái)。但傳統(tǒng)的OCR 是利用多尺度掃描進(jìn)行識(shí)別,這樣的方法使OCR 關(guān)注的順序都是從左到右和從上到下的順序。但是在金融文檔中,兩個(gè)有關(guān)聯(lián)的數(shù)據(jù)往往是上下相關(guān)或者并不在同一行上面。
如圖3 所示,傳統(tǒng)OCR 識(shí)別出的順序是“Annemarie EIsworth Customsr No.770745 9 Church St。”,該順序與人類閱讀順序不符。所以本文采用Layout-Parser 將票據(jù)信息進(jìn)行有序排列。并將實(shí)體分為“標(biāo)題、地址、商品名稱、數(shù)量、價(jià)格”,票據(jù)中帶有表格型的數(shù)據(jù)將被檢測(cè)為空間布局,而普通的文本通過(guò)Layout-Parser 中的檢測(cè)模型和標(biāo)記邊界框檢測(cè)其中的文本信息并獲取上下文關(guān)系。然后通過(guò)文檔重組算法,將識(shí)別到的文本按照“名稱、數(shù)量、價(jià)格”的順序重新排列組合,以獲得正確的閱讀順序。
由于金融票據(jù)背景信息繁雜,如圖3 所示,所以本文使用Layout-Parser 中基于主動(dòng)學(xué)習(xí)的注釋工具[13]構(gòu)建訓(xùn)練集,然后根據(jù)半自動(dòng)預(yù)測(cè)校正算法,會(huì)將重復(fù)項(xiàng)和錯(cuò)誤的預(yù)測(cè),根據(jù)較少的監(jiān)督去糾正。若預(yù)測(cè)的框和真實(shí)的結(jié)果產(chǎn)生巨大差異,為了消除該差異會(huì)將第j 個(gè)對(duì)象位置不一致的Dp類別不一致的Dc公式化為式(1)~(2):其中IOU計(jì)算輸入的并集分?jǐn)?shù)的交集,b?j,c?j表示原始預(yù)測(cè)框,pjk表示第k個(gè)擾動(dòng)框,vjk表示擾動(dòng)后的預(yù)測(cè)。
金融票據(jù)中的文本和位置信息需要編碼進(jìn)LayoutLMv3進(jìn)行訓(xùn)練,其中文本嵌入包括單詞嵌入和位置嵌入。文本嵌入T如式(3)所示:
其中Emb(T)、Emb1D(T)、Emb2D(T)表示文本嵌入、順序嵌入、坐標(biāo)嵌入。文本嵌入利用RoBERTa[14]的文本矩陣初始化,并在文本序列的開(kāi)頭和結(jié)尾處附加兩個(gè)特殊標(biāo)記[CLS]和[SEP],表示一段文字的開(kāi)始和結(jié)束。最后在文本序列的末尾附加[PAD]標(biāo)記,利用此標(biāo)記填充較短的序列,使所有的序列長(zhǎng)度保持一致。
由于對(duì)文本進(jìn)行了重新排序,所以把單詞的順序作為一維位置嵌入。將排序好的索引值利用和文本相同的方式進(jìn)行編碼,并將其拼接在一起。為防止其過(guò)擬合在編碼過(guò)程中加入了Dropout,并通過(guò)實(shí)驗(yàn)找到最優(yōu)取值。
二維位置嵌入也叫做布局嵌入,對(duì)于每個(gè)文本,使用OCR 工具來(lái)獲取其二維坐標(biāo),邊界框的坐標(biāo)由(x0,y0,x1,y1,w,h)所表示,其中(x0,y0)表示邊界框左上角坐標(biāo),(x1,y1) 表示右下角坐標(biāo),w,h表示邊界框的寬度和高度。為了規(guī)范化所有坐標(biāo)的范圍,本文所有的坐標(biāo)都在[0,1400]范圍內(nèi)進(jìn)行取值。
對(duì)于圖像嵌入,本文按照LayoutLMv3 的編碼規(guī)則。首先把圖像分辨率大小調(diào)整為224×224×3。然后將圖像分割成均勻的圖像塊,并線性投影到一維,如式(4)所示:
其中H、W 表示為圖像的高度和寬度,P2表示為圖像塊的個(gè)數(shù)。
由于在金融票據(jù)中具有相關(guān)性的文本,其實(shí)際空間距離相隔較遠(yuǎn),導(dǎo)致文本在序列中的位置很遠(yuǎn)。所以本文加入GRU 來(lái)解決這樣的問(wèn)題,由于原始的注意力機(jī)制只能計(jì)算文本與絕對(duì)位置的關(guān)系,為了有效的利用文檔中的相對(duì)空間,使用空間感知自注意力機(jī)制把一維和二維位置信息設(shè)置為偏置項(xiàng),如式(5)~(6)所示:
其中αij表示的是傳統(tǒng)注意力機(jī)制xi和xj之間的注意力分?jǐn)?shù)。b(1D)、b(2D)是一維、二維信息的偏置項(xiàng)。(xi,xj)是第i個(gè)邊界框的左上角坐標(biāo),α'ij表示的是空間注意力分?jǐn)?shù)。處理完的數(shù)據(jù)送到GRU中,每個(gè)GRU 單元包括一個(gè)重置門和一個(gè)更新門,重置門決定前一時(shí)刻的信息與現(xiàn)在的信息結(jié)合,更新門判斷前一時(shí)刻的保留程度,并作為現(xiàn)在時(shí)刻輸出。在處理完整個(gè)序列之后,將輸出的含有上下文關(guān)系的信息利用LayoutLMv3的分類器進(jìn)行預(yù)測(cè)。
本文的實(shí)驗(yàn)數(shù)據(jù)分為兩部分,包括真實(shí)的金融類票據(jù)數(shù)據(jù)集和現(xiàn)有的公開(kāi)表單數(shù)據(jù)集。利用OCR工具對(duì)每張圖像的關(guān)鍵信息打上對(duì)應(yīng)的標(biāo)簽,并把實(shí)體做了鏈接。例如,商品名稱鏈接到對(duì)應(yīng)的價(jià)格、數(shù)量。實(shí)驗(yàn)所用數(shù)據(jù)一共有524 張圖像。本文按照8∶2 的比例,將數(shù)據(jù)劃分為420 張訓(xùn)練集,104張測(cè)試集。
本文使用FUNSD 數(shù)據(jù)集[15]進(jìn)行驗(yàn)證有效性。包含199張、9707個(gè)實(shí)體。其中每個(gè)實(shí)體都包含一個(gè)ID、一個(gè)標(biāo)簽、一個(gè)邊界框、一個(gè)與其他實(shí)體的鏈接表,被劃分為149 張訓(xùn)練集,50 張測(cè)試集。詳情見(jiàn)表1。
表1 數(shù)據(jù)集統(tǒng)計(jì)
本文實(shí)驗(yàn)采用LayoutLMv3-Base 和LayoutLMv3-Large 模型權(quán)重進(jìn)行微調(diào)。 LayoutLMv3-base 模型采用12 層Transformer 編碼器,其時(shí)間復(fù)雜度為O(12N^2),LayoutLMv3-Large 模型采用24 層Transformer 編碼器。針對(duì)模型訓(xùn)練時(shí)的超參數(shù),本文通過(guò)超參數(shù)實(shí)驗(yàn)取最優(yōu)參數(shù)。如圖5 所示。該圖以Dropout 為例展示了取值不同時(shí)的準(zhǔn)確率曲線,可以直觀看出在Dropout取值為0.1的時(shí)候效果最好。
圖5 Dropout-準(zhǔn)確率曲線圖
本文采用精確率(Precision)、召回率(Recall)和綜合評(píng)價(jià)指標(biāo)(F1)作為模型性能的衡量標(biāo)準(zhǔn)。將收集的英文金融票據(jù)數(shù)據(jù)集與原模型進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表2所示。
表2 金融文檔數(shù)據(jù)集實(shí)驗(yàn)
含有復(fù)雜背景的數(shù)據(jù)在原模型的F1 指標(biāo)是85.17%,而通過(guò)本文方法的改進(jìn)之后達(dá)到88.36%。所以本文的方法在處理復(fù)雜背景的金融類票據(jù)的抽取的任務(wù)中是更有優(yōu)勢(shì)的。
本文還對(duì)現(xiàn)有模型與公共數(shù)據(jù)集做對(duì)比。如表3所示,在BASE模型中,本文使用的方法與改進(jìn)之前的LayoutLMv3 對(duì)比,Precision 提高了1.47%、Recall 提高了2.15%、F1 提高了2.37%。在Large 模型中,F(xiàn)1 提高1.65%。由此可見(jiàn),本文的方法在處理表單類的數(shù)據(jù)時(shí)也是有顯著提升的。表明了本文方法的通用性。
表3 FUNSD數(shù)據(jù)集對(duì)比實(shí)驗(yàn)
除此之外,文章還在FUNSD 和文章構(gòu)建的數(shù)據(jù)集進(jìn)行了消融實(shí)驗(yàn),具體效果如表4 所示,其中第一行是FUNSD 的結(jié)果,第二行是文檔構(gòu)建的金融數(shù)據(jù)集的結(jié)果。可以看出在加入序列化編碼和GRU 網(wǎng)絡(luò)后,F(xiàn)1 分?jǐn)?shù)均有明顯提升。而金融票據(jù)數(shù)據(jù)集比普通表單數(shù)據(jù)集效果更加顯著。所以,文章提出的方法更加適用于金融票據(jù)領(lǐng)域,并且在文檔信息抽卻任務(wù)中具有通用性。
表4 不同數(shù)據(jù)集消融實(shí)驗(yàn)的F1分?jǐn)?shù)
在本文中,針對(duì)復(fù)雜金融票據(jù)結(jié)構(gòu)化信息少、冗余信息多的特點(diǎn),結(jié)合文本、布局、圖像多個(gè)模態(tài),提出順序重構(gòu)進(jìn)行復(fù)雜金融票據(jù)信息抽取的辦法。最終通過(guò)實(shí)驗(yàn),驗(yàn)證了文章方法在抽取金融票據(jù)文檔時(shí)是高效的,可以達(dá)到88.26%的F1值,并且在文檔信息抽取任務(wù)中具有通用性。對(duì)于文檔信息抽取任務(wù),需要對(duì)其包含的所有信息進(jìn)行抽取,而不是僅僅通過(guò)實(shí)體標(biāo)注抽取一部分信息。所以在之后,研究使用提示學(xué)習(xí)的方法來(lái)引導(dǎo)模型抽取不同的信息。