百度文件智慧技術與應用

碼農談IT發表於2023-03-01


導讀 文件智慧技術廣泛應用於金融、保險、能源、物流、醫療等行業,常見的應用場景包括財務報銷單、招聘簡歷、企業財報、合同文書、動產登記證、法律判決書、物流單據等多模態文件的關鍵資訊抽取、文件解析、文件比對等。本文將分享百度文件智慧技術與應用。

主要包括以下五個部分的內容:

1. 文件智慧技術簡介

2. 文件智慧大模型 ERNIE-Layout

3. 開放文件抽取問答模型 DocPrompt

4. 文件佈局與表格理解技術介紹

5. PaddleNLP 文件智慧技術開源與應用案例


分享嘉賓|胡騰 百度 資深研發工程師

編輯整理|張存旺 北航杭州創新研究院

出品社群|DataFun


01

文件智慧技術簡介

首先介紹一下文件智慧技術的背景。
1. 文件智慧技術做什麼?

百度文件智慧技術與應用

當前有很多行業在朝著數字智慧化的方向發展,在業務流程中會遇到各種各樣的電子文件處理需求,比如個人簡歷、企業財報、合同文書、報銷票據等常見的文件,也有保理登記、法律文書、海關檔案、病歷文件等專業文件。
而文件智慧技術則是為了實現對這些文件進行自動閱讀、理解以及分析的一系列技術方案,具體包括文件內容解析、預訓練與文件表示、佈局分析、文件抽取問答、分類聚類以及內容比對等。透過這些文件智慧技術可以實現各種文件場景的智慧應用。
2. 文件智慧技術的挑戰與方案

百度文件智慧技術與應用

在技術實現上,進入預訓練時代之後的文件智慧技術一般處理流程是:首先輸入各種型別的文件,經過不同型別的解析器來讀取到各種形態的文件內容,比如文字、佈局、表格、影像等,然後根據不同的任務來選擇合適的預訓練模型,透過一定量的標註資料進行微調,最後產出所需要的文件智慧應用模型。
在這一過程中會遇到多重挑戰首先是文件格式繁雜、版式豐富,比如常見的 Word、PDF 和掃描檔案,在一些國產化專案中還會遇到大量的 WPS、OFD 文件,所以在文件讀取的時候需要對接一系列的解析器來實現,這大大增加了下游任務適配的複雜度;其次,文件內容的資訊模態多樣化,有段落文字資訊、空間佈局資訊、結構化表格資訊、影像資訊等,這麼多的特徵維度增加了下游任務預訓練模型的選取難度;此外,在文件智慧的商業化應用場景中,經常會面臨需求開放、業務資料少的問題,通常一家公司需要處理的文件型別比較多,但是由於資料敏感、標註難度大,可以獲取到的真實資料往往很少甚至沒有,這樣就大大提高了技術落地的適配難度。
針對以上問題,我們形成了一些解決方案:
(1)首先針對文件格式繁雜的問題,我們採用整合的解析方案,透過統一文件的表示形式和介面來降低下游任務的適配複雜度,同時也透過不同格式文件之間的轉換來增加文件特徵的型別。
(2)針對文件內容模態多樣化問題,我們透過最新的跨模態預訓練技術來融合不同模態的特徵,既可以避免預訓練模型的選擇難度,也可以提升多模態特徵的下游任務效果。

(3)最後針對需求開放、業務資料少的問題,透過大規模開放場景下的多階段多工融合訓練來實現模型零樣本和小樣本的能力,進一步降低場景化適配成本。

3. 百度文件智慧技術體系 

百度文件智慧技術與應用

從整體來看,目前百度文件智慧體系可以分為以下幾個層次:
(1)底層框架採用飛槳。
(2)基礎模型庫與開發套件主要有:文字智慧處理模型以及套件 PaddleNLP,文字識別套件 PaddleOCR,通用語言大模型 ERNIE 以及通用視覺大模型 VIMER。
(3)文件智慧核心技術主要分為兩部分:一部分是基於多語言跨模態佈局增強的文件智慧大模型 ERNIE-Layout 的一系列文件理解與分析技術,包括文件表格理解、開放文件抽取問答、文件佈局分析等技術;另一部分是基於 OCR 識別與結構化大模型的辦公文件識別技術。
(4)應用平臺:主要支撐百度雲的兩個平臺產品,包括智慧文件分析平臺 TextMind 以及影像文件結構化平臺 EasyDL OCR。
今天主要圍繞基於 ERNIE-Layout 的文件理解與分析技術展開。
4. 百度文件智慧技術指標

