本發(fā)明涉及文本分類,尤其涉及一種文本分類方法及裝置、計算機可讀存儲介質(zhì)、終端。
背景技術(shù):
1、文本分類任務(wù)是文本處理技術(shù)中較為常見的任務(wù)類型之一,其廣泛應(yīng)用于各大領(lǐng)域,例如,實體識別、垃圾信息過濾、新聞分類、詞性標(biāo)注等等。
2、現(xiàn)有相關(guān)技術(shù)中,在實現(xiàn)文本分類時,通常先對大量樣本文本進行標(biāo)注,獲得樣本本文數(shù)據(jù)及其對應(yīng)的文本類別標(biāo)簽,以構(gòu)建訓(xùn)練數(shù)據(jù)集;然后采用有監(jiān)督地訓(xùn)練方法,將訓(xùn)練數(shù)據(jù)集輸入待訓(xùn)練模型進行訓(xùn)練,得到訓(xùn)練后的文本分類模型。從而實現(xiàn)將待分類文本輸入訓(xùn)練后的優(yōu)化文本分類模型,可以實現(xiàn)文本的自動分類。
3、然而,受現(xiàn)有的模型的自身特性或模型訓(xùn)練數(shù)據(jù)等的影響,可能會出現(xiàn)將訓(xùn)練后的文本分類模型應(yīng)用于文本分類過程時,無法輸出符合預(yù)期的、準(zhǔn)確的文本分類結(jié)果。例如,將待分類文本輸入訓(xùn)練后的文本分類模型后,獲得的輸出結(jié)果卻是文本的摘要或關(guān)鍵詞,從而降低用戶體驗。
技術(shù)實現(xiàn)思路
1、本發(fā)明實施例解決的技術(shù)問題是如何提高獲得的文本分類結(jié)果的可預(yù)期性及準(zhǔn)確性。
2、為解決上述技術(shù)問題,本發(fā)明實施例提供一種文本分類方法,包括以下步驟:構(gòu)建訓(xùn)練數(shù)據(jù)集,所述訓(xùn)練數(shù)據(jù)集包括多條文本數(shù)據(jù),每條文本數(shù)據(jù)包括原始文本、提示文本以及所述原始文本的類別標(biāo)簽;采用預(yù)設(shè)的損失函數(shù),將所述訓(xùn)練數(shù)據(jù)集輸入初始化文本分類模型進行迭代訓(xùn)練,以得到優(yōu)化文本分類模型;將待分類文本輸入所述優(yōu)化文本分類模型,得到文本分類結(jié)果;其中,所述提示文本用于指示所述訓(xùn)練數(shù)據(jù)集以及所述初始化文本分類模型的目標(biāo)任務(wù)。
3、可選的,所述訓(xùn)練數(shù)據(jù)集中的每條文本數(shù)據(jù)是對所述原始文本、提示文本以及所述原始文本的類別標(biāo)簽進行拼接得到的。
4、可選的,所述提示文本包含提示詞,所述提示詞與所述目標(biāo)任務(wù)之間具有多對一或一對一關(guān)系。
5、可選的,所述損失函數(shù)采用下述表達式表示:
6、
7、
8、其中,lgenerate表示所述損失函數(shù),w表示原始類別標(biāo)簽中包含的字符總個數(shù),w表示所述原始類別標(biāo)簽中的字符序號,v表示字符集合中包含的字符總個數(shù),v表示所述字符集合中的字符序號,表示所述原始類別標(biāo)簽中第w個字符的系數(shù),當(dāng)?shù)趙個字符為字符集合中的第v個字符時,的取值為1,否則的取值為0,pwv表示當(dāng)前預(yù)測標(biāo)簽中第w個字符為字符集合中的第v個字符的概率,表示將所述原始類別標(biāo)簽的第w個字符輸入所述初始化文本分類模型后輸出的狀態(tài)矩陣。
9、可選的,所述初始化文本分類模型選自:第二代gpt模型、第三代gpt模型、第四代gpt模型、bloom模型。
10、可選的,將待分類文本輸入所述優(yōu)化文本分類模型,得到文本分類結(jié)果,包括:基于所述待分類文本以及所述優(yōu)化文本分類模型進行至少一輪迭代,以得到所述文本分類結(jié)果;其中,迭代的過程包括:在首輪迭代中,將所述待分類文本輸入所述優(yōu)化文本分類模型,得到首輪的文本類別字符;在后續(xù)的每輪迭代中,將所述待分類文本和之前各輪得到的文本類別字符拼接結(jié)果,輸入所述優(yōu)化文本分類模型,得到當(dāng)前輪的文本類別字符,如果當(dāng)前輪的文本類別字符與預(yù)設(shè)的停止字符不一致,則繼續(xù)下一輪迭代,直至當(dāng)前輪得到的文本類別字符與所述停止字符一致;將除最后一輪之外的其余各輪得到的文本類別字符的拼接結(jié)果,作為所述文本分類結(jié)果。
11、可選的,在得到文本分類結(jié)果之后,所述方法還包括:至少基于第一類別標(biāo)簽集,對所述文本分類結(jié)果進行糾正;其中,所述第一類別標(biāo)簽集為所述訓(xùn)練數(shù)據(jù)集中各條原始文本的類別標(biāo)簽的集合。
12、可選的,所述至少基于第一類別標(biāo)簽集,對所述文本分類結(jié)果進行糾正,包括:分別確定所述文本分類結(jié)果與所述第一類別標(biāo)簽集中的每個類別標(biāo)簽的最大數(shù)量的連續(xù)相同的字符數(shù)量,記為相同字符數(shù)量;如果最大的相同字符數(shù)量大于等于第一預(yù)設(shè)數(shù)量,則將所述最大的相同字符數(shù)量所屬的類別標(biāo)簽,作為糾正后的文本分類結(jié)果。
13、可選的,所述方法還包括:如果所述最大的相同字符數(shù)量小于所述第一預(yù)設(shè)數(shù)量,則基于所述文本分類結(jié)果的語義特征與第二類別標(biāo)簽集中的每個類別標(biāo)簽的語義特征之間的相似度,對所述文本分類結(jié)果進行糾正;其中,所述第二類別標(biāo)簽集包括所述第一類別標(biāo)簽集及其對應(yīng)的擴展類別標(biāo)簽集,所述第一類別標(biāo)簽集中的每個類別標(biāo)簽被擴展為所述擴展類別標(biāo)簽集中的一個或多個類別標(biāo)簽。
14、可選的,所述第一預(yù)設(shè)數(shù)量是根據(jù)所述文本分類結(jié)果包含的字符總數(shù)量確定的,所述字符總數(shù)量越大,所述第一預(yù)設(shè)數(shù)量越大。
15、所述至少基于第一類別標(biāo)簽集,對所述文本分類結(jié)果進行糾正,包括:分別對所述文本分類結(jié)果以及所述第一類別標(biāo)簽集中的每個類別標(biāo)簽進行分詞處理,得到所述文本分類結(jié)果的第一分詞結(jié)果,以及每個類別標(biāo)簽各自的第二分詞結(jié)果;對每個第二分詞結(jié)果,確定所述第二分詞結(jié)果與所述第一分詞結(jié)果的相同分詞數(shù)量;確定所述相同分詞數(shù)量與所述第一分詞結(jié)果中的分詞總數(shù)量的比值,作為精準(zhǔn)率,以及確定所述相同分詞數(shù)量與所述第二分詞結(jié)果中的分詞總數(shù)量的比值,作為召回率;根據(jù)所述精準(zhǔn)率和所述召回率,分別確定各個所述第二分詞結(jié)果所屬的類別標(biāo)簽的f1分?jǐn)?shù);如果各個類別標(biāo)簽中最大的f1分?jǐn)?shù)大于等于預(yù)設(shè)分?jǐn)?shù),則將所述最大的f1分?jǐn)?shù)所屬的類別標(biāo)簽,作為糾正后的文本分類結(jié)果。
16、可選的,所述方法還包括:如果所述最大的f1分?jǐn)?shù)小于所述預(yù)設(shè)分?jǐn)?shù),則基于所述文本分類結(jié)果的語義特征與第二類別標(biāo)簽集中的每個類別標(biāo)簽的語義特征之間的相似度,對所述文本分類結(jié)果進行糾正;其中,所述第二類別標(biāo)簽集包括所述第一類別標(biāo)簽集及其對應(yīng)的擴展類別標(biāo)簽集,所述第一類別標(biāo)簽集中的每個類別標(biāo)簽被擴展為所述擴展類別標(biāo)簽集中的一個或多個類別標(biāo)簽。
17、可選的,所述基于所述文本分類結(jié)果的語義特征與第二類別標(biāo)簽集中的每個類別標(biāo)簽的語義特征之間的相似度,對所述文本分類結(jié)果進行糾正,包括:確定所述文本分類結(jié)果的語義特征,記為第一語義特征,以及確定所述第二類別標(biāo)簽集中的每個類別標(biāo)簽的語義特征,記為第二語義特征;分別確定所述第一語義特征與每個第二語義特征之間相似度;在所述第二類別標(biāo)簽集中,確定與所述第一語義特征之間的相似度最大的類別標(biāo)簽;根據(jù)所述相似度最大的類別標(biāo)簽,確定糾正后的文本分類結(jié)果。
18、可選的,所述根據(jù)所述相似度最大的類別標(biāo)簽,確定糾正后的文本分類結(jié)果,包括:如果所述相似度最大的類別標(biāo)簽屬于所述第一類別標(biāo)簽集,則將所述相似度最大的類別標(biāo)簽作為糾正后的文本分類結(jié)果;如果所述相似度最大的類別標(biāo)簽屬于所述擴展類別標(biāo)簽集,則將所述相似度最大的類別標(biāo)簽在所述第一類別標(biāo)簽集中對應(yīng)的類別標(biāo)簽,作為糾正后的文本分類結(jié)果。
19、本發(fā)明實施例還提供一種文本分類裝置,包括:訓(xùn)練數(shù)據(jù)集確定模塊,用于構(gòu)建訓(xùn)練數(shù)據(jù)集,所述訓(xùn)練數(shù)據(jù)集包括多條文本數(shù)據(jù),每條文本數(shù)據(jù)包括原始文本、提示文本以及所述原始文本的類別標(biāo)簽;模型訓(xùn)練模塊,用于采用預(yù)設(shè)的損失函數(shù),將所述訓(xùn)練數(shù)據(jù)集輸入初始化文本分類模型進行迭代訓(xùn)練,以得到優(yōu)化文本分類模型;文本分類模塊,用于將待分類文本輸入所述優(yōu)化文本分類模型,得到文本分類結(jié)果;其中,所述提示文本用于指示所述訓(xùn)練數(shù)據(jù)集以及所述初始化文本分類模型的目標(biāo)任務(wù)。
20、本發(fā)明實施例還提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器運行時執(zhí)行上述文本分類方法的步驟。
21、本發(fā)明實施例還提供一種終端,包括存儲器和處理器,所述存儲器上存儲有能夠在所述處理器上運行的計算機程序,所述處理器運行所述計算機程序時執(zhí)行上述文本分類方法的步驟。
22、與現(xiàn)有技術(shù)相比,本發(fā)明實施例的技術(shù)方案具有以下有益效果:
23、在實際應(yīng)用中,對于一些與文本處理相關(guān)的初始化模型而言,其可實現(xiàn)的目標(biāo)任務(wù)(或功能)可能是多樣的,包括但不限于文本分類、關(guān)鍵詞提取、文本摘要提取、自動問答等。具體而言,同一個初始化的文本處理模型既可通過訓(xùn)練以用于進行關(guān)鍵詞提取,也可以通過訓(xùn)練以用于進行文本分類,還可以經(jīng)過訓(xùn)練以用于生成文本摘要等等。因此,在現(xiàn)有技術(shù)中,采用經(jīng)過訓(xùn)練得到的文本分類模型進行文本分類過程中,可能無法輸出符合預(yù)期的、準(zhǔn)確的文本分類結(jié)果。例如,將待分類文本輸入訓(xùn)練后的文本分類模型后,獲得的輸出結(jié)果卻是文本的摘要或關(guān)鍵詞,從而降低用戶體驗。
24、為解決上述問題,在本發(fā)明實施例中,通過在原始文本及其類別標(biāo)簽的基礎(chǔ)上增加提示文本,以指示所述訓(xùn)練數(shù)據(jù)集以及所述初始化文本分類模型的目標(biāo)任務(wù)。由此,可以所述提示文本指示的目標(biāo)任務(wù)為導(dǎo)向?qū)δP瓦M行訓(xùn)練,使得模型訓(xùn)練過程更具針對性,訓(xùn)練效果符合預(yù)期,進而有助于在后續(xù)使用訓(xùn)練后得到的優(yōu)化文本分類模型進行文本分類過程中,避免出現(xiàn)對輸入的待分類文本提取關(guān)鍵詞或生成摘要等錯誤,提高文本分類結(jié)果的可預(yù)期性和準(zhǔn)確性。
25、進一步,在得到文本分類結(jié)果之后,所述方法還包括:至少基于第一類別標(biāo)簽集,對所述文本分類結(jié)果進行糾正;其中,所述第一類別標(biāo)簽集為所述訓(xùn)練數(shù)據(jù)集中各條原始文本的類別標(biāo)簽的集合。可以理解的是,采用包含類別標(biāo)簽的訓(xùn)練數(shù)據(jù)集對所述初始化文本分類模型進行訓(xùn)練的過程,也即是使得被訓(xùn)練模型學(xué)習(xí)到文本與文本類別之間的映射關(guān)系的過程。而采用訓(xùn)練后得到的優(yōu)化文本分類模型進行推理(本實施例所述推理指文本分類)的過程,也即是模型根據(jù)已學(xué)習(xí)到的映射關(guān)系,確定文本類別的過程。
26、因此,所述優(yōu)化文本分類模型的推理結(jié)果(也稱為文本分類結(jié)果)實際上與訓(xùn)練過程采用的訓(xùn)練數(shù)據(jù)集的類別標(biāo)簽集(即,所述第一類別標(biāo)簽集)緊密相關(guān)。通常情況下,所述優(yōu)化文本分類模型的推理結(jié)果會與所述第一類別標(biāo)簽集中的類別標(biāo)簽具有很高相似度,理想情況下與所述第一類別標(biāo)簽集中的其中一個類別標(biāo)簽完全一致。基于前述原理,在本發(fā)明實施例中,采用所述優(yōu)化文本分類模型的訓(xùn)練數(shù)據(jù)集的類別標(biāo)簽的集合(即,所述第一類別標(biāo)簽集),對所述優(yōu)化文本分類模型輸出的文本分類結(jié)果進行糾正,相較于現(xiàn)有技術(shù)直接將模型推理結(jié)果作為最終文本分類結(jié)果,本實施方案有助于提高文本分類結(jié)果的準(zhǔn)確度。
27、進一步,在本發(fā)明實施例中,在將待分類文本輸入所述優(yōu)化文本分類模型,得到文本分類結(jié)果之后,進一步提供基于“字符串匹配”的文本分類結(jié)果糾正方案,在所述第一類別標(biāo)簽集中確定與所述文本分類結(jié)果具有最大的相同字符數(shù)量的類別標(biāo)簽??梢岳斫?,類別標(biāo)簽與模型輸出的文本分類結(jié)果之間的相同字符數(shù)量越多,意味著相應(yīng)的類別標(biāo)簽為真實文本分類結(jié)果的可能性越大。
28、由上,相較于現(xiàn)有技術(shù)直接將模型推理結(jié)果作為最終文本分類結(jié)果,本實施方案通過采用與第一類別標(biāo)簽集進行字符匹配后的確定的最大的相同字符數(shù)量所屬的類別標(biāo)簽,作為糾正后的文本分類結(jié)果。由此,可以避免將模型推理出錯導(dǎo)致的不準(zhǔn)確文本分類結(jié)果作為最終的文本分類結(jié)果,提高文本分類結(jié)果的準(zhǔn)確度。
29、進一步,在本發(fā)明實施例中,還提供基于“分詞匹配(或稱為詞匹配)”的文本分類結(jié)果糾正方案。具體地,在所述第一類別標(biāo)簽集中確定與所述文本分類結(jié)果具有最大的f1分?jǐn)?shù)的類別標(biāo)簽,可以理解,f1分?jǐn)?shù)越大,意味著相應(yīng)的類別標(biāo)簽為真實文本分類結(jié)果的可能性越大。相較于現(xiàn)有技術(shù)直接將模型推理結(jié)果作為最終文本分類結(jié)果,本實施方案通過采用與第一類別標(biāo)簽集進行分詞匹配后的確定的最大f1分?jǐn)?shù)所屬的類別標(biāo)簽,作為糾正后的文本分類結(jié)果。由此,可以避免將模型推理出錯導(dǎo)致的不準(zhǔn)確文本分類結(jié)果作為最終的文本分類結(jié)果,提高文本分類結(jié)果的準(zhǔn)確度。
30、進一步,在本發(fā)明實施例中,如果所述最大的相同字符數(shù)量小于所述第一預(yù)設(shè)數(shù)量,則意味著所述文本分類結(jié)果與所述第一類別標(biāo)簽集的各個類別標(biāo)簽之間的連續(xù)相同字符數(shù)量較少?;蛘?,如果各個類別標(biāo)簽中最大的f1分?jǐn)?shù)小于所述預(yù)設(shè)分?jǐn)?shù),則意味著所述文本分類結(jié)果與所述第一類別標(biāo)簽集的各個類別標(biāo)簽之間的相同分詞較少。但是,由于連續(xù)相同字符數(shù)量或相同分詞數(shù)量均僅可以表征語言表述層面上的差異大小,而實際應(yīng)用中,對于具有相同或相近語義的句子或詞,其表述可能不相似甚至完全不同(例如,字或詞的先后順序不一致),從而導(dǎo)致字符串匹配度、分詞匹配度都較低,但表述不同的句子或詞之間含義可以相同或接近。
31、基于上述理由,本實施方案對于文本分類結(jié)果與類別標(biāo)簽的字符串匹配度或分詞匹配度不高的情形,進一步提供基于語義特征相似度進行匹配的文本分類結(jié)果糾正方案。由此,可以彌補基于“字符串匹配”的糾正方案與基于“分詞匹配”的糾正方案的不足,獲得準(zhǔn)確的文本分類結(jié)果。
32、進一步,在本發(fā)明實施例中,考慮到相同語義可以具有多種不同的表述,因此,在基于“語義特征相似度”進行文本分類結(jié)果糾正過程中,采用的是對第一類別標(biāo)簽集中的類別標(biāo)簽進行擴展確定的第二類別標(biāo)簽集,也即,所述第二類別標(biāo)簽集包括所述第一類別標(biāo)簽集及其對應(yīng)的擴展類別標(biāo)簽集。如此,可以擴充與所述文本分類結(jié)果進行語義特征匹配的類別標(biāo)簽的總數(shù)量,有助于找到具有相似語義的類別標(biāo)簽,避免因類別標(biāo)簽數(shù)量不足導(dǎo)致的糾正誤差,進而提高糾正后的文本分類結(jié)果的準(zhǔn)確度。