本發(fā)明涉及文檔解析,具體地涉及一種pdf文件解析方法、系統(tǒng)、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、pdf文件具有良好的格式穩(wěn)定性和內(nèi)容可讀性,在文件傳輸、網(wǎng)頁發(fā)布等領(lǐng)域具有廣泛的應(yīng)用。
2、但是,絕大多數(shù)pdf文件,出于格式兼容性及安全性考慮,多基于掃描文件生成,不具有可編輯性,在需要編輯文件內(nèi)容時,往往需要將其轉(zhuǎn)換為其他格式的文檔,最常見的方式為轉(zhuǎn)換為word格式的文檔,該類方式已存在較多的應(yīng)用,例如adobe?acrobat、迅捷pdf轉(zhuǎn)換器等。
3、雖然現(xiàn)有設(shè)計可對pdf文件進(jìn)行格式轉(zhuǎn)換/內(nèi)容識別,但是,其轉(zhuǎn)換后的文件格式相對較單一,幾乎都是轉(zhuǎn)換為word,而不同類型的文件-如word、ppt、excel圖片-均可能生成pdf格式,如果均將pdf文件轉(zhuǎn)換為word格式,則一方面可能造成內(nèi)容的不協(xié)調(diào),不便于編輯,另一方面,還可能造成內(nèi)容丟失、分段錯誤、文本識別錯誤。而對于編輯的需求考慮,以上任一項問題均會使轉(zhuǎn)換效果失去價值。
技術(shù)實現(xiàn)思路
1、本發(fā)明實施例的目的是提供一種pdf文件解析方法、系統(tǒng)、電子設(shè)備及存儲介質(zhì),用于全部或至少部分的解決上述現(xiàn)有技術(shù)中存在的技術(shù)問題。
2、為了實現(xiàn)上述目的,本發(fā)明實施例提供一種pdf文件解析方法,包括:
3、讀取待解析的pdf文件,并將所述待解析的pdf文件識別為markdown格式的文件;
4、記錄markdown格式標(biāo)簽的位置,得到包含pdf內(nèi)容的第一文件,并將其記為markdown_content;
5、利用開源ocr方式識別pdf文件,得到包含pdf內(nèi)容的第二文件,并將其記為ocr_content;
6、利用ocr_content對markdown_content進(jìn)行文字校驗,并根據(jù)記錄的markdown格式標(biāo)簽的位置,將經(jīng)文字校驗后的文件還原為markdown格式的文件;
7、提取經(jīng)文字校驗后的文件還原為markdown格式的文件的標(biāo)題和內(nèi)容,生成標(biāo)題-內(nèi)容對。
8、可選的,在記錄markdown格式標(biāo)簽的位置,得到包含pdf內(nèi)容的第一文件,并將其記為markdown_content之前,所述pdf文件解析方法還包括:
9、截取markdown格式的文件中所需提取的內(nèi)容所在部分,并刪除該部分中的特殊符號和無關(guān)內(nèi)容。
10、可選的,利用ocr_content對markdown_content進(jìn)行文字校驗,并根據(jù)記錄的markdown格式標(biāo)簽的位置,將經(jīng)文字校驗后的文件還原為markdown格式的文件,包括:
11、按照相同規(guī)則,將ocr_content文檔和markdown_content文檔拆分為句子;
12、針對每個句子,以每句話第一個字為起點,順序比較ocr識別出的字符與marker識別出的字符,若兩者識別出的字相同,則認(rèn)為該字符識別無誤;若ocr識別的字符與marker識別出的字符不同,則將該字符所在句子輸入大模型,以及兩者識別出的字符輸入大模型,若marker識別正確,則繼續(xù)判斷下一個字符,若marker識別錯誤,則按照位置將相應(yīng)字符修改為ocr的識別結(jié)果。
13、可選的,提取經(jīng)文字校驗后的文件還原為markdown格式的文件的標(biāo)題和內(nèi)容,生成標(biāo)題-內(nèi)容對,包括:
14、通過python腳本識別markdown格式中表示標(biāo)題字符的位置和數(shù)量得到所需的標(biāo)題,其中,markdown格式中不同等級的標(biāo)題標(biāo)簽用不同數(shù)量的標(biāo)題字符表示;
15、確定每個標(biāo)題后的段落,獲得每個標(biāo)題對應(yīng)的內(nèi)容;
16、基于每個標(biāo)題和每個標(biāo)題對應(yīng)的內(nèi)容,生成標(biāo)題-內(nèi)容對。
17、另一方面,本發(fā)明還提供一種pdf文件解析系統(tǒng),包括:
18、讀取單元,用于讀取待解析的pdf文件,并將所述待解析的pdf文件識別為markdown格式的文件;
19、第一記錄單元,用于記錄markdown格式標(biāo)簽的位置,得到包含pdf內(nèi)容的第一文件,并將其記為markdown_content;
20、第二記錄單元,用于利用開源ocr方式識別pdf文件,得到包含pdf內(nèi)容的第二文件,并將其記為ocr_content;
21、校驗單元,用于利用ocr_content對markdown_content進(jìn)行文字校驗,并根據(jù)記錄的markdown格式標(biāo)簽的位置,將經(jīng)文字校驗后的文件還原為markdown格式的文件;
22、提取單元,用于提取經(jīng)文字校驗后的文件還原為markdown格式的文件的標(biāo)題和內(nèi)容,生成標(biāo)題-內(nèi)容對。
23、可選的,所述校驗單元具體用于:
24、按照相同規(guī)則,將ocr_content文檔和markdown_content文檔拆分為句子;
25、針對每個句子,以每句話第一個字為起點,順序比較ocr識別出的字符與marker識別出的字符,若兩者識別出的字符相同,則認(rèn)為該字符識別無誤;若ocr識別的字符與marker識別出的字符不同,則將該字符所在句子輸入大模型,以及兩者識別出的字符輸入大模型,若marker識別正確,則繼續(xù)判斷下一個字符,若marker識別錯誤,則按照位置將相應(yīng)字符修改為ocr的識別結(jié)果。
26、可選的,所述提取單元具體用于:
27、通過python腳本識別markdown格式中表示標(biāo)題字符的位置和數(shù)量得到所需的標(biāo)題,其中,markdown格式中不同等級的標(biāo)題標(biāo)簽用不同數(shù)量的標(biāo)題字符表示;
28、確定每個標(biāo)題后的段落,獲得每個標(biāo)題對應(yīng)的內(nèi)容;
29、基于每個標(biāo)題和每個標(biāo)題對應(yīng)的內(nèi)容,生成標(biāo)題-內(nèi)容對。
30、另一方面,本發(fā)明還提供一種電子設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上進(jìn)行運(yùn)行的計算機(jī)程序,所述處理器執(zhí)行所述程序時實現(xiàn)上述所述的pdf文件解析方法的步驟。
31、另一方面,本發(fā)明還提供一種非暫態(tài)計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)上述所述的pdf文件解析方法的步驟。
32、通過上述技術(shù)方案,將pdf文件轉(zhuǎn)換為markdown格式,使得文檔內(nèi)容更易于編輯、共享和版本控制。通過ocr技術(shù)識別pdf文件中的文本,避免了傳統(tǒng)pdf解析可能因字體、編碼等問題導(dǎo)致的文本亂碼或識別錯誤,確保了文本內(nèi)容的準(zhǔn)確性。在將ocr識別的文本內(nèi)容校驗并還原回markdown格式的過程中,保留了原pdf文檔中的結(jié)構(gòu)和格式信息,使得轉(zhuǎn)換后的markdown文件在格式上更加接近原文檔,生成的標(biāo)題-內(nèi)容對使得文檔內(nèi)容更容易被搜索、提取和重用。
33、本發(fā)明實施例的其它特征和優(yōu)點將在隨后的具體實施方式部分予以詳細(xì)說明。
1.一種pdf文件解析方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的pdf文件解析方法,其特征在于,在記錄markdown格式標(biāo)簽的位置,得到包含pdf內(nèi)容的第一文件,并將其記為markdown_content之前,所述pdf文件解析方法還包括:
3.根據(jù)權(quán)利要求1所述的pdf文件解析方法,其特征在于,利用ocr_content對markdown_content進(jìn)行文字校驗,并根據(jù)記錄的markdown格式標(biāo)簽的位置,將經(jīng)文字校驗后的文件還原為markdown格式的文件,包括:
4.根據(jù)權(quán)利要求1所述的pdf文件解析方法,其特征在于,提取經(jīng)文字校驗后的文件還原為markdown格式的文件的標(biāo)題和內(nèi)容,生成標(biāo)題-內(nèi)容對,包括:
5.一種pdf文件解析系統(tǒng),其特征在于,包括:
6.根據(jù)權(quán)利要求5所述的pdf文件解析系統(tǒng),其特征在于,所述校驗單元具體用于:
7.根據(jù)權(quán)利要求5所述的pdf文件解析系統(tǒng),其特征在于,所述提取單元具體用于:
8.一種電子設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上進(jìn)行運(yùn)行的計算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時實現(xiàn)如權(quán)利要求1-4任一項所述的pdf文件解析方法的步驟。
9.一種非暫態(tài)計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,其特征在于,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-4任一項所述的pdf文件解析方法的步驟。