文檔智能理解:通用文檔預(yù)訓(xùn)練模型與數(shù)據(jù)集

向AI轉(zhuǎn)型的程序員都關(guān)注了這個(gè)號(hào)???
機(jī)器學(xué)習(xí)AI算法工程?? 公眾號(hào):datayx
預(yù)訓(xùn)練模型到底是什么,它是如何被應(yīng)用在產(chǎn)品里,未來(lái)又有哪些機(jī)會(huì)和挑戰(zhàn)?
預(yù)訓(xùn)練模型把遷移學(xué)習(xí)很好地用起來(lái)了,讓我們感到眼前一亮。這和小孩子讀書一樣,一開始語(yǔ)文、數(shù)學(xué)、化學(xué)都學(xué),讀書、網(wǎng)上游戲等,在腦子里積攢了很多。當(dāng)他學(xué)習(xí)計(jì)算機(jī)時(shí),實(shí)際上把他以前學(xué)到的所有知識(shí)都帶進(jìn)去了。如果他以前沒(méi)上過(guò)中學(xué),沒(méi)上過(guò)小學(xué),突然學(xué)計(jì)算機(jī)就不懂這里有什么道理。這和我們預(yù)訓(xùn)練模型一樣,預(yù)訓(xùn)練模型就意味著把人類的語(yǔ)言知識(shí),先學(xué)了一個(gè)東西,然后再代入到某個(gè)具體任務(wù),就順手了,就是這么一個(gè)簡(jiǎn)單的道理。
為什么要做預(yù)訓(xùn)練模型
自然語(yǔ)言處理(NLP),目的是使得計(jì)算機(jī)具備人類的聽、說(shuō)、讀、寫、譯、問(wèn)、答、搜索、摘要、對(duì)話和聊天等能力,并可利用知識(shí)和常識(shí)進(jìn)行推理和決策,并支持客服、診斷、法律、教學(xué)等場(chǎng)景。自然語(yǔ)言理解,被認(rèn)為是 AI 皇冠上的明珠。一旦有突破,則會(huì)大幅度推動(dòng) AI 在很多重要場(chǎng)景落地。
過(guò)去這五年,對(duì)自然語(yǔ)言是一個(gè)難忘的五年,它的一個(gè)標(biāo)志就是神經(jīng)網(wǎng)絡(luò)全面引入到了自然語(yǔ)言理解。從大規(guī)模的語(yǔ)言數(shù)據(jù)到強(qiáng)有力的算力,加上深度學(xué)習(xí),把整個(gè)自然語(yǔ)言帶到一個(gè)新的階段。
預(yù)訓(xùn)練模型,則是使自然語(yǔ)言處理由原來(lái)的手工調(diào)參、依靠 ML 專家的階段,進(jìn)入到可以大規(guī)模、可復(fù)制的大工業(yè)施展的階段。而且預(yù)訓(xùn)練模型從單語(yǔ)言、擴(kuò)展到多語(yǔ)言、多模態(tài)任務(wù)。一路銳氣正盛,所向披靡。
預(yù)訓(xùn)練通過(guò)自監(jiān)督學(xué)習(xí)從大規(guī)模數(shù)據(jù)中獲得與具體任務(wù)無(wú)關(guān)的預(yù)訓(xùn)練模型。體現(xiàn)某一個(gè)詞在一個(gè)特定上下文中的語(yǔ)義表征。第二個(gè)步驟是微調(diào),針對(duì)具體的任務(wù)修正網(wǎng)絡(luò)。訓(xùn)練數(shù)據(jù)可以是文本、文本-圖像對(duì)、文本-視頻對(duì)。預(yù)訓(xùn)練模型的訓(xùn)練方法可使用自監(jiān)督學(xué)習(xí)技術(shù)(如自回歸的語(yǔ)言模型和自編碼技術(shù))??捎?xùn)練單語(yǔ)言、多語(yǔ)言和多模態(tài)的模型。此類模型可經(jīng)過(guò)微調(diào)之后,用于支持分類、序列標(biāo)記、結(jié)構(gòu)預(yù)測(cè)和序列生成等各項(xiàng)技術(shù),并構(gòu)建文摘、機(jī)器翻譯、圖片檢索、視頻注釋等應(yīng)用。
為什么我們要做預(yù)訓(xùn)練模型?首先,預(yù)訓(xùn)練模型是一種遷移學(xué)習(xí)的應(yīng)用,利用幾乎無(wú)限的文本,學(xué)習(xí)輸入句子的每一個(gè)成員的上下文相關(guān)的表示,它隱式地學(xué)習(xí)到了通用的語(yǔ)法語(yǔ)義知識(shí)。第二,它可以將從開放領(lǐng)域?qū)W到的知識(shí)遷移到下游任務(wù),以改善低資源任務(wù),對(duì)低資源語(yǔ)言處理也非常有利。第三,預(yù)訓(xùn)練模型在幾乎所有 NLP 任務(wù)中都取得了目前最佳的成果。最后,這個(gè)預(yù)訓(xùn)練模型+微調(diào)機(jī)制具備很好的可擴(kuò)展性,在支持一個(gè)新任務(wù)時(shí),只需要利用該任務(wù)的標(biāo)注數(shù)據(jù)進(jìn)行微調(diào)即可,一般工程師就可以實(shí)現(xiàn)。
預(yù)訓(xùn)練模型的三個(gè)關(guān)鍵技術(shù)

