本發(fā)明涉及關(guān)鍵詞抽取方法,尤其涉及一種基于k-means、word2vec的抽取關(guān)鍵詞的方法。
背景技術(shù):
文檔關(guān)鍵詞可讓閱讀者快速把控文檔主旨內(nèi)容、高效的把控和檢索文檔,在搜索結(jié)果排序、文本摘要、文檔分類、文檔聚類、用戶畫像、構(gòu)建文檔關(guān)聯(lián)網(wǎng)絡(luò)等領(lǐng)域多有應(yīng)用。
通常新聞稿、學(xué)術(shù)論文等領(lǐng)域作者會(huì)主動(dòng)提出文檔的關(guān)鍵詞,但絕大多數(shù)已知文檔是不具備關(guān)鍵詞的。隨著信息時(shí)代的數(shù)據(jù)增長(zhǎng),人們對(duì)自動(dòng)處理文檔并生成關(guān)鍵詞的方法需求與日俱增,目前業(yè)界也涌現(xiàn)了大量自動(dòng)處理文檔生成抽取關(guān)鍵詞的方法或裝置。
但是目前各類方法中關(guān)鍵詞會(huì)存在語(yǔ)義相近、不能反應(yīng)整個(gè)文檔內(nèi)容全貌、不能反應(yīng)文檔內(nèi)部?jī)?nèi)容分類等不足。自動(dòng)抽取關(guān)鍵詞的技術(shù)或方法通常會(huì)涉及到對(duì)文檔進(jìn)行分詞處理,分詞過(guò)程會(huì)一定程度上影響到關(guān)鍵詞抽取,獲取已經(jīng)分詞完畢的文檔是后續(xù)抽取關(guān)鍵詞的基礎(chǔ)前置條件。
對(duì)于基于詞頻的關(guān)鍵字抽取算法,是基于詞語(yǔ)的出現(xiàn)頻率作為抽取該關(guān)鍵詞的主要依據(jù),基于這個(gè)思路很多算法又進(jìn)行了優(yōu)化,例如引入idf逆向文件頻率、引入特定領(lǐng)域詞庫(kù)進(jìn)行優(yōu)化。但該類算法很難從主題分類的角度來(lái)進(jìn)行分析文檔。
對(duì)于基于主題模型關(guān)鍵字抽取算法,引入概率模型,構(gòu)建整個(gè)文檔的主題模型。這類算法的代表是lda(線性判別分析lineardiscriminantanalysis,lda)。但是這種算法不具備從詞語(yǔ)向量空間中反應(yīng)詞語(yǔ)關(guān)聯(lián)度的能力。
判斷一個(gè)詞在一篇文檔中是否重要,一個(gè)很容易想到的衡量指標(biāo)就是詞頻,重要的詞往往會(huì)在文檔中出現(xiàn)多次。但另一方面,不是出現(xiàn)次數(shù)多的詞就一定重要,因?yàn)橛行┰~在各個(gè)文檔中都反復(fù)出現(xiàn),那么它的重要性肯定遠(yuǎn)不如那些只在某篇文章中頻繁出現(xiàn)的詞重要性強(qiáng)。從統(tǒng)計(jì)學(xué)的角度,那就是給予那些不常見(jiàn)的詞以較大的權(quán)重,減少常見(jiàn)詞的權(quán)重。使用k-means算法對(duì)文本全局語(yǔ)義和各分支主題進(jìn)行歸納,實(shí)現(xiàn)高質(zhì)量關(guān)鍵詞的提取,并且通過(guò)提升權(quán)重值,實(shí)現(xiàn)詞庫(kù)的動(dòng)態(tài)優(yōu)化,提取關(guān)鍵詞的方法具備學(xué)習(xí)進(jìn)化能力,基于k-means算法的關(guān)鍵詞抽取方法,不僅可以大幅度文本分類效率,而且分類準(zhǔn)確性也能得到很大程度的提高。
綜上,現(xiàn)有的關(guān)鍵詞抽取方法都不具備能夠從全局語(yǔ)義和數(shù)類主題分支中分別歸納出每一類關(guān)鍵詞的方法,使用基于k-means、word2vec的抽取關(guān)鍵詞的方法,不僅能根據(jù)全局詞義和數(shù)類主題分支進(jìn)行歸納,并且依賴一個(gè)可維護(hù)文檔所在領(lǐng)域的詞庫(kù),該詞庫(kù)會(huì)在使用中動(dòng)態(tài)優(yōu)化,具備一定的學(xué)習(xí)進(jìn)化能力,并且k-means算法作為一種廣泛使用的聚類算法,其最大優(yōu)勢(shì)就是容易快速實(shí)現(xiàn)大型數(shù)據(jù)集的聚類,使用k-means聚類算法將大幅度提高關(guān)鍵詞分析的效率,最終得到的關(guān)鍵詞質(zhì)量也會(huì)更高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,如現(xiàn)有的關(guān)鍵詞抽取方法都還不具備能夠從全局語(yǔ)義、從整體、從數(shù)類主題分支、從各分支中歸納出每一類的關(guān)鍵詞的能力,并且傳統(tǒng)關(guān)鍵詞抽取方法步驟繁重,就上述缺點(diǎn),本發(fā)明特提供一種能夠從整體和分支歸納、文檔可維護(hù)的領(lǐng)域詞庫(kù)、該詞庫(kù)會(huì)在使用中動(dòng)態(tài)優(yōu)化,具備一定的學(xué)習(xí)進(jìn)化能力且步驟簡(jiǎn)化的高質(zhì)量關(guān)鍵詞抽取方法。
本發(fā)明的目的是通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)的:
一種基于k-means、word2vec的抽取關(guān)鍵詞的方法,該方法通過(guò)歸納全局語(yǔ)義和各分支主題,利用word2vec算法構(gòu)建出空間向量,使用k-means算法對(duì)多維空間中詞語(yǔ)進(jìn)行聚類,聚類評(píng)估并剔除模糊詞后得到高質(zhì)量的關(guān)鍵詞,并且通過(guò)提升權(quán)重值,實(shí)現(xiàn)詞庫(kù)的動(dòng)態(tài)優(yōu)化,使關(guān)鍵詞提取具備學(xué)習(xí)進(jìn)化能力。
進(jìn)一步地,一種基于k-means、word2vec的抽取關(guān)鍵詞的方法,它包括以下步驟:
s1:文本預(yù)處理;
s2:構(gòu)建空間向量;
s3:聚類,使用k-means算法對(duì)備選關(guān)鍵詞進(jìn)行聚類處理,計(jì)算均值得出中心關(guān)鍵詞;
s4:聚類評(píng)估,剔除模糊詞,得到最終關(guān)鍵詞;
其中,所述的文本預(yù)處理,它包括如下子步驟:
s11:準(zhǔn)備被分析的文本、該文本對(duì)應(yīng)的所屬領(lǐng)域的領(lǐng)域詞庫(kù);;
s12:無(wú)關(guān)詞去噪,結(jié)合領(lǐng)域詞庫(kù)對(duì)文本進(jìn)行分詞處理,分詞后的文本結(jié)合領(lǐng)域詞庫(kù),進(jìn)行去重過(guò)濾,剔除無(wú)關(guān)詞語(yǔ),獲得備選關(guān)鍵詞。另外,當(dāng)某文本尚無(wú)對(duì)應(yīng)的所屬領(lǐng)域的領(lǐng)域詞庫(kù),則進(jìn)行構(gòu)建詞庫(kù),所述領(lǐng)域詞庫(kù)中,每個(gè)詞語(yǔ)包含詞語(yǔ)本身及權(quán)重系數(shù),其中權(quán)重系數(shù)默認(rèn)為1。
所述的空間向量構(gòu)建,包括如下子步驟:
s21:對(duì)每個(gè)文檔,根據(jù)文檔所屬領(lǐng)域詞庫(kù)進(jìn)行分詞;
s22:利用分詞后的文檔訓(xùn)練word2vec模型,得到所屬領(lǐng)域詞庫(kù)的word2vec模型;
s23:將每個(gè)文檔中的每個(gè)所屬的備選關(guān)鍵詞代入所述目標(biāo)領(lǐng)域的word2vec模型,得到每個(gè)文檔中所屬的備選關(guān)鍵詞的多維度的詞向量。
所述的聚類,采用k-means算法對(duì)多維空間詞語(yǔ)聚類時(shí),對(duì)選定的關(guān)鍵詞數(shù)目為k,首先隨機(jī)的將文檔內(nèi)容進(jìn)行初步劃分,然后采用迭代方法通過(guò)將聚類中心不斷移動(dòng)來(lái)嘗試改進(jìn)劃分,若有指定關(guān)鍵詞數(shù)目,則在k-means算法中使用該數(shù)目作為聚類數(shù)目;若沒(méi)有指定關(guān)鍵詞數(shù)目,則默認(rèn)關(guān)鍵詞數(shù)目為5個(gè)。
所述的聚類包括以下步驟:
s31:從n個(gè)備選關(guān)鍵詞中任意選擇k個(gè)備選關(guān)鍵詞作為初始聚類中心;
s32:根據(jù)每個(gè)聚類備選關(guān)鍵詞的均值得到中心關(guān)鍵詞,計(jì)算每個(gè)備選關(guān)鍵詞與這些中心關(guān)鍵詞的距離,并且根據(jù)最小距離,重新對(duì)相應(yīng)關(guān)鍵詞進(jìn)行再次劃分;
s33:重新計(jì)算每個(gè)聚類關(guān)鍵詞的均值,即中心關(guān)鍵詞的均值;
s34:循環(huán)步驟s32~s33,直到目標(biāo)函數(shù)不再變化。
所述的聚類評(píng)估,剔除模糊詞,得到最終關(guān)鍵詞包括以下子步驟:
s41:剔除模糊詞,剔除對(duì)多個(gè)質(zhì)心距離均衡的詞語(yǔ)點(diǎn);
s42:在每個(gè)聚類中,根據(jù)公式:
s43:取出離質(zhì)心距離最近的詞語(yǔ),該詞語(yǔ)作為最終關(guān)鍵詞。
所述的一種基于k-means、word2vec的抽取關(guān)鍵詞的方法,還包括一個(gè)詞庫(kù)優(yōu)化步驟:
s44:取出離質(zhì)心距離最近的詞語(yǔ)作為最終關(guān)鍵詞;
s45:將此詞語(yǔ)在領(lǐng)域詞庫(kù)中的權(quán)重進(jìn)行提升,優(yōu)化詞庫(kù)。
本發(fā)明的有益效果是:
(1)抽取的關(guān)鍵詞能夠體現(xiàn)文檔的內(nèi)部分類主題。本發(fā)明首先使用word2vec得到整個(gè)詞語(yǔ)的空間向量,后使用k-means方法對(duì)空間數(shù)據(jù)進(jìn)行聚類,聚類的過(guò)程可以看作將文檔分成了若干子分類主題。
(2)每一個(gè)關(guān)鍵字能夠高質(zhì)量的體現(xiàn)該分類。在每一分類中,在詞語(yǔ)向量空間中選取離空間質(zhì)心最接近的詞語(yǔ),該詞語(yǔ)處于空間中最接近分類中心的位置。此外計(jì)算公式中還是受到詞庫(kù)中權(quán)重影響,更高質(zhì)量的確保了該詞語(yǔ)的有效性、代表性。
(3)最終關(guān)鍵詞質(zhì)量高。本方法中考慮到了不同領(lǐng)域中不同的詞語(yǔ)的具備不同特性,在選取最終關(guān)鍵詞的過(guò)程中,會(huì)使用到關(guān)鍵詞領(lǐng)域詞庫(kù),尤其將權(quán)重作為判斷關(guān)鍵詞的依據(jù)。并且使用k-means方法進(jìn)行聚類效果評(píng)估,剔除對(duì)多個(gè)質(zhì)心距離均衡的詞語(yǔ)點(diǎn),將剔除定位模糊的詞語(yǔ)剔除。這樣本方法的適應(yīng)性更廣泛,使結(jié)果更加準(zhǔn)確。
(4)領(lǐng)域詞庫(kù)具備學(xué)習(xí)能力。在執(zhí)行批量抽取關(guān)鍵詞的任務(wù)過(guò)程中,每一次任務(wù)的關(guān)鍵詞結(jié)果均會(huì)反饋到領(lǐng)域詞庫(kù)中,影響所屬領(lǐng)域詞庫(kù)中詞語(yǔ)的權(quán)重值,從而影響未來(lái)的抽取關(guān)鍵詞的任務(wù),使得領(lǐng)域詞庫(kù)具備學(xué)習(xí)能力,本抽取關(guān)鍵詞的方法也具備了學(xué)習(xí)能力。
附圖說(shuō)明
圖1為一種基于k-means、word2vec的抽取關(guān)鍵詞的方法流程圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例進(jìn)一步詳細(xì)描述本發(fā)明的技術(shù)方案,但本發(fā)明的保護(hù)范圍不局限于以下所述。
一種基于k-means、word2vec的抽取關(guān)鍵詞的方法,該方法通過(guò)歸納全局語(yǔ)義和各分支主題,利用word2vec算法構(gòu)建出空間向量,使用k-means算法對(duì)多維空間中詞語(yǔ)進(jìn)行聚類,聚類評(píng)估并剔除模糊詞后得到高質(zhì)量的關(guān)鍵詞,并且通過(guò)提升權(quán)重值,實(shí)現(xiàn)詞庫(kù)的動(dòng)態(tài)優(yōu)化,使關(guān)鍵詞提取具備學(xué)習(xí)進(jìn)化能力。如圖1,所述的一種基于k-means、word2vec的抽取關(guān)鍵詞的方法,它包括以下步驟:
s1:文本預(yù)處理;
s2:構(gòu)建空間向量;
s3:聚類;
s4:聚類評(píng)估,剔除模糊詞,得到最終關(guān)鍵詞。
所述的文本預(yù)處理,它包括如下子步驟:
s11:準(zhǔn)備被分析的文本、該文本對(duì)應(yīng)的所屬領(lǐng)域的領(lǐng)域詞庫(kù);
s12:無(wú)關(guān)詞去噪,根據(jù)所屬領(lǐng)域詞庫(kù)對(duì)文本進(jìn)行分詞處理,找出文本實(shí)體,分詞后的文本結(jié)合領(lǐng)域詞庫(kù),進(jìn)行過(guò)濾剔除無(wú)關(guān)和詞語(yǔ),構(gòu)建出受控詞庫(kù)。
所述的構(gòu)建空間向量,使用word2vec構(gòu)建詞語(yǔ)的空間向量,維度應(yīng)保持在10維度以下,以提升后續(xù)步驟中k-means算法的性能,具體包括以下步驟:
s21:對(duì)所述文檔中的每個(gè)文檔,根據(jù)文檔所屬領(lǐng)域詞庫(kù)進(jìn)行分詞;
s22:利用分詞后的文檔訓(xùn)練word2vec模型,得到所屬領(lǐng)域詞庫(kù)的word2vec模型;
s23:將每個(gè)文檔中的每個(gè)所屬的備選關(guān)鍵詞代入所述目標(biāo)領(lǐng)域的word2vec模型,得到每個(gè)文檔中所屬的備選關(guān)鍵詞的若干維的詞向量,具體方法如下:
由于每個(gè)詞都對(duì)應(yīng)一個(gè)詞向量,v為維度,假設(shè):
1).兩個(gè)詞的相似度正比于對(duì)應(yīng)詞向量的乘積,即:sim(v1,v2)=v1·v2;
2).多個(gè)詞v1~vn組成的一個(gè)所屬領(lǐng)域詞庫(kù)用c來(lái)表示,其中
3).在所屬領(lǐng)域詞庫(kù)中出現(xiàn)備選關(guān)鍵詞a,a的概率正比于能量因子e-e(a,c),wheree=-a·c,因此:
所述的k-means聚類,k-means算法對(duì)多維空間詞語(yǔ)聚類,當(dāng)有指定關(guān)鍵詞數(shù)目時(shí),則在k-means算法中使用該數(shù)目作為聚類數(shù)目;若沒(méi)有指定關(guān)鍵詞數(shù)目,則默認(rèn)關(guān)鍵詞數(shù)目為5個(gè),k-means算法描述如下:
輸入:關(guān)鍵詞詞庫(kù)數(shù)目k以及包含n個(gè)備選關(guān)鍵詞的數(shù)據(jù)集合;輸出:滿足目標(biāo)函數(shù)值最小的k個(gè)聚類算法流程:
s31:從n個(gè)備選關(guān)鍵詞中任意選擇k個(gè)備選關(guān)鍵詞作為初始聚類中心;
s32:根據(jù)每個(gè)聚類備選關(guān)鍵詞的均值得到中心關(guān)鍵詞,計(jì)算每個(gè)備選關(guān)鍵詞與這些中心關(guān)鍵詞的距離,并且根據(jù)最小距離,重新對(duì)相應(yīng)關(guān)鍵詞進(jìn)行再次劃分;
s33:重新計(jì)算每個(gè)聚類關(guān)鍵詞的均值,即中心關(guān)鍵詞的均值;
s34:循環(huán)步驟s422~s423,直到目標(biāo)函數(shù)不再變化。
所述的聚類評(píng)估,它包括以下步驟:
s41:剔除模糊詞,處理過(guò)程中會(huì)剔除對(duì)多個(gè)質(zhì)心距離均衡的詞語(yǔ)點(diǎn);
s42:聚類評(píng)估,在每個(gè)聚類中,根據(jù)k-means算法公式:
s43:取出離質(zhì)心距離最近的詞語(yǔ),該詞語(yǔ)作為最終關(guān)鍵詞。
由于k-means算法會(huì)受到單位刻度的影響,首先會(huì)對(duì)該點(diǎn)的維度值進(jìn)行標(biāo)準(zhǔn)化,即標(biāo)準(zhǔn)化后的值=(標(biāo)準(zhǔn)化前的值-分量的均值)/分量的標(biāo)準(zhǔn)差,另外選擇k-means算法測(cè)量的好處是,此算法不會(huì)受量綱的影響,兩點(diǎn)之間的距離與原始數(shù)據(jù)的測(cè)量單位無(wú)關(guān);由標(biāo)準(zhǔn)化數(shù)據(jù)和中心化數(shù)據(jù)(即原始數(shù)據(jù)與均值之差)計(jì)算出的二點(diǎn)之間的距離相同,同時(shí)此方法測(cè)量距離還可以排除變量之間的相關(guān)性的干擾。
更進(jìn)一步地,聚類評(píng)估具體算法如下:
基本思路:對(duì)選定的關(guān)鍵詞數(shù)目為k,首先隨機(jī)的將文檔內(nèi)容進(jìn)行初步劃分,然后采用迭代方法通過(guò)將聚類中心不斷移動(dòng)來(lái)嘗試改進(jìn)劃分:
設(shè)備選關(guān)鍵詞集合x={x1,x2,…,xn},k個(gè)中心關(guān)鍵詞分別是z1,z2,…,zk,用wiz(iz=1,2…,,k表)示詞語(yǔ)聚類的k個(gè)類別,有如下定義:
定義1兩個(gè)備選關(guān)鍵詞之間的歐式距離為:
定義2屬于同一領(lǐng)域的備選關(guān)鍵詞的算術(shù)平均為:
定義3目標(biāo)函數(shù)為:
由定義1.2.3得出質(zhì)心距公式為:
更進(jìn)一步地,所述的一種基于k-means、word2vec的抽取關(guān)鍵詞的方法,還包括一個(gè)詞庫(kù)優(yōu)化步驟包括以下步驟:
s44:取出離質(zhì)心距離最近的詞語(yǔ),即l值最小的詞語(yǔ)作為最終關(guān)鍵詞;
s45:將此詞語(yǔ)在領(lǐng)域詞庫(kù)中的權(quán)重進(jìn)行提升,優(yōu)化詞庫(kù)和方法。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對(duì)其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述構(gòu)想范圍內(nèi),通過(guò)上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識(shí)進(jìn)行改動(dòng)。而本領(lǐng)域人員所進(jìn)行的改動(dòng)和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護(hù)范圍內(nèi)。