百度文件智慧技術與應用

從整體的技術指標上來看,基於 ERNIE-Layout 的文件智慧技術方案在文件抽取問答、網頁問答、佈局理解以及表格理解方面共 11 項權威文件智慧任務上達到了 SOTA,而且整體提升大概 4 個 PP,可以為文件智慧應用提供一套全方位能力的核心技術體系。

百度文件智慧技術與應用

最近一年多,百度文件智慧在視覺文件理解能力上持續提升,多次登頂視覺文件問答權威榜單 DocVQA,成為當前榜單上首個突破 90 分大關的技術方案;此外,首次以通用文件智慧模型在網頁垂類場景下也超越網頁預訓練模型,登頂 WebSRC 的榜單,也說明通用文件智慧模型具備了比較強的場景適應能力。
02
文件智慧大模型 ERNIE-Layout
下面介紹多語言跨模態佈局增強文件智慧大模型 ERNIE-Layout 的相關技術方案。
1. ERNIE-Layout 文件預訓練方案

百度文件智慧技術與應用

ERNIE-Layout 文件預訓練方案融合了文字、佈局、影像特徵。從流程上看,輸入的視覺文件首先透過兩路特徵:左側是文字特徵,透過 OCR 讀取出文字和位置佈局,經過序列化模型和預訓練語言模型的預處理得到文字的 token 特徵;右側影像部分透過影像編碼,主要是等比分割和序列化對映等得到序列化影像的 token 特徵。然後將文字和影像特徵進行融合,融合一維和二維的編碼拼接在一起,往上透過一系列的 Transformer 層實現特徵互動,最後透過一系列的預訓練任務讓模型學會並理解和對齊文字語義、空間佈局語義和影像語義。
與之前的一些工作相比,ERNIE-Layout 的主要技術特點包括:第一次在預訓練方面,基於視覺語言掩碼模型 MLVM 以及塗膜覆蓋預測 TIA 新增了閱讀順序預測任務 ROP 以及替換區域預測任務 RRP,其中閱讀順序預測任務主要是透過預測文字側 token 的閱讀順序來強化模型對佈局位置和文字閱讀順序的理解;影像替換區域預測人物則是用於強化細粒度文字影像的對齊能力,像是 TIA 的一個對稱任務,TIA 是從文字側預測文字 token 對應的影像是否被塗抹的任務,而 RRP 則是從影像測來預測影像 token 對應的區域是否被隨機替換,相比於傳統的塗抹覆蓋,隨機替換會增加預訓練任務的難度。
第二個技術特點是在模型結構上,我們提出了空間解耦的注意力機制,將圖文內容與一維、二維空間位置注意力進行解耦。其中,二維空間位置進一步解耦為 X 軸和 Y 軸兩個方向的注意力,這樣可以進一步提升模型的空間位置理解能力。
其次,在語言模型的初始化上,我們基於多語言模型 ERNIE-M,支援 96 種語言的理解;在文字側的輸入上我們引入了佈局知識增強的機制,透過佈局理解能力的訓練化模組進行佈局理解和文字重排,可以大幅度降低複雜文件的序列化文字 PPL(困惑度),這樣可以提升語言模型的訓練效果。
最後開源 ERNIE-Layout 的訓練規模上包含了來自 IIT-CDIP 的 1000 萬英文文件頁面以及來自百度文庫的 1000 萬中文文件頁面。

百度文件智慧技術與應用

從下游任務的實驗結果上來看,ERNIE-Layout 在文件抽取任務、文件問答任務以及文件分類任務上都能達到 SOTA 效果;從消融實驗結果來看,佈局知識增強、ROP 和 RRP 訓練任務以及空間解耦注意力機制都能帶來穩定的收益。
2. mmLayout 文件圖表示技術方案

百度文件智慧技術與應用

