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