主要包括以下五個部分的內容:
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 多個字段或者屬性的秒級別抽取,可以大幅度提升傳統報關單場景的單據錄入效率。
第二個案例是通用合同對比,主要是基于文檔布局解析以及通用合同抽取模型來實現不同粒度的布局類型之間的內容對比,比如字符的比對、段落的比對和表格的比對,也可以基于抽取結果來指定比對的字段,比如比對兩份合同中的甲方名稱是否一致。
第三個案例是通用合同審查場景,也是基于通用合同文檔抽取模型的抽取結果,結合相關的業務知識來實現一致性、完備性或者是合規性等業務邏輯審查。比如可以比較合同中的大寫金額和小寫金額是否一致、某些條款是否缺失、某某條款是否符合業務規范等。
上面三個案例的應用都可以通過百度云搜索等應用平臺來申請體驗。
以上就是今天所有的分享內容,謝謝大家。
|分享嘉賓|
|《數據智能知識地圖》下載|
上下滑動????,查看《數據智能知識地圖》預訓練模塊,完整版請關注公眾號“大話數智”下載
|DataFun新媒體矩陣|
|關于DataFun|
專注于大數據、人工智能技術應用的分享與交流。發起于2017年,在北京、上海、深圳、杭州等城市舉辦超過100+線下和100+線上沙龍、論壇及峰會,已邀請超過2000位專家和學者參與分享。其公眾號 DataFunTalk 累計生產原創文章900+,百萬+閱讀,16萬+精準粉絲。