這部分以一個具體的文件理解任務來觀察模型和人分別是怎麼理解一個文件的。例子來自於英文 FUNSD 文件資料集,該場景需要從文件中識別出標題、問題、答案以及其他內容,這裡的問題和答案對應抽取任務中的鍵值對。以 ERNIE-Layout 模型作為底座,那麼輸入的文件會被表示成細粒度的文字特徵以及影像切片特徵,透過這些細粒度的特徵編碼標識來進一步支撐下游的文件理解任務。
但是從人的視角來講,在語言上會優先注意到具有特定語義的連續自然語言片段,比如標題、日期和傳真號碼;在視覺上會先將注意力集中到具有明顯特徵的視覺區域,比如上面的標題區域、中間的段落區域以及下面的列表區域,通常這些區域內部的文字內容更具有密切的相關性。所以我們發現模型和人類會透過不同特徵粒度來完成文件理解任務,不難想到可以透過建立模型視角和人的視角之間的聯絡來提升模型的效果。

百度文件智慧技術與應用

基於以上的分析,我們提出了一種多粒度的跨模態文件圖表示技術來建立跨粒度跨模態的特徵聯絡。具體地,首先來看怎麼建立文件圖結構,這裡的文件圖結構包括細粒度的文字和粗粒度的文字,以及細粒度的影像和粗粒度的影像四種節點型別,其中細粒度的文字影像節點就是 ERNIE-Layout 模型的輸出 token,模型的全連線層和注意力機制可以當作細粒度節點的特徵編碼表示;粗粒度的文字節點以 OCR 輸出的文字粒度為準,粗粒度的影像節點以 OCR 識別的片段區域經過 DBSCAN 的聚類機制進行拼接所得。
透過細粒度節點和粗粒度節點之間的包含關係,可以建立跨粒度的編碼特徵。有了細粒度的特徵以及跨粒度的邊之後,透過文件圖的特徵聚合來將細粒度的特徵聚合到粗粒度的特徵表示上。這裡需要注意的一點是避免以直接相加的方式聚合到粗粒度文字上,因為這樣會導致粗粒度文字特徵產生混淆,所以我們引入了一個常識增強的機制,在聚合的同時會區分不同細粒度的常識特徵,因此可以透過學習細粒度的常識編碼來作為聚合的一個偏置項,這樣可以調整不同細粒度特徵在聚合過程中的權重。
再往上一層的粗粒度特徵編碼表示採用的是一個標準的 Transformer 結構,其中的全連線層可以當作粗粒度節點之間的一個邊。之後在跨粒度特徵融合階段再將粗粒度特徵反向融合到細粒度特徵,最終以細粒度的特徵來支撐下游任務的應用。之所以反向融合是因為在大部分下游文件理解任務上都是基於細粒度的 token 訓練來實現的。
所以整體的思路是先將細粒度特徵透過跨粒度的邊進行特徵融合,然後再將粗粒度特徵反向融合到細粒度特症,從而實現跨模態跨粒度的文件圖表示。

百度文件智慧技術與應用

透過在預訓練語言模型基礎上引入文件圖表示技術,可以發現基於 mmLayout 的 base 模型,文件圖的表示在抽取任務上效果可以超過大部分不帶圖結構的預訓練模型的 large 版本。更重要的一點是透過對比實驗可以發現一層的 Transformer 結構的粗粒度編碼層即可以使模型效果得到大幅度提升,甚至超過 large 模型。從模型大小上來看,比 base 模型提升不到 5%,不到 large 模型的一半。從消融實驗來看,跨粒度的特徵融合和聚合、粗粒度的特徵編碼以及基於文字常識增強的機制均可以帶來穩定收益。
03
開放文件抽取問答模型 DocPrompt
接下來介紹一個基於 ERNIE-Layout 的應用,開放文件抽取問答模型 DocPrompt。
1. Prompt 式開放文件抽取問答

百度文件智慧技術與應用