首先,第一個(gè)關(guān)鍵技術(shù)是 Transformer。它在 NLP 各個(gè)任務(wù)中都取得了優(yōu)異的性能,它是預(yù)訓(xùn)練語(yǔ)言模型的核心網(wǎng)絡(luò)。給定一句話或是一個(gè)段落作為輸入,首先將輸入序列中各個(gè)詞轉(zhuǎn)換為其對(duì)應(yīng)的詞向量,同時(shí)加上每一個(gè)詞的位置向量,體現(xiàn)詞在序列的位置。然后將這些詞向量輸入到多層 Transformer 網(wǎng)絡(luò)中,通過(guò)自注意力(self-attention)機(jī)制來(lái)學(xué)習(xí)詞與詞之間的關(guān)系,編碼其上下文信息,再通過(guò)一個(gè)前饋網(wǎng)絡(luò)經(jīng)過(guò)非線性變化,輸出綜合了上下文特征的各個(gè)詞的向量表示。每一層 Transformer 網(wǎng)絡(luò)主要由 Multi-head self-attention 層(多頭自注意力機(jī)制)和前饋網(wǎng)絡(luò)層兩個(gè)子層構(gòu)成。Multi-head self-attention 會(huì)并行地執(zhí)行多個(gè)不同參數(shù)的 self-attention,并將各個(gè) self-attention 的結(jié)果拼接作為后續(xù)網(wǎng)絡(luò)的輸入,self-attention 機(jī)制會(huì)在后面中做詳細(xì)介紹。此后,我們得到了蘊(yùn)含當(dāng)前上下文信息的各個(gè)詞的表示,然后網(wǎng)絡(luò)會(huì)將其輸入到前饋網(wǎng)絡(luò)層以計(jì)算非線性層次的特征。
在每一層 Transformer 網(wǎng)絡(luò)中,會(huì)將殘差連接(residual connection)把自注意力機(jī)制前或者前饋神經(jīng)網(wǎng)絡(luò)之前的向量引入進(jìn)來(lái),以增強(qiáng)自注意力機(jī)制或者前饋網(wǎng)絡(luò)的輸出結(jié)果向量。并且還做一個(gè) layer normalization,也就是通過(guò)歸一化把同層的各個(gè)節(jié)點(diǎn)的多維向量映射到一個(gè)區(qū)間里面,這樣各層節(jié)點(diǎn)的向量在一個(gè)區(qū)間里面。這兩個(gè)操作加入在每個(gè)子層后,可更加平滑地訓(xùn)練深層次網(wǎng)絡(luò)。
Transformer 可以用于編碼,也可以用于解碼。所謂解碼就是根據(jù)一個(gè)句子的輸入得到一個(gè)預(yù)想的結(jié)果,比如機(jī)器翻譯(輸入源語(yǔ)言句子,輸出目標(biāo)語(yǔ)言句子),或者閱讀理解(輸入文檔和問(wèn)題,輸出答案)。解碼時(shí),已經(jīng)解碼出來(lái)的詞要做一個(gè)自注意力機(jī)制,之后和編碼得到的隱狀態(tài)的序列再做一個(gè)注意力機(jī)制。這樣可以做 N 層,然后通過(guò)一個(gè)線性層映射到詞表的大小的一個(gè)向量。每個(gè)向量代表一個(gè)詞表詞的輸出可能性,經(jīng)過(guò)一個(gè)softmax 層得到每個(gè)詞的輸出概率。
接下來(lái)介紹一下 self-attention 機(jī)制,以一個(gè) head 作為示例。假定當(dāng)前輸入包含三個(gè)詞,給定其輸入詞向量或是其上一層 Transformer 網(wǎng)絡(luò)的輸出,將其通過(guò)三組線性變換,轉(zhuǎn)換得到三組 queries、keys 和 values 向量。Query 和 key 向量用來(lái)計(jì)算兩兩詞之間的得分,也就是其依賴關(guān)系,這個(gè)得分會(huì)同其對(duì)應(yīng)的 value 向量做加權(quán)和,以得到每個(gè)詞綜合上下文信息的表示。給定當(dāng)前第一個(gè)詞的 query 向量,其首先同各個(gè)詞的 key 向量通過(guò)點(diǎn)積操作得到這兩個(gè)詞的得分,這些得分用來(lái)表示這兩個(gè)詞的依賴或是相關(guān)程度。這些得分之后會(huì)根據(jù) query 等向量的維度做一定比例的縮放,并將這些得分通過(guò) softmax 操作做歸一化。之后,各個(gè)得分會(huì)同其相對(duì)應(yīng)的 value 向量相乘得到針對(duì)第一個(gè)詞加權(quán)的各個(gè) value 向量,這些加權(quán)的 value 向量最終相加以得到當(dāng)前第一個(gè)詞的上下文表示。
在得到第一個(gè)詞的上下文表示后,給定第二個(gè)詞的 query 向量,我們會(huì)重復(fù)之前的操作,計(jì)算當(dāng)前 query 向量同各個(gè)詞 key 向量的得分,對(duì)這些得分做 softmax 歸一化處理,并將這些得分同其對(duì)應(yīng)的 value 向量做加權(quán)和,以得到其編碼上下文信息的表示。
第二個(gè)關(guān)鍵技術(shù)是自監(jiān)督學(xué)習(xí)。在預(yù)訓(xùn)練的模型中,AR(自回歸)LM 和 AE(自動(dòng)編碼器)是最常用的自監(jiān)督學(xué)習(xí)方法,其中,自回歸 LM 旨在利用前面的詞序列預(yù)測(cè)下個(gè)詞的出現(xiàn)概率(語(yǔ)言模型)。自動(dòng)編碼器旨在對(duì)損壞的輸入句子,比如遮掩了句子某個(gè)詞、或者打亂了詞序等,重建原始數(shù)據(jù)。通過(guò)這些自監(jiān)督學(xué)習(xí)手段來(lái)學(xué)習(xí)單詞的上下文相關(guān)表示。
第三個(gè)關(guān)鍵技術(shù)就是微調(diào)。在做具體任務(wù)時(shí),微調(diào)旨在利用其標(biāo)注樣本對(duì)預(yù)訓(xùn)練網(wǎng)絡(luò)的參數(shù)進(jìn)行調(diào)整。以我們使用基于 BERT(一種流行的預(yù)訓(xùn)練模型)為例來(lái)判斷兩個(gè)句子是否語(yǔ)義相同。輸入是兩個(gè)句子,經(jīng)過(guò) BERT 得到每個(gè)句子的對(duì)應(yīng)編碼表示,我們可以簡(jiǎn)單地用預(yù)訓(xùn)練模型的第一個(gè)隱節(jié)點(diǎn)預(yù)測(cè)分類標(biāo)記判斷兩個(gè)句子是同義句子的概率,同時(shí)需要額外加一個(gè)線性層和 softmax 計(jì)算得到分類標(biāo)簽的分布。預(yù)測(cè)損失可以反傳給 BERT 再對(duì)網(wǎng)絡(luò)進(jìn)行微調(diào)。當(dāng)然也可以針對(duì)具體任務(wù)設(shè)計(jì)一個(gè)新網(wǎng)絡(luò),把預(yù)訓(xùn)練的結(jié)果作為其輸入。
總體來(lái)講,預(yù)訓(xùn)練模型發(fā)展趨勢(shì):第一,模型越來(lái)越大。比如 Transformer 的層數(shù)變化,從12層的 Base 模型到24層的 Large 模型。導(dǎo)致模型的參數(shù)越來(lái)越大,比如 GPT 110 M,到 GPT-2 是1.5 Billion,圖靈是 17 Billion,而 GPT-3 達(dá)到了驚人的 175 Billion。一般而言模型大了,其能力也會(huì)越來(lái)越強(qiáng),但是訓(xùn)練代價(jià)確實(shí)非常大。第二,預(yù)訓(xùn)練方法也在不斷增加,從自回歸 LM,到自動(dòng)編碼的各種方法,以及各種多任務(wù)訓(xùn)練等。第三,還有從語(yǔ)言、多語(yǔ)言到多模態(tài)不斷演進(jìn)。最后就是模型壓縮,使之能在實(shí)際應(yīng)用中經(jīng)濟(jì)的使用,比如在手機(jī)端。這就涉及到知識(shí)蒸餾和 teacher-student models,把大模型作為 teacher,讓一個(gè)小模型作為 student 來(lái)學(xué)習(xí),接近大模型的能力,但是模型的參數(shù)減少很多。
預(yù)訓(xùn)練模型發(fā)展趨勢(shì)
第一,模型越來(lái)越大。比如 Transformer 的層數(shù)變化,從12層的 Base 模型到24層的 Large 模型。導(dǎo)致模型的參數(shù)越來(lái)越大,比如 GPT 110 M,到 GPT-2 是1.5 Billion,圖靈是 17 Billion,而 GPT-3 達(dá)到了驚人的 175 Billion。一般而言模型大了,其能力也會(huì)越來(lái)越強(qiáng),但是訓(xùn)練代價(jià)確實(shí)非常大。
第二,預(yù)訓(xùn)練方法也在不斷增加,從自回歸 LM,到自動(dòng)編碼的各種方法,以及各種多任務(wù)訓(xùn)練等。
第三,還有從語(yǔ)言、多語(yǔ)言到多模態(tài)不斷演進(jìn)。最后就是模型壓縮,使之能在實(shí)際應(yīng)用中經(jīng)濟(jì)的使用,比如在手機(jī)端。這就涉及到知識(shí)蒸餾和 teacher-student models,把大模型作為 teacher,讓一個(gè)小模型作為 student 來(lái)學(xué)習(xí),接近大模型的能力,但是模型的參數(shù)減少很多。
隨著許多行業(yè)的數(shù)字化轉(zhuǎn)型,電子商業(yè)文檔的結(jié)構(gòu)化分析和內(nèi)容提取成為一項(xiàng)熱門的研究課題。電子商業(yè)文檔通常包括兩大類:一類是紙質(zhì)文檔的掃描圖像件,另一類是計(jì)算機(jī)生成的數(shù)字文檔,這些文檔涵蓋采購(gòu)單據(jù)、行業(yè)報(bào)告、商務(wù)郵件、銷售合同、雇傭協(xié)議、商業(yè)發(fā)票、個(gè)人簡(jiǎn)歷等。
一般來(lái)說(shuō),電子商業(yè)文檔包含了公司對(duì)于內(nèi)部和外部事物的處理細(xì)節(jié),具有大量與行業(yè)相關(guān)的實(shí)體信息和數(shù)字信息。在過(guò)去,電子商業(yè)文檔的信息處理一般由人工來(lái)完成,然而,人工信息提取不僅耗時(shí)費(fèi)力,可復(fù)用性也不高,大大限制和阻礙了企業(yè)運(yùn)行效率。因此,電子文檔的自動(dòng)精準(zhǔn)快速處理對(duì)于企業(yè)生產(chǎn)力提升至關(guān)重要,這也促使了一些新興行業(yè)的出現(xiàn),幫助傳統(tǒng)行業(yè)進(jìn)行數(shù)字化轉(zhuǎn)型,提高生產(chǎn)力。
近年來(lái),機(jī)器人流程自動(dòng)化(Robotic Process Automation, RPA)應(yīng)運(yùn)而生,正是利用人工智能技術(shù)幫助大量人力從繁雜的電子文檔處理任務(wù)中解脫出來(lái),提供了一系列配套的自動(dòng)化工具提升企業(yè)生產(chǎn)力。其中,最為關(guān)鍵的核心技術(shù)就是自動(dòng)文檔分析與識(shí)別技術(shù)。
傳統(tǒng)的文檔分析和識(shí)別技術(shù)往往基于人工定制的規(guī)則或少量標(biāo)注數(shù)據(jù)進(jìn)行學(xué)習(xí),這些方法雖然能夠帶來(lái)一定程度的性能提升,但由于定制規(guī)則和可學(xué)習(xí)的樣本數(shù)量不足,其通用性往往不盡如人意,針對(duì)不同類別文檔的分析遷移成本較高。
隨著深度學(xué)習(xí)預(yù)訓(xùn)練技術(shù)的發(fā)展,以及大量無(wú)標(biāo)注電子文檔的積累,文檔分析與識(shí)別技術(shù)進(jìn)入了一個(gè)全新的時(shí)代。大量的研究成果表明,大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型能夠通過(guò)自監(jiān)督任務(wù)在預(yù)訓(xùn)練階段有效捕捉文本中蘊(yùn)含的語(yǔ)義信息,經(jīng)過(guò)下游任務(wù)微調(diào)后能有效地提升模型效果。然而,現(xiàn)有的預(yù)訓(xùn)練語(yǔ)言模型主要針對(duì)文本單一模態(tài)進(jìn)行,而忽視了文檔本身與文本天然對(duì)齊的視覺結(jié)構(gòu)信息。
為了解決這一問(wèn)題,我們提出了一種通用文檔預(yù)訓(xùn)練模型 LayoutLM,對(duì)文檔結(jié)構(gòu)信息(Document Layout Information)和視覺信息(Visual Information)進(jìn)行建模,讓模型在預(yù)訓(xùn)練階段進(jìn)行多模態(tài)對(duì)齊。我們?cè)谌齻€(gè)不同類型的下游任務(wù)中進(jìn)行驗(yàn)證:表單理解(Form Understanding),票據(jù)理解(Receipt Understanding),以及文檔圖像分類(Document Image Classification)。

