鄔明強(qiáng) 張奎



摘要 隨看時(shí)代的發(fā)展,各種各秤的數(shù)據(jù)信息不斷涌現(xiàn),如何正確有效地對各種類別信息加以分類、區(qū)分,是一個(gè)很有研究價(jià)值的問題。本文在傳統(tǒng)的TFIDF模型的基礎(chǔ)上,結(jié)合了Skip-gram模型,通過對給定語料庫的文本進(jìn)行類別訓(xùn)練,得到了文本的類別向量,接著計(jì)算出文檔向量和各類別向量的相似度對文本進(jìn)行分類。實(shí)驗(yàn)證明,該方法在給定的語料庫范圍內(nèi),取得了較好的測試性能,準(zhǔn)確率、召回率、F1明顯優(yōu)于余弦定理方法。
【關(guān)鍵詞】TFIDF模型 Skip-gram模型 文本分類
1 引言
隨著計(jì)算機(jī)不斷普及,因特網(wǎng)進(jìn)入了大數(shù)據(jù)時(shí)代,海量的各種類型的數(shù)據(jù)信息不斷涌現(xiàn),給我們提供方便的同時(shí),也帶來了一定的挑戰(zhàn):如何有效地組織和管理這些信息,并且快速、準(zhǔn)確、全面地從中找到用戶所需要的信息是一個(gè)亟待解決的問題。這里就用到了文本分類術(shù)。
文本分類是指用電腦對文本集按照一定的分類體系或標(biāo)準(zhǔn)進(jìn)行自動分類標(biāo)記,從而為每一個(gè)文檔確定一個(gè)類別。主要包括預(yù)處理、索引、統(tǒng)計(jì)、特征抽取、分類器、評價(jià)等步驟。
在過去幾十年里,國內(nèi)外學(xué)者提出及改進(jìn)了一系列關(guān)于文本分類的算法,其中比較著名的如k近鄰分類( k-NN)、樸素貝葉斯分類、支持向量機(jī)(SVM)及TFIDF等,現(xiàn)如今仍然被一些學(xué)者采用。傳統(tǒng)的方法由于技術(shù)不太成熟,所以準(zhǔn)確性仍有待提高。
本文結(jié)合TFIDF方法和Skip-gram模型的方法實(shí)現(xiàn)文本分類,既能考慮到詞匯在相應(yīng)文檔的重要性,又能體現(xiàn)詞和詞之間的語義關(guān)系,文本分類效果較好。
2 方法
2.1 TFIDF方法簡介
TFIDF方法是一種基于詞頻與逆文檔頻率的統(tǒng)計(jì)方法,主要用來評估一個(gè)字詞對于文件集或語料庫中的一份文檔或一個(gè)類別的重要程度。它的思想為:如果某個(gè)詞或者短語在一個(gè)類別中出現(xiàn)的頻率較高,并且在其他類別中很少出現(xiàn),則認(rèn)為此詞或者短語具有很好的類別區(qū)分能力,這種方法主要用來分類。其中TF被稱為.詞頻,用來衡量詞w在文檔d中出現(xiàn)的頻率,而IDF被稱為逆文檔頻率,它代表了詞w的類別區(qū)分能力,包含詞w的文檔越少則該值越大。TF和IDF的計(jì)算公式如下式(1)和式(2)所示。
2.2 Skip-gram模型介紹
Skip-gram以此得到詞向量。而詞向量的基本思想是將每個(gè)詞映射成一個(gè)k維實(shí)數(shù)向量,Skip-gram模型是Mikolov等人提出的一種可以在大規(guī)模數(shù)據(jù)集上進(jìn)行訓(xùn)練的神經(jīng)網(wǎng)絡(luò)語言模型。本文的做法是使用Skip-gram模型在語料庫上進(jìn)行訓(xùn)練,一般在1000維一下。Mikolov等人指出相比于傳統(tǒng)的語言模型,基于神經(jīng)網(wǎng)絡(luò)語言模型NNML得到的詞向量對詞的表示更加準(zhǔn)確,這種模型可以快速地完成對數(shù)十億詞的大規(guī)模數(shù)據(jù)的訓(xùn)練,進(jìn)而來得到詞向量在詞語上的表示,這種表示方法能夠使結(jié)果更加準(zhǔn)確。利用詞向量對詞語進(jìn)行表示后,可以方便地通過向量來計(jì)算詞和詞之間的相似度,然后再進(jìn)一步根據(jù)相似度值的大小,對文本的類別進(jìn)行判斷。
使用Skip-gram模型得到的詞向量在詞語的表示上比傳統(tǒng)方法更準(zhǔn)確,它還能通過加法組合運(yùn)算挖掘詞與詞之間的語義關(guān)系,能夠很好地彌補(bǔ)TFIDF方法在語義表示上的不足。
2.3 本文分類方法及過程
2.3.1 本文文本分類方法
首先,計(jì)算出tfidf值最大的若干個(gè)詞語,然后把這些詞語轉(zhuǎn)化成當(dāng)前文本的詞向量表示形式,接著計(jì)算出當(dāng)前文本的詞向量和其中一類的文本類別向量的余弦相似度值,接著用該值和給定的文本類別的閾值相比較,根據(jù)比較結(jié)果來對該文本進(jìn)行分類。
2.3.2 分詞和去除停用詞
因?yàn)榉诸惙椒ㄖ兄饕玫皆~的權(quán)重和詞的語義關(guān)系,所以對于一篇給定的文檔,我們先要進(jìn)行分詞,分詞操作是中文信息處理的基礎(chǔ),本文用到的分詞工具為中科院研制的ICTCLAS,它是一種漢語詞法分析系統(tǒng),分詞精度達(dá)到了98.45%,是當(dāng)前比較流行的漢語詞法分析器。它主要以句子為單位對其中的詞語進(jìn)行切分,切分的同時(shí)帶有詞性標(biāo)注,通過該詞語標(biāo)注的詞性能夠更加方便地對詞語和文章進(jìn)行研究。
分詞后還需進(jìn)一步進(jìn)行去除停用詞,停用詞主要指存在文章中的一些頻率比較高的詞,但是對表示文章的主題沒有作用或沒有影響的一些詞,比如常見的有“的”、“在”、“接著”、“于是”、“但是”等一些詞及常用的標(biāo)點(diǎn)符號。這一類詞主要有語氣助詞、副詞、介詞、連詞等,它們本身沒有明確的意義,但是可以用來連接一個(gè)完整句子。本文選取了519個(gè)停用詞,這些詞放在一個(gè)停用詞表中。在文本分類工作中,為了提高分類的準(zhǔn)確率、減少一些噪音的干擾,可以在文章分詞完畢后,根據(jù)提前設(shè)定好的停用詞表去除文本中的一些停用詞。本文的停用詞表是存放在一個(gè)記事本文件中,分詞完畢后利用java語言中的正則表達(dá)式和字符串的相關(guān)概念對當(dāng)前文檔中的停用詞進(jìn)行了去除。
2.3.3 計(jì)算tfidf值
根據(jù)前面所提到的tf和idf公式,分別計(jì)算某個(gè)詞在當(dāng)前文檔出現(xiàn)的次數(shù)、語料庫中包含該詞的文檔數(shù)量及語料庫中所有文檔數(shù),進(jìn)而得到某個(gè)詞的tfidf值,給定一篇參與計(jì)算的文本,首先從中選取N個(gè)詞,這N個(gè)詞能夠代表文章的語義,利用上面的公式共同計(jì)算出每一個(gè)詞語的tfidf值,然后從中挑選出n個(gè)tfidf最大的值作為當(dāng)前文檔的特征詞。由于人工選取特征詞的個(gè)數(shù)一般為3~7個(gè),所以為了方便這里取n的值為5,由于這些詞能夠很好地體現(xiàn)它在該篇文檔中的重要程度,所以我們可以把它們作為當(dāng)前文檔主題詞。
2.3.4 文本的向量化表示
接下來將對每一個(gè)這樣的詞語進(jìn)行詞向量表示,根據(jù)向量的加法原則,可以將原本獨(dú)立的詞向量累加得到文檔的詞向量,這樣就得到了該篇文檔的向量表示,這樣得到的向量表示實(shí)質(zhì)是經(jīng)過TFIDF模型加權(quán)后的向量表示。
根據(jù)文檔的主題詞,分別統(tǒng)計(jì)其在語料庫中所占的權(quán)重值,構(gòu)成了不同的詞向量,設(shè)語料庫中總共有s篇語料,分別存放在s個(gè)記事本文件中,那么第i個(gè)詞的詞向量可以表示為(vil,vi2,…,vis),根據(jù)向量的加法規(guī)則將主題詞的詞向量相加并歸一化處理,就得到了當(dāng)前文檔的詞向量表示。假設(shè)當(dāng)前文檔歸一化的向量為vt。
2.3.5 文本類別的向量表示
對于給定語料庫中提前訓(xùn)練好的文本類別,分別轉(zhuǎn)換成詞向量表示形式,同樣地,根據(jù)向量相加規(guī)則求和并進(jìn)行歸一化處理,可以計(jì)算出當(dāng)前文檔類別的類別向量表示。
先選取某一類別的文檔,這里假設(shè)有N1篇,對于其中的每一篇文章,統(tǒng)計(jì)出詞頻最大的N個(gè)詞,然后分別計(jì)算出對應(yīng)的tfidf值,再選取n個(gè)tfidf最大的詞作為當(dāng)前文章的主題詞,N1篇文檔共有N1*n個(gè)主題詞,它們共同構(gòu)成了該類別文檔的主題詞。設(shè)某個(gè)主題詞在當(dāng)前類別語料庫中的權(quán)重分別為vwl,vw2,…,vwNl,那么該主題詞對應(yīng)的詞向量為v= (vwl,vw2,…,vwNl),類似地,可以得出其它主題詞的詞向量。把相應(yīng)的詞向量相加并歸一化就得到了當(dāng)前文檔類別的類別詞向量。假設(shè)計(jì)算出的當(dāng)前這種類別的文檔的類別詞向量為vs。為了讓它的維數(shù)和文本向量的維數(shù)一致,需要對文本類別向量的維數(shù)做適當(dāng)擴(kuò)展。
2.3.6 相似度計(jì)算
要計(jì)算當(dāng)前選定的文本是否屬于現(xiàn)在這個(gè)類別時(shí),可以根據(jù)余弦定理算出文本向量和類別向量的相似度值即可。設(shè)該文本和該類別文本的相似度為sim,如式3所示。
2.4 分類
設(shè)文本分類的閾值為6,6的值是根據(jù)訓(xùn)練得到的。當(dāng)sim>=δ,說明該文本與當(dāng)前類別的相似度較大,這種情況下可以判斷出該文本屬于當(dāng)前這個(gè)類別;當(dāng)sim<δ,說明該文本與當(dāng)前類別相似度較小,該文本不屬于當(dāng)前這個(gè)類別,在這個(gè)基礎(chǔ)上,繼續(xù)用本文擋的詞向量和其它類別的類別向量做相似度運(yùn)算,如計(jì)算的值等于或者超過了閾值δ,則可以判定當(dāng)前文檔屬于這個(gè)類別。否則繼續(xù)按照該算法去計(jì)算相似度值,進(jìn)一步對文檔進(jìn)行歸類。算法流程如圖1所示。
3 實(shí)驗(yàn)
3.1 語料選取
本文選取了搜狗新聞的相關(guān)語料,其中旅游類、教育類、軍事類各100篇,一共300篇作為測試語料。
3.2 測試
采用java語言,同一類的100篇文本分別存儲到對應(yīng)的記事本,為了提高訓(xùn)練速度,程序中也采用了批處理的方法,根據(jù)前面提到的計(jì)算文本類別向量的方法,首先分別計(jì)算出同類別每篇文章中tfidf最大的幾個(gè)值,存儲到一個(gè)記事本文檔中,在計(jì)算該類別文本向量時(shí)將記事本中的內(nèi)容讀出,最終得到了文本類別向量。
測試方法如下:用旅游類的100篇文本和旅游類的類別向量計(jì)算相似度,教育類和軍事類的200篇文本和旅游類的類別向量計(jì)算相似度,同樣地,其它兩類文本分別和相應(yīng)的類別向量計(jì)算相似度,再用不同類的其它200篇文本和該類別文本計(jì)算相似度。最終得到一系列相似度值。采用準(zhǔn)確率、召回率、F1值作為評判標(biāo)準(zhǔn)。根據(jù)訓(xùn)練的結(jié)果對選取了一定的相似度閩值進(jìn)行測試。通過測試過程可以看出,同類的文本相似值比較接近,而不同類的文本計(jì)算出的相似度值明顯偏小。
測試結(jié)果如表1所示。
可以看出,融合了tfidf方法和Skip-gram模型計(jì)算相似度上的優(yōu)勢。
3.3 分類
本文根據(jù)訓(xùn)練的情況,分別選取了相應(yīng)的相似度閾值δ1,δ2,δ3。
給定一篇文本,利用本文的方法和給定類別詞向量計(jì)算相似度,如果相似度值大于等于該閾值,則可以判定當(dāng)前文本屬于給定的類別,否則不屬于該類別。
4 結(jié)論
本文在判斷文本類別時(shí),利用了TFIDF和Skip-gram相結(jié)合的方法來計(jì)算,同時(shí)考慮了詞匯在文本中的重要程度,也兼顧了詞與詞之間的語義關(guān)系,很好體現(xiàn)了Skip-gram模型通過詞向量預(yù)測上下文的應(yīng)用,實(shí)驗(yàn)證明,該方法在一定范圍內(nèi)是很有效的。
由于選取的語料比較少,同時(shí)用到的語料參差不齊,導(dǎo)致測試結(jié)果的準(zhǔn)確性受到一定的影響。接下來將不斷尋找新的語料庫,并對語料進(jìn)行進(jìn)一步的篩選,同時(shí)逐步提高語料的規(guī)模,再選取一些更加有效的方法作為文本相似度的訓(xùn)練器,給相似度的實(shí)際測試奠定良好的基礎(chǔ)。
參考文獻(xiàn)
[1]馮園園,短文本分類技術(shù)及其場景應(yīng)用研究[D].碩士學(xué)位論文,2017 (01).
[2]張謙,高章敏,劉嘉勇,基于Word2Vec的微博短文本分類研究[J].信息網(wǎng)絡(luò)安全,2017,18 (01):57-62.
[3]黃承慧,印鑒,候昉,一種結(jié)合詞項(xiàng)語義信息和TF-IDF方法的文本相似度量方法[J].計(jì)算機(jī)學(xué)報(bào),2011,34 (05): 856-864.
[4]武永亮,趙書良等,基于TF-IDF和余弦相似度的文本分類方法[J],中文信息學(xué)報(bào),2017, 31(05):139-145.
[5]李天彩,王波,毛二松等.基于Skip-gram模型的微博情感傾向性分析[J].計(jì)算機(jī)應(yīng)用與軟件,2016,33 (07):114-117.
[6]熊富林,鄧怡豪,唐曉晟.Word2vec的核心架構(gòu)及其應(yīng)用[J].南京師范大學(xué)學(xué)報(bào)(工程技術(shù)版),2015,15 (01): 43-48.
[7]張群,王紅軍,王倫文.詞向量與LDA相融合的短文本分類方法[J].現(xiàn)代圖書情報(bào)技術(shù),2016 (12):26-35.
[8]黃賢英,李沁東,劉英濤,結(jié)合詞性的短文本相似度算法及其在文本分類中的應(yīng)用[J].電訊技術(shù),2017,57 (01): 78-81,
[9]李妍坊,許歆藝,劉功申.面向情感傾向性識別的特征分析研究[J],計(jì)算機(jī)技術(shù)與發(fā)展,2014 (09):33-36.