網(wǎng)頁源代碼提取數(shù)據(jù)庫(如何獲取網(wǎng)頁源代碼)
向AI轉(zhuǎn)型的程序員都關(guān)注了這個號??????
最近有很多多模網(wǎng)絡用于處理視覺信息豐富的文檔理解(VRDU)。同時用視覺,布局信息和文本embedding。
但是大部分方法在序列中融合位置編碼,忽略了通過OCR工具可能產(chǎn)生的不正確閱讀順序。
文章提出XYLayoutLM, 通過Augmented XY Cut的方法來或者正確的閱讀順序。
同時文章使用了Dilated Conditional Position Encoding模塊去處理不同長度的序列。
介紹
LayoutLMv2的2個局限性:
1)需要依靠OCR產(chǎn)生的tokens和bbox,沒有去探索閱讀順序帶來的影響。閱讀順序?qū)τ诜g等問題是很關(guān)鍵的。通常的做法是用位置編碼來表示輸入順序。作者發(fā)現(xiàn),即使用了位置編碼,還是有可能出現(xiàn)順序不對的情況。
從上圖來看,這個30對應的是27,28對應31,29對應33,這個順序是不對的。
2)通常使用固定長度的相對或者絕對位置編碼。帶來的問題是:不能處理比固定長度長的序列。有使用雙線性插值的辦法用于位置編碼,但是效果不是很好。最近,Conditional Position Encoding(CPE)用于變長的圖像分類任務。通過改變輸入token到2D的特征,用卷積動態(tài)提取局部輸入信息。CPE的設計是用于視覺token,不能直接用于1D的文本token。
本文基于LayoutLMv2提出了XYLayoutLM。就是為了解決上面的2局限性。
解決順序問題
展開全文
傳統(tǒng)的通過從上到下,從左到右的順序重排列還是不對。用2種簡單的規(guī)則:
1)先對Y軸降序排序,再對X軸降序排序。
2)通過Y+X的降序排列。
都不對,從上面的看。最后用XY Cut獲得了正確的排序。
解決輸入序列變長問題
Dilated Conditional Position Encoding(DCPE)來生成位置編碼。
方法 整體概覽
整個模型架構(gòu)如上圖所示。
有圖像,文字和文本位置信息作為輸入。
視覺信號通過ResNeXt-101提取。通過展開后,和文本信息融合。
2個獨立的位置編碼,分別是位置編碼和bbox編碼。
和LayoutXLM的不同就是上面寫的順序和位置編碼。
LayoutXLM的概覽
LayoutXLM有3個輸入:文本,圖像和布局(位置信息)。
每個輸入都通過一個固定長度的MLP層轉(zhuǎn)換成embedding序列。
文本和圖像,布局的編碼都一起成為了輸入編碼。
輸入編碼通過transformer(伴有空間自注意力機制)。
最后,視覺和文本信息通過transformer輸出用于文本理解任務。
簡單來講:text, visual, layout embedding - transformer - output(用來做各種task)
正確的閱讀順序
從直覺來講,怎么讓token box對其和如何垂直水平分割區(qū)域。
所以通過,token box的投影來分割,決定閱讀順序。先介紹投影方法然后介紹Augmented XY Cut算法。
通過投影獲得直方圖
一個框有4個點信息【xmin, ymin, xmax, ymax】。加入OCR提取了K個框。
通過去產(chǎn)生對應的水平和垂直的直方圖。對K個直方圖求和。
通過直方圖的局部最小值來獲得應該分開的點(這個很CV的思路)
Augmented XY Cut Algorithm
偽代碼
創(chuàng)建一個xy的樹,去記錄閱讀順序??蜃顬檩斎耄惴〞敵鰧喿x順序的索引。
我們提出一個數(shù)據(jù)增強的策略,有個3個參數(shù),x, y, theta.
x,y是決定我在這個框是不是要在x軸或者y軸上移動。
如果要移動,會移動theta * x/y個像素。
從一個(-1, 1)的正態(tài)分布上隨機聲從2個值,如果隨機值大于x, y 就會移動。
作者設定的參數(shù)為0.5, 0.5, theta=5。(感覺就是為了防止直方圖算出來的局部最小不準確)
Dilated Conditional Position Encoding
CPE會先將展平的序列X投影到2D的視覺空間X'。軸卷積層用到X'上產(chǎn)生位置編碼E。
最后,位置編碼E會展開,加入到token embedding中作為transformer的輸入。
但是直接使用CPE會帶來性能下降。原因是:
1)不正確的閱讀順序。(通過XY cut解決)
2)有1D的文本token, 不能很好的變到2D空間。
提出Dilated Conditional Position Encoding(DCPE)來解決第二個問題。
用1D的卷積來處理文本的embeding。
需要更大的感受野,比如句子”他是一個非常帥的男生“。他和男生是強相關(guān)的。
但是使用3的卷積核是不行的,所以采用了空洞卷積增加感受野。
實驗
證明XYLayoutLM是很好的。
證明這個超參數(shù)0.5, 0.5, 5也是最好的。
消融實驗,證明每一步的有效性。
可視化注意力
可以發(fā)現(xiàn)XYlayoutLM對比layoutLM更有大的attn權(quán)重
Augmented XY Cut的有效性,
代碼
https://github.com/Sanster/xy-cut
模型性能對比
原文地址
機器學習算法AI大數(shù)據(jù)技術(shù)
搜索公眾號添加: datanlp
閱讀過本文的人還看了以下文章:
TensorFlow 2.0深度學習案例實戰(zhàn)
基于40萬表格數(shù)據(jù)集TableBank,用MaskRCNN做表格檢測
《基于深度學習的自然語言處理》中/英PDF
Deep Learning 中文版初版-周志華團隊
【全套視頻課】最全的目標檢測算法系列講解,通俗易懂!
《美團機器學習實踐》_美團算法團隊.pdf
《深度學習入門:基于Python的理論與實現(xiàn)》高清中文PDF+源碼
《深度學習:基于Keras的Python實踐》PDF和代碼
特征提取與圖像處理(第二版).pdf
python就業(yè)班學習視頻,從入門到實戰(zhàn)項目
2019最新《PyTorch自然語言處理》英、中文版PDF+源碼
《21個項目玩轉(zhuǎn)深度學習:基于TensorFlow的實踐詳解》完整版PDF+附書代碼
《深度學習之pytorch》pdf+附書源碼
PyTorch深度學習快速實戰(zhàn)入門《pytorch-handbook》
【下載】豆瓣評分8.1,《機器學習實戰(zhàn):基于Scikit-Learn和TensorFlow》
《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》PDF+完整源碼
汽車行業(yè)完整知識圖譜項目實戰(zhàn)視頻(全23課)
李沐大神開源《動手學深度學習》,加州伯克利深度學習(2019春)教材
筆記、代碼清晰易懂!李航《統(tǒng)計學習方法》最新資源全套!
《神經(jīng)網(wǎng)絡與深度學習》最新2018版中英PDF+源碼
將機器學習模型部署為REST API
yolo3 檢測出圖像中的不規(guī)則漢字
同樣是機器學習算法工程師,你的面試為什么過不了?
前海征信大數(shù)據(jù)算法:風險概率預測
【Keras】完整實現(xiàn)‘交通標志’分類、‘票據(jù)’分類兩個項目,讓你掌握深度學習圖像分類
特征工程(一)
特征工程(二) :文本數(shù)據(jù)的展開、過濾和分塊
特征工程(三):特征縮放,從詞袋到 TF-IDF
特征工程(四): 類別特征
特征工程(五): PCA 降維
特征工程(六): 非線性特征提取和模型堆疊
特征工程(七):圖像特征提取和深度學習
如何利用全新的決策樹集成級聯(lián)結(jié)構(gòu)gcForest做特征工程并打分?
Machine Learning Yearning 中文翻譯稿
螞蟻金服2018秋招-算法工程師(共四面)通過
全球AI挑戰(zhàn)-場景分類的比賽源碼(多模型融合)
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
中科院Kaggle全球文本匹配競賽華人第1名團隊-深度學習與特征工程
不斷更新資源
深度學習、機器學習、數(shù)據(jù)分析、python
搜索公眾號添加: datayx
掃描二維碼推送至手機訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。