大量的研究成果表明,大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型通過(guò)自監(jiān)督任務(wù),可在預(yù)訓(xùn)練階段有效捕捉文本中蘊(yùn)含的語(yǔ)義信息,經(jīng)過(guò)下游任務(wù)微調(diào)后能有效的提升模型效果。然而,現(xiàn)有的預(yù)訓(xùn)練語(yǔ)言模型主要針對(duì)文本單一模態(tài)進(jìn)行,忽視了文檔本身與文本天然對(duì)齊的視覺結(jié)構(gòu)信息。為了解決這一問(wèn)題,研究員們提出了一種通用文檔預(yù)訓(xùn)練模型LayoutLM[1][2],選擇了文檔結(jié)構(gòu)信息(Document Layout Information)和視覺信息(Visual Information)進(jìn)行建模,讓模型在預(yù)訓(xùn)練階段進(jìn)行多模態(tài)對(duì)齊。
在實(shí)際使用的過(guò)程中,LayoutLM 僅需要極少的標(biāo)注數(shù)據(jù)即可達(dá)到行業(yè)領(lǐng)先的水平。研究員們?cè)谌齻€(gè)不同類型的下游任務(wù)中進(jìn)行了驗(yàn)證:表單理解(Form Understanding)、票據(jù)理解(Receipt Understanding),以及文檔圖像分類(Document Image Classification)。實(shí)驗(yàn)結(jié)果表明,在預(yù)訓(xùn)練中引入的結(jié)構(gòu)和視覺信息,能夠有效地遷移到下游任務(wù)中,最終在三個(gè)下游任務(wù)中都取得了顯著的準(zhǔn)確率提升。
文檔結(jié)構(gòu)和視覺信息不可忽視
很多情況下,文檔中文字的位置關(guān)系蘊(yùn)含著豐富的語(yǔ)義信息。以下圖的表單為例,表單通常是以鍵值對(duì)(key-value pair)的形式展示的(例如 “DATE: 11/28/84”)。一般情況下,鍵值對(duì)的排布是以左右或者上下的形式,并且有特殊的類型關(guān)系。類似地,在表格文檔中,表格中的文字通常是網(wǎng)格狀排列,并且表頭一般出現(xiàn)在第一列或第一行。通過(guò)預(yù)訓(xùn)練,這些與文本天然對(duì)齊的位置信息可以為下游的信息抽取任務(wù)提供更豐富的語(yǔ)義信息。

