本發(fā)明涉及文本挖掘,具體地說是一種基于大模型的關(guān)鍵詞提取方法及系統(tǒng)。
背景技術(shù):
1、關(guān)鍵詞是體現(xiàn)文檔核心思想的詞語,在信息檢索、文檔分類等領(lǐng)域應(yīng)用廣泛。關(guān)鍵詞提取屬于文本挖掘的一個研究方向,是文檔檢索、文檔摘要、文檔分類、文檔聚類、文檔比較等文本挖掘研究的基礎(chǔ)性工作。關(guān)鍵詞也是詞云生成的基礎(chǔ),詞云通過可視化的形式突出文檔中的關(guān)鍵詞,幫助用戶快速了解文檔的主旨和重點,增強了文檔的可讀性,在新聞報道、社交媒體分析、科學(xué)研究領(lǐng)域都有廣泛應(yīng)用,在關(guān)鍵詞提取過程中一個比較重要的步驟就是分詞,然而傳統(tǒng)分詞方法得到的詞組通常都比較短小,無法精確反映文檔的核心內(nèi)容。雖然在分詞時可以通過預(yù)先自定義詞典定義一部分不需要拆分的詞,但是該過程需要提前枚舉,效率比較低。
技術(shù)實現(xiàn)思路
1、本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種基于大模型的關(guān)鍵詞提取方法及系統(tǒng),能夠解決傳統(tǒng)關(guān)鍵詞提取方法提取到的詞組短小,無法精確反映文檔的核心內(nèi)容,以及對于特定領(lǐng)域或?qū)I(yè)術(shù)語的處理不夠準確的問題;提高關(guān)鍵詞提取的相關(guān)性和準確性。
2、本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
3、一種基于大模型的關(guān)鍵詞提取方法,該方法的實現(xiàn)包括:
4、第一階段,基于大模型的關(guān)鍵詞庫構(gòu)建;
5、第二階段,基于關(guān)鍵詞庫提取關(guān)鍵詞;
6、第三階段,關(guān)鍵詞排序;
7、其中,所述基于大模型的關(guān)鍵詞庫構(gòu)建包括:文檔塊劃分,大模型對文檔塊進行關(guān)鍵詞提取、文檔塊關(guān)鍵詞過濾。
8、進一步的,所述第一階段,基于大模型的關(guān)鍵詞庫構(gòu)建,具體實現(xiàn)如下:
9、第1步、文檔塊劃分:將整個文檔進行分塊,文檔分塊后為每塊文檔設(shè)置遞增的編號;
10、第2步、大模型對文檔塊進行關(guān)鍵詞提?。喝缓罄妙A(yù)訓(xùn)練大語言模型通過prompt工程提取給定文檔塊的關(guān)鍵詞,為了避免后續(xù)需要對關(guān)鍵詞進行特殊字符過濾,在prompt中包含提取規(guī)則限制關(guān)鍵詞中不包含包括標點符號的特殊字符;獲取大模型的輸出并以逗號分割即可得到當前文本塊提取到的關(guān)鍵詞列表;
11、第3步、文檔塊關(guān)鍵詞過濾:預(yù)置屏蔽關(guān)鍵詞庫設(shè)置不需要提取的關(guān)鍵詞,依次遍歷所有文檔塊的關(guān)鍵詞列表,若關(guān)鍵詞在屏蔽關(guān)鍵詞庫中則將當前關(guān)鍵詞從對應(yīng)文檔塊的關(guān)鍵詞列表中刪除;將所有文檔塊提取到的關(guān)鍵詞進行去重即可得到關(guān)鍵詞庫。
12、進一步的,所述大模型對文檔塊進行關(guān)鍵詞提取,將文檔塊提取到的關(guān)鍵詞列表、文檔塊編號、文檔塊文本內(nèi)容以json的格式存儲,所有文檔塊的提取結(jié)果保存為json數(shù)組。
13、進一步的,所述第二階段,基于關(guān)鍵詞庫提取關(guān)鍵詞,利用python的中文文本分詞庫jieba庫實現(xiàn),包括加載關(guān)鍵詞庫作為jieba分詞庫的自定義詞典、利用jieba分詞對文檔塊分詞、文檔塊分詞過濾。
14、進一步的,所述利用python的中文文本分詞庫jieba庫實現(xiàn)基于關(guān)鍵詞庫提取關(guān)鍵詞的具體實現(xiàn)方式如下:
15、第1步、加載自定義詞庫:
16、在分詞之前首先通過jieba.load_userdict(關(guān)鍵詞詞庫)方法加載關(guān)鍵詞庫,將關(guān)鍵詞庫作為jieba分詞庫的詞典;
17、第2步、分詞:
18、依次遍歷第一階段得到的所有文檔塊,通過jieba.cut(文檔塊文本)方法對每個文檔塊進行分詞,得到當前文檔塊的分詞列表,并替換掉當前文檔塊的關(guān)鍵詞列表;
19、第3步、分詞過濾:
20、依次遍歷所有文檔塊的關(guān)鍵詞列表,判斷當前關(guān)鍵詞是否在第一階段生成的關(guān)鍵詞庫內(nèi),若不在關(guān)鍵詞庫內(nèi)則將當前關(guān)鍵詞從當前文本塊的關(guān)鍵詞列表里移出。執(zhí)行該步驟的原因是因為雖然我們已經(jīng)將關(guān)鍵詞庫設(shè)置為了jieba分詞庫的自定義詞典,但是jieba分詞庫對文檔塊進行分詞時除了會將文檔塊分詞為自定義詞典中的關(guān)鍵詞也會分詞為其默認的詞庫,為了保證文檔塊的所有分詞結(jié)果均為關(guān)鍵詞庫中的關(guān)鍵詞,需要執(zhí)行分詞的過濾。
21、進一步的,所述第三階段,關(guān)鍵詞排序,具體實現(xiàn)如下:
22、計算所有文檔的tf-idf(詞頻-逆文檔頻率),對于給定的文檔若要選擇k個關(guān)鍵詞,則當前階段按照tf-idf值預(yù)選top2k個關(guān)鍵詞,其中k表示最終選取的關(guān)鍵詞數(shù)量;
23、利用文本向量化模型,如智源研究院開源的語義向量模型bge,對預(yù)選的top2k個關(guān)鍵詞進行向量化,然后分別計算每個關(guān)鍵詞和其他關(guān)鍵詞的余弦相似度,將相似度數(shù)值超過設(shè)定閾值的關(guān)鍵詞進行合并,在每組相似關(guān)鍵詞中僅保留tf-idf值最大的那個關(guān)鍵詞;
24、然后將剩余的關(guān)鍵詞進行排序并選擇topk個關(guān)鍵詞作為該文檔的關(guān)鍵詞。通過該步驟避免了文檔提取的關(guān)鍵詞過于相似的問題。
25、進一步的,所述tf-idf計算公式如下:tf-idf(w)=tf(w)×idf(w),其中,tf(w)=詞w在文檔中出現(xiàn)的次數(shù)/文檔中所有詞的總數(shù),表示詞頻;
26、idf(w)=log2(總文檔數(shù)/含有詞w的文檔數(shù));
27、對于單個文檔來說總文檔數(shù)可用總文檔塊數(shù)表示,含有詞w的文檔數(shù)可用含有詞w的文檔塊數(shù)表示。
28、本發(fā)明還要求保護一種基于大模型的關(guān)鍵詞提取系統(tǒng),包括基于大模型的關(guān)鍵詞庫構(gòu)建模塊;基于關(guān)鍵詞庫提取關(guān)鍵詞模塊;關(guān)鍵詞排序模塊;
29、其中,基于大模型的關(guān)鍵詞庫構(gòu)建模塊包括:文檔塊劃分,大模型對文檔塊進行關(guān)鍵詞提取、文檔塊關(guān)鍵詞過濾;
30、該系統(tǒng)通過上述的方法實現(xiàn)基于大模型的關(guān)鍵詞提取。
31、本發(fā)明還要求保護一種基于大模型的關(guān)鍵詞提取實現(xiàn)裝置,包括:至少一個存儲器和至少一個處理器;
32、所述至少一個存儲器,用于存儲機器可讀程序;
33、所述至少一個處理器,用于調(diào)用所述機器可讀程序,實現(xiàn)上述的方法。
34、本發(fā)明還要求保護一種計算機可讀介質(zhì),所述計算機可讀介質(zhì)上存儲有計算機指令,所述計算機指令在被處理器執(zhí)行時,實現(xiàn)上述的方法。
35、本發(fā)明的一種基于大模型的關(guān)鍵詞提取方法及系統(tǒng)與現(xiàn)有技術(shù)相比,具有以下有益效果:
36、本發(fā)明將關(guān)鍵詞提取分為3個階段,第一階段將文檔劃分為文檔塊,基于大模型構(gòu)建關(guān)鍵詞庫,第二階段利用jieba分詞根據(jù)關(guān)鍵詞庫對文檔文本塊進行分詞,第三階段對分詞后的文檔計算tf-idf得到預(yù)選關(guān)鍵詞,然后對預(yù)選關(guān)鍵詞進行相似關(guān)鍵詞合并。該關(guān)鍵詞提取算法充分利用了大模型強大的泛化能力、語言理解能力和生成能力,提高了關(guān)鍵詞提取的相關(guān)性和準確性。
1.一種基于大模型的關(guān)鍵詞提取方法,其特征在于,該方法的實現(xiàn)包括:
2.根據(jù)權(quán)利要求1所述的一種基于大模型的關(guān)鍵詞提取方法,其特征在于,所述第一階段,基于大模型的關(guān)鍵詞庫構(gòu)建,具體實現(xiàn)如下:
3.根據(jù)權(quán)利要求1或2所述的一種基于大模型的關(guān)鍵詞提取方法,其特征在于,所述大模型對文檔塊進行關(guān)鍵詞提取,將文檔塊提取到的關(guān)鍵詞列表、文檔塊編號、文檔塊文本內(nèi)容以json的格式存儲,所有文檔塊的提取結(jié)果保存為json數(shù)組。
4.根據(jù)權(quán)利要求1所述的一種基于大模型的關(guān)鍵詞提取方法,其特征在于,所述第二階段,基于關(guān)鍵詞庫提取關(guān)鍵詞,利用python的中文文本分詞庫jieba庫實現(xiàn),包括加載關(guān)鍵詞庫作為jieba分詞庫的自定義詞典、利用jieba分詞對文檔塊分詞、文檔塊分詞過濾。
5.根據(jù)權(quán)利要求4所述的一種基于大模型的關(guān)鍵詞提取方法,其特征在于,所述利用python的中文文本分詞庫jieba庫實現(xiàn)基于關(guān)鍵詞庫提取關(guān)鍵詞的具體實現(xiàn)方式如下:
6.根據(jù)權(quán)利要求1所述的一種基于大模型的關(guān)鍵詞提取方法,其特征在于,所述第三階段,關(guān)鍵詞排序,具體實現(xiàn)如下:
7.根據(jù)權(quán)利要求6所述的一種基于大模型的關(guān)鍵詞提取方法,其特征在于,所述tf-idf計算公式如下:tf-idf(w)=tf(w)×idf(w),
8.一種基于大模型的關(guān)鍵詞提取系統(tǒng),其特征在于,包括基于大模型的關(guān)鍵詞庫構(gòu)建模塊;基于關(guān)鍵詞庫提取關(guān)鍵詞模塊;關(guān)鍵詞排序模塊;
9.一種基于大模型的關(guān)鍵詞提取實現(xiàn)裝置,其特征在于,包括:至少一個存儲器和至少一個處理器;
10.一種計算機可讀介質(zhì),其特征在于,所述計算機可讀介質(zhì)上存儲有計算機指令,所述計算機指令在被處理器執(zhí)行時,實現(xiàn)權(quán)利要求1至7任一所述的方法。