首先,DocPrompt 是一種基於 Prompt 正規化的開放文件抽取問答技術方案。Prompt 正規化的優點:第一和傳統的 NER 抽取模型不一樣,沒有固定的 Schema 或者標籤集合,可以支援開放場景的訓練,實現零樣本抽取問答的能力;第二比較容易和自監督的預訓練任務對齊,這樣可以透過持續的多階段訓練在場景遷移的過程中提升小樣本的能力;第三點是 Prompt 的表述形式比較靈活,可以是抽取問題的欄位名、問答任務的問題、分類任務的類別列表等等,非常便於實現多工的統一建模。
本次開放的 DocPrompt 主要實現的是文件抽取和文件問答任務的統一建模,基於 ERNIE-Layout 預訓練模型透過大規模多工開放場景的抽取問答預訓練實現通用場景零樣本以及小樣本抽取能力。
這裡以一個法律判決書的資訊抽取問答能力為例,在模型沒有見過任何內建文件的前提下是可以直接完成大部分的抽取和問答任務的。如果模型在某些欄位上抽取效果不符合預期,還可以透過小樣本機制來進行效果最佳化。
2. 文件抽取問答場景示例
接下來透過幾個文件抽取問答特殊示例來看看 DocPrompt 到底具備哪些文件理解能力。

百度文件智慧技術與應用

這裡是一個票據文件的抽取問答。第一個問題是“票據的具體名稱是什麼”,其實是需要模型理解票據的中間抬頭部分和字型突出部分,這部分是票據的名稱;第二個問題是“右上方的數字是什麼?”,需要模型能夠將問題中的空間方位值的語義和文件空間位置對應上;第三個問題是“第一個收費專案是啥?”,需要模型理解語義和空間位置的順序關係。從這三個問題回答來看,說明 DocPrompt 是具備一定空間方位語義理解能力的

百度文件智慧技術與應用

第二個示例是一個文件表格抽取問答示例,是一個多維的文件表格。可以看到,針對 3 個不同位置的多維度問題,DocPrompt 都能給出準確的答案,說明 DocPrompt 是具備多維表格語義理解能力的。

百度文件智慧技術與應用

第三個示例是一個富文件的抽取問答,這裡面的海報中有大量的影像和 LOGO,文字的字型變化也很大,排版非常複雜。第一個問題是“使訪問者能夠管理關鍵資訊的關鍵設計參考因素是什麼?”,回答這個問題需要模型能夠理解複雜視覺區域之間的邏輯關係,因為可以看到答案的提示資訊分佈在不同的佈局區域。第二個問題是“哪個質量組的元件中有‘筆’的圖示”,可以看到文章中是存在一個‘筆’的 LOGO 的,那麼要回答這個問題就需要模型能夠對齊文字語義和影像語義。透過這個例子可以說明 DocPrompt 是具備影像語義理解能力的。

百度文件智慧技術與應用

第四個示例是針對常見網頁佈局的抽取問答。這裡面我們沒有用到網頁的半結構化資訊,主要是基於網頁的視覺和內容文字特徵來很好地完成不同佈局位點的資訊抽取。說明在脫離網頁半結構化資訊標籤的條件下,DocPrompt 是具備網頁佈局的語義理解能力的。

百度文件智慧技術與應用

第五個例子是一個病例長文字文件的抽取問答,來自於一個新聞網站的公開病例。第一個問題是“患者為什麼上臂疼痛?”,答案其實是一個具有因果關係的完整句子;最後一個問題是“醫生健康指導”,答案是一個相關區域整個段落文字;第二個和第三個問題是抽取階段,患者體溫以及初步診斷結論都是具備一定專業性的屬於抽取。從這個例子可以說明 DocPrompt 具備良好的長文文字語義理解和領域遷移能力。

百度文件智慧技術與應用

最後一個示例是一個跨語種的抽取問答,針對一張商戶小票分別採用中文、英語、日語、泰語、西班牙語和俄語 6 種語言進行提問“商戶的電話號碼是什麼?”,模型都能給出相同並且正確的答案,說明 DocPrompt 具備較強的跨語種語義理解能力。
以上這些例子,大家感興趣的話可以透過 Huggingface 搜尋 ERENIE-Layout 的空間來體驗。
04
文件佈局與表格理解技術
接下來介紹基於跨模態文件佈局與表格理解技術方案。
1. 文件佈局與表格理解任務流程

百度文件智慧技術與應用

