榮垂田,李銀銀,王 琰
1.天津工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300387
2.廈門理工學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,福建 廈門 361024
隨著計(jì)算機(jī)技術(shù)、互聯(lián)網(wǎng)技術(shù)以及傳感器技術(shù)的提高與應(yīng)用,數(shù)據(jù)產(chǎn)生的速度與規(guī)模得到了極大的提高,數(shù)據(jù)的類型呈現(xiàn)多樣化,人們進(jìn)入大數(shù)據(jù)時(shí)代[1]?;ヂ?lián)網(wǎng)平臺(tái)、移動(dòng)終端、社交網(wǎng)站、新聞媒體平臺(tái)等網(wǎng)絡(luò)媒體持續(xù)性快速增長,每天產(chǎn)生的網(wǎng)頁內(nèi)容與傳統(tǒng)的數(shù)據(jù)文檔構(gòu)成了一個(gè)廣泛的、分布式的、異構(gòu)的數(shù)據(jù)倉庫,大量的社會(huì)動(dòng)態(tài)信息以網(wǎng)頁的形式在網(wǎng)上迅速傳播。各大門戶網(wǎng)站能夠報(bào)道實(shí)時(shí)新聞消息,廣大網(wǎng)民也能夠獲取實(shí)時(shí)新聞消息,了解社會(huì)事件的動(dòng)態(tài)。互聯(lián)網(wǎng)在帶來便利的同時(shí)也帶來了很多挑戰(zhàn)。每天產(chǎn)生的網(wǎng)頁文檔數(shù)量巨大,使人們被數(shù)據(jù)湮沒。常常為了搜索到有用的信息而不停地在各個(gè)網(wǎng)站之間檢索,這嚴(yán)重影響了信息檢索的效率。因此,在大數(shù)據(jù)時(shí)代,對文檔進(jìn)行主題分析有重大的研究意義和應(yīng)用價(jià)值。通過對文本主題的分析,將各類文本、新聞等進(jìn)行分類,能夠幫助人們快速獲取關(guān)鍵信息,提高信息檢索的效率[2-3]。同時(shí),基于主題的新聞分類與推薦能夠?yàn)橛脩籼峁┚珳?zhǔn)的信息服務(wù)。但現(xiàn)存的針對主題分析的方法大部分都是基于關(guān)鍵詞的,缺乏豐富的上下文語境來表達(dá)文檔的主題思想,不便于用戶快速理解文檔的主題,而關(guān)鍵短語則具有豐富的上下文信息,能夠相對清晰直接地表達(dá)文檔的主題意義。因此,對關(guān)鍵短語提取方法的研究,成為文本分類、新聞推薦等相關(guān)領(lǐng)域的研究熱點(diǎn)之一。
目前國內(nèi)外已經(jīng)有很多學(xué)者和科研機(jī)構(gòu)投入到文檔主題研究與分析[2-5]中來,并且在中文分詞、命名實(shí)體的抽取、關(guān)鍵詞的提取等方面[6-11]都有一定的成果。但是在主題提取方面,大部分研究工作都是基于詞的主題分析,無法準(zhǔn)確表達(dá)文檔的主題信息,尤其是中文更為復(fù)雜。中文包括很多的同義詞、近義詞、一詞多義,同樣的詞在不同語境中表達(dá)的意思可能是截然相反的。而關(guān)鍵短語,在一定程度上,具有相對豐富的語義語境信息,短語是詞與上下文結(jié)合的表達(dá),富含一定的語法句法規(guī)則,能夠更清晰準(zhǔn)確地表達(dá)文檔主題信息。然而,目前對關(guān)鍵短語的提取方法基本都是基于單一的文本特征,例如根據(jù)TFIDF(term frequency-inverse document frequency)[4]、互信息或者KL 距離[11](Kullback-Leibler divergence)等。這難以解決上下文語義語境相關(guān)的問題,并且難以對結(jié)構(gòu)多樣化的網(wǎng)頁文本數(shù)據(jù)進(jìn)行有效的關(guān)鍵短語提取。因此,對關(guān)鍵短語提取方法的研究,是對文檔主題進(jìn)行分析的重要前提工作。
綜上所述,本文從實(shí)際應(yīng)用出發(fā),對已有的關(guān)鍵短語提取方法進(jìn)行了改進(jìn),并將提取的關(guān)鍵短語應(yīng)用于主題分析研究,目的是通過提取表意清晰、語義語境相對完整的關(guān)鍵短語,對網(wǎng)頁文檔主題進(jìn)行分析,幫助網(wǎng)絡(luò)用戶快速獲得自己感興趣的主題,從而提高獲取有價(jià)值信息的效率。
本文的主要研究工作有三點(diǎn):
(1)針對SegPhrase 方法在產(chǎn)生短語候選集的過程中僅利用關(guān)鍵詞的統(tǒng)計(jì)信息的缺點(diǎn),本文通過使用詞串之間的互信息等特征,來提取出低頻但關(guān)鍵的短語,以提高關(guān)鍵短語的召回率。
(2)針對SegPhrase 方法在短語評估的過程中沒有充分利用短語的不同特征對其質(zhì)量評估結(jié)果的差異性,本文利用OOB(out-of-bag)袋外數(shù)據(jù)誤差方法對短語的不同特征進(jìn)行了分類處理,通過賦予不同的特征不同的權(quán)重對短語進(jìn)行綜合質(zhì)量評估,提高關(guān)鍵短語的準(zhǔn)確率。
(3)針對基于關(guān)鍵詞的主題分析方法存在的缺乏上下文語境,無法解決一詞多義等問題,本文提出了一種基于關(guān)鍵短語的文檔主題分析方法。
本文的組織結(jié)構(gòu)安排如下:第2章介紹相關(guān)的研究工作;第3 章介紹相關(guān)的定義以及背景知識(shí);第4章介紹改進(jìn)的關(guān)鍵短語的提取方法;第5章介紹關(guān)鍵短語在主題分析中的應(yīng)用;第6章對本文提出的算法進(jìn)行了實(shí)驗(yàn),并與已有的算法進(jìn)行了對比和分析;第7章總結(jié)本文的研究工作以及對未來研究的展望。
關(guān)鍵短語的提取和主題分析被廣泛應(yīng)用于各個(gè)領(lǐng)域,例如文本分類、信息檢索、新聞推薦等。由于文本數(shù)據(jù)的多源、異構(gòu)等非結(jié)構(gòu)化數(shù)據(jù)特征,對文本數(shù)據(jù)的挖掘和利用依然存在許多難點(diǎn)。近年來,基于主題的文本分析受到國內(nèi)外研究人員的重視,同時(shí)由于短語具有相對豐富的語義語境信息,越來越多的研究開始利用關(guān)鍵短語來對文檔主題進(jìn)行提取分析。
文獻(xiàn)[6-7]利用統(tǒng)計(jì)的方法對關(guān)鍵短語進(jìn)行提取,周而重[4]利用統(tǒng)計(jì)的方法對文檔進(jìn)行預(yù)處理,用詞頻TF、詞權(quán)重TF-IDF以及首位置信息等作為統(tǒng)計(jì)特征,對候選短語進(jìn)行評估,從而提取出文本中關(guān)鍵短語。在統(tǒng)計(jì)的方法中,對短語權(quán)重的計(jì)算公式為:
Pi=A×Valuei+B×Loci
其中,Pi是對短語i的權(quán)重評估,value是對候選短語TF-IDF值的非線性加權(quán)計(jì)算的方法,即:
Loci是對首位置進(jìn)行歸一化之后的特征值,即:
其中,L表示文檔數(shù)據(jù)的總行數(shù),linei表示候選短語Pi首次出現(xiàn)的文檔行數(shù)。對TF-IDF和首位置Loc采用非線性處理的目的是使候選短語的權(quán)重隨著統(tǒng)計(jì)值的改變呈非線性變化,當(dāng)TF-IDF特征值很大時(shí),候選短語權(quán)重能基本穩(wěn)定。
條件隨機(jī)場(conditional random fields,CRF)是在隱馬爾科夫模型和最大熵模型的基礎(chǔ)上提出的一種無向圖學(xué)習(xí)模型。支持向量機(jī)(support vector machine,SVM)模型是一種有監(jiān)督的學(xué)習(xí)模型,是一個(gè)二分類模型,它的主要思想是建立一個(gè)超平面當(dāng)作分類曲面,使得正例和負(fù)例之間的隔離最大化。
李珩等[12]利用SVM 對文本組塊進(jìn)行分析,譚魏璇等[8]提出一種基于SVM 模型、CRF 模型混合統(tǒng)計(jì)模型的基本名詞短語識(shí)別方法用于提取名詞短語,并通過實(shí)驗(yàn)證明CRF 和SVM 的組合模型可以提高中文名詞短語識(shí)別的準(zhǔn)確率。
韓艷[9]利用決策樹進(jìn)行中文文本關(guān)鍵短語的自動(dòng)抽取,并通過實(shí)驗(yàn)證明,基于決策樹算法的關(guān)鍵短語提取,能夠識(shí)別出大部分的關(guān)鍵短語,比傳統(tǒng)的統(tǒng)計(jì)方法提高了短語識(shí)別的準(zhǔn)確率和召回率。
除了以上提到的常用短語提取方法外,現(xiàn)有的關(guān)鍵短語提取方法還有基于圖的無監(jiān)督N元短語提取方法[13],基于混合策略的短語識(shí)別方法[10],基于最大熵的短語提取方法[11]等。文獻(xiàn)[14-15]提出從文檔題目自動(dòng)抽取短語,并且能夠?qū)Χ陶Z排序的方法。隨著近幾年神經(jīng)網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)的快速發(fā)展,有些研究者也提出了一些基于機(jī)器學(xué)習(xí)的方法[2,16],基于加權(quán)復(fù)雜網(wǎng)絡(luò)的方法[17],基于空間向量模型的方法[3]等進(jìn)行關(guān)鍵短語的提取。
文獻(xiàn)[18]介紹了主題模型在自然語言處理中的應(yīng)用,其中LDA(latent Dirichlet allocation)模型及其擴(kuò)展模型在文本主題分析方面有著廣泛的應(yīng)用,能夠?qū)Υ笠?guī)模語料庫進(jìn)行基于詞的主題分析。呂品等提出了TMPP(topic model based on phrase parameter)主題模型[19],該模型是基于短語進(jìn)行參數(shù)學(xué)習(xí)的,能夠抽取出高質(zhì)量的在線評論文本的摘要。徐佳俊等基于LDA模型挖掘論壇語料熱點(diǎn)話題詞[5],并通過對話題詞在時(shí)間上建模,追蹤熱點(diǎn)話題的發(fā)展趨勢。
綜合以上分析,已有的關(guān)鍵短語的提取方法存在許多問題。大多數(shù)方法基于單一的文本特征,這容易造成提取的短語的準(zhǔn)確率偏低;對短語質(zhì)量的評估方式缺乏多樣性。同時(shí),已有的對文本進(jìn)行主題分析的方法,大多數(shù)是基于詞的,而詞結(jié)構(gòu)較短,表意不清晰,可能會(huì)導(dǎo)致主題信息不明確。因此,本文的研究重點(diǎn)是在SegPhrase 方法的基礎(chǔ)上,改進(jìn)候選集產(chǎn)生的方式及短語質(zhì)量評估的方法,來提高關(guān)鍵短語的召回率和準(zhǔn)確率;為了使主題分析的結(jié)果更能清晰地表達(dá)文檔主題信息,提出了基于關(guān)鍵短語的主題分析方法。
關(guān)鍵短語的提取是從大量文檔中提取一些候選短語,并對候選短語進(jìn)行質(zhì)量評估,將短語按照評分由高到低排序,從而獲得高質(zhì)量的關(guān)鍵短語。本章將介紹關(guān)鍵短語提取和主題分析研究中的相關(guān)定義以及相關(guān)知識(shí)。
定義1(詞串)給定一個(gè)長度為n的中文詞序列C=W1W2…Wn,將詞串定義為按照分詞之后,不同個(gè)數(shù)的詞組成的N(N>1)元詞片段。
例1詞序列為:中國互聯(lián)網(wǎng)違法不良信息舉報(bào)中心。分詞:中國/互聯(lián)網(wǎng)/違法/不良/信息/舉報(bào)/中心。可組成的詞串有“中國 互聯(lián)網(wǎng)”“互聯(lián)網(wǎng) 違法不良”等。
定義2(詞元素)中文文本經(jīng)過分詞系統(tǒng)切分以后形成的單字、詞項(xiàng)等元素,如例1中的“中國”“互聯(lián)網(wǎng)”等。
定義3(左、右鄰集合)真實(shí)文本中,當(dāng)前詞左邊或者右邊詞元素的集合,如例1中“違法”的左鄰集合為{“中國”,“互聯(lián)網(wǎng)”}。
(1)互信息
文本特征表示主要是將文本信息轉(zhuǎn)換成相應(yīng)的數(shù)學(xué)表達(dá)式,從而對文本進(jìn)行量化處理,便于計(jì)算機(jī)進(jìn)行計(jì)算處理。常用的文本特征包括互信息、相對熵、TF-IDF 等特征。本節(jié)主要介紹在候選短語產(chǎn)生階段所使用的互信息特征。
在信息論中,香農(nóng)提出互信息的概念,表示對兩個(gè)隨機(jī)事件相關(guān)性的度量標(biāo)準(zhǔn),主要是用來衡量兩個(gè)隨機(jī)事件之間的相關(guān)性。假定兩個(gè)隨機(jī)事件為X和Y,它們的互信息定義如下:其中,P(x,y)表示時(shí)間x與y同時(shí)發(fā)生的概率,當(dāng)事件X與Y完全相關(guān)時(shí),互信息I(X;Y)取值為1,相反取值為0。在自然語言處理中,對于一個(gè)短語V的兩個(gè)分割片段V1和V2,只要語料庫足夠大,就很容易計(jì)算V1和V2之間的點(diǎn)互信息(pointwise mutual information,PMI):
在文本處理過程中,經(jīng)常用PMI(V1,V2)作為文本的一致性特征,PMI(V1,V2)值越大,說明V1和V2相關(guān)性越大,能夠組合成一個(gè)短語。反之,PMI(V1,V2)值越小,說明V1和V2關(guān)聯(lián)性越小,不能組成一個(gè)短語。
(2)相對熵
相對熵又叫作交叉熵或KL 距離[9],在信息論中相對熵是用來量化兩個(gè)取值為正數(shù)的函數(shù)的相關(guān)性,定義如下:
兩個(gè)函數(shù)差異越大,相對熵越大;相反,兩個(gè)函數(shù)差異越小,相對熵越小,如果兩個(gè)函數(shù)完全一致,則它們的相對熵取值為0。相對熵在自然語言處理領(lǐng)域應(yīng)用廣泛,例如可以用相對熵量化兩個(gè)詞在不同文本中的分布,從而查看這兩個(gè)詞是否同義,也可以根據(jù)兩篇文檔不同詞的概率分布,檢查內(nèi)容是否相似,從而將它們歸為一類等。
(3)IDF逆向文檔頻率
僅僅依靠詞頻來衡量詞的權(quán)重是不符合語言學(xué)的,因?yàn)橄瘛笆恰薄暗摹钡葲]有實(shí)際意義的功能詞出現(xiàn)的頻率很高,但它們卻沒有實(shí)際意義。因此,在衡量一個(gè)詞的重要性時(shí),經(jīng)常采用IDF來量化一個(gè)詞的權(quán)重[4],詞w的IDF值定義如下:
其中,|C|表示總文檔數(shù)。分母表示包含詞w的文檔數(shù),在信息檢索中,經(jīng)常利用詞的IDF 值量化該詞對文檔的重要性,在關(guān)鍵短語提取的應(yīng)用中,高質(zhì)量短語的IDF值應(yīng)該不會(huì)太小。
由Blei等在2003年提出的LDA主題生成模型[20]經(jīng)常用來挖掘大規(guī)模文檔集中潛在的主題信息。LDA模型基本思想是一篇文章由K個(gè)主題按照一定的概率分布構(gòu)成,每個(gè)主題是由N個(gè)詞匯根據(jù)相應(yīng)的概率分布構(gòu)成,利用MCMC(Markov chain Monte Carlo)中的Gibbs 抽樣方法近似估算模型超參數(shù)[21]。如圖1 所示,本文利用LDA 的三層模型對文檔進(jìn)行主題分析。LDA主體模型的基本思想是將每篇文檔可以看作由文檔、主題、詞三層構(gòu)成。
Fig.1 Three layers model of LDA圖1 LDA三層模型
LDA文檔主題模型可以快速地對大規(guī)模語料庫或文檔進(jìn)行主題分析,在新聞分類、文本信息提取、信息檢索等領(lǐng)域都有著重要的應(yīng)用。
對中文關(guān)鍵短語進(jìn)行提取的框架如圖2所示,大致分為5個(gè)階段:
(1)文本抓取。文本抓取就是從互聯(lián)網(wǎng)中獲取需要的文本文檔。目前存在很多開源的網(wǎng)絡(luò)爬蟲框架,例如基于Java 的爬蟲Nutch(http://nutch.apache.org),基于Python 的爬蟲Scrapy(https://scrapy.org)等。由于Scrapy爬蟲能夠?qū)W(wǎng)頁進(jìn)行定向信息抓取,并且能夠?qū)⒆ト〉降膬?nèi)容直接存入數(shù)據(jù)庫,便于下一步進(jìn)行文本處理。因此,本文主要是利用Scrapy 爬蟲框架,對國內(nèi)各大新聞門戶網(wǎng)站進(jìn)行新聞定向抓取。
Fig.2 Key phrase extraction framework圖2 關(guān)鍵短語提取框架
(2)預(yù)處理。由于中文文本具有豐富的非結(jié)構(gòu)化形式,對中文進(jìn)行關(guān)鍵短語提取,首先要進(jìn)行的就是對文本文檔進(jìn)行預(yù)處理,中文詞序列之間沒有明顯的界限,相比于英文復(fù)雜。對中文文本預(yù)處理主要分為以下幾步:①分詞,中文分詞是對中文文檔進(jìn)行自然語言處理的基礎(chǔ)和關(guān)鍵,分詞的結(jié)果直接影響了后續(xù)處理工作。因此,本文采用中科院計(jì)算所開發(fā)的NLPIR(natural language processing&information retrieval)中文分詞系統(tǒng)對文檔進(jìn)行分詞。②去停用詞,停用詞是指沒有實(shí)際意義的功能詞、虛詞、復(fù)合名詞等,例如中文“的”“是”“也”等。為了避免停用詞對提取關(guān)鍵短語的影響,在文本處理時(shí),需要構(gòu)建一個(gè)停用詞表,把助詞、功能詞等無意義的詞清洗掉。
(3)產(chǎn)生候選集。利用頻率、互信息等特征,設(shè)置閾值Q,若詞串出現(xiàn)的頻率或者互信息大于設(shè)定的閾值Q,則將該詞串視為候選短語,否則拋棄。
(4)文本特征抽取。特征的抽取對關(guān)鍵短語提取的結(jié)果影響很大,文本特征抽取的效率與準(zhǔn)確度直接影響到短語的質(zhì)量。本文主要對產(chǎn)生的候選集抽取IDF、互信息、KL 距離等文本特征,作為短語質(zhì)量評估的參考因素。
(5)短語質(zhì)量評估。利用預(yù)測模型對候選短語集合中包含的文本特征進(jìn)行質(zhì)量評估,并按照最終評估結(jié)果從高到低排序,獲得關(guān)鍵短語。
本文使用的提取關(guān)鍵短語的方法是改進(jìn)的SegPhrase 算法,下面將首先簡單介紹SegPhrase 算法,接著介紹本文改進(jìn)的SegPhrase算法。
SegPhrase算法[22]是目前提取文本關(guān)鍵短語最新技術(shù),相對于傳統(tǒng)的關(guān)鍵短語提取方法,SegPhrase算法在提取關(guān)鍵短語過程中使用的不再是單一文本特征。在產(chǎn)生頻繁短語候選集時(shí),利用頻率篩選,若詞串頻率大于設(shè)定閾值,則該詞串被添加到候選短語集中,否則將該短語舍棄。SegPhrase 在對候選短語進(jìn)行質(zhì)量評估分類時(shí),采用的是隨機(jī)森林算法,抽取了短語的互信息、相對熵、IDF等特征作為文本特征,利用標(biāo)簽數(shù)據(jù)對隨機(jī)森林進(jìn)行訓(xùn)練,最后利用隨機(jī)森林模型對候選短語進(jìn)行評估。SegPhrase方法的優(yōu)點(diǎn)是考慮到了關(guān)鍵短語提取的上下文環(huán)境,能夠識(shí)別大部分高質(zhì)量短語,比傳統(tǒng)方法提高了短語識(shí)別的準(zhǔn)確率和召回率。
SegPhrase 算法也有自身的缺點(diǎn),例如在產(chǎn)生頻繁候選短語集的時(shí)候,僅僅依靠頻率選擇候選短語,有些低頻但具有豐富語義的高質(zhì)量短語可能被忽略;另外,在對候選短語評估時(shí),將各個(gè)文本特征的權(quán)重均一化處理,沒有充分考慮不同特征對于短語質(zhì)量貢獻(xiàn)的差異性。因此,基于以上SegPhrase 存在的缺陷,本文對SegPhrase算法進(jìn)行了改進(jìn)。
(1)候選詞串集的產(chǎn)生
本文在候選短語集的產(chǎn)生過程中,考慮到實(shí)際語言應(yīng)用環(huán)境中,有些短語雖然低頻但卻是關(guān)鍵的,因此在產(chǎn)生短語候選集過程中,不僅利用詞串的頻率單一特征,同時(shí)還考慮了詞串之間的互信息特征。同時(shí),根據(jù)中文短語實(shí)際應(yīng)用情況,本文設(shè)定短語最大長度L為6,幾乎能夠涵蓋所有的中文短語。
算法1提取候選短語
輸入:語料庫C,最小支持度f,短語最大長度L。
輸出:候選短語Candidates集。
sequence為詞序列,|C|為語料庫總詞數(shù)。
若詞串產(chǎn)生過程中遇到逗號、句號、分號等句點(diǎn)符號,但詞串長度未達(dá)到設(shè)定值L,則將標(biāo)點(diǎn)之前的詞串作為候選詞串,例如對于詞序列“學(xué)習(xí)黨的章程,學(xué)習(xí)系列講話精神”,詞串“學(xué)習(xí)黨的章程”之后遇到逗號,則可將其看作一個(gè)候選詞串。
在產(chǎn)生候選詞串時(shí),設(shè)定詞串頻率閾值為f,詞串互信息閾值為ψ。如果候選詞串頻率大于設(shè)定的閾值f,則將該詞串放入候選詞串集中;若該詞串頻率小于閾值f,則考查詞串互信息大小,如果互信息值I大于設(shè)定閾值ψ,則輸出該詞串為候選詞串,否則該詞串被拋棄。
(2)中文短語的界定
與英文相比,中文文本主要以句為分割單位,中文詞與詞之間沒有明顯的界限,對中文處理首先要進(jìn)行文本分詞切割,以增加詞與詞之間的界限。此外,中文短語組合結(jié)構(gòu)更加復(fù)雜,容易引起語義組合歧義、結(jié)構(gòu)層次歧義等語法結(jié)構(gòu)問題。例如,結(jié)構(gòu)層次歧義“許多同學(xué)送來的賀卡”兩種層次關(guān)系:
①許多‖同學(xué)送來的賀卡
②許多同學(xué)‖送來的賀卡
第一種表達(dá)的意思是賀卡多,第二種意思是同學(xué)多,從而可以看出,中文短語提取過程中需要解決短語界定的歧義問題。
在候選短語產(chǎn)生過程中,僅僅依靠統(tǒng)計(jì)信息篩選候選短語集,可能導(dǎo)致有些候選短語不符合實(shí)際的中文語言環(huán)境。因此,本文針對中文短語進(jìn)行了界定。在中文語言結(jié)構(gòu)中,主要包含語素、詞、短語、句子等成分,它們之間是組成關(guān)系,界限模糊無法明確區(qū)分。與英語相比,漢語是語義型語言,更加講究上下文意合,受潛在的語義語境制約較多,因此對中文關(guān)鍵短語的界定,比英語短語分割更加復(fù)雜。簡單來說,關(guān)鍵短語是能夠鮮明表示文本主題思想、中心意義等的特征短語。例如,常見的無實(shí)義成分(如“綜上所述”“簡而言之”)表示文本的功能較弱,而一些指向性強(qiáng)的實(shí)義詞成分(如“京津冀一體化”“雄安新區(qū)規(guī)劃”)等能夠鮮明地表示文本特征。劉華[23]從以下三個(gè)角度對中文關(guān)鍵短語進(jìn)行了界定:
①結(jié)構(gòu)上:結(jié)構(gòu)相對穩(wěn)定,具有較強(qiáng)的凝固性。
②語義上:表意完整單一、指向性強(qiáng),在語義上有較強(qiáng)的專指性和完整性。
③統(tǒng)計(jì)上:在真實(shí)文本中流通性、可重用性強(qiáng),并非臨時(shí)性的組合結(jié)構(gòu),具有一定的統(tǒng)計(jì)意義。
左右鄰信息熵[24]是指多字詞表達(dá)的左邊界的熵和右邊界的熵,是反映短語內(nèi)部結(jié)構(gòu)與其外部語境的重要統(tǒng)計(jì)度量標(biāo)準(zhǔn)。因此,本文利用左右鄰統(tǒng)計(jì)信息熵對中文短語進(jìn)行界定,左右鄰信息熵的計(jì)算公式如下:
式中,A和B分別表示字符W左邊和右邊字符集,字符W的左熵HL(W)值越大,說明這個(gè)字符極有可能是一個(gè)詞的開端;同樣,當(dāng)一個(gè)字符W的右熵HR(W)值越大,則說明這個(gè)字符極有可能是一個(gè)詞的末尾。
(3)候選短語的質(zhì)量評估
圖3是本文研究中改進(jìn)的SegPhrase方法對短語質(zhì)量評估的架構(gòu)圖,本文首先利用隨機(jī)森林的OOB[25]袋外數(shù)據(jù)誤差計(jì)算方法,計(jì)算單個(gè)特征變量的重要性。隨機(jī)森林算法在構(gòu)建決策樹過程中,用Bootstrap 隨機(jī)采樣方法獲得的訓(xùn)練集,只包括原始數(shù)據(jù)集的大約63%個(gè)體,而有37%的數(shù)據(jù)未被采用[26]。OOB 袋外數(shù)據(jù)是指沒有參加決策樹構(gòu)建的數(shù)據(jù),可以用于計(jì)算不同特征的重要性,其計(jì)算方法如下[27]:
①計(jì)算隨機(jī)森林中決策樹的袋外誤差,記為OOBerr1。
②隨機(jī)對所有OOB 數(shù)據(jù)樣本的某一特征F加入噪聲干擾,再次計(jì)算袋外誤差,記為OOBerr2。
③如果隨機(jī)森林共有Sum棵樹,則特征F的重要性為:
Fig.3 Phrase quality estimation圖3 短語質(zhì)量評估
Weight(F)=∑(OOBerr2-OOBerr1)/Sum
該公式說明,給某一特征F隨機(jī)加入噪聲之后,袋外數(shù)據(jù)準(zhǔn)確率明顯降低,則說明特征F對分類結(jié)果影響很大,重要性就很高,因此可以利用袋外數(shù)據(jù)誤差來衡量不同特征的重要性。
中文文本引號、破折號等主要用于對文本某些內(nèi)容進(jìn)行解釋說明,因此對文本重要性相對較小,而相對熵、IDF 等則包含文本主要信息,對文本重要性較大。因此,根據(jù)文本特征重要性的不同,將短語特征集分為兩個(gè)特征矩陣,然后利用隨機(jī)森林算法對短語的兩個(gè)特征矩陣分別進(jìn)行評估。第一個(gè)特征矩陣M1包含互信息、相對熵、IDF等對短語質(zhì)量影響較大的特征,第二個(gè)特征矩陣M2包括引號、破折號等對短語質(zhì)量影響較小的特征。最后按照不同權(quán)重對兩個(gè)隨機(jī)森林的結(jié)果進(jìn)行合并作為短語的質(zhì)量評估標(biāo)準(zhǔn),即:
Q=A×R1+B×R2
其中,Q表示候選短語的最終評估得分,R1和R2分別是隨機(jī)森林利用M1和M2特征矩陣對候選短語進(jìn)行評估的結(jié)果,A和B分別代表特征矩陣M1和M2的權(quán)重。在關(guān)鍵短語輸出之前,本文根據(jù)中文短語特殊的復(fù)雜性,增加了對短語的Clear階段,主要是對提取到的短語進(jìn)行清洗,例如將以“》”開頭和以“《”結(jié)尾的不符合短語結(jié)構(gòu)的垃圾詞串清除,從而提高關(guān)鍵短語提取的準(zhǔn)確率。
(4)算法復(fù)雜度分析
候選短語提?。汉蜻x短語提取使用的是哈希表,無沖突情況下哈希表的復(fù)雜度為O(1),短語最大長度為L,則時(shí)間和空間復(fù)雜度為O(L|C|),其中|C|為語料庫大小,該階段復(fù)雜度與語料庫大小線性相關(guān)。
特征矩陣抽?。憾陶Z特征抽取的難點(diǎn)在于如何快速在原始語料中定位候選短語,文中利用AC(Aho-Corasick automation)自動(dòng)機(jī)算法從語料庫中提取所有的短語頻繁項(xiàng)集,提取的頻繁短語個(gè)數(shù)為|P|,則AC自動(dòng)機(jī)的時(shí)間復(fù)雜度為O(|C|+|P|),空間復(fù)雜度為O(|P|),每個(gè)短語受最大長度L限制,則O(|P|)=O(|C|),因此時(shí)間和空間復(fù)雜度都是O(|C|)。
短語質(zhì)量評估:在評估階段,時(shí)間和空間復(fù)雜度與特征矩陣維數(shù)和標(biāo)簽短語集大小相關(guān)。本文使用的標(biāo)簽集很小,且隨機(jī)森林中決策樹個(gè)數(shù)和深度都是常數(shù),因此分類器訓(xùn)練時(shí)間是非常短的,時(shí)間和空間復(fù)雜度是O(|C|)。
通過對復(fù)雜度的分析,時(shí)間和空間復(fù)雜度都是O(|C|),復(fù)雜度和語料庫大小是線性相關(guān)的。
主題分析是對文本數(shù)據(jù)進(jìn)行處理的關(guān)鍵技術(shù),在文本分類、搜索引擎、新聞推薦等領(lǐng)域有著廣泛的應(yīng)用。隨著互聯(lián)網(wǎng)的快速發(fā)展,每天產(chǎn)生的網(wǎng)頁文檔數(shù)以千萬計(jì),各類新聞報(bào)道、熱點(diǎn)事件等都會(huì)實(shí)時(shí)在網(wǎng)絡(luò)中傳播,因此要對不同的文檔進(jìn)行分類,按主題信息進(jìn)行分類歸并,方便用戶檢索。目前常用的主題分析方法都有基于關(guān)鍵詞的主題分析法、基于名詞串的主題分析法等,這些方法有一個(gè)缺陷就是,對文檔進(jìn)行主題分析時(shí),沒有考慮關(guān)鍵詞上下文環(huán)境對文檔信息的影響,對文檔主題信息表達(dá)不清晰。而關(guān)鍵短語富含豐富的語義信息,充分考慮了上下文環(huán)境對主題信息的影響,能夠相對清楚地表達(dá)文檔主題。
本文提出了基于關(guān)鍵短語的文檔主題分析方法,其框架圖如圖4所示。與傳統(tǒng)的基于關(guān)鍵詞的文檔主題分析相比,本文在文檔預(yù)處理階段,增加用戶詞典層,把改進(jìn)的SegPhrase 方法提取到的關(guān)鍵短語作為用戶詞典,對文檔進(jìn)行分詞處理,從而把原來基于詞表示的文檔轉(zhuǎn)換成基于短語表示的文檔。對文檔進(jìn)行分詞以及去停用詞等清洗之后,利用LDA 模型提取文檔潛在的主題信息。
Fig.4 Topic analysis based on key phrases圖4 基于關(guān)鍵短語的主題分析
對文檔進(jìn)行主題分析的過程中,不再是簡單地以詞為單位對文檔進(jìn)行處理,而是對文本進(jìn)行了基于關(guān)鍵短語的分詞等預(yù)處理,將LDA 第三層詞匯層改變?yōu)殛P(guān)鍵短語層,因此每篇文檔可以看作由文檔、主題、關(guān)鍵短語三層構(gòu)成,如圖5所示。
Fig.5 Three layers model of LDA based on key phrase圖5 基于關(guān)鍵短語的LDA三層模型
從而,根據(jù)已有的文檔數(shù)據(jù)可獲得第一層文檔和第三層關(guān)鍵短語信息,通過利用3.3節(jié)介紹的LDA概率模型提取文檔隱藏的第二層主題信息,從而對文檔進(jìn)行基于關(guān)鍵短語的主題分析。
本章將會(huì)通過對不同短語提取方法進(jìn)行實(shí)驗(yàn)分析對比,展示改進(jìn)的SegPhrase方法的優(yōu)點(diǎn)。此外,本章還將對基于關(guān)鍵短語的主題分析進(jìn)行實(shí)驗(yàn),與傳統(tǒng)的基于關(guān)鍵詞的主題分析方法進(jìn)行對比,從而驗(yàn)證文中提到的基于關(guān)鍵短語的主題分析方法。為了方便表示,實(shí)驗(yàn)中將改進(jìn)的SegPhrase 方法稱為Seg-Phrase*。
本文研究中所采用的實(shí)驗(yàn)文檔數(shù)據(jù)是從國內(nèi)主流門戶網(wǎng)站持續(xù)一個(gè)月抓取的文檔,為了對實(shí)驗(yàn)結(jié)果進(jìn)行交叉驗(yàn)證,將實(shí)驗(yàn)數(shù)據(jù)分為10份,每份文檔包含2 000 多行數(shù)據(jù),每行數(shù)據(jù)表示一個(gè)網(wǎng)頁文檔,并對這些中文文檔進(jìn)行分詞等預(yù)處理。由于Wiki詞典和百度詞條包含相對完整的短語結(jié)構(gòu)和語義語法信息,且部分短語是經(jīng)過人工篩選的,因此可以看作是高質(zhì)量的短語,實(shí)驗(yàn)中需要的標(biāo)簽數(shù)據(jù)選自Wiki 詞典和百度詞條。
為了對比展示改進(jìn)的SegPhrase方法以及基于關(guān)鍵短語的主題分析方法的優(yōu)點(diǎn),在提取關(guān)鍵短語和主題分析實(shí)驗(yàn)中分別采用了不同的對比方法,從而驗(yàn)證提出方法的合理性。
(1)HanLP:HanLP(https://github.com/hankcs/HanLP)是一款常用于自然語言處理領(lǐng)域的開源工具,利用互信息和信息熵提取短語。
(2)SegPhrase:SegPhrase 方法采用多文本特征,利用隨機(jī)森林算法作為分類器,能夠區(qū)分大部分短語。
(3)SegPhrase*:針對原SegPhrase 方法在候選短語集的產(chǎn)生和對短語質(zhì)量評估方面存在的缺陷進(jìn)行了改進(jìn)。
在對關(guān)鍵短語提取時(shí),常用的評估標(biāo)準(zhǔn)是提取短語的召回率和準(zhǔn)確率。召回率被定義為提取出的短語個(gè)數(shù)和文檔中總短語數(shù)的比率,準(zhǔn)確率被定義為提取出的短語中是準(zhǔn)確的短語和提取出的短語總數(shù)的比率。
圖6 是對短語的不同特征的重要性進(jìn)行的評估。圖中Prob 是短語出現(xiàn)的頻率特征,PMI 是互信息特征,PKL(phrase Kullback-Leibler divergence)是短語詞串的KL距離,其計(jì)算方式就是相對熵的計(jì)算方法,Outside為單詞頻率特征,Stopword為短語停用詞特征,F(xiàn)irst_stop 和Last_stop 分別表示短語開頭和結(jié)尾是停用詞的特征。從圖中可以明顯看出,不同的特征對短語的影響是有差異的,因此將不同文本特征對短語質(zhì)量的影響賦以不同的權(quán)重是有實(shí)驗(yàn)依據(jù)的,更符合短語的實(shí)際應(yīng)用情況。
Fig.6 Importance of different features圖6 不同特征的重要性
在實(shí)驗(yàn)中,由于對每份網(wǎng)頁文檔缺乏中文關(guān)鍵短語數(shù)據(jù)集,利用人工篩選成本太大,因而無法直接給出關(guān)鍵短語提取的召回率和準(zhǔn)確率,分別利用召回率增益Δrec.和準(zhǔn)確率增益Δprec.作為實(shí)驗(yàn)結(jié)果的評估標(biāo)準(zhǔn)。實(shí)驗(yàn)中,利用Wiki 中文詞典和百度詞條對提取出的短語進(jìn)行驗(yàn)證,把出現(xiàn)在Wiki 詞典和百度詞條中的短語視作高質(zhì)量的短語。
在驗(yàn)證不同特征對短語的重要性不同之后,對改進(jìn)的SegPhrase方法進(jìn)行了實(shí)驗(yàn)驗(yàn)證。
6.3.1 SegPhrase*方法與HanLP方法對比
表1 是利用SegPhrase*方法與HanLP 方法在提取關(guān)鍵短語的召回率增益和準(zhǔn)確率增益上的對比結(jié)果。從表1 中可以看出,通過對10 份文檔進(jìn)行獨(dú)立實(shí)驗(yàn),SegPhrase*方法在提取關(guān)鍵短語時(shí),比利用開源工具HanLP 提取短語在召回率上提升了20%到40%,在準(zhǔn)確率方面提升了40%到50%,并且基本保持穩(wěn)定。從而可知,利用SegPhrase*方法提取短語在一定程度上優(yōu)于HanLP方法。
Table 1 Comparison between SegPhrase*and HanLP表1 SegPhrase*與HanLP對比
6.3.2 SegPhrase*方法與SegPhrase對比
表2 是利用SegPhrase*方法與原方法進(jìn)行中文關(guān)鍵短語提取的對比。從表2 中可以看出,Seg-Phrase*方法在提取中文短語時(shí),在召回率方面比原方法提升了6%至12%,準(zhǔn)確率卻比原方法提升了23%至25%。驗(yàn)證了SegPhrase*方法在提取中文短語時(shí)具有更高的準(zhǔn)確率和召回率,更合適對復(fù)雜的中文文本進(jìn)行關(guān)鍵短語提取。
Table 2 Comparison between SegPhrase*and SegPhrase表2 SegPhrase*與原方法SegPhrase對比
6.3.3 在英文數(shù)據(jù)集上的對比
由于SegPhrase 方法不能很好地支持中文,為了更好地展示SegPhrase*方法的優(yōu)點(diǎn),本文在實(shí)驗(yàn)中利用了DBLP(http://arnetminer.org/citation)中包含的5 000 條英文數(shù)據(jù)進(jìn)行兩種方法的實(shí)驗(yàn)對比,每行數(shù)據(jù)表示一個(gè)文檔,實(shí)驗(yàn)對比結(jié)果如表3所示。從表中可知,SegPhrase*方法比原方法在對英文文本進(jìn)行關(guān)鍵短語提取時(shí),準(zhǔn)確率提升了7%左右,召回率提升了6%左右。
Table 3 Comparison between SegPhrase*and SegPhrase on DBLP表3 SegPhrase*與SegPhrase在DBLP數(shù)據(jù)集上進(jìn)行對比
綜上所述,通過改進(jìn)SegPhrase 算法的短語產(chǎn)生方法,使得低頻但關(guān)鍵的短語得以保留;通過改進(jìn)SegPhrase 算法的短語質(zhì)量評估的方法,賦予不同特征不同的權(quán)重來對短語進(jìn)行綜合評估,使得選擇的短語更符合實(shí)際應(yīng)用語境。因此本文提出的方法能夠更好地支持中文關(guān)鍵短語的提取,在對文本進(jìn)行關(guān)鍵短語提取時(shí),準(zhǔn)確率和召回率方面均比原SegPhrase方法有一定的提升。
6.3.4 基于關(guān)鍵詞短語的主題分析
本實(shí)驗(yàn)中對基于關(guān)鍵詞的主題分析與基于關(guān)鍵詞短語的主題分析進(jìn)行了實(shí)驗(yàn)對比。表4 和表5 分別是兩種不同方法的主題分析結(jié)果。
通過表4 可以看出,關(guān)鍵詞沒有豐富的語義語境,關(guān)鍵詞之間可能是近義詞或者同義詞,無法清晰表明文檔的主題,用戶無法直接判斷出文檔的主題意思,需要多個(gè)關(guān)鍵詞才能推測出主題的中心思想。相對于表4,表5 是對文檔進(jìn)行基于關(guān)鍵短語的主題分析??梢灾庇^地比較表4 中的Topic1 和表5 中的Topic2,可以更直接地看出表5中的Topic2所表達(dá)的主題意思是“京津冀協(xié)同發(fā)展”。比較表4 中的Topic3與表5 中的Topic4,以及表4 中的Topic5 與表5 中的Topic3,可以發(fā)現(xiàn)關(guān)鍵短語具有豐富的語境信息,語義和結(jié)構(gòu)相對完整,能夠相對清楚地表達(dá)文檔主題。
Table 4 Topic analysis based on keywords表4 基于關(guān)鍵詞的主題分析
Table 5 Topic analysis based on keyphrase表5 基于關(guān)鍵短語的主題分析
通過實(shí)驗(yàn)表明,相對于關(guān)鍵詞,利用較少的關(guān)鍵短語就可以直接判斷出文檔描述的主題信息,以及與主題相關(guān)的中心內(nèi)容,從而能夠輕易地對文檔做進(jìn)一步歸檔、分類等操作,這將在一定程度上節(jié)省對大規(guī)模文檔或語料庫進(jìn)行主題挖掘所需的時(shí)間和空間。
針對SegPhrase 方法存在的一些缺陷,在候選短語集的產(chǎn)生和短語質(zhì)量評估方法進(jìn)行了改進(jìn),充分考慮了不同特征對短語影響的差異性,提升了關(guān)鍵短語抽取的準(zhǔn)確率和召回率。同時(shí),文中利用富含語義語境信息的關(guān)鍵短語對文檔主題分析,能夠更直接清晰地表明文檔的中心思想。下一步工作計(jì)劃:(1)結(jié)合多種深度學(xué)習(xí)、機(jī)器學(xué)習(xí)算法進(jìn)行關(guān)鍵短語提取,優(yōu)勢互補(bǔ),提高關(guān)鍵短語提取的準(zhǔn)確率和效率;(2)由于文檔主題分析沒有進(jìn)一步對文檔的情感趨向進(jìn)行分析,而對文檔主題進(jìn)行情感極性分析,需要在主題子數(shù)據(jù)集上分別進(jìn)行情感分類,并行化處理很適合解決這類問題。因此,下一步工作中計(jì)劃對主題分析進(jìn)行并行化修改,以提升文檔主題分析的豐富性。