恭喜四川醫樞科技有限責任公司鄧川獲國家專利權
買專利賣專利找龍圖騰,真高效! 查專利查商標用IPTOP,全免費!專利年費監控用IP管家,真方便!
龍圖騰網恭喜四川醫樞科技有限責任公司申請的專利一種PDF內容提取方法、裝置及設備獲國家發明授權專利權,本發明授權專利權由國家知識產權局授予,授權公告號為:CN113807158B 。
龍圖騰網通過國家知識產權局官網在2025-05-06發布的發明授權授權公告中獲悉:該發明授權的專利申請號/專利號為:202011406023.4,技術領域涉及:G06V30/416;該發明授權一種PDF內容提取方法、裝置及設備是由鄧川;閭磊;黃甫毅;高陽;郄蓓蓓;陶鑫鑫設計研發完成,并于2020-12-04向國家知識產權局提交的專利申請。
本一種PDF內容提取方法、裝置及設備在說明書摘要公布了:本發明公開了一種PDF內容提取方法,通過接收待處理PDF文件;根據所述待處理PDF文件確定PDF正文信息;根據所述PDF正文信息得到PDF內容提取信息。本發明通過對所述待處理PDF文件進行預處理,去除了PDF文件的頁眉、頁腳及頁碼等位于PDF文件邊緣的格式信息,僅留下所述PDF正文信息,用于后續識別,相比與現有技術,縮小了后續程序要識別的圖像大小,同時排除了起輔助閱讀,但卻不承載內容信息的頁面邊緣元素,僅留下與內容相關的PDF正文信息,大大提升了后續程序對內容的識別和提取效率,提升了后需內容識別的準確率。本發明同時還提供了一種具有上述有益效果的PDF內容提取裝置、設備及計算機可讀存儲介質。
本發明授權一種PDF內容提取方法、裝置及設備在權利要求書中公布了:1.一種PDF內容提取方法,其特征在于,包括:S101:接收待處理PDF文件;S102:根據所述待處理PDF文件確定PDF正文信息;其中,通過所述待處理PDF文件確定所述PDF正文信息,可通過機器學習的方法實現,通過LSTM結構或CNN神經網絡訓練,實現通過對同一PDF文檔中的幾頁樣品頁的學習,尋找樣品頁之間的共性,進而實現自動排除頁眉、頁腳及頁碼信息,只留下PDF正文信息;或者,也可根據預設規則直接對PDF頁面進行裁剪,將PDF頁面上下兩端的預設長度的圖像裁去,將剩余的圖像作為所述PDF正文信息;S103:根據所述PDF正文信息得到PDF內容提取信息;所述PDF正文信息包括正文文本、表格、標題、注釋、圖像信息,分別對其進行定位分類,并根據分類結果對其進行結構化;使用深度學習算法對PDF的頁面布局進行版面分析,即對正文文本、標題、注釋、表格、圖像信息進行定位分類,根據分類結果對標題、正文文本區域進行文字提取并結構化;根據表格區域的位置,提取表格的元數據對表格進行結構化;PDF頁面布局的深度學習模型使用yolov4的模型架構;為了讓模型適用于PDF文檔,添加一個預處理模塊,它通過卷積網絡生成目標頁面的特征圖,通過一個LSTM的結構提取PDF的頁面布局風格,這里的布局特點也是用一個特征圖進行表示,然后將兩個特征圖融合,送入yolov4進行計算,得到頁面內容的位置及其類別;基于頁面的位置信息就能夠進行截圖,使用OCR相關的深度學習模型進行文字提取;最后根據類別信息進行文本的格式化和表格的格式化;還包括:S201:接收待處理PDF文件;該待處理PDF文,為每一頁都轉換為圖片的PDF文件,其中,同一PDF生成的圖片文件可存儲在同一路徑下;所述圖片可經PDFBOX、PYMUPDF開源架構獲得;S202:根據所述待處理PDF文件獲取樣品頁面信息;所述樣品頁面信息為用于提取頁面信息特征的頁面圖片文件,由于同一PDF文件的頁眉、頁腳非正文內容大致相同,不需要過多頁數就能提取到相應的頁面信息特征,因此所述樣品頁面信息為3~4頁PDF頁面圖片的信息,為了方便,都為從首頁開始的向后采樣,即待處理PDF文件的前N頁,N為大于零的正整數,當后續頁面不足時能夠向前采樣;若都不滿足,即整個PDF文檔都沒有N頁時,采取盡可能多地獲取頁面,不足的位置用token或page1替代;token為同page1一樣大小的圖片對象,其讀入的張量元數據為0;S203:根據所述樣品頁面信息,利用機器學習模型獲得頁面信息特征圖;所述機器學習模型包括計算機深度學習模型或知識引擎計算機技術,其中,可利用所述計算機深度學習模型的卷積神經網絡通過所述樣品頁面信息獲得所述頁面信息特征圖;S204:通過所述待處理PDF文件及所述頁面信息特征圖確定所述PDF正文信息;將所述待處理PDF文件的每一頁的圖片文件依次與上述頁面信息特征圖相乘,得到page_attention_feature_map;page_attention_feature_map的主要作用是將讀入的頁面原始特征圖降維、利用同一PDF的頁面布局相關性生成了頁面的區域注意力特征圖,通過判斷注意力分布,確定所述PDF正文信息;S205:根據所述PDF正文信息得到PDF內容提取信息;從所述PDF正文信息提取所述PDF內容提取信息的方法,能夠采用預訓練的頁面布局模型,其模型為yolov4模型;還包括:S301:接收待處理PDF文件;S302:根據所述待處理PDF文件獲取樣品頁面信息;S303:根據所述樣品頁面信息,利用機器學習模型獲得頁面信息特征圖;S304:通過所述待處理PDF文件及所述頁面信息特征圖確定所述PDF正文信息;S305:利用所述PDF正文信息,通過預訓練的頁面布局模型得到待識別區塊信息及與所述待識別區塊信息對應的類別信息;所述類別信息可看做對所述待識別區塊信息的標注,將所述待識別區塊信息分類為正文文本區塊、圖像區塊或表格區塊;S306:利用所述待識別區塊,通過對應的類別信息對應的識別方法,得到所述PDF內容提取信息;在模型訓練過程中,數據是不平衡的,而當前任務關注的重點是那些數據量小的類型;為了讓模型能更好地學習到這些區域的特征,在損失函數中加入一個影響因子,增大這些類別的學習能力;此模型的損失函數主要分為三部分:邊框的損失、分類的損失、置信度的損失;Yolov4的邊框損失是使用的CIoU損失,這部分不需要做任何修改;置信度損失,也不需要更改,因為在置信度方面都是置信度越高越好,沒有類別之間的差別;要修改的就是分類造成的類別損失;修改后的類別損失函數: ;其中為Φc類別的影響因子; ;是屬于類別c的交叉熵損失,乘以一個影響因子就是為了區分不同類別的重要度;還包括:S401:接收待處理PDF文件;S402:根據所述待處理PDF文件獲取樣品頁面信息;S403:根據所述樣品頁面信息,利用機器學習模型獲得頁面信息特征圖;S404:通過所述待處理PDF文件及所述頁面信息特征圖確定所述PDF正文信息;S405:利用所述PDF正文信息,通過預訓練的頁面布局模型得到待識別區塊信息及與待識別區塊信息對應的類別信息;S406:當所述類別信息為文字塊類信息時,獲取所述待識別區塊的段落開始信息及段落結束信息;使用預訓練好的OCR深度學習模型進行文字識別和區域定位,得到類別信息為正文文本的待識別區塊;進一步地,將數據整理為json類型數據方便存貯和調用;所述段落開始信息及所述段落結束信息,為匹配文字塊的開頭與結尾,根據規則判斷當前文字塊是否是段落開始、段落結束,所述規則可為依據開頭是否有首行縮進,最后是否換行規則判斷;S407:根據所述段落開始信息、所述段落結束信息及預設的書寫順序信息,確定所述PDF內容提取信息;所述書寫順序信息即為反應文字閱讀順序的信息,自上而下、從左到右的順序,程序根據預設的書寫順序將多個文字塊類信息按其在PDF頁面上的位置分布排序,生成正文內容;所述根據所述段落開始信息、所述段落結束信息及預設的書寫順序信息,確定所述PDF內容提取信息包括:獲取文字分割線信息;根據所述段落開始信息、所述段落結束信息、所述文字分割線信息及預設的書寫順序信息,確定所述PDF內容提取信息;若存在縱向有文檔區域分割的情況,那么通過識別分割、前后文字塊的縱向距離特征就能夠實現橫向跳躍;程序是循環執行不同的文字塊匹配工作的,為了讓程序能夠自適應換列,在規則中添加了一個deadline,若有縱向分割,則將deadline設置為分割的縱向中心線,匹配的下一個文字塊必須是deadline之上的;若deadline之上的文字塊已經取完則重置deadline=0,一直匹配到當前頁面所有目標類型的文字塊連接完成,即所有文字塊都被匹配了;經過上述步驟,PDF文檔的每一頁都是滿足閱讀順序的,當然,正文文本被橫向分隔的文檔也同樣適用,在檢測到文字分割線后,結合各個待識別區塊信息的位置、開始信息、結束信息,確定所述待識別區塊內文本的排列順序,存在橫向分割線將一頁內的正文文本分為左右兩部分,則可依據先將左側文本塊按從上到下的順序提取,再將右側的文本塊按從上到下的順序提取;使用OCR識別文字這個task也能夠放到所述頁面布局模型中的head部分,讓模型進行區域定位、區域分類的同時進行文字提取;使用多個task的模型更有利于提高模型的性能,而我們需要做的只是加一個文字識別分支和添加文字識別的損失函數;還包括:S501:接收待處理PDF文件;S502:根據所述待處理PDF文件獲取樣品頁面信息;S503:根據所述樣品頁面信息,利用機器學習模型獲得頁面信息特征圖;S504:通過所述待處理PDF文件及所述頁面信息特征圖確定所述PDF正文信息;S505:利用所述PDF正文信息,通過預訓練的頁面布局模型得到待識別區塊信息及與所述待識別區塊信息對應的類別信息;S506:當所述類別信息為表格類信息時,獲取表格數據塊坐標信息;S507:根據所述表格數據塊信息確定單列橫坐標信息;利用所述表格數據塊信息,通過特征數為1的均值漂移算法,確定所述單列橫坐標信息,其具體操作方法如下:基于聚類算法確定表格的列數;參與聚類的數據為:表格區域的文字塊橫坐標起點;或者表格區域的文字塊橫坐標中點;聚類算法主要是根據數據的聚集性進行分類,關于兩組數據的選擇能夠根據如下的規則進行選擇:若有大量的文字塊左邊界對齊,則使用橫坐標起點數據集進行聚類;若有大量文字塊橫坐標中點對齊,則使用對應的數據集進行聚類;上文中的“大量”能夠根據對齊的比例閾值進行判定,對齊比例閾值不需要設置的很高,表格數據的列分割明確,使用聚類算法能夠將一列數據聚攏,任務本身難度不大;能知道有幾列,使用K-means算法,但是對于一個非指定的PDF表格類型,模型必須自適應尋找表格的列數;根據均值漂移算法的思想提出一種在特征數為1的均值漂移算法Mean-models-shift1;均值漂移聚類算法主要是針對多維空間中的樣本進行聚類,主要的參數有均值漂移的滑動窗口半徑r,這個參數在算法中是輔助尋找均值中心的參數,實際運算中半徑的設置并不會對算法結果產生較大影響;在一維特征的情況下,更改相關參數及規則得到Mean-models-shift1算法,包括:1確定一個一維窗口半徑r,在樣本分布的區間內隨機生成最多lenx2個中心點;2對每個中心點生成一個半徑為r的滑動窗口開始滑動;每次滑倒一個新的區域,計算滑動窗口內的均值或眾數作為新的中心點,并更新為當前滑窗的中心;滑窗內的樣本數記為滑窗內的樣本密度,則算法總是會將滑窗的中心向密度高的點移動;3當多個窗口重疊時,則保留高密度的滑動窗口;4對窗口進行更新迭代,直到窗口的密度不再發生變化;其中,x為聚類對象,其特征數為1,lenx即為樣本量,最后輸出對象為聚類后的類別中心;另外,若使用眾數models作為新的窗口,則輸入的x需要進行預處理,即設置一個閾值,將相近的點進行同一化處理;使用聚類算法求出表格列的標識點,根據聚類結果進行分列,行的區分主要是基于表格行數據是水平對齊的,先對數據按縱坐標進行排序,然后基于規則進行行劃分;根據中心點從原始數據中獲取當前列的數據塊,觀察是否存在同一行的數據塊,若沒有就保持當前的列劃分,若同一行存在多個數據塊的出現次數大于設定的閾值時就拆分此列,閾值與表格數據的列數相關;S508:根據所述表格數據塊坐標信息及所述單列橫坐標信息獲得單行縱坐標信息;具體地,根據數據塊的上邊界縱坐標、下邊界縱坐標,使用一個軟邊界誤差即可判定當前數據是否為同一行,所述軟邊界指允許存在一定邊界對齊的誤差范圍,不要求完全對齊;其中,所述上邊界縱坐標及所述下邊界縱坐標為從所述表格數據塊的最上端及最下端分別向上、向下延伸預設距離確定的縱坐標;表格中存在跨行數據塊,若某個數據塊與當前行沒有對齊,但是其上邊界大于當前行的下邊界,其下邊界小于下一行的上邊界,即處理兩行之間的數據塊,標注其為跨行數據塊,并標注關聯的行的行號信息;可在獲得所述單行縱坐標信息后,根據中心點從原始數據中獲取當前列的數據塊,觀察是否存在同一行的數據塊,若沒有就保持當前的列劃分,若同一行存在多個數據塊的出現次數大于設定的閾值時就拆分此列,其中,閾值與表格數據的列數相關;S509:根據所述表格數據塊坐標信息、所述單列橫坐標信息及所述單行縱坐標信息,確定所述PDF內容提取信息;現在的PDF文檔排版比較復雜,沒有較固定的格式,表格對象在很多學科領域內都在使用三線表,對于無邊框表格,目前的表格提取方法都存在很大的問題,主要表現為數據單元劃分不準確、列區分很差,識別結果將列合并的情況大概率發;本方法基于橫坐標的聚類算法實際上是將數據進行了降維,消除了縱坐標的影響,因為分列主要是橫坐標,縱坐標沒有影響,所以此操作并沒有損失分列任務的信息量,通過橫坐標聚類算法得到的表格的列信息更加精準,同時提高了處理效率,此外,由于本方法中不再尋找標定的表格邊框,而是直接根據所述表格數據塊信息的坐標確定單元格的“軟邊框”,得到的表格排版與單元格之間的位置關系也更準確。
如需購買、轉讓、實施、許可或投資類似專利技術,可聯系本專利的申請人或專利權人四川醫樞科技有限責任公司,其通訊地址為:610000 四川省成都市武侯區南三環路五段69號1棟3單元5樓1號、2號;或者聯系龍圖騰網官方客服,聯系龍圖騰網可撥打電話0551-65771310或微信搜索“龍圖騰網”。
1、本報告根據公開、合法渠道獲得相關數據和信息,力求客觀、公正,但并不保證數據的最終完整性和準確性。
2、報告中的分析和結論僅反映本公司于發布本報告當日的職業理解,僅供參考使用,不能作為本公司承擔任何法律責任的依據或者憑證。