本技術(shù)涉及大模型檢索增強(qiáng)生成,尤其是一種基于文章結(jié)構(gòu)樹從pdf文件中切分補(bǔ)全完整語(yǔ)義段落的方法。
背景技術(shù):
1、在大模型檢索增強(qiáng)生成(rag)場(chǎng)景中,從pdf文件中提取文本段落可以為大模型提供外部知識(shí)源,使它們能夠生成準(zhǔn)確且符合上下文的答案,同時(shí)能夠減少模型幻覺。
2、現(xiàn)有技術(shù)中從pdf文件中生成段落的方法主要有以下兩種:
3、1、按照文章內(nèi)容順序劃分段落:
4、(1)、pdf解析:首先,使用pdf解析工具((如pypdf2、pdfminer、tika等))從pdf文件中提取文本信息,并將其轉(zhuǎn)換為可處理的格式,如純文本、html或xml。
5、(2)、句子分割:然后,通過尋找句子的邊界將文本劃分為單獨(dú)的句子。
6、(3)、文本分段:最后,根據(jù)一定的規(guī)則將文本劃分為段落。包括按照字?jǐn)?shù)限制劃分,或者根據(jù)關(guān)鍵詞出現(xiàn)的頻率劃分。例如,如果一個(gè)段落中包含了大量的關(guān)鍵詞,那么這個(gè)段落可能包含了重要的信息。
7、2、解析pdf以及分層布局信息劃分段落(現(xiàn)有技術(shù)中最先進(jìn)的方法,例如:layoutpdfreader等):
8、(1)、實(shí)現(xiàn)pdf中表格,圖表和文本的識(shí)別。
9、(2)、實(shí)現(xiàn)章節(jié),小節(jié)和段落的劃分,實(shí)現(xiàn)章節(jié)和段落的鏈接。
10、(3)、對(duì)文本內(nèi)容形成列表和嵌套列表,實(shí)現(xiàn)文本內(nèi)容生成結(jié)構(gòu)樹。
11、現(xiàn)有技術(shù)中從pdf文件中生成段落的方法的缺陷主要在于:
12、1、傳統(tǒng)的文章內(nèi)容順序分段方法主要依賴于文本內(nèi)容和一些規(guī)則,而忽視了文本的結(jié)構(gòu)信息。pdf文件通常包含豐富的結(jié)構(gòu)信息,如標(biāo)題、子標(biāo)題、列表、表格等。這些結(jié)構(gòu)信息可以幫助我們更準(zhǔn)確地識(shí)別文檔的邏輯結(jié)構(gòu)和段落邊界。
13、2、無法精確地識(shí)別段落邊界:傳統(tǒng)的分段方法通常依賴于一些簡(jiǎn)單的規(guī)則,如字?jǐn)?shù)限制或關(guān)鍵詞頻率。然而,這些規(guī)則無法準(zhǔn)確地識(shí)別段落的邊界。
14、3、丟失小標(biāo)題內(nèi)容:在pdf文件中,小標(biāo)題通常用來標(biāo)識(shí)一個(gè)新的主題或子主題的開始。然而,傳統(tǒng)的分段方法可能會(huì)忽視這些小標(biāo)題,導(dǎo)致丟失重要的信息。
15、4、目前的解析pdf生成文檔結(jié)構(gòu)樹的方法,如layoutpdfreader技術(shù)等,雖然按照文章結(jié)構(gòu)樹的方式實(shí)現(xiàn)了段落的劃分,但是只生成了層級(jí)和段落,段落的生成沒有考慮語(yǔ)義結(jié)構(gòu),使得段落的生成僅依賴于結(jié)構(gòu)樹的層級(jí),會(huì)使得段落內(nèi)容有冗余和部分錯(cuò)誤信息。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)的目的在于克服現(xiàn)有技術(shù)中因忽略文本結(jié)構(gòu)信息、分段規(guī)則簡(jiǎn)單、忽略小標(biāo)題而導(dǎo)致的難以準(zhǔn)確識(shí)別段落邊界,以及無法識(shí)別段落內(nèi)容中的冗余和錯(cuò)誤信息的問題,提供一種基于文章結(jié)構(gòu)樹從pdf文件中切分補(bǔ)全完整語(yǔ)義段落的方法。
2、第一方面,提供了一種基于文章結(jié)構(gòu)樹從pdf文件中切分補(bǔ)全完整語(yǔ)義段落的方法,包括:
3、獲取待處理文章的pdf文件;
4、根據(jù)所述pdf文件生成文章結(jié)構(gòu)樹,以將所述pdf文件的內(nèi)容按照目錄、表格、圖片、頁(yè)碼、標(biāo)題、父節(jié)點(diǎn)、子節(jié)點(diǎn)、根節(jié)點(diǎn)中的至少一種形式進(jìn)行標(biāo)記;
5、通過上下文分析、結(jié)構(gòu)分析、文本內(nèi)容分析和預(yù)定的規(guī)則補(bǔ)全所述文章結(jié)構(gòu)樹中缺失的父節(jié)點(diǎn);
6、搜索所述pdf文件中的小標(biāo)題;
7、以所述小標(biāo)題為跟節(jié)點(diǎn)遍歷每個(gè)小標(biāo)題的所有子節(jié)點(diǎn),根據(jù)語(yǔ)義相似度進(jìn)行節(jié)點(diǎn)的剪枝以合成完整語(yǔ)義段落。
8、進(jìn)一步的,通過layoutpdfreader方法將pdf文件生成文章結(jié)構(gòu)樹。
9、進(jìn)一步的,通過上下文分析、結(jié)構(gòu)分析、文本內(nèi)容分析和預(yù)定的規(guī)則補(bǔ)全所述文章結(jié)構(gòu)樹中缺失的父節(jié)點(diǎn),包括以下方法中的至少一種:
10、根據(jù)父節(jié)點(diǎn)的連貫性和已知信息及上下文內(nèi)容,利用眾數(shù)插補(bǔ)方法將缺失的父節(jié)點(diǎn)補(bǔ)全;
11、若父節(jié)點(diǎn)缺失值的前后父節(jié)點(diǎn)不一致,則根據(jù)父節(jié)點(diǎn)值的嵌套,基于序列或順序性的填充方法對(duì)缺失值進(jìn)行補(bǔ)全;
12、根據(jù)預(yù)定的規(guī)則以及關(guān)鍵詞對(duì)缺失的父節(jié)點(diǎn)進(jìn)行補(bǔ)全。
13、進(jìn)一步的,搜索所述待處理文章中的小標(biāo)題,包括以下方法中的至少一種:
14、根據(jù)文章樹結(jié)構(gòu)中的標(biāo)題確定小標(biāo)題;
15、根據(jù)預(yù)設(shè)的關(guān)鍵詞以及節(jié)點(diǎn)的層級(jí)位置確定小標(biāo)題;
16、在根據(jù)文章結(jié)構(gòu)樹中的層級(jí)結(jié)果確定小標(biāo)題。
17、進(jìn)一步的,以所述小標(biāo)題為跟節(jié)點(diǎn)遍歷每個(gè)小標(biāo)題的所有子節(jié)點(diǎn),根據(jù)語(yǔ)義相似度進(jìn)行節(jié)點(diǎn)的剪枝以合成完整語(yǔ)義段落,包括:
18、以每個(gè)小標(biāo)題為根節(jié)點(diǎn),通過廣度優(yōu)先搜索或深度優(yōu)先搜索的方法遍歷每個(gè)小標(biāo)題的所有子節(jié)點(diǎn),并根據(jù)語(yǔ)義相似度進(jìn)行剪枝;
19、通過計(jì)算每一層節(jié)點(diǎn)的語(yǔ)句與上一層節(jié)點(diǎn)的embeddings得到語(yǔ)義相似度;
20、設(shè)定相似度閾值,若節(jié)點(diǎn)之間的語(yǔ)義相似度高于設(shè)定的相似閾值,則保留節(jié)點(diǎn),若節(jié)點(diǎn)之間的語(yǔ)義相似度低于或等于設(shè)定的相似閾值,則剪枝掉對(duì)應(yīng)的節(jié)點(diǎn);
21、將剪枝后得到的文章結(jié)構(gòu)樹采用遞歸算法合并成完整語(yǔ)義段落。
22、進(jìn)一步的,在深度優(yōu)先搜索中的每個(gè)層級(jí)節(jié)點(diǎn)的展開過程中,根據(jù)設(shè)定的相似度閾值對(duì)節(jié)點(diǎn)進(jìn)行篩選和剪枝,相似度低于相似度閾值的節(jié)點(diǎn)被剪枝且不再進(jìn)入搜索隊(duì)列,對(duì)于保留下來的節(jié)點(diǎn),繼續(xù)進(jìn)行深度優(yōu)先搜索,重復(fù)剪枝操作,直至不再有子節(jié)點(diǎn)為止。
23、第二方面,提供了一種基于文章結(jié)構(gòu)樹從pdf文件中切分補(bǔ)全完整語(yǔ)義段落的裝置,包括:
24、獲取模塊,用于獲取待處理文章的pdf文件;
25、結(jié)構(gòu)樹生成模塊,用于根據(jù)所述pdf文件生成文章結(jié)構(gòu)樹,以將所述pdf文件的內(nèi)容按照目錄、表格、圖片、頁(yè)碼、標(biāo)題、父節(jié)點(diǎn)、子節(jié)點(diǎn)、根節(jié)點(diǎn)中的至少一種形式進(jìn)行標(biāo)記;
26、父節(jié)點(diǎn)補(bǔ)全模塊,用于通過上下文分析、結(jié)構(gòu)分析、文本內(nèi)容分析和預(yù)定的規(guī)則補(bǔ)全所述文章結(jié)構(gòu)樹中缺失的父節(jié)點(diǎn);
27、小標(biāo)題搜索模塊,用于搜索所述pdf文件中的小標(biāo)題;
28、節(jié)點(diǎn)剪枝模塊,用于以所述小標(biāo)題為跟節(jié)點(diǎn)遍歷每個(gè)小標(biāo)題的所有子節(jié)點(diǎn),根據(jù)語(yǔ)義相似度進(jìn)行節(jié)點(diǎn)的剪枝以合成完整語(yǔ)義段落。
29、第三方面,提供了一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行上述第一方面所述的方法。
30、第四方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)存儲(chǔ)用于設(shè)備執(zhí)行的程序代碼,該程序代碼包括用于執(zhí)行如上述第一方面中的任意一種實(shí)現(xiàn)方式中方法的步驟。
31、第五方面,提供了一種電子設(shè)備,所述電子設(shè)備包括處理器、存儲(chǔ)器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的程序或指令,所述程序或指令被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述第一方面中的任意一種實(shí)現(xiàn)方式中的方法。
32、本技術(shù)具有如下有益效果:本技術(shù)基于pdf文件生成文章結(jié)構(gòu)樹,從文章結(jié)構(gòu)樹中通過上下文分析和結(jié)構(gòu)分析對(duì)樹形結(jié)構(gòu)進(jìn)行父節(jié)點(diǎn)的補(bǔ)全,并按照小標(biāo)題父節(jié)點(diǎn)進(jìn)行遍歷搜索和語(yǔ)義相似度剪枝的方式獲取完整語(yǔ)義段落,能夠保證段落的完整性以及結(jié)構(gòu)的清晰性,基于文章結(jié)構(gòu)樹的數(shù)據(jù)補(bǔ)全處理可以避免因?yàn)槲恼陆Y(jié)構(gòu)樹中的數(shù)據(jù)缺失導(dǎo)致文本內(nèi)容的不連貫;以小標(biāo)題為根節(jié)點(diǎn)進(jìn)行搜索同時(shí)根據(jù)語(yǔ)義相似度剪枝,為段落內(nèi)容限定了明確的主題,同時(shí)縮短了搜索時(shí)間,過濾掉了因?yàn)槲恼陆Y(jié)構(gòu)樹誤差等原因生成的冗余信息,得到了有明確語(yǔ)義且完整的段落,為大模型檢索增強(qiáng)生成(rag)和模型訓(xùn)練數(shù)據(jù)的生成提供了高質(zhì)量且專業(yè)的背景知識(shí)。