劉晨暉,張德生,胡 鋼
西安理工大學(xué) 理學(xué)院,西安 710054
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,中國(guó)整體的網(wǎng)絡(luò)使用量也呈指數(shù)形式的增長(zhǎng)。迄今為止,我國(guó)現(xiàn)有常駐網(wǎng)民數(shù)量已達(dá)到7億。隨著時(shí)間的推移,這個(gè)數(shù)量仍呈現(xiàn)直線攀升的趨勢(shì)。而大規(guī)模的網(wǎng)民數(shù)量和日益成熟的網(wǎng)絡(luò)技術(shù)將帶來(lái)大量的網(wǎng)絡(luò)信息。而在這些信息中,文本信息是最原始有效的數(shù)據(jù)表現(xiàn)形式,因此隨著大數(shù)據(jù)時(shí)代的來(lái)臨,文本挖掘[1]作為數(shù)據(jù)挖掘一項(xiàng)極為重要的研究領(lǐng)域被一些學(xué)者所提出。本文所研究的文本關(guān)鍵短語(yǔ)提取技術(shù)[2]則是文本挖掘工作的一項(xiàng)基礎(chǔ)性?xún)?nèi)容。
文本關(guān)鍵短語(yǔ)提取技術(shù)是基于語(yǔ)言學(xué)、認(rèn)知科學(xué)、心理學(xué)、社會(huì)學(xué)和統(tǒng)計(jì)學(xué)等相關(guān)知識(shí),挖掘多個(gè)詞語(yǔ)或短語(yǔ),來(lái)良好地刻畫(huà)文章、文檔或某類(lèi)主題的文本關(guān)鍵信息提取技術(shù)[3-4]。傳統(tǒng)的關(guān)鍵短語(yǔ)提取技術(shù)[4-5]所提取的關(guān)鍵短語(yǔ)準(zhǔn)確率較低,短語(yǔ)歧義性強(qiáng),并且承載信息量較少,因而無(wú)法很好地刻畫(huà)文章的主旨信息。
基于以上問(wèn)題,本文在英文關(guān)鍵短語(yǔ)提取算法TAKE(Totally Automated Keyword Extraction)[6]的基礎(chǔ)上,加入適合中文文本的中文分詞器和新詞識(shí)別算法,并改進(jìn)原有算法的詞語(yǔ)過(guò)濾和特征計(jì)算方法,提出一種改進(jìn)的TAKE算法(簡(jiǎn)稱(chēng)本文算法)。
文本關(guān)鍵短語(yǔ)提取技術(shù)的研究最早開(kāi)始于美國(guó),IBM 公司的Luhn[7]提出了基于詞頻統(tǒng)計(jì)的文獻(xiàn)自動(dòng)標(biāo)引方法,這也標(biāo)志著關(guān)鍵短語(yǔ)自動(dòng)抽取研究與應(yīng)用的開(kāi)始。之后,Edmundson在前人的理論基礎(chǔ)上真正意義上設(shè)計(jì)實(shí)現(xiàn)了最早的關(guān)鍵短語(yǔ)自動(dòng)抽取系統(tǒng)。而后,許多研究人員加入到相應(yīng)領(lǐng)域的研究中,形成了基于規(guī)則、基于語(yǔ)義、基于統(tǒng)計(jì)、基于主題等多個(gè)技術(shù)體系。
基于規(guī)則[4]就是基于機(jī)器學(xué)習(xí)等相關(guān)計(jì)算機(jī)知識(shí)建立規(guī)則來(lái)提取關(guān)鍵短語(yǔ)。早期有非常經(jīng)典的KEA[8]系統(tǒng)。KEA 是利用有監(jiān)督的機(jī)器學(xué)習(xí)方法,在訓(xùn)練模型中引入候選詞特征值的概念來(lái)建立較為精確的模型。隨后,Tomokiyo等[9]提取關(guān)鍵詞的方法則是基于信息論中KL 散度來(lái)對(duì)候選詞進(jìn)行排名,提取關(guān)鍵短語(yǔ)。發(fā)展至今,相對(duì)主流的方法則是基于網(wǎng)絡(luò)圖的TextRank[10]方法。
基于語(yǔ)義[11]就是通過(guò)語(yǔ)法剖析句子結(jié)構(gòu),通過(guò)計(jì)算機(jī)學(xué)習(xí)人類(lèi)理解句子的方式來(lái)提取文章關(guān)鍵主旨,但這少不了外界知識(shí)庫(kù)、語(yǔ)義詞典作為相關(guān)訓(xùn)練集。Ercan等[12]所提出基于詞匯鏈進(jìn)行語(yǔ)義分析和索紅光等[13]利用“知網(wǎng)”構(gòu)建詞匯鏈提取關(guān)鍵詞都在基于語(yǔ)義的關(guān)鍵短語(yǔ)提取上有所突破。當(dāng)然,單純使用基于語(yǔ)義的方式也存在著很大的缺陷,這主要源于它過(guò)于依賴(lài)原有的外界知識(shí),可能造成模型產(chǎn)生過(guò)擬合且移植性較差。
基于統(tǒng)計(jì)就是通過(guò)統(tǒng)計(jì)學(xué)相關(guān)知識(shí)建立統(tǒng)計(jì)量來(lái)合理量化短語(yǔ)的各個(gè)特征,并通過(guò)量化結(jié)果進(jìn)行排序,提取關(guān)鍵短語(yǔ)。Salton 等最早提出了相對(duì)成熟的基于統(tǒng)計(jì)的關(guān)鍵短語(yǔ)提取算法TF-IDF(Term Frequency-Inverse Document Frequency)[14],該方法通過(guò)詞頻和逆文檔頻率來(lái)構(gòu)造統(tǒng)計(jì)量刻畫(huà)短語(yǔ)的關(guān)鍵程度。但這樣只考慮頻率來(lái)定義統(tǒng)計(jì)量過(guò)于粗糙,將造成很多不能代表文章的低頻短語(yǔ)或詞語(yǔ)被提取出來(lái)。近年來(lái),如文獻(xiàn)[15-17]等許多文章比較成功地將TF-IDF進(jìn)行改進(jìn)并應(yīng)用到中文關(guān)鍵短語(yǔ)挖掘當(dāng)中。但這些改進(jìn)方法大都針對(duì)于某些特定領(lǐng)域的中文語(yǔ)料,由于特定領(lǐng)域的中文語(yǔ)料本身攜帶有一定的先驗(yàn)知識(shí),此類(lèi)文章多數(shù)通過(guò)先驗(yàn)知識(shí)訓(xùn)練機(jī)器學(xué)習(xí)模型再與TF-IDF 相融合,或依據(jù)先驗(yàn)知識(shí)在原有TF-IDF統(tǒng)計(jì)量中加入量化的短語(yǔ)特征來(lái)完成改進(jìn)。少部分不限制語(yǔ)料領(lǐng)域范圍的文章在沒(méi)有先驗(yàn)知識(shí)的情況下,都是通過(guò)無(wú)監(jiān)督的機(jī)器學(xué)習(xí)融合TF-IDF 進(jìn)行算法改進(jìn),它們的主要缺點(diǎn)在于精確率較低且算法的時(shí)間成本較高??傮w上看,目前國(guó)內(nèi)現(xiàn)有的TF-IDF 改進(jìn)算法缺少大規(guī)模的用戶(hù)使用檢測(cè),僅通過(guò)論文中的小規(guī)模數(shù)據(jù)無(wú)法真正意義地說(shuō)明相關(guān)算法的實(shí)用性與穩(wěn)定性。因此國(guó)內(nèi)外大多數(shù)論文仍沿用經(jīng)典的TF-IDF算法作為相關(guān)實(shí)驗(yàn)的對(duì)比算法。
隨后,Blei等[18]提出的LDA(Latent Dirichlet Allocation)關(guān)鍵短語(yǔ)提取算法認(rèn)為詞語(yǔ)、主題、文章之間都存在有一定概率分布,一篇文章由隨機(jī)的主題組成,而主題則由隨機(jī)的詞語(yǔ)構(gòu)成,通過(guò)先后驗(yàn)概率模型對(duì)每個(gè)短語(yǔ)建立得分統(tǒng)計(jì)量進(jìn)行短語(yǔ)排名來(lái)提取關(guān)鍵短語(yǔ)。這也開(kāi)創(chuàng)了基于主題的中文關(guān)鍵短語(yǔ)提取技術(shù)的先河。而后,關(guān)于LDA 算法結(jié)構(gòu)改進(jìn)且無(wú)文本領(lǐng)域限制的相關(guān)論文較少,如文獻(xiàn)[19]都是基于微博、短文本等特定文本領(lǐng)域的LDA算法改進(jìn)。此后大多數(shù)相關(guān)論文都是對(duì)于LDA 算法的實(shí)際應(yīng)用。從2012 年至今,LDA算法被廣泛應(yīng)用于分類(lèi)器、文本聚類(lèi)、模式識(shí)別、語(yǔ)義情感分析等相關(guān)領(lǐng)域的研究當(dāng)中。因此LDA至今仍被作為一個(gè)經(jīng)典的關(guān)鍵短語(yǔ)提取算法參與到相關(guān)領(lǐng)域論文的對(duì)比實(shí)驗(yàn)當(dāng)中。
隨著時(shí)間的推移,單純基于某一方面的關(guān)鍵短語(yǔ)自動(dòng)提取算法已經(jīng)成為了歷史,取而代之的是基于多領(lǐng)域融合的關(guān)鍵短語(yǔ)自動(dòng)提取技術(shù)。在IEEE大數(shù)據(jù)國(guó)際會(huì)議上Pay 提出的TAKE[6]算法就是近年來(lái)比較完善的英文關(guān)鍵短語(yǔ)提取技術(shù)。他在文獻(xiàn)[20]的基礎(chǔ)上通過(guò)加入詞語(yǔ)詞性、詞語(yǔ)位置、停詞約束等多項(xiàng)特征而提出了一種英文關(guān)鍵短語(yǔ)自動(dòng)提取算法。本文算法也是在該算法的基礎(chǔ)上改進(jìn)并應(yīng)用于中文文本當(dāng)中。
本文將TAKE 算法完整步驟整理到圖1 的框架圖中。其中:候選提取是從文本語(yǔ)料中提取候選關(guān)鍵單詞或短語(yǔ)集合;詞語(yǔ)過(guò)濾是通過(guò)單詞在文中的詞性、位置等特征,從候選關(guān)鍵詞中篩選出更有可能是關(guān)鍵詞的詞匯;特征計(jì)算是通過(guò)頻率、度等特征,建立統(tǒng)計(jì)量對(duì)過(guò)濾后的候選關(guān)鍵詞進(jìn)行量化排名;閾值函數(shù)是設(shè)定一定的閾值,從量化排名的結(jié)果中提取得分超過(guò)閾值的關(guān)鍵詞或短語(yǔ)作為文章關(guān)鍵短語(yǔ)。
圖1 TAKE算法的整體框架
候選提取就是將原始語(yǔ)料構(gòu)建成候選詞語(yǔ)集的過(guò)程。由于TAKE算法針對(duì)英文文本,因此原文通過(guò)標(biāo)點(diǎn)符號(hào)將文本分割成語(yǔ)句,再通過(guò)空格將語(yǔ)句分割成單詞,最終將所有單詞構(gòu)建成候選關(guān)鍵詞語(yǔ)集合。
詞語(yǔ)過(guò)濾是通過(guò)詞語(yǔ)詞性、位置以及是否為停用詞(無(wú)具體實(shí)際意義的常用詞匯)來(lái)重構(gòu)候選關(guān)鍵短語(yǔ)集合。原文首先對(duì)所有候選單詞進(jìn)行詞性標(biāo)注,然后找出詞語(yǔ)中的停用詞,將相鄰兩個(gè)停用詞之間的所有單詞按原文順序組合成候選短語(yǔ)放入候選短語(yǔ)集中。接下來(lái)TAKE 認(rèn)為英文中含有意義的短語(yǔ)一定是多個(gè)形容詞加名詞的詞性組合方式,因此去掉所有不屬于上述組合方式的短語(yǔ)。最后原文認(rèn)為短語(yǔ)出現(xiàn)頻率不大于1,并且不出現(xiàn)在文章首尾10%以及標(biāo)題中的短語(yǔ)極大可能性不是關(guān)鍵短語(yǔ),因此原文刪除這些不符合上述條件的候選短語(yǔ)。
特征計(jì)算是通過(guò)單詞頻數(shù)和度的量化指標(biāo)建立統(tǒng)計(jì)量排序候選短語(yǔ)集中所有短語(yǔ)的過(guò)程。其中一個(gè)單詞的頻數(shù)是計(jì)算候選短語(yǔ)集中該單詞獨(dú)立出現(xiàn)的次數(shù),度是單詞在候選集中總共出現(xiàn)的次數(shù)(包括該單詞涵蓋在某個(gè)短語(yǔ)內(nèi))。接下來(lái)原文將度和頻數(shù)的比值作為該單詞的最后得分,如果短語(yǔ)是由多個(gè)單詞構(gòu)成,那么短語(yǔ)的得分將是組成它所有單詞的得分總和。
閾值函數(shù)就是通過(guò)某個(gè)標(biāo)準(zhǔn)定義一個(gè)閾值,讓候選短語(yǔ)集中的所有得分大于閾值的短語(yǔ)作為文章關(guān)鍵短語(yǔ)。原文的閾值定義標(biāo)準(zhǔn)有很多,最終主要由實(shí)際情況而定,比如取候選集中得分的平均值或眾數(shù)作為閾值,當(dāng)然也可以規(guī)定取得分前幾名作為閾值。至此便完成TAKE算法的最后一步。
下面給出兩個(gè)定義,方便解釋本文算法。
定義1 詞語(yǔ)在漢語(yǔ)中的定義非常含糊,不同于英文文本,中文字、詞、短語(yǔ)之間的界限很難有一個(gè)統(tǒng)一完整的定義。因此本文將分詞后的每一個(gè)最小單元稱(chēng)為詞語(yǔ),如“數(shù)據(jù)”“挖掘”“是”“有”“必要”“的”都可以稱(chēng)為詞語(yǔ)。
定義2 本文將中文短語(yǔ)定義為詞語(yǔ)(定義1)的有序組合,如“數(shù)據(jù)挖掘”“有必要的”。
將本文算法的整體流程整理到圖2 的框架圖中。其中文本分詞是因?yàn)楸疚闹饕槍?duì)中文文本,所以要在原文的基礎(chǔ)上加入中文分詞系統(tǒng);新詞識(shí)別主要因?yàn)橹形脑~語(yǔ)概念含糊并且結(jié)構(gòu)復(fù)雜多樣,所以有必要在原文的基礎(chǔ)上加入新詞識(shí)別方法重構(gòu)分詞結(jié)果;詞語(yǔ)合并與原算法的候選提取類(lèi)似;特征融合是在TAKE的詞語(yǔ)過(guò)濾和特征計(jì)算的基礎(chǔ)上加入更多約束條件改進(jìn)完成的。
圖2 本文算法整體框架
因?yàn)門(mén)AKE是針對(duì)英文文本而言,所以分詞過(guò)程只需要借助天然的空格即可分割單詞。而中文文本由于語(yǔ)言特征等一系列原因,導(dǎo)致分詞過(guò)程處理起來(lái)十分復(fù)雜,因此本文加入了jieba分詞器作為本文的分詞工具,并將分割好的詞匯通過(guò)已有的詞匯庫(kù)標(biāo)注詞語(yǔ)詞性,詞匯庫(kù)未命中詞匯按名詞屬性標(biāo)注。
本文的新詞(本文指未被傳統(tǒng)詞匯庫(kù)羅列的詞匯)識(shí)別采用基于多領(lǐng)域特異性的新詞識(shí)別算法。由于中文新詞通常只流行于某些領(lǐng)域,傳統(tǒng)的中文詞語(yǔ)庫(kù)不會(huì)羅列相關(guān)詞語(yǔ),因此它們常會(huì)被分詞系統(tǒng)錯(cuò)誤分割為不正確的詞語(yǔ),如“給/力”“高/富/帥”“數(shù)據(jù)/挖掘”等。
新詞雖然結(jié)構(gòu)多樣不易挖掘,但新詞卻有很多垃圾串(本文指非新詞)所不具有的屬性。組成新詞的各個(gè)詞語(yǔ)一般很少含有停用詞,并且如果某個(gè)詞語(yǔ)是一個(gè)專(zhuān)業(yè)領(lǐng)域的詞匯,那么在這個(gè)領(lǐng)域的文章中組成該詞匯的所有詞語(yǔ)一定大量共現(xiàn)。另一點(diǎn)區(qū)別在于專(zhuān)業(yè)領(lǐng)域詞匯通常只會(huì)大量出現(xiàn)在某些特定領(lǐng)域,而垃圾串通常在各種領(lǐng)域出現(xiàn)的概率都是均等的。如“數(shù)據(jù)挖掘”人們很難在某個(gè)文學(xué)期刊中看到,但“數(shù)據(jù)”在各個(gè)領(lǐng)域都會(huì)經(jīng)常用到。但僅基于以上特征的篩選是過(guò)于“粗魯”的,因此本文還設(shè)定了3個(gè)指標(biāo)構(gòu)建了新詞得分函數(shù)。這3個(gè)指標(biāo)分別是覆蓋率、聚合力、自由度。
覆蓋率就是這個(gè)候選新詞在文中出現(xiàn)的頻率。聚合力即 EMI(Enhanced Mutual Information)[21]指標(biāo),它的具體定義將在式(1)中給出。該指標(biāo)認(rèn)為如果某個(gè)詞可能是新詞,那么組成它的詞語(yǔ)一定大概率共現(xiàn)。如“支持”“向量”“機(jī)”在機(jī)器學(xué)習(xí)領(lǐng)域中通常都會(huì)同時(shí)出現(xiàn)。自由度是指左右糾纏熵[22]指標(biāo),具體定義如式(2)、(3)所示。這個(gè)指標(biāo)認(rèn)為如果某個(gè)詞可以構(gòu)成新詞,那么它在文中向左向右的拓展性應(yīng)該很高。如“屌絲”經(jīng)常在文中可以組成“是屌絲”“老屌絲”“屌絲是”“屌絲認(rèn)為”等短語(yǔ)。
式(1)中,候選新詞w由詞語(yǔ)集 (w1,w2,…,wT)組成,n表示詞語(yǔ)出現(xiàn)頻數(shù)。式(2)中,f(wL)表示候選新詞w所有向左結(jié)合成不同短語(yǔ)的數(shù)量,f(wj)表示w向左結(jié)合成某個(gè)短語(yǔ)的數(shù)量,l表示候選新詞w在文本中向左可以結(jié)合成多少種短語(yǔ)。式(3)的定義完全和式(2)相反,它是向右結(jié)合。
最終給出新詞的得分公式,該公式是根據(jù)以上統(tǒng)計(jì)量綜合給出,具體定義如式(4)所示。
其中,q(w)表示候選新詞w出現(xiàn)的頻率,EMI(w)、L(w)、R(w)如式(1)、(2)、(3)所示,α、β、χ、δ代表4個(gè)權(quán)重參數(shù),并且α+β+χ=1(α,β,χ,δ∈[0,1])。
基于以上所有討論,本文將新詞識(shí)別整理成如下偽代碼。
輸入:多篇來(lái)自n個(gè)領(lǐng)域文章經(jīng)過(guò)分詞后的詞語(yǔ)集合Wi(i∈ {1,2,…,n})。
輸出:新詞集合Ni。
1. 將每個(gè)Wi中的詞語(yǔ)按順序與之后的詞語(yǔ)組合,最多只能組合3次并放入候選新詞集NWi中;
2. 過(guò)濾掉候選新詞集合中組合詞語(yǔ)出現(xiàn)次數(shù)小于組成它詞語(yǔ)獨(dú)立出現(xiàn)次數(shù)最大值的組合詞語(yǔ)。
3. 去掉含有停止詞的組合詞語(yǔ)。
4. whilei 5. forwinNWi: 6. ifwinNWj(j≠i): 7. 從NWi中刪除w; 8. end if; 9. end for; 10. ++i; 11. whilei 12. forwinNWi: 13. 將R(w)放入新詞集合Qi; 14. end for; 15. ++i; 16. 設(shè)立閾值k; 17. foriinn: 18. 從Qi中提取數(shù)值最大的k個(gè)w放入集合Ni。 19. end for; 20. returnN; 其中R(w)的計(jì)算如式(4)所示,k表示給定的閾值。 詞語(yǔ)合并首先就是根據(jù)新詞識(shí)別后所給予的新詞集合Ni對(duì)原有文本重新分詞。 之后標(biāo)記所有分詞結(jié)果的詞語(yǔ)屬性,新詞庫(kù)中的詞匯都按名詞處理。TAKE算法用停用詞作為標(biāo)識(shí),合并相鄰?fù)S迷~之間的單詞。但這對(duì)于中文而言不夠合理,因?yàn)橹形恼Z(yǔ)句相對(duì)于英文語(yǔ)句中的停止詞兩兩間隔較長(zhǎng),這不利于挖掘真正的關(guān)鍵短語(yǔ)。因此本文接下來(lái)除了標(biāo)記停用詞以外,還將標(biāo)記所有除名詞、形容詞、動(dòng)詞以外的詞匯,并將標(biāo)記詞匯之間的詞語(yǔ)結(jié)合成候選短語(yǔ)放入候選短語(yǔ)集中,再將在文中出現(xiàn)頻數(shù)等于1的短語(yǔ)剔除。 最后,本文考慮到英文中動(dòng)詞修飾名詞時(shí)經(jīng)常使用動(dòng)名詞的形式,如“datamining”中“mining”就從動(dòng)詞標(biāo)記轉(zhuǎn)化為名詞標(biāo)記,因此TAKE才會(huì)剔除所有不是名詞結(jié)尾的候選短語(yǔ)。但這對(duì)中文來(lái)講將產(chǎn)生很多問(wèn)題,如“數(shù)據(jù)挖掘”中“挖掘”在中文標(biāo)注下仍然是動(dòng)詞詞性,如果剔除了非名詞結(jié)尾的短語(yǔ),那么關(guān)鍵短語(yǔ)“數(shù)據(jù)挖掘”將被“魯莽”剔除?;谶@些討論,本文將剔除所有不含名詞以及名詞和動(dòng)詞不作短語(yǔ)結(jié)尾的候選短語(yǔ)。 特征融合就是通過(guò)候選短語(yǔ)的頻率、共線性、短語(yǔ)性等多個(gè)短語(yǔ)特征,構(gòu)建統(tǒng)計(jì)量排序候選短語(yǔ)的過(guò)程。TAKE 僅使用度與頻數(shù)的比值作為得分函數(shù)排序短語(yǔ)的做法過(guò)于“粗魯”,如果“數(shù)據(jù)挖掘”出現(xiàn)次數(shù)較多,但原文中也經(jīng)常使用高頻詞“數(shù)據(jù)”單獨(dú)出現(xiàn),那么“數(shù)據(jù)挖掘”最終在TAKE 中的得分卻會(huì)比較低。與此同時(shí)TAKE所使用的詞語(yǔ)累加得分的方式也比較“粗糙”,這種做法過(guò)于偏向短語(yǔ)的超集,如“支持向量機(jī)”與“支持向量機(jī)構(gòu)造方法”同在候選關(guān)鍵短語(yǔ)集中出現(xiàn),那么后者的得分將一定高于前者。但通常情況下,人們更能接受“支持向量機(jī)”作為關(guān)鍵短語(yǔ)?;谝陨嫌懻摚疚奶岢隽颂卣魅诤纤惴▉?lái)排序候選短語(yǔ)。在此之前本文提出兩個(gè)新的概念:短語(yǔ)性、純潔性。 短語(yǔ)性是基于候選短語(yǔ)的無(wú)歧義而提出的。短語(yǔ)無(wú)歧義就是指短語(yǔ)易于理解、語(yǔ)法正確、語(yǔ)義完整的短語(yǔ)。如“數(shù)據(jù)挖掘造成模型”“數(shù)”都是短語(yǔ)表達(dá)存在歧義且不完整的短語(yǔ),而“數(shù)據(jù)挖掘”則是一個(gè)良好無(wú)歧義的短語(yǔ)。經(jīng)過(guò)大量實(shí)驗(yàn)說(shuō)明,關(guān)鍵短語(yǔ)的長(zhǎng)度大都集中在4 字左右。另一方面通?!爸С窒蛄俊迸c“機(jī)”的條件概率一定會(huì)遠(yuǎn)大于“支持向量機(jī)”與“造成”的概率。因?yàn)椤爸С窒蛄繖C(jī)”的共現(xiàn)可能必將會(huì)大于“支持向量機(jī)造成”的共現(xiàn)概率,這也源于“造成”與“支持向量機(jī)”搭配的不穩(wěn)定性,使得“支持向量機(jī)造成”很有可能不是一個(gè)常有的固定搭配?;谝陨嫌懻?,本文提出了短語(yǔ)性統(tǒng)計(jì)量,如式(5)、(6)所示: 其中,l(w) 代表短語(yǔ)w的長(zhǎng)度,a1+a2+a3+a4+a5+a6=1 為式(5)中參數(shù)的約束條件。D(w)表示短語(yǔ)w的短語(yǔ)性。P((w1,w2,…,wi-1)|wi)表示順序組成短語(yǔ)w的詞語(yǔ)集合(w1,w2,…,wi)的條件概率。 純潔性是基于短語(yǔ)詞性而提出的。通常在關(guān)鍵短語(yǔ)中起主導(dǎo)作用的是名詞詞語(yǔ),而形容詞和動(dòng)詞都是對(duì)于名詞的補(bǔ)充與修飾,如“數(shù)據(jù)挖掘”是“數(shù)據(jù)”被動(dòng)詞“挖掘”的一種修飾,當(dāng)關(guān)鍵詞中只出現(xiàn)“數(shù)據(jù)”而沒(méi)有出現(xiàn)“挖掘”時(shí),通常人們都可以聯(lián)想到這是一篇與數(shù)據(jù)相關(guān)的文章,但反之,人們會(huì)對(duì)于文章內(nèi)容毫無(wú)頭緒?;谝陨嫌懻?,本文提出了純潔性,具體定義在式(7)中給出。 其中,C(w)表示短語(yǔ)w的純潔性,w表示候選短語(yǔ),e+f+g+h=1 是參數(shù)的約束公式。 最后,基于式(6)、(7)以及TAKE的得分函數(shù),本文定義了排序函數(shù),具體定義如式(8)、(9)所示。 其中,短語(yǔ)w由詞語(yǔ)集(w1,w2,…,wn)順序組成。deg(wi)表示詞語(yǔ)wi總共出現(xiàn)的頻率,freq(wi)表示詞語(yǔ)wi單獨(dú)出現(xiàn)的頻率。λ1、λ2、λ3為 3 個(gè)權(quán)重參數(shù),λ1+λ2+λ3=1 是相應(yīng)的參數(shù)約束條件。 最終本文在閾值函數(shù)的選取上沿用TAKE 算法的選取方式。但現(xiàn)今大多數(shù)應(yīng)用場(chǎng)景對(duì)于關(guān)鍵詞位的數(shù)量是給定的,因此本文僅在不要求關(guān)鍵詞數(shù)量的情況下沿用TAKE的閾值函數(shù)。 為檢驗(yàn)本文方法的提取效果,通過(guò)以下實(shí)驗(yàn)結(jié)果加以說(shuō)明。本文語(yǔ)料庫(kù)來(lái)源于百度文庫(kù)純文本文章219篇,其涉及領(lǐng)域有文學(xué)散文(21 篇)、數(shù)據(jù)挖掘(24 篇)、歷史典故(22 篇)、時(shí)政方針(23 篇)、自然科學(xué)(31 篇)。具體信息如表1所示。 表1 語(yǔ)料信息 本文實(shí)驗(yàn)采用國(guó)內(nèi)外公認(rèn)的精確率P、召回率R、F值作為結(jié)果評(píng)判標(biāo)準(zhǔn),具體定義如式(10)、(11)、(12)所示。 其中,r表示每個(gè)主題候選短語(yǔ)集合中選取的短語(yǔ)個(gè)數(shù);s表示每個(gè)主題實(shí)際的關(guān)鍵短語(yǔ)個(gè)數(shù);c表示每個(gè)主題下所抽取的關(guān)鍵短語(yǔ)對(duì)照該主題下實(shí)際關(guān)鍵短語(yǔ)的正確匹配個(gè)數(shù)。 首先確定4.3 節(jié)中新詞識(shí)別的各個(gè)參數(shù),本文通過(guò)5.1 節(jié)的實(shí)驗(yàn)語(yǔ)料人工標(biāo)記新詞,通過(guò)最終的F值指標(biāo)給定新詞識(shí)別中的各個(gè)參數(shù)。其中參數(shù)α、β、χ具體選定過(guò)程如表2 所示。表2 中F值是閾值k分別取1、5、10 且參數(shù)δ分別取0.1、0.4、0.9 自由排列組合后,α、β、χ取表中各數(shù)值時(shí)的平均F值。從表2中可以看出,當(dāng)α、β、χ取0.4、0.3、0.3時(shí),可以得到最大的F值,因此本文后續(xù)實(shí)驗(yàn)都采用以上的數(shù)值設(shè)定參數(shù)α、β、χ。從結(jié)果中不難看出,式(4)中各個(gè)特征對(duì)于新詞的鑒定都十分重要,因此這3個(gè)指標(biāo)的權(quán)重?cái)?shù)值較為接近時(shí)可以取得最大F值。 表2 α、β、χ 的 F 值走勢(shì) 接下來(lái)在以上參數(shù)確定的基礎(chǔ)上將δ以不同數(shù)值帶入式(4)中,通過(guò)5.1節(jié)中所提供實(shí)驗(yàn)語(yǔ)料求出相應(yīng)的F值完成實(shí)驗(yàn),如圖3所示。圖3中的F值是參數(shù)k分別取 1、5、9 時(shí)相應(yīng)參數(shù)δ的平均F值。從圖 3 中可以看出,當(dāng)δ取0.1時(shí),相應(yīng)的F值會(huì)達(dá)到最大,隨著數(shù)值不斷接近于1,相應(yīng)的F值也在不斷地變小。因此本文將δ確定為0.1。 圖3 δ-F 關(guān)系對(duì)比圖 在圖2、圖3 的實(shí)驗(yàn)基礎(chǔ)上,本文賦予k不同取值,在相應(yīng)取值下通過(guò)F值的走勢(shì)來(lái)確定參數(shù)k的最終取值。具體結(jié)果如圖4所示,其中當(dāng)k=0 時(shí)召回率和精確率公式的分子為0,因此F值指標(biāo)也為0,當(dāng)隨著參數(shù)k的不斷變大F值也在相應(yīng)增大,當(dāng)與實(shí)驗(yàn)語(yǔ)料真正的新詞個(gè)數(shù)匹配時(shí)會(huì)達(dá)到F值的峰值點(diǎn),如果超過(guò)峰值這個(gè)零界點(diǎn)繼續(xù)增大k時(shí)相應(yīng)的F值也在變小。從圖4中可以看出,零界點(diǎn)在數(shù)值5 左右,因此本文在后續(xù)實(shí)驗(yàn)中確定參數(shù)k的值為5。 圖4 k-F 關(guān)系對(duì)比圖 最終需要確定式(5)、(7)、(9)中的相關(guān)參數(shù),其中通過(guò)人工標(biāo)記的關(guān)鍵短語(yǔ)完成式(5)中參數(shù)a1、a2、a3、a4、a5、a6和式(7)中參數(shù)e、f、g、h的定值實(shí)驗(yàn),具體結(jié)果如表3、表4所示。 表3 不同短語(yǔ)長(zhǎng)度數(shù)量占比表 表4 不同名詞數(shù)量短語(yǔ)占比表 表3中長(zhǎng)度表示關(guān)鍵短語(yǔ)的長(zhǎng)度,占比表示該長(zhǎng)度下的短語(yǔ)數(shù)量在總體關(guān)鍵短語(yǔ)中的占比。由于5.1 節(jié)中實(shí)驗(yàn)語(yǔ)料均為隨機(jī)抽取,因此給定式(5)中相關(guān)參數(shù):a1=0.14、a2=0.09、a3=0.39、a4=0.29、a5=0.07、a6=0.02。從實(shí)驗(yàn)結(jié)果中不難看出,中文關(guān)鍵短語(yǔ)長(zhǎng)度大概率集中在4 到5,這也與人們的中文語(yǔ)言習(xí)慣有很大的相關(guān)性。 表4 是對(duì)式(7)中參數(shù)的定值實(shí)驗(yàn)結(jié)果,其中名詞數(shù)量代表該短語(yǔ)中所包含的名詞詞語(yǔ)數(shù)量,占比與表3的含義相似。通過(guò)實(shí)驗(yàn)結(jié)果,將參數(shù)e、f、g、h分別定為0.11,0.56,0.29,0.04。可以看出,大多數(shù)關(guān)鍵短語(yǔ)都是由兩個(gè)或一個(gè)名詞詞語(yǔ)組成,這主要是因?yàn)橥ǔC~充當(dāng)另一個(gè)名詞補(bǔ)語(yǔ)大都只使用一次。如果兩個(gè)名詞修飾一個(gè)名詞多會(huì)摻雜其他詞性的修飾語(yǔ)來(lái)保證語(yǔ)義符合語(yǔ)法,但這樣會(huì)使得整個(gè)短語(yǔ)長(zhǎng)度過(guò)長(zhǎng),從而促使短語(yǔ)歧義性增強(qiáng),因此才會(huì)出現(xiàn)表4 所示的統(tǒng)計(jì)結(jié)果。從中可以看出一個(gè)關(guān)鍵短語(yǔ)中大都只含有一個(gè)或兩個(gè)名詞性的詞語(yǔ)。 通過(guò)以上參數(shù)的確定,將最終確定式(9)中相關(guān)參數(shù)。本文同樣通過(guò)賦予參數(shù)λ1、λ2、λ3不同數(shù)值后F值的不同表現(xiàn)確定參數(shù)的實(shí)際數(shù)值,具體實(shí)驗(yàn)結(jié)果如表5所示。從表5中可以看出,式(9)中的任何一個(gè)指標(biāo)都對(duì)最終結(jié)果產(chǎn)生很大影響,但其中純潔性特征的影響較弱。根據(jù)結(jié)果,本文將實(shí)驗(yàn)參數(shù)λ1、λ2、λ3確定為0.4、0.2、0.4。 表5 λ1、λ2、λ3 的 F 值走勢(shì)表 根據(jù)5.2 節(jié)的實(shí)驗(yàn)參數(shù),在表6 中展示本文算法與傳統(tǒng)經(jīng)典中文關(guān)鍵短語(yǔ)提取算法TF-IDF、TextRank 和LDA 的對(duì)比實(shí)驗(yàn)結(jié)果。由于本文所改進(jìn)算法TAKE 只能對(duì)英文文本做關(guān)鍵詞自動(dòng)提取,因此本文不做比較。最終實(shí)驗(yàn)采用Linux X86作為軟件運(yùn)行環(huán)境,其中jieba分詞系統(tǒng)采用自帶常用詞典;停詞庫(kù)由百度文庫(kù)提供的1 893個(gè)停用詞組成,算法由C++實(shí)現(xiàn),gdb調(diào)試,具體實(shí)驗(yàn)結(jié)果見(jiàn)表6。 表6 四種算法基于P、R、F 的對(duì)比結(jié)果 從表6 中可以看出,TextRank、IF-IDF、LDA 算法在準(zhǔn)確率上與本文算法相比偏低,這說(shuō)明每種算法在取相同數(shù)目的關(guān)鍵短語(yǔ)時(shí),本文算法所提取關(guān)鍵短語(yǔ)與正確關(guān)鍵短語(yǔ)的匹配程度更高,即式(10)中的c大于其他對(duì)比算法。這也導(dǎo)致本文算法在召回率,即式(11)上分母相同的情況下分子大于其他算法,因此相對(duì)于其他三種對(duì)比算法在召回率上有更為良好的表現(xiàn)。因?yàn)镕值指標(biāo)是對(duì)準(zhǔn)確率和召回率的綜合衡量,所以表6中本文算法在F值上要遠(yuǎn)高于其他對(duì)比算法。這也說(shuō)明了本文算法在關(guān)鍵短語(yǔ)提取上更貼近文章主題。 本文針對(duì)英文關(guān)鍵短語(yǔ)提取算法TAKE 進(jìn)行了文本分詞、新詞識(shí)別、特征融合等一系列有效改進(jìn),所提出的本文算法成功運(yùn)用于中文文本的關(guān)鍵詞自動(dòng)抽取當(dāng)中。通過(guò)與經(jīng)典的中文關(guān)鍵短語(yǔ)提取算法進(jìn)行對(duì)比,本文算法在精確率、召回率和F值上具有更高的量化表現(xiàn),說(shuō)明了本文算法的主題關(guān)鍵短語(yǔ)提取效果更加良好。與此同時(shí),本文算法仍有很大的改進(jìn)空間,例如加入更多的先驗(yàn)知識(shí)優(yōu)化本文算法的約束規(guī)則,添加機(jī)器學(xué)習(xí)相關(guān)算法等。4.4 詞語(yǔ)合并
4.5 特征融合
5 實(shí)驗(yàn)分析
5.1 評(píng)判標(biāo)準(zhǔn)
5.2 實(shí)驗(yàn)參數(shù)
5.3 實(shí)驗(yàn)結(jié)果
6 結(jié)束語(yǔ)