表單示例
對(duì)于富文本文檔,除了文字本身的位置關(guān)系之外,文字格式所呈現(xiàn)的視覺信息同樣可以幫助下游任務(wù)。對(duì)文本級(jí)(token-level)任務(wù)來(lái)說(shuō),文字大小、是否傾斜、是否加粗,以及字體等富文本格式都能夠體現(xiàn)相應(yīng)的語(yǔ)義。例如,表單鍵值對(duì)的鍵位(key)通常會(huì)以加粗的形式給出;而在一般文檔中,文章的標(biāo)題通常會(huì)放大加粗呈現(xiàn),特殊概念名詞會(huì)以斜體呈現(xiàn),等等。對(duì)文檔級(jí)(document-level)任務(wù)來(lái)說(shuō),整體的文檔圖像能提供全局的結(jié)構(gòu)信息。例如個(gè)人簡(jiǎn)歷的整體文檔結(jié)構(gòu)與科學(xué)文獻(xiàn)的文檔結(jié)構(gòu)是有明顯的視覺差異的。這些模態(tài)對(duì)齊的富文本格式所展現(xiàn)的視覺特征,可以通過(guò)視覺模型抽取,再結(jié)合到預(yù)訓(xùn)練階段,從而有效地幫助下游任務(wù)。
將視覺信息與文檔結(jié)構(gòu)融入到通用預(yù)訓(xùn)練方案
建模上述信息需要尋找這些信息的有效表示方式。然而現(xiàn)實(shí)中的文檔格式豐富多樣,除了格式明確的電子文檔外,還有大量掃描式報(bào)表和票據(jù)等圖片式文檔。對(duì)于計(jì)算機(jī)生成的電子文檔,可以使用對(duì)應(yīng)的工具獲取文本和對(duì)應(yīng)的位置以及格式信息;對(duì)于掃描圖片文檔,則可以使用 OCR 技術(shù)進(jìn)行處理,從而獲得相應(yīng)的信息。兩種不同的手段幾乎可以使用現(xiàn)存的所有文檔數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,保證了預(yù)訓(xùn)練數(shù)據(jù)的規(guī)模。

