本發(fā)明涉及關(guān)鍵詞提取技術(shù)領(lǐng)域,特別是涉及一種基于圖模型的關(guān)鍵詞提取方法及裝置。
背景技術(shù):
關(guān)鍵詞作為一段文本中具有代表性的文字,已經(jīng)被廣泛應(yīng)用在信息檢索、文本分類等方面。其中,基于圖模型的關(guān)鍵詞提取方法已經(jīng)被廣泛應(yīng)用于搜索排序、引文分析、社交網(wǎng)絡(luò)以及自然語言處理(如關(guān)鍵詞提取、文章主題句提取等)等方面。圖模型是一類用圖來表示概率分布的一類技術(shù)的總稱,一篇文本可以被映射為一個以詞語為節(jié)點、詞語之間的關(guān)聯(lián)關(guān)系為邊的網(wǎng)絡(luò)圖。基于圖模型的關(guān)鍵詞提取方法的兩個基本假設(shè)為:1、數(shù)量假設(shè):某一節(jié)點與其他節(jié)點鏈接數(shù)越多,那么該節(jié)點越重要;2、質(zhì)量假設(shè):與節(jié)點a相連的節(jié)點質(zhì)量不同,質(zhì)量高的節(jié)點會通過鏈接向其他節(jié)點傳遞更多的權(quán)重,所以越是質(zhì)量高的節(jié)點鏈接到節(jié)點a,節(jié)點a越重要。因此,基于圖模型的關(guān)鍵詞提取方法的關(guān)鍵是鏈接權(quán)重的計算,而節(jié)點之間的鏈接權(quán)重為詞與詞之間的相似度。
現(xiàn)有的基于圖模型的關(guān)鍵詞提取方法,通過把文本分割成若干組成單元(單詞、句子)并建立圖模型,利用投票機制對文本中的組成單元進行排序,然后選取排序靠前的組成單元作為關(guān)鍵詞。具體的,先把給定的文本按照完整句子進行分割;然后對于每個句子進行分詞和詞性標注處理,得到詞及詞對應(yīng)的詞性標注;根據(jù)詞及詞性標注,過濾掉這些詞中介詞、助詞、連詞、感嘆詞等停用詞,保留名詞、動詞、形容詞等指定詞性的詞,并將指定詞性的詞作為候選關(guān)鍵詞;再根據(jù)候選關(guān)鍵詞,構(gòu)建候選關(guān)鍵詞圖模型,即將候選關(guān)鍵詞為候選關(guān)鍵詞圖模型的節(jié)點,候選關(guān)鍵詞之間的關(guān)聯(lián)關(guān)系作為關(guān)鍵詞圖模型的邊,其中,候選關(guān)鍵詞之間的關(guān)聯(lián)關(guān)系通過計算候選關(guān)鍵詞之間的相似度得到。在基于圖模型的關(guān)鍵詞提取方法中,采用加窗的方式構(gòu)建詞與詞之間的相似度,讓每個窗口內(nèi)的詞給它相鄰的窗口投票,投票的權(quán)重取決于自己的票數(shù),由于每個窗口與它相鄰的窗口有共現(xiàn)的詞,因此也可以說詞與詞之間的相似度是通過詞與詞共現(xiàn)得到的;最后在這個圖上候選關(guān)鍵詞的票數(shù)經(jīng)過迭代投票,可以得到候選關(guān)鍵詞的票數(shù)排序,并選取票數(shù)靠前的候選關(guān)鍵詞作為關(guān)鍵詞。
但是,現(xiàn)有的基于圖模型的關(guān)鍵詞提取方法,要通過詞與詞之間共現(xiàn)才能得到詞與詞之間的相似度,這樣,對重復(fù)出現(xiàn)的詞就會有過重的加權(quán),例如候選關(guān)鍵詞中一些不能成為關(guān)鍵詞,但多次重復(fù)出現(xiàn)的詞,如內(nèi)容、計算、處理、解決、最高等,導(dǎo)致關(guān)鍵詞提取準確率不高。另外,提取關(guān)鍵詞的結(jié)果對窗口的大小比較敏感,由于窗口的大小需要人為來設(shè)定例如,一個句子依次由下面的詞組成:w1、w2、w3、w4、w5…wn,設(shè)定窗口的大小為k,則w1、w2、w3…wk,w2、w3、w4…wk+1,w3、w4、w5…wk+2等都是一個窗口,在一個窗口中的任兩個詞對應(yīng)的節(jié)點之間存在一個無向無權(quán)的邊,那么,不同大小窗口的選取可能導(dǎo)致截然不同的結(jié)果,也導(dǎo)致關(guān)鍵詞提取準確率不高。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種基于圖模型的關(guān)鍵詞提取方法及裝置,提高關(guān)鍵詞提取的準確率。具體技術(shù)方案如下:
本發(fā)明實施例公開了一種基于圖模型的關(guān)鍵詞提取方法,所述方法包括:
獲取待處理文本,并對所述待處理文本進行分詞,得到所述待處理文本對應(yīng)的候選關(guān)鍵詞;
在詞向量模型中查找所述候選關(guān)鍵詞對應(yīng)的詞向量,所述詞向量模型包括所述候選關(guān)鍵詞的詞向量;
根據(jù)所述詞向量構(gòu)建所述候選關(guān)鍵詞的詞相似度矩陣;
根據(jù)所述候選關(guān)鍵詞的詞相似度矩陣對所述候選關(guān)鍵詞進行排序,提取所述待處理文本的關(guān)鍵詞。
可選的,所述根據(jù)所述詞向量構(gòu)建所述候選關(guān)鍵詞的詞相似度矩陣,包括:
根據(jù)公式:
計算所述候選關(guān)鍵詞之間對應(yīng)的詞向量夾角的余弦值,其中,θ表示所述候選關(guān)鍵詞之間的向量的夾角,x1k表示其中一個候選關(guān)鍵詞n維空間中對應(yīng)的向量的特征值,x2k表示其中另一個候選關(guān)鍵詞n維空間中對應(yīng)的向量的特征值,n表示向量空間的維度;
根據(jù)所述詞向量夾角的余弦值,構(gòu)建所述候選關(guān)鍵詞相似度矩陣。
可選的,所述根據(jù)所述候選關(guān)鍵詞的詞相似度矩陣對所述候選關(guān)鍵詞進行排序,包括:
根據(jù)pagerank算法計算所述候選關(guān)鍵詞的詞相似度矩陣,得到所述候選關(guān)鍵詞的對應(yīng)的pagerank值;
根據(jù)所述pagerank值對所述候選關(guān)鍵詞進行排序,得到所述候選關(guān)鍵詞的重要程度;
根據(jù)所述重要程度,提取所述待處理文本的關(guān)鍵詞。
可選的,所述根據(jù)pagerank算法計算所述候選關(guān)鍵詞的詞相似度矩陣,包括:
根據(jù)所述詞相似度矩陣的階數(shù),確定所述pagerank算法的初始值;
根據(jù)所述初始值和所述詞相似度矩陣,計算所述候選關(guān)鍵詞的初始特征向量值;
根據(jù)公式:
pt=mtpt-1
計算所述候選關(guān)鍵詞的特征向量值,其中,在t=1時,則p1表示所述初始特征向量值,p0表示所述初始權(quán)重,pt表示所述詞相似度矩陣在第t步的特征向量值,pt-1表示所述詞相似度矩陣在第t-1步的特征向量值,m表示所述候選關(guān)鍵詞的詞相似度矩陣,mt表示所述詞相似度矩陣的轉(zhuǎn)置,t表示計算的步數(shù),t的取值大于或等于1;
當所述第t步的特征向量值與所述第t-1步的特征向量值的范數(shù)小于所述pagerank算法的誤差容忍度時,所述第t步的特征向量值為所述候選關(guān)鍵詞的對應(yīng)的pagerank值。
可選的,所述獲取待處理文本,并對所述待處理文本進行分詞,得到所述待處理文本對應(yīng)的候選關(guān)鍵詞,包括:
獲取待處理文本,并對所述待處理文本進行分詞,得到停用詞和指定詞性的詞,所述停用詞至少包括介詞、助詞、連詞、感嘆詞,所述指定詞性的詞至少包括名詞、動詞、形容詞;
過濾掉所述停用詞,得到所述指定詞性的詞,所述指定詞性的詞為所述待處理文本對應(yīng)的候選關(guān)鍵詞。
可選的,所述詞向量是通過word2vec訓(xùn)練得到的。
本發(fā)明實施例還公開了一種基于圖模型的關(guān)鍵詞提取裝置,所述裝置包括:
獲取模塊,用于獲取待處理文本,并對所述待處理文本進行分詞,得到所述待處理文本對應(yīng)的候選關(guān)鍵詞;
查找模塊,用于在詞向量模型中查找所述候選關(guān)鍵詞對應(yīng)的詞向量,所述詞向量模型包括所述候選關(guān)鍵詞的詞向量;
處理模塊,用于根據(jù)所述詞向量構(gòu)建所述候選關(guān)鍵詞的詞相似度矩陣;
提取模塊,用于根據(jù)所述候選關(guān)鍵詞的詞相似度矩陣對所述候選關(guān)鍵詞進行排序,提取所述待處理文本的關(guān)鍵詞。
可選的,所述處理模塊,包括:
第一計算單元,用于根據(jù)公式:
計算所述候選關(guān)鍵詞之間對應(yīng)的詞向量夾角的余弦值,其中,θ表示所述候選關(guān)鍵詞之間的向量的夾角,x1k表示其中一個候選關(guān)鍵詞n維空間中對應(yīng)的向量的特征值,x2k表示其中另一個候選關(guān)鍵詞n維空間中對應(yīng)的向量的特征值,n表示向量空間的維度;
構(gòu)建單元,用于根據(jù)所述詞向量夾角的余弦值,構(gòu)建所述候選關(guān)鍵詞相似度矩陣。
可選的,所述提取模塊,包括:
第二計算單元,用于根據(jù)pagerank算法計算所述候選關(guān)鍵詞的詞相似度矩陣,得到所述候選關(guān)鍵詞的對應(yīng)的pagerank值;
排序單元,用于根據(jù)所述pagerank值對所述候選關(guān)鍵詞進行排序,得到所述候選關(guān)鍵詞的重要程度;
提取單元,用于根據(jù)所述重要程度,提取所述待處理文本的關(guān)鍵詞。
可選的,所述第二計算單元,包括:
第一確定子單元,用于根據(jù)所述詞相似度矩陣的階數(shù),確定所述pagerank算法的初始值;
第一計算子單元,用于根據(jù)所述初始值和所述詞相似度矩陣,計算所述候選關(guān)鍵詞的初始特征向量值;
第二計算子單元,用于根據(jù)公式:
pt=mtpt-1
計算所述候選關(guān)鍵詞的特征向量值,其中,在t=1時,則p1表示所述初始特征向量值,p0表示所述初始權(quán)重,pt表示所述詞相似度矩陣在第t步的特征向量值,pt-1表示所述詞相似度矩陣在第t-1步的特征向量值,m表示所述候選關(guān)鍵詞的詞相似度矩陣,mt表示所述詞相似度矩陣的轉(zhuǎn)置,t表示計算的步數(shù),t的取值大于或等于1;
第二確定子單元,用于當所述第t步的特征向量值與所述第t-1步的特征向量值的范數(shù)小于所述pagerank算法的誤差容忍度時,所述第t步的特征向量值為所述候選關(guān)鍵詞的對應(yīng)的pagerank值。
可選的,所述獲取模塊,包括:
獲取單元,用于獲取待處理文本,并對所述待處理文本進行分詞,得到停用詞和指定詞性的詞,所述停用詞至少包括介詞、助詞、連詞、感嘆詞,所述指定詞性的詞至少包括名詞、動詞、形容詞;
處理單元,用于過濾掉所述停用詞,得到所述指定詞性的詞,所述指定詞性的詞為所述待處理文本對應(yīng)的候選關(guān)鍵詞。
可選的,所述詞向量是通過word2vec訓(xùn)練得到的。
本發(fā)明實施例提供的一種基于圖模型的關(guān)鍵詞提取方法及裝置,通過詞向量計算文本中詞與詞之間的相似度,并構(gòu)建相似度矩陣,使得提取到的關(guān)鍵詞在一定程度上反映了其在當前文本中的語義重要性。在構(gòu)建相似度矩陣時,詞與詞之間的相似度不是依靠詞與詞之間共現(xiàn),而是基于詞向量計算得到的,這樣,避免了關(guān)鍵詞提取過程中采用詞與詞之間共現(xiàn)導(dǎo)致的重復(fù)出現(xiàn)的詞加權(quán)過大的問題,也無需人為設(shè)定窗口的大小,通過語義相似度選擇出更符合文檔主題的關(guān)鍵詞,提高了關(guān)鍵詞提取的準確率。當然,實施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時達到以上所述的所有優(yōu)點。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有的基于圖模型的關(guān)鍵詞提取方法中的圖模型的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例提供的一種基于圖模型的關(guān)鍵詞提取方法的流程圖;
圖3為本發(fā)明實施例提供的一種基于圖模型的關(guān)鍵詞提取裝置的結(jié)構(gòu)圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
基于圖模型的關(guān)鍵詞提取方法是提取關(guān)鍵詞的一種有效的方法,其中,圖模型是一類用圖來表示概率分布的一類技術(shù)的總稱,一篇文本可以被映射為一個以詞語為節(jié)點、詞語之間的關(guān)聯(lián)關(guān)系為邊的網(wǎng)絡(luò)圖。如圖1所示,圖1為現(xiàn)有的基于圖模型的關(guān)鍵詞提取方法中的圖模型的結(jié)構(gòu)示意圖,圖1中的w1、w2、w3…w10、w11分別為候選關(guān)鍵詞,也是圖模型的節(jié)點,節(jié)點與節(jié)點之間的線構(gòu)成的邊表示各候選關(guān)鍵詞的關(guān)聯(lián)關(guān)系,線越粗表示邊的權(quán)重越大,即這個邊所連接的這兩個關(guān)鍵詞的關(guān)聯(lián)關(guān)系越大,本發(fā)明就是在這種圖模型的基礎(chǔ)上來提取關(guān)鍵詞。
參見圖2,圖2為本發(fā)明實施例提供的一種基于圖模型的關(guān)鍵詞提取方法的流程圖,包括如下步驟:
s201,獲取待處理文本,并對待處理文本進行分詞,得到待處理文本對應(yīng)的候選關(guān)鍵詞。
具體的,獲取待處理文本,先對獲取的待處理文本進行分詞,分詞的目的是將待處理文本按一定的根據(jù)一定的規(guī)則進行分詞處理,從而提取候選關(guān)鍵詞。中文因為自身常以詞語、短語、俗語等表現(xiàn)形式,因此中文分詞具有很大的不確定性。目前主要的分詞方法:基于字符串匹配的分詞方法,即機械分詞,算法成熟使用廣泛,其核心是通過郵件文本與詞典詞匯的匹配,實現(xiàn)分詞,關(guān)鍵在于使用詞典的完備程度;基于理解的分詞方法,即人工智能方法,分詞精度高,算法復(fù)雜;基于統(tǒng)計的分詞方法,優(yōu)勢在于識別未登錄詞和專有名詞,但訓(xùn)練文本量大。這些分詞方法都具有較高的分詞準確率和快速的分詞系統(tǒng)。這里,通過現(xiàn)有的分詞方法對待處理文本進行分詞,會自動過濾掉這些詞中介詞、助詞、連詞、感嘆詞等停用詞,保留名詞、動詞、形容詞等指定詞性的詞,并將指定詞性的詞作為候選關(guān)鍵詞。這樣,就得到了待處理文本對應(yīng)的候選關(guān)鍵詞了。
s202,在詞向量模型中查找候選關(guān)鍵詞對應(yīng)的詞向量,詞向量模型包括候選關(guān)鍵詞的詞向量。
通常,神經(jīng)網(wǎng)絡(luò)將詞表中的詞語作為輸入,輸出一個低維度的向量表示這個詞語,然后用反向傳播的方法不斷優(yōu)化參數(shù)。輸出的低維向量是神經(jīng)網(wǎng)絡(luò)第一層的參數(shù)。生成詞向量的神經(jīng)網(wǎng)絡(luò)模型分為兩種,一種是通過word2vec或glove(globalvectorsforwordrepresentation)等訓(xùn)練得到的詞向量模型,這類模型的目的就是生成詞向量,另一種是將詞向量作為副產(chǎn)品產(chǎn)生,兩者的區(qū)別在于計算量不同。兩種模型的另一個區(qū)別在于訓(xùn)練的目標不同:word2vec和glove的目的是訓(xùn)練可以表示語義關(guān)系的詞向量,它們能被用于后續(xù)的任務(wù)中;如果后續(xù)任務(wù)不需要用到語義關(guān)系,則按照此方式生成的詞向量并沒有什么用。另一種模型則根據(jù)特定任務(wù)需要訓(xùn)練詞向量。當然,若特定的任務(wù)就是對語言建模,那么兩種模型生成的詞向量非常相似了。
具體的,將自然語言理解的問題轉(zhuǎn)化為機器學(xué)習(xí)的問題,那么就先要找一種方法把這些符號數(shù)學(xué)化。而詞向量具有良好的語義特性,是表示詞語特征的常用方式。詞向量是多維實數(shù)向量,向量中包含了自然語言中的語義和語法關(guān)系。詞向量的每一維的值代表一個具有一定的語義和語法上解釋的特征。故可以將詞向量的每一維稱為一個詞語特征。詞向量用distributedrepresentation(分布式表示)來表示,一種低維實數(shù)向量。詞向量計算是通過訓(xùn)練的方法,將語言詞表中的詞映射成一個長度固定的向量。distributedrepresentation是一個稠密、低維的實數(shù)限量,它的每一維表示詞語的一個潛在特征,該特征捕獲了有用的句法和語義特征,其特點是將詞語的不同句法和語義特征分布到它的每一個維度上去表示。這里,采用低維空間表示法,不但解決了維數(shù)災(zāi)難問題,并且挖掘了詞之間的關(guān)聯(lián)屬性,通過計算詞向量之間的距離,便能得到兩個詞之間的相似度,從而提高了向量語義上的準確度。
詞向量模型中包括候選關(guān)鍵詞所對應(yīng)的詞向量,在詞向量模型中找出候選關(guān)鍵詞所對應(yīng)的詞向量,主要是為了計算候選關(guān)鍵詞之間的距離的大小,從而得到候選關(guān)鍵詞之間的相似度。本發(fā)明在現(xiàn)有的基于圖模型的關(guān)鍵詞提取方法中引入詞向量,通過詞向量計算候選關(guān)鍵詞之間的相似度,從而避免了現(xiàn)有方法中采用加窗的方式構(gòu)建詞與詞之間的相似度,且需要人為設(shè)定窗口大小,導(dǎo)致候選關(guān)鍵詞提取準確率不高的問題。
s203,根據(jù)詞向量構(gòu)建候選關(guān)鍵詞的詞相似度矩陣。
具體的,詞向量之間的余弦距離的大小代表了詞之間關(guān)系的遠近,即通過計算詞向量之間的余弦距離,得到候選關(guān)鍵詞之間的相似度。這里,得到的候選關(guān)鍵詞之間的相似度是用數(shù)值表示的,將這些數(shù)值構(gòu)成詞相似度矩陣中的元素。其中,矩陣為n階行列式。如表1所示,表中的a、b、c、d、e、f、g、h代表各候選關(guān)鍵詞所對應(yīng)的詞向量,表中的數(shù)值為詞向量之間的余弦距離,也就是候選關(guān)鍵詞之間的相似度的大小。
表1
則根據(jù)這些候選關(guān)鍵詞之間的相似度的大小,構(gòu)建候選關(guān)鍵詞的相似度矩陣,用m表示,即
s204,根據(jù)候選關(guān)鍵詞的詞相似度矩陣對候選關(guān)鍵詞進行排序,提取待處理文本的關(guān)鍵詞。
具體的,通過基于圖模型的關(guān)鍵詞提取方法中的關(guān)鍵詞排序算法,計算候選關(guān)鍵詞的詞相似度矩陣,得到候選關(guān)鍵詞對應(yīng)的排序算法值。然后根據(jù)排序算法值對候選關(guān)鍵詞進行排序。最后,選取排序靠前的候選關(guān)鍵詞作為待處理文本的關(guān)鍵詞。這里,根據(jù)實際需要選取排序靠前的候選關(guān)鍵詞的個數(shù)。
由此可見,本發(fā)明實施例提供的一種基于圖模型的關(guān)鍵詞提取方法,通過詞向量計算文本中詞與詞之間的相似度,并構(gòu)建相似度矩陣,使得提取到的關(guān)鍵詞在一定程度上反映了其在當前文本中的語義重要性。在構(gòu)建相似度矩陣時,詞與詞之間的相似度不是依靠詞與詞之間共現(xiàn),而是基于詞向量計算得到的,這樣,避免了關(guān)鍵詞提取過程中采用詞與詞之間共現(xiàn)導(dǎo)致的重復(fù)出現(xiàn)的詞加權(quán)過大的問題,也無需人為設(shè)定窗口的大小,通過語義相似度選擇出更符合文檔主題的關(guān)鍵詞,提高了關(guān)鍵詞提取的準確率。
在本發(fā)明一個可選的實施例中,根據(jù)詞向量構(gòu)建候選關(guān)鍵詞的詞相似度矩陣,包括:
根據(jù)公式:
計算候選關(guān)鍵詞之間對應(yīng)的詞向量夾角的余弦值,其中,θ表示候選關(guān)鍵詞之間的向量的夾角,x1k表示其中一個候選關(guān)鍵詞n維空間中對應(yīng)的向量的特征值,x2k表示其中另一個候選關(guān)鍵詞n維空間中對應(yīng)的向量的特征值,n表示向量空間的維度。
根據(jù)詞向量夾角的余弦值,構(gòu)建候選關(guān)鍵詞相似度矩陣。
具體的,通過計算詞向量之間的距離,來得到詞與詞之間的相似度。而詞向量之間的距離是通過詞向量之間的夾角的余弦值來計算的,因此,本發(fā)明通過計算候選關(guān)鍵詞之間對應(yīng)的詞向量夾角的余弦值,然后根據(jù)詞向量夾角的余弦值,構(gòu)建候選關(guān)鍵詞相似度矩陣。
候選關(guān)鍵詞之間對應(yīng)的詞向量夾角的余弦值是通過n維空間向量夾角余弦值計算公式得到的,在n維空間中,例如有兩個向量分別是向量a(x11,x12…x1n)與向量b(x21,x22…x2n),那么向量a和向量b的夾角的余弦值的計算公式為:
其中,θ表示向量a和向量b的夾角,x1k表示向量a對應(yīng)的特征值,x2k表示向量b對應(yīng)的特征值,n表示向量空間的維度
這里,在二維空間中,例如有兩個向量分別是向量a(x11,x12)與向量b(x21,x22),那么向量a和向量b的夾角的余弦值的計算公式為:
其中,θ表示向量a和向量b的夾角,x11和x12表示向量a對應(yīng)的特征值,x21和x22表示向量b對應(yīng)的特征值。
在三維空間中,例如有兩個向量分別是向量a(x11,x12,x13)、向量b(x21,x22,x23),那么向量a和向量b的夾角的余弦值的計算公式為:
其中,θ表示向量a和向量b的夾角,x11、x12和x13表示向量a對應(yīng)的特征值,x21、x22和x23表示向量b對應(yīng)的特征值。
對于更高維空間中的兩個向量之間的夾角的余弦值,在此不一一列舉,凡是符合n維空間向量夾角余弦值計算公式的,都屬于本發(fā)明保護的范圍。
在本發(fā)明實施例中,根據(jù)候選關(guān)鍵詞的詞相似度矩陣對候選關(guān)鍵詞進行排序,包括:
根據(jù)pagerank算法計算候選關(guān)鍵詞的詞相似度矩陣,得到候選關(guān)鍵詞的對應(yīng)的pagerank值;
具體的,pagerank(網(wǎng)頁排名)算法是google排名運算法則(排名公式)的一部分,是google用于用來標識網(wǎng)頁的等級/重要性的一種方法,是google用來衡量一個網(wǎng)站的好壞的唯一標準。本發(fā)明借助pagerank算法的原理對關(guān)鍵詞進行排序。通過pagerank算法計算候選關(guān)鍵詞的詞相似度矩陣,通過這種迭代回歸的算法,最終得到候選關(guān)鍵詞的對應(yīng)的pagerank值。
根據(jù)pagerank值對候選關(guān)鍵詞進行排序,得到候選關(guān)鍵詞的重要程度;
這里,候選關(guān)鍵詞的pagerank值最大,表明用戶搜索關(guān)鍵詞時,該關(guān)鍵詞為用戶最感興趣的關(guān)鍵詞,其他關(guān)鍵詞依次遞減,同時,候選關(guān)鍵詞的pagerank值最大,也說明候選關(guān)鍵詞越重要。例如,得到的候選關(guān)鍵詞的排序依次是b:1.47、h:1.41、e:1.39、a:1.30、f:1.14、g:1.12、d:1.09、c:1.08,說明候選關(guān)鍵詞b的最重要,其它候選關(guān)鍵詞的重要程度根據(jù)排序依次遞減。
根據(jù)重要程度,提取待處理文本的關(guān)鍵詞。
這里,根據(jù)實際所需,提取排序靠前(topn)的候選關(guān)鍵詞作為待處理文本的關(guān)鍵詞。
在本發(fā)明實施例中,根據(jù)pagerank算法計算候選關(guān)鍵詞的詞相似度矩陣,包括:
根據(jù)詞相似度矩陣的階數(shù)確定pagerank算法的初始值;
具體的,根據(jù)矩陣的大小n確定pagerank算法的初始值,即
具體的,根據(jù)公式
p1=mtp0
計算候選關(guān)鍵詞的初始特征向量值,其中,p1表示pagerank算法的初始特征向量值,p0表示pagerank算法的初始值,m表示候選關(guān)鍵詞的詞相似度矩陣,mt表示詞相似度矩陣的轉(zhuǎn)置。
根據(jù)公式:
pt=mtpt-1
計算候選關(guān)鍵詞的特征向量值,其中,在t=1時,則p1表示所述初始特征向量值,p0表示所述初始權(quán)重,pt表示詞相似度矩陣在第t步的特征向量值,pt-1表示詞相似度矩陣在第t-1步的特征向量值,m表示候選關(guān)鍵詞的詞相似度矩陣,mt表示詞相似度矩陣的轉(zhuǎn)置,t表示計算的步數(shù),t的取值大于或等于1;
具體的,pagerank算法是一種迭代回歸的算法,通過將候選關(guān)鍵詞的詞相似度矩陣反復(fù)迭代計算,得到最終的候選關(guān)鍵詞的對應(yīng)的pagerank值,這樣,使得提取到的關(guān)鍵的準確率更加精確。
當?shù)趖步的特征向量值與第t-1步的特征向量值的范數(shù)小于pagerank算法的誤差容忍度時,第t步的特征向量值為候選關(guān)鍵詞的對應(yīng)的pagerank值。
這里,由于向量的計算過程存在誤差,所以pagerank算法會預(yù)設(shè)一個誤差寬容度∈,當?shù)趖步的特征向量值與第t-1步的特征向量值的范數(shù)小于pagerank算法的誤差容忍度時,此時得到的候選關(guān)鍵詞所對應(yīng)的pagerank值是更加準確的,有利于提高關(guān)鍵詞的提取準確率。具體的算法如下:
具體的過程:
首先,pagerank算法通過輸入一個隨機的、不可約的、非周期的矩陣m,矩陣的大小n,誤差寬容度∈。這里,矩陣m是通過詞向量構(gòu)建的,即本發(fā)明中的詞相似度矩陣,矩陣的大小n即矩陣的階數(shù)。另外,由于向量的計算過程存在誤差,所以pagerank算法會預(yù)設(shè)一個誤差寬容度∈。
然后,pagerank算法通過以下步驟來計算候選關(guān)鍵詞的特征向量值:
第1步,根據(jù)矩陣的大小n確定pagerank算法的初始值,即
第2步,t=0,這里,t表示pagerank算法計算的步數(shù),那么t=0表示還沒有對相似度矩陣m進行計算。
第3步和第4步,根據(jù)t=t+1,開始重復(fù)不斷計算。
第5步,根據(jù)公式
pt=mtpt-1
計算詞相似度矩陣特征向量值,其中,pt表示詞相似度矩陣在第t步的特征向量值,pt-1表示詞相似度矩陣在第t-1步的特征向量值,m表示候選關(guān)鍵詞的詞相似度矩陣,t表示計算的步數(shù)。這里,由于pagerank算法是一個迭代回歸的算法,所以需要不斷對詞相似度矩陣m進行迭代計算,才能更加準確的得到詞相似度矩陣的特征向量值。
第6步,δ=||pt-pt-1||
第7步,untilδ<∈,這里直到詞相似度矩陣在第t步的特征向量值,與詞相似度矩陣在第t-1步的特征向量值的范數(shù)小于誤差寬容度∈,才停止計算。
第8步,returnpt,得到最終的詞相似度矩陣特征向量值。
最后,輸出特征向量p,即最終的詞相似度矩陣特征向量值pt。
在本發(fā)明實施例中,獲取待處理文本,并對待處理文本進行分詞,得到待處理文本對應(yīng)的候選關(guān)鍵詞,包括:
獲取待處理文本,并對待處理文本進行分詞,得到停用詞和指定詞性的詞,停用詞至少包括介詞、助詞、連詞、感嘆詞,指定詞性的詞至少包括名詞、動詞、形容詞。
具體的,獲取待處理文本進行分詞后的詞可以分為兩類:停用詞和指定詞性的詞。在信息檢索中,為節(jié)省存儲空間和提高搜索效率,在處理自然語言數(shù)據(jù)(或文本)之前或之后會自動過濾掉某些字或詞,這些字或詞即被稱為停用詞。過濾掉停用詞,得到指定詞性的詞,指定詞性的詞為待處理文本對應(yīng)的候選關(guān)鍵詞。其中,停用詞是指在文本中大量出現(xiàn),但對表征文本特征幾乎無用的詞,例如文本中的“我、的、然后、是、那么、另外”等這些虛詞對文本特征沒有任何作用。要過濾停用詞,首先要構(gòu)造停用詞表,主要是上下文提到的副詞、連詞、介詞、語氣助詞等。所以在中文分詞后,一定要過濾掉停用詞,這樣不僅能有效提高關(guān)鍵詞的密度,同時也會大大降低文本的維度,避免了“維度災(zāi)難”的出現(xiàn)。
在本發(fā)明實施例中,詞向量是通過word2vec訓(xùn)練,將詞表達成向量的形式。
具體的,word2vec是google在2013年年中開源的一款將詞表征為實數(shù)值向量的高效工具,其利用深度學(xué)習(xí)的思想,可以通過訓(xùn)練,把對文本內(nèi)容的處理簡化為k維向量空間中的向量運算,而向量空間上的相似度可以用來表示文本語義上的相似度。word2vec使用的是distributedrepresentation的詞向量表示方式。distributedrepresentation最早由hinton在1986年提出。其基本思想是通過訓(xùn)練將每個詞映射成k維實數(shù)向量(k一般為模型中的超參數(shù)),通過詞之間的距離(比如cosine相似度、歐氏距離等)來判斷它們之間的語義相似度。其采用一個三層的神經(jīng)網(wǎng)絡(luò),輸入層-隱層-輸出層。有個核心的技術(shù)是根據(jù)詞頻用huffman編碼,使得所有詞頻相似的詞隱藏層激活的內(nèi)容基本一致,出現(xiàn)頻率越高的詞語,他們激活的隱藏層數(shù)目越少,這樣有效的降低了計算的復(fù)雜度。word2vec算法基于深度學(xué)習(xí),通過模型訓(xùn)練,把對文本內(nèi)容的處理簡化為k維向量空間中的向量運算。通過向量空間上的相似度可以用來表示文本語義上的相似度,能夠?qū)⒃~向量轉(zhuǎn)化為向量,可以尋找同義詞。
通過本發(fā)明提出的一種基于圖模型的關(guān)鍵詞提取方法,與現(xiàn)有的關(guān)鍵詞的提取方法相比,取得了較好的效果。表2示出了本發(fā)明所提出的關(guān)鍵詞的提取方法得到的關(guān)鍵詞的排序,和現(xiàn)有的關(guān)鍵詞的提取方法所得到的關(guān)鍵詞的排序的對比。
表2
由表2可以得出,第1個和第2個文本屬于短文本,由于該文本中的每個候選關(guān)鍵詞只出現(xiàn)一次,因此每個候選關(guān)鍵詞成為關(guān)鍵詞被提取的概率是相同的,可見,通過現(xiàn)有的關(guān)鍵詞的提取方法,文本1和文本2無法準確的提取關(guān)鍵詞,而通過本發(fā)明提供的關(guān)鍵詞的提取方法可以得到各候選關(guān)鍵詞的排序,從而提取關(guān)鍵詞。第3個文本屬于長文本,文本中出現(xiàn)的各候選關(guān)鍵詞也重復(fù)出現(xiàn)在文本中,從結(jié)果可以看出,通過現(xiàn)有的關(guān)鍵詞的提取方法所得到的關(guān)鍵詞的排序中的“人氣,記者,媒體,留給,頗受”作為關(guān)鍵詞并沒有實際的意義,只是這些詞由于在文中重復(fù)出現(xiàn)的次數(shù)較多,而被作為候選關(guān)鍵詞;通過本發(fā)明所提出的關(guān)鍵詞的提取方法得到的關(guān)鍵詞的排序,使得關(guān)鍵詞的提取準確率更高。
參見圖3,圖3為本發(fā)明實施例提供的一種基于圖模型的關(guān)鍵詞提取裝置的結(jié)構(gòu)圖,該裝置包括如下模塊:
獲取模塊301,用于獲取待處理文本,并對待處理文本進行分詞,得到待處理文本對應(yīng)的候選關(guān)鍵詞;
查找模塊302,用于在詞向量模型中查找候選關(guān)鍵詞對應(yīng)的詞向量,詞向量模型包括候選關(guān)鍵詞的詞向量;
處理模塊303,用于根據(jù)詞向量構(gòu)建候選關(guān)鍵詞的詞相似度矩陣;
提取模塊304,用于根據(jù)候選關(guān)鍵詞的詞相似度矩陣對候選關(guān)鍵詞進行排序,提取待處理文本的關(guān)鍵詞。
進一步的,處理模塊303,包括:
第一計算單元,用于根據(jù)公式:
計算候選關(guān)鍵詞之間對應(yīng)的詞向量夾角的余弦值,其中,θ表示候選關(guān)鍵詞之間的向量的夾角,x1k表示其中一個候選關(guān)鍵詞n維空間中對應(yīng)的向量的特征值,x2k表示其中另一個候選關(guān)鍵詞n維空間中對應(yīng)的向量的特征值,n表示向量空間的維度;
構(gòu)建單元,用于根據(jù)詞向量夾角的余弦值,構(gòu)建候選關(guān)鍵詞相似度矩陣。
進一步的,提取模塊304,包括:
第二計算單元,用于根據(jù)pagerank算法計算候選關(guān)鍵詞的詞相似度矩陣,得到候選關(guān)鍵詞的對應(yīng)的pagerank值;
排序單元,用于根據(jù)pagerank值對候選關(guān)鍵詞進行排序,得到候選關(guān)鍵詞的重要程度;
提取單元,用于根據(jù)重要程度,提取待處理文本的關(guān)鍵詞。
進一步的,第二計算單元,包括:
第一確定子單元,用于根據(jù)詞相似度矩陣的階數(shù),確定pagerank算法的初始值;
第一計算子單元,用于根據(jù)初始值和詞相似度矩陣,計算候選關(guān)鍵詞的初始特征向量值;
第二計算子單元,用于根據(jù)公式:
pt=mtpt-1
計算候選關(guān)鍵詞的特征向量值,其中,在t=1時,則p1表示所述初始特征向量值,p0表示所述初始權(quán)重,pt表示詞相似度矩陣在第t步的特征向量值,pt-1表示詞相似度矩陣在第t-1步的特征向量值,m表示候選關(guān)鍵詞的詞相似度矩陣,mt表示詞相似度矩陣的轉(zhuǎn)置,t表示計算的步數(shù),t的取值大于或等于1;
第二確定子單元,用于當?shù)趖步的特征向量值與第t-1步的特征向量值的范數(shù)小于pagerank算法的誤差容忍度時,第t步的特征向量值為候選關(guān)鍵詞的對應(yīng)的pagerank值。
進一步的,獲取模塊301,包括:
獲取單元,用于獲取待處理文本,并對待處理文本進行分詞,得到停用詞和指定詞性的詞,停用詞至少包括介詞、助詞、連詞、感嘆詞,指定詞性的詞至少包括名詞、動詞、形容詞;
處理單元,用于過濾掉停用詞,得到指定詞性的詞,指定詞性的詞為待處理文本對應(yīng)的候選關(guān)鍵詞。
進一步的,詞向量是通過word2vec訓(xùn)練得到的。
由此可見,本發(fā)明實施例提供的一種基于圖模型的關(guān)鍵詞提取裝置,通過處理模塊的詞向量計算文本中詞與詞之間的相似度,并構(gòu)建相似度矩陣,使得提取到的關(guān)鍵詞在一定程度上反映了其在當前文本中的語義重要性。在構(gòu)建相似度矩陣時,詞與詞之間的相似度不是依靠詞與詞之間共現(xiàn),而是基于詞向量計算得到的,這樣,避免了關(guān)鍵詞提取過程中采用詞與詞之間共現(xiàn)導(dǎo)致的重復(fù)出現(xiàn)的詞加權(quán)過大的問題,也無需人為設(shè)定窗口的大小,通過語義相似度選擇出更符合文檔主題的關(guān)鍵詞,提高了關(guān)鍵詞提取的準確率。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。