本發(fā)明涉及一種關(guān)鍵詞的提取方法,具體涉及一種基于圖的關(guān)鍵詞抽取方法。
背景技術(shù):
關(guān)鍵詞(Key Word)是反映文本內(nèi)容特征的、起關(guān)鍵作用的詞,關(guān)鍵詞類型豐富,可以是普通名詞,也可以是人名、地名、書籍名等。關(guān)鍵詞抽取常見(jiàn)方法有:監(jiān)督式學(xué)習(xí)模型和無(wú)監(jiān)督式學(xué)習(xí)模型兩大類。
早期的基于監(jiān)督式學(xué)習(xí)的關(guān)鍵詞抽取方法的主要任務(wù)是訓(xùn)練一個(gè)分類器判斷候選詞是否為關(guān)鍵詞,基于這種思想的關(guān)鍵詞抽取方法有:樸素貝葉斯(Naive Bayes)、決策樹(shù)(decision trees)、Boosting算法、最大熵(Maximum Entropy)、支持向量機(jī)(support vector machines)等等。使用這些方法僅能得到關(guān)鍵詞候選列表,其中的關(guān)鍵詞都是同等重要的,但是事實(shí)上,不同的關(guān)鍵詞具有不同的重要性(即權(quán)重),關(guān)鍵詞抽取需要對(duì)關(guān)鍵詞按重要程度進(jìn)行排序,而不是僅僅給出關(guān)鍵詞的列表,因此人們提出了一種基于排序機(jī)制的關(guān)鍵詞抽取方法,該機(jī)制的核心是為候選關(guān)鍵詞設(shè)計(jì)排序器,其基本思想是首先基于詞匯識(shí)別候選關(guān)鍵詞,計(jì)算每個(gè)候選關(guān)鍵詞的特征值,然后根據(jù)機(jī)器學(xué)習(xí)方法預(yù)測(cè)哪些候選詞是好的關(guān)鍵詞,該方法在后來(lái)的基于監(jiān)督式學(xué)習(xí)的關(guān)鍵詞抽取研究中取得了不錯(cuò)的效果?;诒O(jiān)督式學(xué)習(xí)的關(guān)鍵詞抽取的缺點(diǎn)是需要大量、高質(zhì)量的標(biāo)注語(yǔ)料,而標(biāo)注語(yǔ)料需要大量的時(shí)間、人力和資金成本。
基于無(wú)監(jiān)督學(xué)習(xí)的關(guān)鍵詞抽取不需要標(biāo)注語(yǔ)料,是當(dāng)前主流的關(guān)鍵詞抽取方法。目前基于無(wú)監(jiān)督式學(xué)習(xí)的關(guān)鍵詞抽取方法可以分為四大類:基于圖排序、主題聚類、聯(lián)合學(xué)習(xí)、語(yǔ)言模型。
基于圖排序的關(guān)鍵詞抽取:關(guān)鍵詞抽取的核心是尋找文檔中重要的詞或者短語(yǔ),通常而言,一個(gè)候選詞重要性不僅與它的出現(xiàn)次數(shù)有關(guān),還和它與文檔中其他詞的關(guān)系有關(guān)?;趫D排序的關(guān)鍵詞抽取的基本思想是:基于文本構(gòu)建圖,其中,節(jié)點(diǎn)(Node)是候選詞,節(jié)點(diǎn)之間的邊連接兩個(gè)的候選詞,通過(guò)節(jié)點(diǎn)權(quán)重或者邊權(quán)重可以反映候選詞的重要程度。通過(guò)圖排序可以在沒(méi)有標(biāo)注語(yǔ)料的情況下得到候選詞的權(quán)重排序表,可以選取排名靠前的N個(gè)詞作為該文本的關(guān)鍵詞。
基于主題聚類的關(guān)鍵詞抽取:由于關(guān)鍵詞通常與主題相關(guān),因此一些研究者基于主題聚類研究關(guān)鍵詞抽取方法,Grineva提出了基于CommunityCluter的關(guān)鍵詞抽取方法,劉致遠(yuǎn)基于主題聚類原理提出了基于KeyCluster方法的關(guān)鍵詞抽取方法以及基于Topical PagRank(TPR)的關(guān)鍵詞抽取方法。
基于聯(lián)合學(xué)習(xí)的關(guān)鍵詞抽取:由于關(guān)鍵詞能夠反映文檔的概要,所以有些研究者假定關(guān)鍵詞抽取和自動(dòng)文摘能夠從對(duì)方獲取更多信息,Zha提出了第一個(gè)基于圖的能夠同時(shí)進(jìn)行自動(dòng)文摘和關(guān)鍵詞抽取的方法,Wan對(duì)Zha的工作進(jìn)行了擴(kuò)展,構(gòu)建了三個(gè)圖來(lái)獲取句子(S)和詞(W)之間的關(guān)系(三個(gè)圖分別是S-S圖、S-W圖、W-W圖),進(jìn)而同時(shí)獲得關(guān)鍵詞和文檔摘要。
基于語(yǔ)言模型的關(guān)鍵詞抽取:之前的方法在關(guān)鍵詞抽取/排序之前通過(guò)一些基于語(yǔ)言模型的方法抽取了候選關(guān)鍵詞,Tomokiyo和Hurst提出了融合這兩個(gè)步驟的方法,該方法基于短語(yǔ)性(Phraseness)和信息性(Informativeness)對(duì)候選關(guān)鍵詞打分,通過(guò)前景語(yǔ)料庫(kù)(Foreground corpus)和背景語(yǔ)料庫(kù)(Background corpus)訓(xùn)練的語(yǔ)言模型估計(jì)短語(yǔ)性和信息性這兩個(gè)特征值,進(jìn)而得到文本的詞的分值,最終選取高分值的詞作為關(guān)鍵詞。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于圖的關(guān)鍵詞抽取方法,不需要標(biāo)注語(yǔ)料,而且可以通過(guò)對(duì)TextRank算法基于候選詞特征增加節(jié)點(diǎn)權(quán)重、基于詞匯語(yǔ)義關(guān)系改進(jìn)邊權(quán)重可以以較低成本提高關(guān)鍵詞抽取的準(zhǔn)確率。
為了實(shí)現(xiàn)上述目的,發(fā)明提供了一種基于圖的關(guān)鍵詞抽取方法,該方法包括以下步驟:
對(duì)文本信息進(jìn)行預(yù)處理,預(yù)處理包括分詞處理、詞性標(biāo)注處理和命名實(shí)體識(shí)別處理;
計(jì)算節(jié)點(diǎn)特征,以及計(jì)算詞匯的統(tǒng)計(jì)關(guān)系和詞匯的語(yǔ)義關(guān)系;節(jié)點(diǎn)特征包括:節(jié)點(diǎn)的統(tǒng)計(jì)特征、位置特性、詞性特征和實(shí)體特征;
根據(jù)節(jié)點(diǎn)特征計(jì)算節(jié)點(diǎn)權(quán)重,以及根據(jù)詞匯的統(tǒng)計(jì)關(guān)系和詞匯的語(yǔ)義關(guān)系計(jì)算邊權(quán)重;
根據(jù)節(jié)點(diǎn)權(quán)重和邊權(quán)重計(jì)算候選詞的分值;
根據(jù)候選詞的分值排序結(jié)果以及文本大小信息確定該文本的關(guān)鍵詞。
優(yōu)選地,在對(duì)文本信息進(jìn)行預(yù)處理步驟之后,以及在計(jì)算節(jié)點(diǎn)特征步驟之前,還包括去停用詞步驟。
本發(fā)明提供的一種基于圖的關(guān)鍵詞抽取方法,不需要標(biāo)注語(yǔ)料,而且可以通過(guò)對(duì)TextRank算法基于候選詞特征增加節(jié)點(diǎn)權(quán)重、基于詞匯語(yǔ)義關(guān)系改進(jìn)邊權(quán)重可以以較低成本提高關(guān)鍵詞抽取的準(zhǔn)確率。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例提供的基于圖的關(guān)鍵詞提取方法的Textrank原理圖;
圖2為本發(fā)明實(shí)施例提供的基于圖的關(guān)鍵詞提取方法流程圖。
具體實(shí)施方式
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步的詳細(xì)描述。
圖1為本發(fā)明實(shí)施例提供的基于圖的關(guān)鍵詞提取方法的Textrank原理圖。
如圖1所示,其中:節(jié)點(diǎn)表示詞,邊表示詞與詞之間的關(guān)系。對(duì)于基于圖的關(guān)鍵詞抽取方法而言,一個(gè)節(jié)點(diǎn)(詞)的重要程度取決于連接到它的節(jié)點(diǎn)(詞)投給它的票數(shù)。
將文本表示為一個(gè)加權(quán)有向圖G=(V,E),其中,由點(diǎn)集合V和邊集合E組成,E是V*V的子集。給圖中的節(jié)點(diǎn)指定任意相同的初值,然后由公式1遞歸計(jì)算每個(gè)節(jié)點(diǎn)的分?jǐn)?shù)到某個(gè)詞語(yǔ)分?jǐn)?shù)收斂,收斂后每個(gè)節(jié)點(diǎn)獲得一個(gè)分?jǐn)?shù),代表該節(jié)點(diǎn)在圖中的重要性,公式1是基于TextRank的候選詞打分機(jī)制。
其中,wij表示兩節(jié)點(diǎn)Vi和Vj之間邊的權(quán)重;d為阻尼系數(shù),取值范圍為0到1,代表從圖中某一特定點(diǎn)指向任意隨機(jī)節(jié)點(diǎn)的概率,通常取值為0.85;Vj是距離Vi在窗口L中出現(xiàn)的詞。
對(duì)于一個(gè)給定的節(jié)點(diǎn)Vi,In(Vi)為指向該點(diǎn)的點(diǎn)集合,Out(Vi)為點(diǎn)Vi指向的點(diǎn)集合。可見(jiàn):是在窗口L內(nèi),Vi與Vj兩個(gè)節(jié)點(diǎn)之間的邊的權(quán)重,因此,公式(1)可以改寫為公式(2)的形式,
Score(Vi)=(1-d)+d*EdgeJT(Vi,Vj)*Score(Vj) (2)
其中,EdgeTJ(Vi,Vj)為Vi與Vj兩個(gè)節(jié)點(diǎn)在窗口L內(nèi)的詞匯統(tǒng)計(jì)關(guān)系。
將Vi稱為被打分詞、將Vj稱為打分詞,由公式2可見(jiàn):對(duì)TextRank算法而言,被打分詞的分值僅僅來(lái)源于與它相鄰詞的統(tǒng)計(jì)關(guān)系。
圖2為本發(fā)明實(shí)施例提供的基于圖的關(guān)鍵詞提取方法流程圖。
如圖2所示,該方法的實(shí)現(xiàn)包括步驟101-105。
步驟101,對(duì)文本信息進(jìn)行預(yù)處理,預(yù)處理包括分詞處理、詞性標(biāo)注處理和命名實(shí)體識(shí)別處理;
步驟102,計(jì)算節(jié)點(diǎn)特征,以及計(jì)算詞匯的統(tǒng)計(jì)關(guān)系和詞匯的語(yǔ)義關(guān)系;節(jié)點(diǎn)特征包括:節(jié)點(diǎn)的統(tǒng)計(jì)特征、位置特性、詞性特征和實(shí)體特征;其中,實(shí)體特征包括實(shí)體類型特征和命名實(shí)體鏈接特征。
根據(jù)節(jié)點(diǎn)的統(tǒng)計(jì)特征、位置特性、詞性特征和實(shí)體特征判斷一個(gè)詞是否為關(guān)鍵詞;
通過(guò)公式(3)計(jì)算基于TF*IDF的候選詞統(tǒng)計(jì)特征:
Feature1(Vi)=TF(Vi)*IDF(Vi) (3)
Feature1(Vi)=TFi,j*IDFi
其中,詞頻(Term Frequency,TF)指的是某一個(gè)給定的詞語(yǔ)在該文件中出現(xiàn)的次數(shù),ni,j是詞Vi在文件j中的出現(xiàn)次數(shù),而分母則是在文件j中所有字詞的出現(xiàn)次數(shù)之和。
IDF(Inverse Document Frequency,IDF)是反文檔頻率,|D|是語(yǔ)料庫(kù)中文檔的總數(shù),|j:{Vi∈dj}|是包含Vi的文檔數(shù);
通過(guò)公式(4)計(jì)算候選詞的位置特征:
通過(guò)公式(5)計(jì)算候選詞的詞性特征:
通過(guò)公式(6)計(jì)算候選詞的實(shí)體類型特征:
通過(guò)公式(7)計(jì)算候選詞的實(shí)體特性:
計(jì)算詞匯的統(tǒng)計(jì)關(guān)系和詞匯的語(yǔ)義關(guān)系:
通過(guò)公式(8)計(jì)算詞匯統(tǒng)計(jì)關(guān)系STJ(Vi,Vj):
其中,k為詞Vi和Vj共現(xiàn)的窗口個(gè)數(shù),L為窗口大小。
通過(guò)公式(9)計(jì)算詞匯的語(yǔ)義關(guān)系SYY(Vi,Vj):
其中:βi(1≤i≤4)是可調(diào)節(jié)的參數(shù),且有:β1+β2+β3+β4=1;
Sim1(Vi,Vj)為第一獨(dú)立義原描述式,即兩個(gè)義原的相似度,計(jì)算公式如下:
其中,Vi和Vj表示兩個(gè)義原,d是Vi和Vj在義原層次體系中的路徑長(zhǎng)度,是一個(gè)正整數(shù)。α是一個(gè)可調(diào)節(jié)的參數(shù);
Sim2(Vi,Vj)為其他獨(dú)立義原描述式(除第一獨(dú)立義原以外的所有其他獨(dú)立義原),計(jì)算方法是,先把兩個(gè)表達(dá)式的所有獨(dú)立義原(第一個(gè)除外)任意配對(duì),計(jì)算出所有可能的配對(duì)的義原相似度;取相似度最大的一對(duì),并將它們歸為一組;在剩下的獨(dú)立義原的配對(duì)相似度中,取最大的一對(duì),并歸為一組,如此反復(fù),直到所有獨(dú)立義原都完成分組。
Sim3(Vi,Vj)為關(guān)系義原描述式(語(yǔ)義表達(dá)式中所有的用關(guān)系義原描述式),把關(guān)系義原相同的描述式分為一組,并計(jì)算其相似度。
Sim4(Vi,Vj)為符號(hào)義原描述式(語(yǔ)義表達(dá)式中所有的用符號(hào)義原描述式),符號(hào)義原描述式的配對(duì)分組與關(guān)系義原描述式類似,我們把關(guān)系符號(hào)相同的描述式分為一組,并計(jì)算其相似度。
步驟103,根據(jù)節(jié)點(diǎn)特征計(jì)算節(jié)點(diǎn)權(quán)重,以及根據(jù)詞匯的統(tǒng)計(jì)關(guān)系和詞匯的語(yǔ)義關(guān)系計(jì)算邊權(quán)重。
通過(guò)公式(13)計(jì)算節(jié)點(diǎn)權(quán)重:
其中,F(xiàn)eaturei為被打分詞的特征,αki為被打分詞Vi的第k個(gè)特征的系數(shù),即不同的特征對(duì)被打分詞的分值計(jì)算的貢獻(xiàn)是不同的,F(xiàn)eaturek(Vi)∈[0,1.1]。
通過(guò)公式(12)計(jì)算邊的權(quán)重:
其中,β決定計(jì)算邊權(quán)重時(shí),側(cè)重詞匯統(tǒng)計(jì)關(guān)系STJ(Vi,Vj),或者詞匯語(yǔ)義關(guān)系SYY(Vi,Vj),β可以設(shè)定為1、2或者1/2,β=1時(shí)則視二者一樣重要。
步驟104,根據(jù)節(jié)點(diǎn)權(quán)重和邊的權(quán)重計(jì)算候選詞的分值;
通過(guò)公式(13)計(jì)算候選詞的分值:
Score(Vi)=(1-d)*Node(Vi)+d*Node(Vi)*Edge(STJ(Vi,Vj),
SYY(Vi,Vj))*Score(Vj) (13)
其中,Node(Vi)是被打分詞的權(quán)重,Edge(STJ(Vi,Vj),SYY(Vi,Vj))是被打分詞和被打分詞之間的邊權(quán)重,它由兩部分構(gòu)成:STJ(Vi,Vj)是Vi與相鄰詞Vj在窗口L中的統(tǒng)計(jì)關(guān)系,SYY(Vi,Vj)是Vi與Vj的語(yǔ)義關(guān)系。
步驟105,根據(jù)候選詞的分值排序結(jié)果以及文本大小信息確定該文本的關(guān)鍵詞。
根據(jù)候選詞的分值排序結(jié)果以及文本大小抽取Top N個(gè)分值最高的詞作為該文本的關(guān)鍵詞。
優(yōu)選地,在對(duì)文本信息進(jìn)行預(yù)處理步驟之后,以及在計(jì)算節(jié)點(diǎn)特征步驟之前,還包括去停用詞步驟。
本發(fā)明實(shí)施例提供的一種基于圖的關(guān)鍵詞抽取方法,不需要標(biāo)注語(yǔ)料,而且可以通過(guò)對(duì)TextRank算法基于候選詞特征增加節(jié)點(diǎn)權(quán)重、基于詞匯語(yǔ)義關(guān)系改進(jìn)邊權(quán)重可以以較低成本提高關(guān)鍵詞抽取的準(zhǔn)確率。
以上所述的具體實(shí)施方式,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。