基于文檔結(jié)構(gòu)和視覺信息的 LayoutLM 模型結(jié)構(gòu)
利用上述信息,微軟亞洲研究院的研究員們?cè)诂F(xiàn)有的預(yù)訓(xùn)練模型基礎(chǔ)上添加了二維位置嵌入(2-D Position Embedding)和圖嵌入(Image Embedding)兩種新的 Embedding 層,可以有效地結(jié)合文檔結(jié)構(gòu)和視覺信息:
1)?二維位置嵌入 2-D Position Embedding:根據(jù) OCR 獲得的文本邊界框?(Bounding Box),能獲取文本在文檔中的具體位置。在將對(duì)應(yīng)坐標(biāo)轉(zhuǎn)化為虛擬坐標(biāo)之后,則可以計(jì)算該坐標(biāo)對(duì)應(yīng)在 x、y、w、h 四個(gè) Embedding 子層的表示,最終的 2-D Position Embedding 為四個(gè)子層的 Embedding 之和。
2)?圖嵌入 Image Embedding:將每個(gè)文本相應(yīng)的邊界框?(Bounding Box)?當(dāng)作 Faster R-CNN 中的候選框(Proposal),從而提取對(duì)應(yīng)的局部特征。其特別之處在于,由于 [CLS] 符號(hào)用于表示整個(gè)輸入文本的語(yǔ)義,所以同樣使用整張文檔圖像作為該位置的 Image Embedding,從而保持模態(tài)對(duì)齊。
在預(yù)訓(xùn)練階段,研究員們針對(duì) LayoutLM 的特點(diǎn)提出了兩個(gè)自監(jiān)督預(yù)訓(xùn)練任務(wù):
1)?掩碼視覺語(yǔ)言模型(Masked Visual-Language Model,MVLM):大量實(shí)驗(yàn)已經(jīng)證明 MLM 能夠在預(yù)訓(xùn)練階段有效地進(jìn)行自監(jiān)督學(xué)習(xí)。研究員們?cè)诖嘶A(chǔ)上進(jìn)行了修改:在遮蓋當(dāng)前詞之后,保留對(duì)應(yīng)的 2-D Position Embedding 暗示,讓模型預(yù)測(cè)對(duì)應(yīng)的詞。在這種方法下,模型根據(jù)已有的上下文和對(duì)應(yīng)的視覺暗示預(yù)測(cè)被掩碼的詞,從而讓模型更好地學(xué)習(xí)文本位置和文本語(yǔ)義的模態(tài)對(duì)齊關(guān)系。
2)?多標(biāo)簽文檔分類(Multi-label Document Classification,MDC):MLM 能夠有效的表示詞級(jí)別的信息,但是對(duì)于文檔級(jí)的表示,還需要將文檔級(jí)的預(yù)訓(xùn)練任務(wù)引入更高層的語(yǔ)義信息。在預(yù)訓(xùn)練階段研究員們使用的 IIT-CDIP 數(shù)據(jù)集為每個(gè)文檔提供了多標(biāo)簽的文檔類型標(biāo)注,并引入 MDC 多標(biāo)簽文檔分類任務(wù)。該任務(wù)使得模型可以利用這些監(jiān)督信號(hào),聚合相應(yīng)的文檔類別并捕捉文檔類型信息,從而獲得更有效的高層語(yǔ)義表示。
實(shí)驗(yàn)結(jié)果:LayoutLM 的表單、票據(jù)理解和文檔圖像分類水平顯著提升
預(yù)訓(xùn)練過(guò)程使用了 IIT-CDIP 數(shù)據(jù)集,這是一個(gè)大規(guī)模的掃描圖像公開數(shù)據(jù)集,經(jīng)過(guò)處理后的文檔數(shù)量達(dá)到約11,000,000。研究員們隨機(jī)采樣了1,000,000個(gè)進(jìn)行測(cè)試實(shí)驗(yàn),最終使用全量數(shù)據(jù)進(jìn)行完全預(yù)訓(xùn)練。通過(guò)千萬(wàn)文檔量級(jí)的預(yù)訓(xùn)練并在下游任務(wù)微調(diào),LayoutLM 在測(cè)試的三個(gè)不同類型的下游任務(wù)中都取得了 SOTA 的成績(jī),具體如下:
1)?表單理解(Form Understanding):表單理解任務(wù)上,使用了 FUNSD 作為測(cè)試數(shù)據(jù)集,該數(shù)據(jù)集中的199個(gè)標(biāo)注文檔包含了31,485個(gè)詞和9,707個(gè)語(yǔ)義實(shí)體。在該數(shù)據(jù)集上,需要對(duì)數(shù)據(jù)集中的表單進(jìn)行鍵值對(duì)(key-value)抽取。通過(guò)引入位置信息的訓(xùn)練,LayoutLM 模型在該任務(wù)上取得了顯著的提升,將表單理解的 F1 值從70.72 提高至79.2。
2)?票據(jù)理解(Receipt Understanding):票據(jù)理解任務(wù)中,選擇了 SROIE 測(cè)評(píng)比賽作為測(cè)試。SROIE 票據(jù)理解包含1000張已標(biāo)注的票據(jù),每張票據(jù)都標(biāo)注了店鋪名、店鋪地址、總價(jià)、消費(fèi)時(shí)間四個(gè)語(yǔ)義實(shí)體。通過(guò)在該數(shù)據(jù)集上微調(diào),LayoutLM 模型在 SROIE 測(cè)評(píng)中的 F1 值高出第一名(2019)1.2個(gè)百分點(diǎn),達(dá)到95.24%。
3)?文檔圖像分類(Document Image Classification):對(duì)于文檔圖像分類任務(wù),則選擇了 RVL-CDIP 數(shù)據(jù)集進(jìn)行測(cè)試。RVL-CDIP 數(shù)據(jù)集包含有16類總記40萬(wàn)個(gè)文檔,每一類都包含25,000個(gè)文檔數(shù)據(jù)。LayoutLM 模型在該數(shù)據(jù)集上微調(diào)之后,將分類準(zhǔn)確率提高了1.35個(gè)百分點(diǎn),達(dá)到了94.42%。
微軟亞洲研究院的研究員們構(gòu)建了 DocBank 數(shù)據(jù)集[3][4],這是一個(gè)文檔基準(zhǔn)數(shù)據(jù)集,其中包含了50萬(wàn)文檔頁(yè)面以及用于文檔布局分析的細(xì)粒度 Token 級(jí)標(biāo)注。與常規(guī)的人工標(biāo)注數(shù)據(jù)集不同,微軟亞洲研究院的方法以簡(jiǎn)單有效的方式利用弱監(jiān)督的方法獲得了高質(zhì)量標(biāo)注。DocBank 數(shù)據(jù)集是文檔布局標(biāo)注數(shù)據(jù)集 TableBank[5][6] 的擴(kuò)展,基于互聯(lián)網(wǎng)上大量的數(shù)字化文檔進(jìn)行開發(fā)而來(lái)。例如當(dāng)下很多研究論文的 PDF 文件,都是由 LaTeX 工具編譯而成。LaTeX 系統(tǒng)的命令中包含了標(biāo)記作為構(gòu)造塊的顯式語(yǔ)義結(jié)構(gòu)信息,例如摘要、作者、標(biāo)題、公式、圖形、頁(yè)腳、列表、段落、參考、節(jié)標(biāo)題、表格和文章標(biāo)題。為了區(qū)分不同的語(yǔ)義結(jié)構(gòu),研究員們修改了 LaTeX 源代碼,為不同語(yǔ)義結(jié)構(gòu)的文本指定不同的顏色,從而能清楚地劃分不同的文本區(qū)域,并標(biāo)識(shí)為對(duì)應(yīng)的語(yǔ)義結(jié)構(gòu)。
從自然語(yǔ)言處理的角度來(lái)看,DocBank 數(shù)據(jù)集的優(yōu)勢(shì)是可用于任何序列標(biāo)注模型,同時(shí)還可以輕松轉(zhuǎn)換為基于圖像的標(biāo)注,以支持計(jì)算機(jī)視覺中的物體檢測(cè)模型。通過(guò)這種方式,可以使用 DocBank 公平地比較來(lái)自不同模態(tài)的模型,并且進(jìn)一步研究多模態(tài)方法,提高文檔布局分析的準(zhǔn)確性。
為了驗(yàn)證 DocBank 的有效性,研究員們使用了 BERT、RoBERTa 和 LayoutLM 三個(gè)基線模型進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,對(duì)于文檔布局分析任務(wù),LayoutLM 模型明顯優(yōu)于 DocBank 上的 BERT 和 RoBERTa 模型。微軟亞洲研究院希望 DocBank 可以驅(qū)動(dòng)更多文檔布局分析模型,同時(shí)促進(jìn)更多的自定義網(wǎng)絡(luò)結(jié)構(gòu)在這個(gè)領(lǐng)域取得實(shí)質(zhì)性進(jìn)展。

