CN120104577B 一種pdf文件表格解析方法 (廣州紫為云科技有限公司)_第1頁(yè)
CN120104577B 一種pdf文件表格解析方法 (廣州紫為云科技有限公司)_第2頁(yè)
CN120104577B 一種pdf文件表格解析方法 (廣州紫為云科技有限公司)_第3頁(yè)
CN120104577B 一種pdf文件表格解析方法 (廣州紫為云科技有限公司)_第4頁(yè)
CN120104577B 一種pdf文件表格解析方法 (廣州紫為云科技有限公司)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

(19)國(guó)家知識(shí)產(chǎn)權(quán)局(12)發(fā)明專利(10)授權(quán)公告號(hào)CN120104577B(65)同一申請(qǐng)的已公布的文獻(xiàn)號(hào)(73)專利權(quán)人廣州紫為云科技有限公司地址510700廣東省廣州市黃埔區(qū)香雪八路98號(hào)F棟20層2001-1房(72)發(fā)明人李建明楊開(kāi)漠李創(chuàng)成GO6V30/148(2022.01)US2009125802A1,2009.審查員鄧麗婉(74)專利代理機(jī)構(gòu)廣州浩泰知識(shí)產(chǎn)權(quán)代理有限公司44476專利代理師舒劍暉一種PDF文件表格解析方法本發(fā)明涉及一種PDF文件表格解析方法,包解析的PDF文檔頁(yè)面轉(zhuǎn)化為圖片格式;表格區(qū)域檢測(cè)步驟:將轉(zhuǎn)化后的圖片輸入到一個(gè)預(yù)先訓(xùn)練的表格識(shí)別OCR模型中,該模型能夠識(shí)別圖片中的表格區(qū)域框范圍;表格區(qū)域裁剪步驟:根據(jù)模型提供的表格位置坐標(biāo)P,對(duì)原始圖片進(jìn)行裁剪,僅保留表格區(qū)域框部分的圖片。圖片至HTML格式轉(zhuǎn)化步驟:采用預(yù)先訓(xùn)練的OCR模型識(shí)別表格圖片中的表格空間結(jié)構(gòu)和所包含的單元格文本信息及結(jié)構(gòu)特征,然后基于提取的表格空間結(jié)構(gòu)和單元格文本信息及結(jié)構(gòu)特征,將其從圖片格式轉(zhuǎn)換為結(jié)構(gòu)化的表格數(shù)據(jù),并進(jìn)一步轉(zhuǎn)化為HTML格式的表格。本發(fā)明能夠提高從C.對(duì)html格式的嵌套表格中的跨單元格進(jìn)行D.利用預(yù)先訓(xùn)練的命名實(shí)體識(shí)別模型,識(shí)別單元格所屬對(duì),并轉(zhuǎn)化為Json格式保存2型能夠識(shí)別圖片中的表格區(qū)域框范圍,并輸出表格區(qū)域框在圖片中的坐標(biāo)P={P{xy?s],Pzx?,y?s?)-P{x表格區(qū)域裁剪步驟:根據(jù)模型提供的表格位置坐標(biāo)P,對(duì)原始圖片進(jìn)行裁剪,僅保留表單元格所屬鍵值類型識(shí)別步驟:利用預(yù)先訓(xùn)練的命名實(shí)的td單元格文本拼接成單元格文本序列TD?=[td;o.td;1,-td;c,其中c為第i個(gè)tr標(biāo)簽中2.根據(jù)權(quán)利要求1所述的PDF文件表格解析方法,其特征在于:在所述HTML格式的嵌套3表格中跨單元格轉(zhuǎn)化步驟中:遍歷table標(biāo)簽中的tr標(biāo)簽,逐個(gè)讀取其中包含td標(biāo)簽的單元格,判斷該單元格中是否包含rowspan屬性或colspan屬性:若所有單元格td均不包含rowspan屬性或colspan屬性,則直接讀取td單元格對(duì)應(yīng)信息,并將單元格數(shù)據(jù)標(biāo)記為td;otd;1,-tdic,其中c為td單元格數(shù)量;若單元格td;;包含colspan屬性,則獲取colspan屬性值n和td單元格對(duì)應(yīng)信息,并將單元格數(shù)據(jù)標(biāo)記為,其中c為td單元格數(shù)量;對(duì)于i<k<i+n-1,有[tdko,tdk,1·…,tdkj-1,td;j,tdkj+1…,tdk3.根據(jù)權(quán)利要求1所述的PDF文件表格解析方法,其特征在于,在所述保存步驟中,具體通過(guò)識(shí)別表格中單元格所屬鍵值類型,逐行遍歷每行單元格類型:若單元格鍵值序列TD?=[td;otd;,-td;d中所有單元格類型都為key,則將此行所有單元格進(jìn)行緩存;上級(jí)鍵,td,作為tdi-1的下級(jí)節(jié)點(diǎn)的鍵,并將格式轉(zhuǎn)化為(tdi-1,j,td,j);若單元格鍵值序列TD?=[td;otd;,-td;d中單元格中只有第一個(gè)td;o為key,其它tdij,j=1,-c為val,而且TD?=[td1,0.td?1,1所對(duì)應(yīng)的值。4一種PDF文件表格解析方法技術(shù)領(lǐng)域[0001]本發(fā)明涉及PDF文件處理技術(shù)領(lǐng)域,具體涉及一種PDF文件表格解析方法。背景技術(shù)[0002]PDF(PortableDocumentFormat,便攜式文檔格式)是一種由AdobeSystems公司在1993年開(kāi)發(fā)并廣泛采用的文件格式。PDF的設(shè)計(jì)初衷是為了實(shí)現(xiàn)文檔的跨平臺(tái)一致性展示,即無(wú)論在何種硬件配置或軟件環(huán)境下,都能保證文檔的顯示效果與原始創(chuàng)作時(shí)的意圖相匹配。這種格式通過(guò)將文本、字體、圖像以及文檔布局等信息封裝在一個(gè)單一的文件中,確保了文檔的完整性和一致性,使其成為電子文檔交換的理想選擇。[0003]然而,PDF文件的這一特性也帶來(lái)了一些挑戰(zhàn),尤其是在處理嵌套表格時(shí)。嵌套表格是指在一個(gè)表格的單元格內(nèi)包含另一個(gè)或多個(gè)表格的復(fù)雜布局。由于PDF文件的設(shè)計(jì)初衷是為了展示文檔的視覺(jué)表現(xiàn),而非存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù),因此PDF文件在保存時(shí)并不總是保留文檔的原始結(jié)構(gòu)信息。這一點(diǎn)與辦公軟件(如MicrosoftWord或Excel)形成鮮明對(duì)比,后者能夠存儲(chǔ)并保留文檔的原始結(jié)構(gòu)信息,使得從這些文件中提取結(jié)構(gòu)化數(shù)據(jù)變得更加直接和[0004]在解析PDF文件中的嵌套表格時(shí),面臨的問(wèn)題變得更加復(fù)雜。目前,存在多種方法和技術(shù)用于解析PDF中的嵌套表格。在Python編程語(yǔ)言中,有幾個(gè)流行的庫(kù)可以輔助完成這項(xiàng)任務(wù),包括PyPDF2、pdfminer.six和pdfplumber等。這些庫(kù)提供了解基本功能,但在處理嵌套表格這種復(fù)雜布局時(shí),它們的性能并不理想。特別是當(dāng)PDF文件是由紙質(zhì)文檔掃描得到的圖像文件時(shí),這些庫(kù)在識(shí)別表格結(jié)構(gòu)時(shí)可能會(huì)出現(xiàn)遺漏,導(dǎo)致無(wú)法準(zhǔn)確提取表格內(nèi)容。[0005]為了解決這一問(wèn)題,0CR(OpticalCharacterRecognition,光學(xué)字符識(shí)別)技術(shù)被引入到PDF表格解析中。OCR技術(shù)能夠從圖像中提取文字信息和架構(gòu)信息,這對(duì)于掃描或圖像形式的PDF文件尤為重要。然而,OCR技術(shù)在將非結(jié)構(gòu)化的表格數(shù)據(jù)解析并轉(zhuǎn)化為結(jié)構(gòu)化表格數(shù)據(jù)時(shí)面臨諸多挑戰(zhàn)。雖然OCR能夠識(shí)別出文字信息,但是在對(duì)非結(jié)構(gòu)化表格數(shù)據(jù)進(jìn)行解析并轉(zhuǎn)化成結(jié)構(gòu)化表格數(shù)據(jù)上難度較高,準(zhǔn)確率低,同時(shí),很難根據(jù)文字信息和架構(gòu)信息推算出單元格間的關(guān)系和數(shù)據(jù)還原。發(fā)明內(nèi)容[0006]本發(fā)明的目的是提供一種PDF文件表格解析方法,其能夠提高從PDF文件中提取表格信息的準(zhǔn)確性和效率。[0009]PDF文檔至圖片格式轉(zhuǎn)化步驟:將待解析的PDF文檔頁(yè)面轉(zhuǎn)化為圖片格式;[0010]表格區(qū)域檢測(cè)步驟:將轉(zhuǎn)化后的圖片輸入到一個(gè)預(yù)先訓(xùn)練的表格識(shí)別OCR模型中,該模型能夠識(shí)別圖片中的表格區(qū)域框范圍,并輸出表格區(qū)域框在圖片中的坐標(biāo)5將單元格數(shù)據(jù)標(biāo)記為[td;o,td;,-td;jtdij+1]-,td;j+m-[tdk.otdk,1y-,tdk;j?,td;jtdkj+1-,tdkcd;包含的td單元格文本拼接成單元格文本序列TD?=[td;o,td;,-td;c,其中c為第i個(gè)tr標(biāo)[0024]獲取實(shí)體片段的start向量表征和end向量表征:將序列表征H分別輸入到單元6同的單元格所屬鍵值類型識(shí)別的start向量表征和end向量表征,[0028]因此,對(duì)于單元格文本序列TD,單元格所屬鍵值類型α的置信度序列為:[0031]計(jì)算單元格所屬鍵值類型α的置信度:對(duì)于單元格文本序列TD中td;j,屬于單元格所屬鍵值類型α的置信度為:[0034]通過(guò)識(shí)別表格中單元格所屬鍵值類型,逐行遍歷每行單元格類型:[0035]若單元格鍵值序列中所有單元格類型都為key,則將此行所有單元格進(jìn)行緩存;[0038]若單元格鍵值序列TD?=[td;o,td;1,-td;c中單元格中只有第一個(gè)為td;o為key,其其所對(duì)應(yīng)的值。[0040]本發(fā)明提供了一種創(chuàng)新的解決方案,該發(fā)明首先將PDF文件轉(zhuǎn)化為圖片格式,然后利用預(yù)先訓(xùn)練的OCR模型提取轉(zhuǎn)化后的圖片中表格信息,并將提取后的表格信息轉(zhuǎn)化為HTML格式,接下去利用命名實(shí)體識(shí)別技術(shù)識(shí)別表格里面每一行的各個(gè)單元格所屬類型;最后通過(guò)結(jié)合每一行中各個(gè)單元格的相對(duì)位置和所屬類型,將對(duì)應(yīng)單元格進(jìn)行兩兩配對(duì)以形成完整的鍵值對(duì),并轉(zhuǎn)化為Json[0041]對(duì)于PDF文件為掃描文件或者圖片形式的表格,本發(fā)明能夠利用OCR模型獲取其表格中結(jié)構(gòu)信息和文本內(nèi)容,對(duì)于嵌套表格這種復(fù)雜表格布局,本發(fā)明通過(guò)利用命名實(shí)體識(shí)別技術(shù)區(qū)分每一行中各單元格中文本對(duì)應(yīng)類型,并結(jié)合該單元格相對(duì)位置和識(shí)別屬性有效還原表格信息,提高了表格解析的準(zhǔn)確性。附圖說(shuō)明[0042]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0043]圖1為本發(fā)明的流程框圖;7[0045]圖3為圖2所示表格例子的轉(zhuǎn)化過(guò)程;[0046]圖4為鍵值表;[0047]圖5為圖2所示表格例子的完整轉(zhuǎn)化過(guò)程。具體實(shí)施方式[0048]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部[0049]見(jiàn)圖1至圖5,一種PDF文件表格解析方法,包括以下步驟:[0050]PDF文檔至圖片格式轉(zhuǎn)化步驟:使用Python編程語(yǔ)言中的pdf2image庫(kù)將待解析的PDF文檔頁(yè)面轉(zhuǎn)化為圖片格式,如PNG或JPEG。這一步驟將PDF頁(yè)面中的文本、圖像和表格等視覺(jué)元素轉(zhuǎn)換為像素?cái)?shù)據(jù),為后續(xù)的表格識(shí)別模型提供輸入。[0051]表格區(qū)域檢測(cè)步驟:將轉(zhuǎn)化后的圖片輸入到一個(gè)預(yù)先訓(xùn)練的表格識(shí)別OCR模型中,該模型能夠識(shí)別圖片中的表格區(qū)域框范圍,并輸出表格區(qū)域框在圖片中的坐標(biāo),其中[x,y]為表格區(qū)域框的第i個(gè)坐標(biāo)點(diǎn),S為第i個(gè)坐標(biāo)點(diǎn)置信度。[0052]表格區(qū)域裁剪步驟:根據(jù)模型提供的表格位置坐標(biāo)P,對(duì)原始圖片進(jìn)行裁剪,僅保留表格區(qū)域框部分的圖片。此步驟為本發(fā)明關(guān)鍵所在,它能夠有效防止文檔中純文本或插圖等其他元素對(duì)后期表格識(shí)別的影響,從而提高識(shí)別準(zhǔn)確性。[0053]圖片至HTML格式轉(zhuǎn)化步驟:采用預(yù)先訓(xùn)練的OCR模型識(shí)別表格圖片中的表格空間結(jié)構(gòu)和所包含的單元格文本信息及結(jié)構(gòu)特征,然后基于提取的表格空間結(jié)構(gòu)和單元格文本信息及結(jié)構(gòu)特征,將其從圖片格式轉(zhuǎn)換為結(jié)構(gòu)化的表格數(shù)據(jù),并進(jìn)一步轉(zhuǎn)化為HTML格式的定義一個(gè)表格,用tr標(biāo)簽定義表格中的行,用td標(biāo)簽定義標(biāo)準(zhǔn)單元格,用rowspan屬性定義表格單元格所跨越的行數(shù),用colspan屬性定義表格單元格所跨越的列數(shù);[0055]在將HTML格式的表格轉(zhuǎn)化為結(jié)構(gòu)化的表格信息前,需要考慮嵌套表格轉(zhuǎn)化問(wèn)題,也就是表格中的跨單元格轉(zhuǎn)化問(wèn)題,請(qǐng)參閱圖3。標(biāo)簽具體轉(zhuǎn)化過(guò)程可以根據(jù)以下步驟實(shí)[0056]遍歷table標(biāo)簽中的tr標(biāo)簽,逐個(gè)讀取其中包含td標(biāo)簽的單元格,判斷該單元格中是否包含rowspan屬性或colspan屬性:[0057]若所有單元格td均不包含rowspan屬性或colspan屬性,則直接讀取td單元格對(duì)應(yīng)[0058]若單元格td;包含colspan屬性,則獲取colspan屬性值m和td單元格對(duì)應(yīng)信息,并將單元格數(shù)據(jù)標(biāo)記為[td;o,td,,-td;;td;+1-,td;j+m-1,-td;e],其中c為td單元格數(shù)量;[0059]若單元格td;包含colspan屬性,則獲取colspan屬性值n和td單元格對(duì)應(yīng)信息,并將單元格數(shù)據(jù)標(biāo)記為[td;otd;1-,tdij-,td;c,其中c為td單元格數(shù)量;對(duì)于i<k<i+n-1,有8包含的td單元格文本拼接成單元格文本序列TD=[td;otd;p-td;】,其中c為第i個(gè)tr標(biāo)[0063]獲取實(shí)體片段的start向量表征和end向量表征:將序列表征H分別輸入到單元同的單元格所屬鍵值類型識(shí)別的start向量表征和end向量表[0073]若單元格鍵值序列TD?=[td;otd;,-td;d中所有單元格類型都為key,則將此行所有單元格進(jìn)行緩存;[0076]若單元格鍵值序列TD?=[td;otd;1-td;e中單元格中只有第一個(gè)9[0078]本發(fā)明的有益效果為:[0079]本發(fā)明提供了一種創(chuàng)新的解決方案,該發(fā)明首先將PDF文件轉(zhuǎn)化為圖片格式,然后利用預(yù)先訓(xùn)練的OCR模型提取轉(zhuǎn)化后的圖片中表格信息,并將提取后的表格信息轉(zhuǎn)化為HTML格式,接下去利用命名實(shí)體識(shí)別技術(shù)識(shí)別表格里面每一行的各個(gè)單元格所屬類型;最后通過(guò)結(jié)合每一行中各個(gè)單元格的相對(duì)位置和所屬類型,將對(duì)應(yīng)單元格進(jìn)行兩兩配對(duì)以形[0080]對(duì)于PDF文件為掃描文件或者圖片形式的表格,本發(fā)明能夠利用OCR模型獲取其表格中結(jié)構(gòu)信息和文本內(nèi)容,對(duì)于嵌套表格這種復(fù)雜表格布局,本發(fā)明通過(guò)利用命名實(shí)體識(shí)別技術(shù)區(qū)分每一行中各單元格中文本對(duì)應(yīng)類型,并結(jié)合該單元格相對(duì)位置和識(shí)別屬性有效還原表格信息,提高了表格解析的準(zhǔn)確性。[0081]以上,僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭示如上,然而并非用以限定本發(fā)明,任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述揭示的技術(shù)內(nèi)容做出些許更動(dòng)或修飾為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)介修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。對(duì),并轉(zhuǎn)化為Json格式保存產(chǎn)品名稱單位成本總成本上年平均本年計(jì)劃上年平均本年計(jì)劃鞋子23456789<tdrowspan="2">產(chǎn)品名稱<td><tdrowspan="2">計(jì)劃產(chǎn)量<td><td>上年平均<td><td>本年計(jì)劃<td><td>上年平均<td>td>本年計(jì)劃<td><td>鞋子<td><td>2000<td><td>200<td><td>衣服<td><td>1000<td><td>250<td><td>240<td<td>250000<t3<td>產(chǎn)品名稱<td><td>計(jì)劃產(chǎn)量<td>4<td>單位成本<td><td>單位成本<td>5<td>總成本<td>td>單位成本<td>8<td>產(chǎn)品名稱<td><td>計(jì)劃產(chǎn)量<td>9<td>上年平均<td><td>本年計(jì)劃<td>10

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論