李 晨,趙燕清,于俊鳳,張銘君,DMYTRO LANDE,2
(1.齊魯工業(yè)大學(xué)(山東省科學(xué)院)情報(bào)研究所,濟(jì)南 250014;2.烏克蘭國立技術(shù)大學(xué)信息與計(jì)算機(jī)科學(xué)學(xué)院,基輔 03056)
政策通常是指政府、機(jī)構(gòu)、組織為實(shí)現(xiàn)目標(biāo)而訂立的計(jì)劃。政策文獻(xiàn)是政策的物化載體,是政府處理公共事務(wù)的真實(shí)反映和行為印跡,是對政策系統(tǒng)與政策過程客觀的、可獲取的、可追溯的文字記錄[1]。關(guān)鍵詞是對文本的高度概括和抽象,能夠幫助人們快速了解政策全文信息。因?yàn)檎弑旧淼奶厥庑?,原文中并不?huì)設(shè)置關(guān)鍵詞字段,如果可以采用自動(dòng)的方式提取出與主題相關(guān)的詞語或短語,則可以更好地輔助政策解讀。
目前政策文本關(guān)鍵詞提取算法大都以開源分詞工具為基礎(chǔ),結(jié)合詞頻統(tǒng)計(jì)和人工輔助來實(shí)現(xiàn)。如吳賓等[2]利用開源工具人工提取海洋工程裝備制造業(yè)政策主題詞;吳愛萍等[3]運(yùn)用扎根理論從政策樣本中提取高頻關(guān)鍵詞。如果可以利用機(jī)器學(xué)習(xí)的方式自動(dòng)抽取政策關(guān)鍵詞,那么就可以進(jìn)一步提高政策分析效率。現(xiàn)有的基于機(jī)器學(xué)習(xí)的關(guān)鍵詞提取算法大體可以分為兩類,分別是有監(jiān)督提取方法和無監(jiān)督提取方法。有監(jiān)督的提取方法是一種分類方法,需要人工提前設(shè)置好訓(xùn)練集,然后訓(xùn)練出分類模型,最后通過分類模型完成關(guān)鍵詞提取。如果訓(xùn)練集質(zhì)量較高,用此方法可以得到比較好的結(jié)果,但是這種方式需要人工的參與,總體來說效率低、代價(jià)大。無監(jiān)督的關(guān)鍵詞抽取方式目前主要有三種:基于統(tǒng)計(jì)方法(TF?IDF)的抽取方式、基于主題模型(LDA[4])的抽取方式和基于圖模型(TextRank)的抽取方式。
基于TF?IDF 的抽取算法是較為簡單的一種實(shí)現(xiàn)。該方法以詞頻統(tǒng)計(jì)為基礎(chǔ),按照某個(gè)詞在單篇文檔中出現(xiàn)的次數(shù)和在所有文檔中出現(xiàn)的文檔頻率進(jìn)行計(jì)算。該方法可以過濾一些常見的無關(guān)緊要的詞語,同時(shí)還能保留區(qū)分度較高的重要詞語。張驍?shù)龋?]就利用TF-IDF 算法結(jié)合實(shí)際對科技服務(wù)業(yè)政策文本的關(guān)鍵詞進(jìn)行了提取。方法雖然易于實(shí)現(xiàn)但是缺點(diǎn)也很明顯,單純以詞頻衡量詞的重要性,不夠全面,同時(shí)也不能反映詞的位置信息。為了克服這些缺點(diǎn),很多人對TF?IDF 算法進(jìn)行了改進(jìn)。張瑾[6]在原有的算法基礎(chǔ)上加入位置權(quán)值及詞跨度權(quán)值,避免了單純采用TF?IDF 算法產(chǎn)生的偏差。
LDA 模型在自然語言領(lǐng)域被大規(guī)模應(yīng)用,該技術(shù)同樣也適用于文本關(guān)鍵詞抽取?;贚DA 的實(shí)現(xiàn)方式需要對數(shù)據(jù)集進(jìn)行訓(xùn)練得到主題模型,選取能夠反映主題的詞語作為候選關(guān)鍵詞,這種方式抽取的關(guān)鍵詞很大程度上依賴訓(xùn)練數(shù)據(jù)的主題分布情況。
基于圖模型的關(guān)鍵詞提取算法近年來研究較多,借鑒PageRank[7]算法思想進(jìn)行改進(jìn)與擴(kuò)展。該方法是將文本轉(zhuǎn)化為相關(guān)詞的詞語網(wǎng)絡(luò)圖,該圖的節(jié)點(diǎn)是詞,邊是詞語之間的共現(xiàn)關(guān)系,該類算法無需引入外部語料進(jìn)行訓(xùn)練,只需對圖進(jìn)行隨機(jī)游走即可實(shí)現(xiàn)詞語排序和關(guān)鍵詞抽取。TextRank[8]借鑒了PageRank 算法思想,首次實(shí)現(xiàn)了對詞圖上的關(guān)鍵詞評分并根據(jù)評分結(jié)果完成關(guān)鍵詞提取,成為了無監(jiān)督關(guān)鍵詞抽取方法的典型代表。為了進(jìn)一步改進(jìn)TextRank算法的提取效果,很多人對該算法進(jìn)行了改進(jìn)。夏天[9]以TextRank 為基礎(chǔ),引入詞語位置信息加權(quán)計(jì)算鄰接詞語的影響力轉(zhuǎn)移矩陣,有效提高了抽取效果;李航等[10]提出一種綜合考慮詞性、詞語位置信息、詞語對文檔集重要程度的改進(jìn)TextRank 方法;劉嘯劍等[11]利用LDA 構(gòu)建主題模型,計(jì)算詞語相似度并以此相似度為權(quán)重構(gòu)建圖的邊,以短語作為圖的節(jié)點(diǎn),選擇top-k個(gè)詞作為文章的關(guān)鍵詞。
隨著詞向量技術(shù)的產(chǎn)生,越來越多的人開始研究將詞向量與TextRank 結(jié)合進(jìn)行關(guān)鍵詞提取。詞向量技術(shù)可以挖掘出詞與詞之間的語義關(guān)系,然后將這種語義關(guān)系引入到TextRank 算法的計(jì)算過程當(dāng)中,從而解決TextRank 只考慮詞共現(xiàn)的缺陷。周錦章等[12]通過構(gòu)建詞向量,基于隱含主題分布思想和詞匯的語義差異構(gòu)建轉(zhuǎn)移矩陣,將詞向量與TextRank融合。
本文在已有研究基礎(chǔ)之上以維基百科作為外部知識庫結(jié)合互聯(lián)網(wǎng)獲取的政策文本構(gòu)建詞向量,根據(jù)《國務(wù)院公文主題詞表》為詞語初始化權(quán)重,再利用詞向量計(jì)算詞語之間語義相似度,結(jié)合政策文本位置權(quán)重共同構(gòu)建TextRank轉(zhuǎn)移矩陣,最終選擇K個(gè)關(guān)鍵詞。
詞向量是指用來表示詞語的向量,如比較簡單的One?hot representation。由Mikolov 提出的word2vec 是至今比較有名的詞向量表示方式。word2vec 的出現(xiàn)解決了傳統(tǒng)詞袋模型的缺點(diǎn),而word2vec 再生成詞向量的時(shí)候會(huì)把每個(gè)詞當(dāng)成原子,忽略詞內(nèi)部的形態(tài)特征。相對于word2vec,fastText 添加 了subwords 特 性,使 用字符級的n?grams 來表示單詞,這樣每個(gè)單詞除保留了本身外還被表示成多個(gè)n?grams。對于每一個(gè)單詞,fastText 在拆分成n?grams 表示的時(shí)候,還在單詞前后端加入“<”和“>”,用于區(qū)分前綴和后綴,如單詞hello采用3?grams可以表示為:
本文利用開源的fastText 工具,將維基百科和政策內(nèi)容融合共同構(gòu)建詞向量。
利用TextRank 進(jìn)行關(guān)鍵詞抽取的思想比較簡單:首先根據(jù)詞共現(xiàn)關(guān)系構(gòu)建無向帶權(quán)圖,然后利用PageRank 循環(huán)迭代計(jì)算節(jié)點(diǎn)權(quán)值,排序權(quán)值即可得到最終關(guān)鍵詞。TextRank 算法的核心計(jì)算公式如式(2)所示:
其中:WS(Vi)表示節(jié)點(diǎn)Vi的權(quán)值;ln(Vi)表示指向Vi的節(jié)點(diǎn)集合;Out(Vj)表示節(jié)點(diǎn)Vj指向的節(jié)點(diǎn)集合;wji表示兩個(gè)節(jié)點(diǎn)之間邊的權(quán)重;WS(Vj)表示節(jié)點(diǎn)Vj的權(quán)值;d為阻尼系數(shù),一般取值0.85。基于TextRank的關(guān)鍵詞抽取步驟如下:
(1)文本預(yù)處理。包括按句子進(jìn)行文本分割、分詞、詞性標(biāo)注、去停用詞。
(2)構(gòu)建詞圖。文本預(yù)處理之后的詞語構(gòu)成節(jié)點(diǎn)集合,根據(jù)詞語的共現(xiàn)關(guān)系構(gòu)建邊集。邊的構(gòu)建采用滑動(dòng)窗口機(jī)制,即當(dāng)兩個(gè)節(jié)點(diǎn)在長度為K的窗口中共現(xiàn),它們之間才會(huì)存在邊。
(3)根據(jù)公式(2)迭代各節(jié)點(diǎn)的權(quán)重,直到結(jié)果收斂。
(4)對結(jié)果進(jìn)行排序,得到top?k關(guān)鍵詞。
(5)對所得到的關(guān)鍵詞進(jìn)行組合,如果組合的詞匯在政策全文中出現(xiàn),則選擇該組合詞作為一個(gè)關(guān)鍵短語。
本文通過引入詞向量等方式對上述步驟進(jìn)行修改,從而達(dá)到面向政策文獻(xiàn)的關(guān)鍵詞抽取。
對于步驟(1),在進(jìn)行分詞的時(shí)候引入《國務(wù)院公文主題詞表》作為詞庫,同時(shí)剔除此表中無區(qū)分度的詞語,如:章程、條例、辦法、細(xì)則、規(guī)定、命令、決定、決議、公告、通告、通知、通報(bào)、報(bào)告、請示、批復(fù)、函、會(huì)議紀(jì)要、答復(fù)等。
當(dāng)關(guān)鍵詞出現(xiàn)在詞表中的時(shí)候,在原有權(quán)重的基礎(chǔ)上再乘1.5。
對于步驟(2),在構(gòu)建此圖邊集的時(shí)候綜合考慮詞語的位置信息和詞語之間的語義相似度,共同構(gòu)建轉(zhuǎn)移矩陣。圖中任意兩個(gè)節(jié)點(diǎn)vi和vj之間的權(quán)重轉(zhuǎn)移是通過邊wij來完成的,wij的構(gòu)建如公式(3)所示:
其中,ft(i,j)計(jì)算方式如下:
vsim(i,j)表示vi和vj的的語義相似度,將兩者的詞向量取出,按照余弦相似度進(jìn)行計(jì)算,coc(i,j)表示二者共現(xiàn)次數(shù)。pos(i,j)表示政策文本位置信息的重要影響程度,其計(jì)算方式如下所示,pj表示詞語出現(xiàn)的位置權(quán)重:
本文以我國“雙創(chuàng)”政策為例,驗(yàn)證提出方法的有效性和實(shí)用性。首先從互聯(lián)網(wǎng)相關(guān)網(wǎng)站搜索以國務(wù)院以及各部委為發(fā)文主體,以“雙創(chuàng)”為內(nèi)容的政策文件共計(jì)163 篇(如表1 所示)。
表1 “雙創(chuàng)”政策(部分)
根據(jù)本文提出的算法,對上述政策列表進(jìn)行關(guān)鍵詞提取,剔除權(quán)重小于1.0 的關(guān)鍵詞,最終得到關(guān)鍵詞192 個(gè)(見表2)。從關(guān)鍵詞列表和詞云可以看出,國家以創(chuàng)新創(chuàng)業(yè)為核心制定多項(xiàng)保障措施,如政府工作改革、提供支持政策、加強(qiáng)科技支持、培養(yǎng)創(chuàng)新孵化企業(yè)、優(yōu)化稅收政策、提供貸款資金支持等。
表2 “雙創(chuàng)”政策關(guān)鍵詞列表(部分)
精確率方面,本文使用維基百科中文語料和從互聯(lián)網(wǎng)采集到的163篇“雙創(chuàng)”政策作為詞向量訓(xùn)練文本(參數(shù)維度設(shè)置為100,窗口大小為5),選擇其中50 條政策作為測試集,采用多人交叉標(biāo)注的方式為每篇政策選擇10個(gè)關(guān)鍵詞。實(shí)驗(yàn)指標(biāo)采用精準(zhǔn)率P、召回率R和F1 值進(jìn)行評測,其中N1表示人工標(biāo)注合集,N2表示算法抽取合集。
實(shí)驗(yàn)選擇提取5、8、10 個(gè)關(guān)鍵詞對不同的方法進(jìn)行對比,結(jié)果如表3 所示。具體包括引入政策文本位置信息的TF?IDF 方法(方法1)、TextRank 方法(方法2)、基于Word2Vector 的關(guān)鍵詞抽取方法(方法3)。
表3 不同提取方法的比較結(jié)果
為了能夠更直觀地查看對比結(jié)果,采用折線圖的方式將準(zhǔn)確率P、召回率R和F1 值進(jìn)行展示,如圖1所示。
圖1 對比結(jié)果
從圖1可以看出,實(shí)現(xiàn)方式最簡單的是方法1,其實(shí)驗(yàn)結(jié)果要優(yōu)于方法2 和方法3。對于方法2,它的實(shí)現(xiàn)雖然不依賴于語料環(huán)境,但是在沒有任何改進(jìn)的情況下也不能取得較好的結(jié)果。在未加入外部語料和只考慮詞語相似度的情況下,方法3雖然引入了詞向量技術(shù),但是實(shí)驗(yàn)結(jié)果卻是最差。本文提出的方法在關(guān)鍵詞抽取個(gè)數(shù)不同的情況下相對其他幾種算法效果都有明顯的提升,準(zhǔn)確率、召回率和F1 值均高于其他三種方法,驗(yàn)證了提出方法的有效性和實(shí)用性。
當(dāng)對政策文本進(jìn)行主題分析時(shí),往往需要提取政策文本的關(guān)鍵詞匯,而由于其本身的特殊性,并不會(huì)直接提供關(guān)鍵詞字段,所以就要對政策關(guān)鍵詞進(jìn)行提取。本文提出了一種將外部知識庫和政策庫融合共同構(gòu)建詞向量,利用《國務(wù)院公文主題詞表》修改詞語權(quán)重,綜合考慮位置信息和詞語相似度構(gòu)建TextRank 轉(zhuǎn)移矩陣的政策文本關(guān)鍵詞抽取方法。以“雙創(chuàng)”政策為例,提取政策關(guān)鍵詞,結(jié)果表明本文提出的方法具有較好的效果,可用于政策文本主題分析,為政策研究人員提供輔助支持。