DocBank 數(shù)據(jù)集的數(shù)據(jù)樣例

LayoutLM、BERT、RoBERTa 模型在 DocBank 測(cè)試集的準(zhǔn)確性
在 DocBank 的測(cè)試集上評(píng)估了六個(gè)模型后,研究員們發(fā)現(xiàn) LayoutLM 在摘要、作者、表格標(biāo)題、方程式、圖形、頁(yè)腳、列表、段落、節(jié)標(biāo)題、表格、文章標(biāo)題標(biāo)簽上得分最高。在其他標(biāo)簽上 LayoutLM 與其他模型的差距也較小。這表明在文檔布局分析任務(wù)中,LayoutLM 結(jié)構(gòu)明顯優(yōu)于 BERT 和 RoBERTa 結(jié)構(gòu)。
? |
? |
? |
? |
原始文檔頁(yè)面 | 預(yù)訓(xùn)練BERT結(jié)果 | 真實(shí)結(jié)果 | 預(yù)訓(xùn)練LayoutLM結(jié)果 |
測(cè)試集上預(yù)訓(xùn)練 BERT 模型和預(yù)訓(xùn)練 LayoutLM 模型的樣例輸出
研究員們又選取了測(cè)試集的一些樣本,將預(yù)訓(xùn)練 BERT 和預(yù)訓(xùn)練 LayoutLM 的輸出進(jìn)行了可視化??梢杂^察到,序列標(biāo)記方法在 DocBank 數(shù)據(jù)集上表現(xiàn)良好,它可以識(shí)別不同的語(yǔ)義單元。對(duì)于預(yù)訓(xùn)練的 BERT 模型,某些 Token 沒(méi)有被正確標(biāo)記,這表明僅使用文本信息仍不足以完成文檔布局分析任務(wù),還應(yīng)考慮視覺信息。
與預(yù)訓(xùn)練的 BERT 模型相比,預(yù)訓(xùn)練的 LayoutLM 模型集成了文本和布局信息,因此它在基準(zhǔn)數(shù)據(jù)集上實(shí)現(xiàn)了更好的性能。這是因?yàn)槎S的位置嵌入可以在統(tǒng)一的框架中對(duì)語(yǔ)義結(jié)構(gòu)的空間距離和邊界進(jìn)行建模,從而提高了檢測(cè)精度。
附錄
[1]LayoutLM 論文:https://arxiv.org/abs/1912.13318
[2]LayoutLM 代碼&模型:https://aka.ms/layoutlm
[3]?DocBank 論文:https://arxiv.org/abs/2006.01038
[4]?DocBank 數(shù)據(jù)集&模型:https://github.com/doc-analysis/DocBank
[5]?TableBank 論文:https://arxiv.org/abs/1903.01949
[6]?TableBank 數(shù)據(jù)集&模型: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
閱讀過(guò)本文的人還看了以下文章:
TensorFlow 2.0深度學(xué)習(xí)案例實(shí)戰(zhàn)
基于40萬(wàn)表格數(shù)據(jù)集TableBank,用MaskRCNN做表格檢測(cè)
《基于深度學(xué)習(xí)的自然語(yǔ)言處理》中/英PDF
Deep Learning 中文版初版-周志華團(tuán)隊(duì)
【全套視頻課】最全的目標(biāo)檢測(cè)算法系列講解,通俗易懂!
《美團(tuán)機(jī)器學(xué)習(xí)實(shí)踐》_美團(tuán)算法團(tuán)隊(duì).pdf
《深度學(xué)習(xí)入門:基于Python的理論與實(shí)現(xiàn)》高清中文PDF+源碼
python就業(yè)班學(xué)習(xí)視頻,從入門到實(shí)戰(zhàn)項(xiàng)目
2019最新《PyTorch自然語(yǔ)言處理》英、中文版PDF+源碼
《21個(gè)項(xiàng)目玩轉(zhuǎn)深度學(xué)習(xí):基于TensorFlow的實(shí)踐詳解》完整版PDF+附書代碼
《深度學(xué)習(xí)之pytorch》pdf+附書源碼
PyTorch深度學(xué)習(xí)快速實(shí)戰(zhàn)入門《pytorch-handbook》
【下載】豆瓣評(píng)分8.1,《機(jī)器學(xué)習(xí)實(shí)戰(zhàn):基于Scikit-Learn和TensorFlow》
《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》PDF+完整源碼
汽車行業(yè)完整知識(shí)圖譜項(xiàng)目實(shí)戰(zhàn)視頻(全23課)
李沐大神開源《動(dòng)手學(xué)深度學(xué)習(xí)》,加州伯克利深度學(xué)習(xí)(2019春)教材
筆記、代碼清晰易懂!李航《統(tǒng)計(jì)學(xué)習(xí)方法》最新資源全套!
《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》最新2018版中英PDF+源碼
將機(jī)器學(xué)習(xí)模型部署為REST API
FashionAI服裝屬性標(biāo)簽圖像識(shí)別Top1-5方案分享
重要開源!CNN-RNN-CTC 實(shí)現(xiàn)手寫漢字識(shí)別
同樣是機(jī)器學(xué)習(xí)算法工程師,你的面試為什么過(guò)不了?
前海征信大數(shù)據(jù)算法:風(fēng)險(xiǎn)概率預(yù)測(cè)
【Keras】完整實(shí)現(xiàn)‘交通標(biāo)志’分類、‘票據(jù)’分類兩個(gè)項(xiàng)目,讓你掌握深度學(xué)習(xí)圖像分類
VGG16遷移學(xué)習(xí),實(shí)現(xiàn)醫(yī)學(xué)圖像識(shí)別分類工程項(xiàng)目
特征工程(二) :文本數(shù)據(jù)的展開、過(guò)濾和分塊
如何利用全新的決策樹集成級(jí)聯(lián)結(jié)構(gòu)gcForest做特征工程并打分?
Machine Learning Yearning 中文翻譯稿
全球AI挑戰(zhàn)-場(chǎng)景分類的比賽源碼(多模型融合)
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
python+flask搭建CNN在線識(shí)別手寫中文網(wǎng)站
中科院Kaggle全球文本匹配競(jìng)賽華人第1名團(tuán)隊(duì)-深度學(xué)習(xí)與特征工程
不斷更新資源
深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、數(shù)據(jù)分析、python
?搜索公眾號(hào)添加:?datayx??
機(jī)大數(shù)據(jù)技術(shù)與機(jī)器學(xué)習(xí)工程
?搜索公眾號(hào)添加:?datanlp
長(zhǎng)按圖片,識(shí)別二維碼



