李文慧,張英俊,潘理虎,2
1(太原科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,太原 030024)
2(中國科學(xué)院 地理科學(xué)與資源研究所,北京100101)
我國“互聯(lián)網(wǎng)+”技術(shù)在各方面取得了積極進(jìn)展[1],網(wǎng)上的新聞報(bào)道、交互平臺(tái)每時(shí)每刻都在發(fā)布各式各樣大量的短消息[2],短文本自動(dòng)分類在信息解鎖、智能推薦、搜索引擎等方面的應(yīng)用越來越重要,按照既定的目標(biāo)對(duì)其進(jìn)行分類,可以大大提高用戶獲取有效信息的質(zhì)量和速度.
短文本分類是指對(duì)聊天、購物、新聞等平臺(tái)的回復(fù)、留言、建議意見等按照給定的分類標(biāo)準(zhǔn)進(jìn)行分類.目前短文本分類特征提取和表示的過程面臨如下問題[3]:(1)內(nèi)容簡短信息量少、特征向量表示高維稀疏.(2)缺乏語義、主題分布不明顯.(3)含有大量的噪音特征.
近年來,機(jī)器學(xué)習(xí)、深度學(xué)習(xí)逐漸推廣應(yīng)用[4],基于特征提取的短文本分類方法取得了較大成效.唐明等人[5]使用Word2vec語言模型表示文檔向量,解決傳統(tǒng)特征向量空間表示高維稀疏問題;張培穎[6]等人使用語義距離計(jì)算類別的特征向量集合,然后再確定文本類別;姜芳[7]等人針對(duì)文本特征表示高維稀疏、忽略低頻詞的問題,提出通過聚類算法利用語義距離挖掘相關(guān)主題特征,然后用信息增益提取特征;然而上述文本分類方法考慮影響特征提取的因素單一,分類準(zhǔn)確率有待提高,運(yùn)算開銷有待降低.
常見的文本特征提取方法包括基于算法和基于評(píng)估標(biāo)準(zhǔn)的過濾方法.
特征選擇算法包括無監(jiān)督的TF-IDF和有監(jiān)督的卡方、信息增益、互信息[8];TF-IDF算法的優(yōu)點(diǎn)是結(jié)果較接近實(shí)際情況方便快速,不足之處是片面的用單一的“詞頻”作為特征重要性的衡量標(biāo)準(zhǔn),因?yàn)榫哂袕?qiáng)類別區(qū)分能力的詞可能詞頻較低,除此之外,TFIDF不能很好的體現(xiàn)特征的語義和位置信息;而卡方檢驗(yàn)和TF-IDF相反,增強(qiáng)了低頻詞的類別區(qū)分能力,信息增益最大的問題是只分析特征對(duì)整體的重要性,忽略了對(duì)每個(gè)類別重要性的考察,所以這些方法通常結(jié)合其它算法綜合評(píng)判特征的類別區(qū)分能力.
過濾方法[9]是從語料庫的一般特征中選擇特征子集,利用獨(dú)立的評(píng)估指標(biāo) (比如距離度量,熵度量,依賴性度量和一致性度量)評(píng)價(jià)該特征的重要性,并把評(píng)分分配給每個(gè)單獨(dú)的特征,因此,過濾方法只會(huì)選擇一些指標(biāo)性能排名靠前的特征,而忽略其他特征,通常,過濾方法由于簡單和高效,多用于文本分類;然而,過濾方法僅利用訓(xùn)練數(shù)據(jù)的固有特性來評(píng)價(jià)特征的分類性能,而不考慮用于分類的學(xué)習(xí)算法,這樣可能導(dǎo)致超出期望的分類性能,對(duì)于特定的學(xué)習(xí)算法,很難確定哪種特征過濾選擇方法最適合用于分類.
針對(duì)傳統(tǒng)的TF-IDF方法在提取特征時(shí)詞匯在類間的分布情況不明顯的問題,周源[10]等人通過擴(kuò)充IDF的方差值來區(qū)分詞匯在不同類間的集中程度;姚海英提出基于特征詞頻度和類內(nèi)信息熵的卡方統(tǒng)計(jì)方法修正IDF值,然后用此IDF增強(qiáng)特征詞的類別區(qū)分能力;牛萍[11]等人用改進(jìn)的TF-IDF算法提取特征項(xiàng),考慮了特征詞匯位置和長度對(duì)特征權(quán)重的影響;陳杰[12]等人通過將Word2vec和TF-IDF結(jié)合,重新為每個(gè)特征詞賦予權(quán)重實(shí)現(xiàn)文本分類;汪靜[13]等人在短文本分類中引入Word2vec模型,解決空間向量表示高維稀疏和缺乏語義的問題;雖然上述方法一定程度上改進(jìn)了傳統(tǒng)算法,但也存在缺陷,僅TF-IDF或者改進(jìn)后TFIDF無法分析不同維度對(duì)分類結(jié)果的影響而且缺乏語義信息,而Word2vec和TF-IDF結(jié)合的模型忽略Word2vec中上下文冗余特征對(duì)詞向量貢獻(xiàn)的影響.
本文提出了一種多因素考量特征選擇的短文本分類方法.首先,利用TF-IDF算法具有良好的特征區(qū)分能力,提取并計(jì)算短文本特征詞匯的權(quán)重;其次,引入改進(jìn)后的Word2vec語言模型更加深層次的表示短文本語料特征;然后,用TF-IDF算法計(jì)算特征詞匯的權(quán)重區(qū)分改進(jìn)Word2vec模型特征的重要性;最后,通過上述短文本特征提取過程構(gòu)建評(píng)價(jià)函數(shù)建立短文本分類模型,并把其應(yīng)用在不同的分類器上進(jìn)行實(shí)驗(yàn).
文本分類過程中,融合多因素提取文本特征的方法有很多,大致可以分為兩種:分類器的融合和統(tǒng)計(jì)方法的融合.融合分類器在長文本分類表現(xiàn)優(yōu)異,一定程度上可以改善文本分類效果,但沒有分析語料特性對(duì)分類結(jié)果的影響,在短文本語料上的分類效果一般;融合統(tǒng)計(jì)方法雖然有從特征位置、詞性、語義等角度綜合考慮,但在分類準(zhǔn)確性和訓(xùn)練時(shí)間上任有待提高,本文提出的方法相對(duì)于以上方法有以下優(yōu)勢(shì):
(1)統(tǒng)計(jì)方法與深度學(xué)習(xí)相結(jié)合.統(tǒng)計(jì)方法準(zhǔn)確的計(jì)算特征重要性,利用深度學(xué)習(xí)更加豐富的表達(dá)文本信息.
(2)用改進(jìn)的Word2vec深度學(xué)習(xí)模型訓(xùn)練不同維度的詞向量,分析其對(duì)分類結(jié)果的影響并找到合適的特征維度.
(3)特征選擇函數(shù)融合了特征語義、重要性、維度.
常規(guī)的特征選擇評(píng)價(jià)函數(shù)有很多,體現(xiàn)特征重要性的方法也不盡相同.評(píng)估一個(gè)特征的重要性通常是由該特征表示的向量權(quán)重來體現(xiàn),即如果一個(gè)特征由向量權(quán)重評(píng)估計(jì)算的權(quán)值越大,說明該特征的類別區(qū)分性能越強(qiáng).TF-IDF的優(yōu)勢(shì)在于可以評(píng)估特征詞相對(duì)于語料庫中其中一篇文檔的重要程度,還可以去除常見的但對(duì)于文本分類不重要的特征詞,保留重要的特征詞;雖然它的沒有考慮在同一個(gè)類內(nèi)和不同類間特征的分布情況,但任可以去除常見但對(duì)于文本分類不重要的詞匯,保留重要的特征詞.特征詞匯的重要性權(quán)重計(jì)算公式為:
其中,ti是給定的某一特征詞,mi, j是這個(gè)特征詞在文檔Dj中出現(xiàn)的次數(shù),|D|是語料庫中所有文檔數(shù)目之和,|{j:ti∈Dj}|為含有特征詞ti的文檔數(shù)目 (mi, j≠0 的文件數(shù)目),一般情況下使用1+|{j:ti∈Dj}|可以防止該特征詞不在語料庫中被除數(shù)為零的情形.如表1為摘自某購物平臺(tái)預(yù)處理后的商品評(píng)論的TF-IDF值,由表1可知,TF-IDF值為0代表該特征詞沒有在該文檔中出現(xiàn)或TF-IDF小于某個(gè)閾值被過濾掉,不為0的TFIDF值可以反映該特征對(duì)評(píng)論分類的貢獻(xiàn)程度.
表1 某購物平臺(tái)預(yù)處理后的商品評(píng)論的TF-IDF值
特征的維度對(duì)短文本分類效果至關(guān)重要,若特征太多會(huì)出現(xiàn)大量冗余,增加文本分類的訓(xùn)練時(shí)間,若特征太少,又會(huì)缺乏表征文本類別的重要特征.
隨著深度學(xué)習(xí)的推廣應(yīng)用,Word2vec模型表示文檔向量并實(shí)現(xiàn)文本分類取得了良好成效.在維度方面,Word2vec可以通過訓(xùn)練把文本內(nèi)容簡化到K維向量空間中進(jìn)行向量運(yùn)算,達(dá)到文本特征高效降維的目的;在語義方面,Word2vec可以通過特征詞之間的距離快速的訓(xùn)練詞向量,并計(jì)算出特征向量空間的相似度,來表示文本特征語義上的相似度,與潛在語義分析LSI、潛在狄立克雷分布LDA相比,Word2vec更加豐富的利用了詞的文檔中上下文中的語義信息.
Word2vec神經(jīng)網(wǎng)絡(luò)語言模型有兩種,分別是CBOW和Skip-gram.CBOW模型是從給定上下文各c個(gè)詞預(yù)測目標(biāo)詞的概率分布,例如,給定學(xué)習(xí)任務(wù):“今天 下午 2 點(diǎn)鐘 軟件實(shí)驗(yàn)室 成員 開例會(huì)”,使用“今天 下午 軟件實(shí)驗(yàn)室 成員 開 例會(huì)”預(yù)測單詞“2 點(diǎn)鐘”的概率分布,而Skip-gram模型則和CBOW模型相反,是從給定目標(biāo)詞預(yù)測上下文各c個(gè)詞的概率值,例如,使用“2 點(diǎn)鐘”來預(yù)測“今天 下午 軟件實(shí)驗(yàn)室 成員 開例會(huì)”中的每個(gè)單詞的概率分布.
Word2vec模型刪除傳統(tǒng)神經(jīng)網(wǎng)絡(luò)語言模型中的隱藏層,直接將中間層與輸出層連接,復(fù)雜度得到優(yōu)化,特征維度減小,輸出采用哈夫曼樹,運(yùn)算量降低;以CBOW為例,通過分析Word2vec模型可知,傳統(tǒng)的Word2vec模型中每個(gè)詞向量的貢獻(xiàn)度是通過梯度
求和實(shí)現(xiàn)的,詞向量的更新公式為:
其中,V(w)為詞向量,η為學(xué)習(xí)率,w為語料庫中的一個(gè)特征詞,Context(w)表示特征詞w的上下文特征詞的集合,j是哈夫曼樹中的第j各節(jié)點(diǎn)Xw是上下文各詞向量的累加和.
雖然Word2vec能夠表示文檔向量,但仍有缺陷,傳統(tǒng)的模型通過學(xué)習(xí)率η把求得的梯度和分配給每一個(gè)詞的詞向量,在這種情況下,若其中有一個(gè)詞向量是冗余的,將導(dǎo)致詞向量計(jì)算出現(xiàn)偏離進(jìn)而影響特征詞對(duì)整篇文檔的表達(dá),如果要縮小冗余對(duì)詞向量更新準(zhǔn)確性的影響,考慮采用均衡貢獻(xiàn)的思想,把梯度和求平均值累加到原詞向量上,因此本文提出一種改進(jìn)Word2vec模型,引入均衡因子來縮減個(gè)別冗余特征等對(duì)詞向量表達(dá)的影響,采用平均貢獻(xiàn)后更新的誤差將小于直接求和更新的誤差,用改進(jìn)的模型更新詞向量.均衡因子β的計(jì)算為:
所以改進(jìn)后的詞向量更新公式為:
改進(jìn)后的的Word2vec模型訓(xùn)練得到的詞向量表示如圖1所示.
圖1 改進(jìn) Word2vec 訓(xùn)練詞向量結(jié)果
短文本特征提取的時(shí),特征的維度、語義、重要性均可影響短文本分類效果,所以需采用一定的方法對(duì)這些因素進(jìn)行融合來提取短文本特征.
包含M個(gè)文檔的集合D,其中Di(i=1,2,…,M)已經(jīng)采用分詞工具NLPIR對(duì)中文文檔進(jìn)行分詞,將其通過改進(jìn)的Word2vec模型進(jìn)行訓(xùn)練,設(shè)置每個(gè)特征詞訓(xùn)練窗口的大小,取不同維數(shù)的輸出向量,得到每個(gè)分詞對(duì)應(yīng)的N維詞向量h,其中h=(v1,v2,…,vn).
對(duì)每類文檔集中的每篇文檔里的每個(gè)分詞,首先將短文本分詞向量化,然后利用TF-IDF算法計(jì)算其在該文檔中的權(quán)重W(t,Di),其表示為詞t在文檔Di(i=1,2,…,M)中的權(quán)重.對(duì)于每篇文檔Di(i=1,2,…,M),其特征選擇函數(shù)的表示形式如下:
其中,ht表示特征詞t的詞向量,所以文檔向量還是一個(gè)N維的實(shí)數(shù)向量.
FS特征選擇函數(shù)利用改進(jìn)后的Word2vec模型訓(xùn)練短文本,得到低維、語義化的詞向量,再通過TFIDF算法計(jì)算不同詞向量的權(quán)值,增強(qiáng)具有類別區(qū)分能力特征項(xiàng)的權(quán)值,削弱冗余項(xiàng)的類別區(qū)分能力,最終可以用于文本分類.
實(shí)驗(yàn)所使用的數(shù)據(jù)取自搜狗實(shí)驗(yàn)室中文文本分類語料庫,將下載的原始數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,文檔切分,然后給文本標(biāo)類別標(biāo)簽,劃分訓(xùn)練與測試數(shù)據(jù),共包含文本21 924 篇,分為 11 類,分別是汽車、財(cái)經(jīng)、IT、健康、體育、旅游、教育、軍事、文化、娛樂和時(shí)尚,其中每類有2000篇,按4:1分為1600篇訓(xùn)練文本和400篇測試文本,然后控制文本長度最多不超過100個(gè)詞;文本分詞是預(yù)處理過程中必不可少的一個(gè)操作,使用中國科學(xué)院計(jì)算機(jī)研究所分詞工具ICTCLAS分詞;去停用詞也是預(yù)處理過程中不可缺少的一部分,去停用詞包括(標(biāo)點(diǎn)、數(shù)字、單字和其它一些無意義的詞),比如說“這個(gè)”、“的”、“一二三四”、“我你他”、“0 1 2 … 9”等.
當(dāng)詞匯表變得很大時(shí),特征詞頻率和權(quán)重向量化表示文本有一定的局限性[14],這需要巨大的向量來編碼文檔,并對(duì)內(nèi)存要求很高,而且會(huì)減慢算法的速度,一種很好的方法是使用單向哈希方法來將單詞轉(zhuǎn)化成整數(shù),該方法不需要詞匯表,可以選擇任意長的固定向量,缺點(diǎn)是哈希量化是單向的,Python中的Hashing Vectorizer類實(shí)現(xiàn)了這一方法,向量化完畢后使用tfidftransformer類進(jìn)行特征的權(quán)重修定.
對(duì)于給定的類別,評(píng)價(jià)指標(biāo)采用準(zhǔn)確率、分類器的訓(xùn)練時(shí)間.準(zhǔn)確率,又稱“精度”,表示正確分類到該類的文本占分類到該類文本的比例,計(jì)算如下:
并檢測短文本分類過程中分類器的訓(xùn)練時(shí)間.
為了驗(yàn)證該方法的有效性,實(shí)驗(yàn)分別在SVM(支持向量基)、KNN(K近鄰分類器,取K=10)分類器上進(jìn)行短文本分類實(shí)驗(yàn),流程如圖2.
圖2 短文本分類流程圖
實(shí)驗(yàn)一:基于TF-IDF特征重要性的短文本分類實(shí)驗(yàn),取不同特征數(shù)時(shí)用評(píng)價(jià)指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)價(jià),特征維數(shù)對(duì)準(zhǔn)確率和訓(xùn)練時(shí)間的影響分別如圖3和圖4,從圖3中可以看出,原來經(jīng)過預(yù)處理的短文本特征有64 858個(gè),利用哈希方法向量化特征并設(shè)置不同的特征維數(shù),當(dāng)特征在 10 000–60 000 維時(shí)準(zhǔn)確率雖然有波動(dòng)但都較高,而且變化范圍不大,在SVM分類器上的準(zhǔn)確率在84.5%~86.1%之間,因?yàn)楫?dāng)特征數(shù)比較多達(dá)到上萬維時(shí)有冗余特征,在適當(dāng)?shù)姆秶鷥?nèi)去掉一些冗余特征可以提高運(yùn)算效率,而對(duì)準(zhǔn)確率影響不大;當(dāng)特征提取到 10 000 維以下時(shí),準(zhǔn)確率急劇下降,當(dāng)特征數(shù)為500維時(shí),SVM分類器的準(zhǔn)確率下降到64.3%,KNN分類器上的準(zhǔn)確率下降到69.2%,特征提取時(shí)去掉了許多重要的特征,影響了短文本分類效果.從圖4中可以看出,在SVM分類器上短文本分類訓(xùn)練時(shí)間隨著特征數(shù)的增加而增加,變化范圍為 50 s~70 s之間,而在KNN分類器上訓(xùn)練時(shí)間相對(duì)較少,不同維數(shù)下的訓(xùn)練時(shí)間均在1 s以下.
圖3 選擇不同特征數(shù)時(shí)分類器預(yù)測準(zhǔn)確率
圖4 選擇不同特征數(shù)時(shí)分類器訓(xùn)練時(shí)間(s)
雖然上述實(shí)驗(yàn)中詞匯特征重要性得到體現(xiàn),但當(dāng)文本特征數(shù)提取下降到 10 000 維時(shí),相對(duì)于 70 000 維來說維度有所降低,但特征維數(shù)還是很高,特征提取時(shí)忽略了語義信息,而且短文本分類在SVM分類器上的訓(xùn)練時(shí)間較長,所以進(jìn)行了以下實(shí)驗(yàn);
實(shí)驗(yàn)二:特征提取時(shí)多因素融合(特征、維度、語義)的短文本分類實(shí)驗(yàn),哈希向量化特征為10 000維時(shí)計(jì)算特征重要性權(quán)重,設(shè)置改進(jìn)Word2vec模型參數(shù),使用Skip-gram模型,不同的詞向量輸出維度范圍設(shè)置在50~500維之間,取不同特征維數(shù)時(shí)用評(píng)價(jià)指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)價(jià),特征維數(shù)對(duì)準(zhǔn)確率和訓(xùn)練時(shí)間的影響分別如圖5和圖6,從圖5中可以看出,原來經(jīng)過預(yù)處理的短文本特征有64 858個(gè),利用改進(jìn)Word2vec模型向量化設(shè)置不同的特征維數(shù),在SVM分類器上的準(zhǔn)確率變化范圍在84%~88%之間,當(dāng)特征提取到300維左右時(shí),準(zhǔn)確率達(dá)到最大,當(dāng)特征大于或小于300維時(shí),SVM分類器的準(zhǔn)確率開始下降,但不會(huì)下降太多,最低為 84%;同理,KNN 分類器上的準(zhǔn)確率在150維左右時(shí)達(dá)到最大;因?yàn)樵谶m當(dāng)?shù)姆秶鷥?nèi)去掉一些冗余特征可以提高運(yùn)算效率,而準(zhǔn)確率不會(huì)有很大影響,從圖6中可以看出,在SVM分類器上訓(xùn)練時(shí)間隨著特征數(shù)的增加而增加,變化范圍為12 s~63 s之間,訓(xùn)練時(shí)間整體比單一的基于詞匯重要性TFIDF的訓(xùn)練時(shí)間少;而在KNN分類器上訓(xùn)練時(shí)間變化范圍為 1 s~11 s之間,訓(xùn)練時(shí)間整體比單一的基于詞匯重要性TF-IDF的訓(xùn)練時(shí)間多.
新的特征選擇評(píng)價(jià)函數(shù)從特征語義和權(quán)重的層面進(jìn)行需求分析,不僅解決了傳統(tǒng)向量空間模型特征表示高維稀疏的問題,從改進(jìn)的Word2vec語言模型出發(fā),采用線性映射將詞的獨(dú)熱表示投影到稠密向量表示,引入向量均衡因子更精確的更新詞向量,而且還融入傳統(tǒng)特征選擇方法不具有的語義性,實(shí)驗(yàn)表明基于多因素融合特征選擇后的方法在SVM和KNN分類器上準(zhǔn)確率都有提高;由于分類器的性能不同,訓(xùn)練時(shí)間在SVM分類器上有所減少,在KNN分類器上的訓(xùn)練時(shí)間增加,但在提高分類準(zhǔn)確率的同時(shí)犧牲少量的訓(xùn)練時(shí)間是可以接受的;但也有不足之處:
FS特征選擇方法雖然量化了特征維數(shù)和重要性,分類準(zhǔn)確率也有所提高,但是否有比TF-IDF準(zhǔn)更好特征重要性衡量標(biāo)仍有待研究;Word2vec模型對(duì)多義詞無法很好的表示和處理,因?yàn)槭褂昧宋ㄒ坏脑~向量,而且詞匯上下文沒有順序性,語義性削弱,在語義性方面還有待優(yōu)化;針對(duì)特征提取的需要,考慮應(yīng)用深度學(xué)習(xí)算法改進(jìn)特征選擇評(píng)價(jià)函數(shù).
圖5 選擇不同特征數(shù)時(shí)分類器預(yù)測準(zhǔn)確率
圖6 選擇不同特征數(shù)時(shí)分類器訓(xùn)練時(shí)間(s)