馬莉媛,黃 勃,朱良奇,黃季濤,李夢君,荊苗苗
(上海工程技術(shù)大學(xué)電子電氣工程學(xué)院,上海 201620)
移動互聯(lián)網(wǎng)快速發(fā)展與大數(shù)據(jù)、云計算等技術(shù)的出現(xiàn)催生了眾多新媒體發(fā)展,公眾獲取信息的渠道逐漸增加,信息獲取愈加便利。但有些媒體為了吸引用戶眼球,追求更高的點擊率,對文章標(biāo)題過度潤色,部分文章甚至出現(xiàn)文不對題的現(xiàn)象。用戶在信息檢索時多用文本標(biāo)題進行檢索,由于信息過載、垃圾信息過多導(dǎo)致無法快速找到精準(zhǔn)信息等問題。面對繁雜的信息,可利用關(guān)鍵詞提取技術(shù)快速且精準(zhǔn)地提煉文本信息。
關(guān)鍵詞提取指從文本中提取與目標(biāo)內(nèi)容最相關(guān)的詞匯,被提取的關(guān)鍵詞必須具備3 個條件:可讀性、相關(guān)性及涵蓋性。1958 年Luhn[1]提出了題內(nèi)關(guān)鍵字索引的概念,使檢索刊物時對索引的編輯工作實現(xiàn)自動化,加快了檢索刊物的出版速度,保證了文獻報道及時性;1999 年,Witten等[2]提出一種KEA 全新算法,該算法主要是利用候選目標(biāo)關(guān)鍵詞第一次處在文檔內(nèi)的位置與TF-IDF 值進行匹配從而獲得特征值,然后使用貝葉斯模型訓(xùn)練獲得關(guān)鍵詞;2000 年,Turney[3]采用C4.5 決策樹分類器進行關(guān)鍵詞提??;Mihalcea 等[4]基于PageRank 算法與單詞之間的語義關(guān)系,提出基于圖模型的Texrank 算法,該算法精度較高,考慮了詞的位置信息,但是計算復(fù)雜度較高;徐文海等[5]提出了一種基于向量空間模型與TF-IDF 方法的中文關(guān)鍵詞抽取算法。該算法在對文本進行自動分詞后,用TF-IDF 方法對文獻空間中的每個詞進行權(quán)重計算,然后根據(jù)計算結(jié)果抽取出科技文獻關(guān)鍵詞,這種方法較易理解,且容易實現(xiàn),但是過度依賴語料庫,精度不高,沒有考慮語義信息;劉嘯劍等[6]提出一種基于圖與主題模型的關(guān)鍵詞抽取算法,首先利用LDA 主題模型計算出詞與詞之間的相似性,作為詞與詞之間的權(quán)重并構(gòu)建一個帶權(quán)無向詞圖,最后再從這些短語節(jié)點中選擇TopK 個詞作為文章關(guān)鍵詞,該方法考慮到文本隱含語義,但是提取的關(guān)鍵詞較廣泛、時間復(fù)雜度較高且需要大量訓(xùn)練。為了改進TF-IDF 算法、Textrank 算法及LDA 算法缺陷,近年來眾多融合算法被提出。例如,牛永潔等[7]提出融合因素的TF-IDF 關(guān)鍵詞提取算法,朱衍丞等[8]提出基于SVM 的融合多特征TextRank 的關(guān)鍵詞提取算法,曾慶田等[9]提出融合主題詞嵌入與網(wǎng)絡(luò)結(jié)構(gòu)分析的主題關(guān)鍵詞提取方法。雖然這些融合算法在一定程度上提高了原始算法準(zhǔn)確率,但是在處理海量數(shù)據(jù)時該類方法準(zhǔn)確率有所下降。
針對以上問題,本文提出基于LightGBM 的文章關(guān)鍵詞提取。首先通過TF-IDF 模型,為文本選出20 個候選關(guān)鍵詞;然后通過特征工程[10],對文本候選關(guān)鍵詞進行特征提取,共提取5 個特征;再將20 個候選關(guān)鍵詞經(jīng)由特征工程提取出5個特征,將這5個特征作為LightGBM算 法[11]參數(shù),判斷這20 個候選關(guān)鍵詞是否為關(guān)鍵詞;最終選擇預(yù)測概率較高的詞作為文本關(guān)鍵詞。
假設(shè)現(xiàn)有一篇文本T,文本句子長度為n,則有T={S1,S2,…,Sn},對于?Si∈T,有Si={w1,w2,…,wm}。對文本數(shù)據(jù)進行預(yù)處理,本文采用Jieba 分詞對文本進行分詞及去除停用詞處理,去除與文章語義無關(guān)的部分詞匯,例如標(biāo)點符號、形容詞、副詞、助詞及人稱代詞等,得到一個長度為l的詞組列表,用該詞組表示文本,得到T={w1,w2,…,wl}。
此時得到長度為l的詞組T可能存在冗余和噪聲,IDF本身是一種抑制噪聲的加權(quán),而TF-IDF 是對文檔或句子中的詞語進行頻率計算的常用方法,某個詞TF-IDF 取值取決于兩個因素:詞頻及該詞稀有程度,因此TF-IDF 描繪了一個詞語在所屬文檔或句子的稀有程度。雖然TF-IDF 算法精度不高,但該步驟僅去除一部分噪聲,即過濾掉通用詞,保留重要的詞語,且TF-IDF 易于實現(xiàn),故本文采用TF-IDF對經(jīng)過預(yù)處理之后的數(shù)據(jù)進行粗略篩選,選出20 個候選關(guān)鍵詞K={w1,w2,…,w20}。
經(jīng)由TF-IDF 得到的候選關(guān)鍵詞此時還是文本數(shù)據(jù),對文本數(shù)據(jù)進行特征提取,轉(zhuǎn)換為可用于機器學(xué)習(xí)的數(shù)字特征,即將文本數(shù)據(jù)特征值化。對這20 個候選關(guān)鍵詞進行特征提取,主要提取以下5 個特征:字典特征、文本特征、詞頻特征、相似度特征及詞性特征。
字典特征提取指將文本數(shù)據(jù)映射在向量空間。首先對候選關(guān)鍵詞進行One-Hot 編碼得到其向量表示。由于One-Hot 編碼得到的詞向量矩陣過于稀疏,對One-Hot 編碼進行Word Embedding 得到低維稠密向量。本文用Word2Vec[14]的Skip-Gram模型訓(xùn)練詞向量(見圖1)。Skip-Gram 模型主要定義了=概率分布,其思路是以中心詞為中點,定義一個長度為2m 的滑窗,計算上下文詞匯出現(xiàn)的概率。通過重復(fù)操作,選擇詞匯向量,使概率分布值最大化。
Fig.1 Skip-Gram model圖1 Skip-Gram 模型
首先,將中心詞匯One-Hot 編碼作為輸入,與所有中心詞匯表示組成的矩陣相乘,得到中心詞匯向量表示vc,再將其與輸出詞匯向量表示uo相乘,即uoT vc,得到基于中心詞匯vc的上下文詞匯向量表示。
然后,利用softmax 將數(shù)值轉(zhuǎn)換成概率分布,即計算兩個單詞向量點積,將其轉(zhuǎn)換為softmax(uoT vc)。uTw vc的意義是遍歷w=1,2,…,l,計算出每個單詞與vc相似度。
此時得到上下文詞匯概率分布是存在誤差的。定義一個損失函數(shù)J'(θ)對該模型進行訓(xùn)練。
其中,J'(θ)表示在一段長文本中,遍歷文本中所有位置;θ是模型參數(shù),也是詞匯向量表示;wt為中心詞;wt+j為上下文單詞。求J'(θ)負(fù)的對數(shù)似然,得到J(θ)。
訓(xùn)練模型主要目的是調(diào)整參數(shù)θ,以此讓負(fù)的對數(shù)似然最小化,從而使預(yù)測概率最大化。
由字典特征提取得到候選關(guān)鍵詞向量表示,但此時向量表示是靜態(tài)詞向量,即不考慮其詞法和語序問題,因此利用N-gram 模型[12],用于提取上下文文本特征。N-gram模型是概率判別模型,其本質(zhì)是基于n 階馬爾可夫假設(shè),即一個詞的出現(xiàn)僅與它之前的若干個詞有關(guān)。
在計算復(fù)雜度方面,模型參數(shù)量級是N 的指數(shù)函數(shù)O(Nn);在模型效果方面,當(dāng)n 從2 到3 時,效果上升顯著,但之后提升不顯著,因此綜合計算復(fù)雜度與模型效果兩個因素,本文取n=3。
由Word2Vec 得到的詞向量表示并沒有考慮詞頻,但在計算詞的重要程度時,詞頻是非常重要的權(quán)重之一,因此需提取詞頻特征,本文用每個詞TF-IDF 值作為詞頻特征。
關(guān)鍵詞的設(shè)立是為了讓用戶在短時間內(nèi)掌握文本信息,如若選取關(guān)鍵詞意思相近,則不能很好地概括文本內(nèi)容,說明關(guān)鍵詞有冗余,因此計算詞間相似度,去除冗余詞組,可提升關(guān)鍵詞提取效果。本文通過計算詞向量間余弦相似度提取候選關(guān)鍵詞相似度特征。
關(guān)鍵詞精髓在于通過短短幾個詞語了解文本內(nèi)容,這要求提取的關(guān)鍵詞十分精簡。在漢語言中,實詞往往更能表征文本內(nèi)容,因此對候選關(guān)鍵詞進行詞性判別可過濾一些噪音[13]。
首先,對詞性進行加權(quán)。由于名詞、動詞、形容詞、感嘆詞、介詞、連詞等不同詞性的詞語對文本內(nèi)容呈現(xiàn)貢獻不同,因此對詞性進行加權(quán),給不同詞性賦予一定權(quán)重。詞性加權(quán)公式為,其中n為詞性總類數(shù),xi表示第i個特征粒子,j表示某種詞性。
其次,特征詞為某種詞性概率的計算公式為:
其中,tj表示特征t詞性特征。
則詞性權(quán)重計算公式如式(8)所示,其中PF×TDF表示特征t的詞性加權(quán)總值。
對候選關(guān)鍵詞進行特征工程,得到候選關(guān)鍵詞字典特征、文本特征、詞頻特征、相似度特征及詞性特征,然后采用決策樹算法將關(guān)鍵詞提取轉(zhuǎn)化為二分類問題。梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)[14-15]是一種流行的機器學(xué)習(xí)算法,在此基礎(chǔ)上產(chǎn)生了很多經(jīng)過工程優(yōu)化的算法,如XGBoost[16-17]、pGBRT 等。本文 使用Light?GBM 算法,其中基于梯度的單邊采樣(Gradient-based One-Side Sampling,GOSS)可有效解決數(shù)據(jù)量較大的問題,同時在計算過程中使用互斥特征捆綁(Exclusive Feature Bun?dling,EFB)方法有效簡化數(shù)據(jù)。
以文本特征、詞頻特征、相似度特征及詞性特征作為劃分屬性,建立一個樣本集T,則T={(w1,y1),(w2,y2)…(w20,y20)},其中wi為詞向量,yi∈{0,1}為標(biāo)簽,當(dāng)yi=0 時,該詞wi不是關(guān)鍵詞,反之表示候選關(guān)鍵詞wi為關(guān)鍵詞。LightGBM 算法作為分類器進行關(guān)鍵詞提取步驟如下。
步驟1:對樣本T進行歸一化處理。
步驟2:計算初始梯度值λ(初始值設(shè)置為0)。
步驟3:建立樹。LightGBM 算法特色是直方圖優(yōu)化,將特征工程中得到的特征值劃分為離散值進行裝箱處理,形成bins。直方圖構(gòu)建過程如圖2 所示,將特征值為浮點型數(shù)據(jù)的特征裝箱處理,即特征值離散化,然后進行裝箱處理形成bindata。
Fig.2 Histogram construction圖2 直方圖構(gòu)建
利用直方圖尋找最佳分裂點
(1)建立直方圖。假設(shè)通過上述算法建立的直方圖為:
其中,對每個特征創(chuàng)建一個直方圖hij=(cij,lij),該直方圖存儲了兩類信息,分別是樣本梯度之和cij=H[f.bins[i]].g與樣本數(shù)量lij=H[f.bins[i]].n。遍歷所有樣本,累積上述兩類統(tǒng)計值到樣本所屬的bin 中。
(2)尋找最佳分裂特征。分別以當(dāng)前bin 作為分割點,累加其左邊的bin 至當(dāng)前bin 梯度和SL及樣本數(shù)量nL,并與父節(jié)點上的總梯度SP與總樣本數(shù)量nP相減,得到右邊所有bin 的梯度和SR及樣本數(shù)量nR,計算出增益后在遍歷過程中取最大增益,以此時特征和bin 特征值作為最佳分裂特征G與分裂閾值I。
(3)建立根節(jié)點。
(4)根據(jù)最佳分裂特征,分裂閾值將樣本進行切分。
(5)重復(fù)(1)~(4)選取最佳分裂葉子、分裂特征、分裂閾值,切分樣本,直到達到葉子數(shù)目限制或所有葉子不能分割。
(6)更新當(dāng)前每個樣本輸出值。
步驟4:更新梯度值。
步驟5:重復(fù)步驟3、步驟4,直到所有的樹均完成建立。
步驟6:調(diào)節(jié)參數(shù),進行分類實驗。
本文實驗利用搜狐校園算法比賽提供的數(shù)據(jù),包含大約10 萬篇搜狐網(wǎng)站上的各類文章資訊。實驗使用準(zhǔn)確率P、召回率R 及F1 評價關(guān)鍵詞抽取效果。實驗分別抽取了2~5 個關(guān)鍵詞作為自動抽取關(guān)鍵詞與數(shù)據(jù)集中人工標(biāo)注的關(guān)鍵詞進行對比。與本文LightGBM 方法進行對比的算法包括TF-IDF、TextRank、LDA。
從表2 和圖3 可以看出,隨著提取關(guān)鍵詞個數(shù)的增加,準(zhǔn)確率均有所降低,即TopN 越小,準(zhǔn)確率越高??v向?qū)Ρ萀ightGBM 與其他算法,發(fā)現(xiàn)LightGBM 算法提取關(guān)鍵詞的效果明顯優(yōu)于其他算法。因此綜合考慮總體試驗評價結(jié)果,本文LightGBM 算法整體效果最佳。
Table 2 Results comparison of the keyword extraction methods表2 各類關(guān)鍵詞抽取方法結(jié)果對比
Fig.3 Accuracy,recall and F1 values of each method when N is 2~5圖3 N 取2~5 時各方法準(zhǔn)確率、召回率及F1 值
關(guān)鍵詞提取是自然語言處理的基礎(chǔ)與核心。自然語言處理中的信息檢索、摘要生成、文檔分類、基于檢索的問答系統(tǒng)等均與關(guān)鍵詞提取聯(lián)系緊密。本文提出融合特征工程與LightGBM 算法實現(xiàn)關(guān)鍵詞提取,利用TF-IDF 中IDF 抑制噪聲的特點選擇候選關(guān)鍵詞,并通過特征工程提取候選關(guān)鍵詞的5 個特征作為LightGBM 特征集,將關(guān)鍵詞提取問題轉(zhuǎn)化為二分類問題。實驗結(jié)果表明,該方式可進一步提高關(guān)鍵詞提取效率。下一步研究將利用神經(jīng)網(wǎng)絡(luò)實現(xiàn)文本關(guān)鍵詞提取,并與傳統(tǒng)關(guān)鍵詞提取方法從效率及準(zhǔn)確率兩個維度進行對比,尋找性能更佳的方法。