文件佈局與表格理解任務流程上一般分為三步,第一步是佈局要素的識別,主要是識別文件頁面的標題、段落、列表、圖片等佈局元素;第二步是是閱讀順序,將頁面內的佈局元素按照閱讀順序進行重排,這個流程可以大幅度降低 OCR 文字結果的 PPL,可以提升下游任務的效果;第三個任務是佈局要素關聯,主要用來構建比如層級化的標題關係、圖表和對應標題的關係以及一些跨頁跨欄的佈局要素關係。
2. 文件佈局與表格理解技術方案

百度文件智慧技術與應用

技術實現方案上,不同的佈局識別任務也會依賴不同的模態特徵,在跨模態技術成熟之前通常會透過不同的模型來完成相應的任務,比如圖表任務或者分欄任務一般視覺特徵會優於文字特徵,所以會採用視覺方案;而標題或者段落識別任務中文字特徵會優於視覺特徵,所以會採用文字方案;但是對於公式和列表,我們發現影像和文字的特徵同等重要,所以會採用文字模型加上視覺後處理的混合方案。
在有了 ERNIE-Layout 之後,便可以透過跨模態多工的形式來統一建模,實現多種佈局型別和表格理解的任務統一,將所有佈局要素識別任務轉化為基於 ERNIE-Layout 的跨模態影像特徵編碼和基於 Transformer 的一個目標檢測任務。所有的閱讀順序和要素關聯任務可以轉化為佈局元素之間的關係預測任務。

百度文件智慧技術與應用

當前基於這一套跨模態的佈局和表格理解技術方案,可以實現 14 種內建佈局型別的理解,也支援使用者持續標註和擴充套件自定義的型別。表格理解任務上整合了表格檢測、還原與功能分析,從圖中例子可以看出支援一些複雜無框線表格的區域檢測以及合併單元格的識別,也支援表頭的識別,這樣可以做到整個表格的功能分析,進而可以支援下一步的表格結構化。
目前基於 ERNIE-Layout 的跨模態文件佈局理解和表格理解技術方案在 PubTables1M、PubLayNet 以及 DocLayNetd 等多個資料集上都達到了 SOTA 效果,並且體現出了明顯的效果優勢。
05
PaddleNLP 文件智慧技術開源與應用案例
下面介紹一下基於 PaddleNLP 如何實現文件智慧技術的開源接入,以及在一些具體行業上的應用案例。
1. PaddleNLP 文件智慧開源功能快速接入

百度文件智慧技術與應用

首先介紹一下文件智慧在 PaddleNLP 中的開源情況,目前是開放了 DocPrompt 的模型使用,大家既可以透過 Huggingface 上的空間來進行試用,也可以透過 PaddleNLP 中的 TaskFlow 將模型拉到本地進行使用。同時 PaddleNLP 也是完全開源了 ERNIE-Layout 底座模型和相關程式碼,可以在 Github 上搜尋 PaddleNLP,在倉庫中獲取。
本次開放的 ERNIE-Layout 模型是多語言版本,目前支援 96 種語言,已經落地中文、英文和日文的業務場景;模型效果上,目前在下游任務的平均效果優於同級別的 LayoutLM Base 模型;同步開源的還有 NER,CLS,MRC 基準任務的訓練除錯程式碼。

2. 應用案例介紹

接下來介紹幾個實際應用場景的案例。

百度文件智慧技術與應用

第一個案例是智慧報關係統,該系統基於通用的文件表格抽取模型以及少量的資料定製,最終可以實現報關文件 30 多個欄位或者屬性的秒級別抽取,可以大幅度提升傳統報關單場景的單據錄入效率。

百度文件智慧技術與應用

第二個案例是通用合同對比,主要是基於文件佈局解析以及通用合同抽取模型來實現不同粒度的佈局型別之間的內容對比,比如字元的比對、段落的比對和表格的比對,也可以基於抽取結果來指定比對的欄位,比如比對兩份合同中的甲方名稱是否一致。

百度文件智慧技術與應用

第三個案例是通用合同審查場景,也是基於通用合同文件抽取模型的抽取結果,結合相關的業務知識來實現一致性、完備性或者是合規性等業務邏輯審查。比如可以比較合同中的大寫金額和小寫金額是否一致、某些條款是否缺失、某某條款是否符合業務規範等。
上面三個案例的應用都可以透過百度雲搜尋等應用平臺來申請體驗。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024924/viewspace-2937596/,如需轉載,請註明出處,否則將追究法律責任。

相關文章