武永亮,趙書(shū)良 ,李長(zhǎng)鏡 , 魏娜娣,王子晏
(1. 河北師范大學(xué) 數(shù)學(xué)與信息科學(xué)學(xué)院,河北 石家莊 050024;2. 河北省計(jì)算數(shù)學(xué)與應(yīng)用重點(diǎn)實(shí)驗(yàn)室, 河北 石家莊 050024;3. 河北師范大學(xué)匯華學(xué)院,河北 石家莊 050091;4. 中國(guó)科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230022)
基于TF-IDF和余弦相似度的文本分類(lèi)方法
武永亮1,2,趙書(shū)良1,2,李長(zhǎng)鏡1,2, 魏娜娣3,王子晏4
(1. 河北師范大學(xué) 數(shù)學(xué)與信息科學(xué)學(xué)院,河北 石家莊 050024;2. 河北省計(jì)算數(shù)學(xué)與應(yīng)用重點(diǎn)實(shí)驗(yàn)室, 河北 石家莊 050024;3. 河北師范大學(xué)匯華學(xué)院,河北 石家莊 050091;4. 中國(guó)科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230022)
文本分類(lèi)是文本處理的基本任務(wù)。大數(shù)據(jù)處理時(shí)代的到來(lái)致使文本分類(lèi)問(wèn)題面臨著新的挑戰(zhàn)。研究者已經(jīng)針對(duì)不同情況提出多種文本分類(lèi)算法,如KNN、樸素貝葉斯、支持向量機(jī)及一系列改進(jìn)算法。這些算法的性能取決于固定數(shù)據(jù)集,不具有自學(xué)習(xí)功能。該文提出一種新的文本分類(lèi)方法,包括三個(gè)步驟: 基于TF-IDF方法提取類(lèi)別關(guān)鍵詞;通過(guò)類(lèi)別關(guān)鍵詞和待分類(lèi)文本關(guān)鍵詞的相似性進(jìn)行文本分類(lèi);在分類(lèi)過(guò)程中更新類(lèi)別關(guān)鍵詞改進(jìn)分類(lèi)器性能。仿真實(shí)驗(yàn)結(jié)果表明,本文提出方法的準(zhǔn)確度較目前常用方法有較大提高,在實(shí)驗(yàn)數(shù)據(jù)集上分類(lèi)準(zhǔn)確度達(dá)到90%,當(dāng)文本數(shù)據(jù)量較大時(shí),分類(lèi)準(zhǔn)確度可達(dá)到95%。算法初次使用時(shí),需要一定的訓(xùn)練樣本和訓(xùn)練時(shí)間,但分類(lèi)時(shí)間可下降到其他算法的十分之一。該方法具有自學(xué)習(xí)模塊,在分類(lèi)過(guò)程中,可以根據(jù)分類(lèi)經(jīng)驗(yàn)自動(dòng)更新類(lèi)別關(guān)鍵詞,保證分類(lèi)器準(zhǔn)確率,具有很強(qiáng)的現(xiàn)實(shí)應(yīng)用性。
文本分類(lèi);大數(shù)據(jù);TF-IDF;余弦相似度;類(lèi)別關(guān)鍵詞
20世紀(jì)90年代以來(lái),互聯(lián)網(wǎng)技術(shù)迅速發(fā)展,信息數(shù)據(jù)成指數(shù)級(jí)別增長(zhǎng)。如何有效地對(duì)這些文本信息進(jìn)行組織和管理,已經(jīng)成為人們迫切需要解決的問(wèn)題。文本分類(lèi)是文本處理過(guò)程中最重要的步驟之一[1]。截至目前,很多文本分類(lèi)方法已被應(yīng)用在各個(gè)領(lǐng)域,例如分類(lèi)實(shí)時(shí)新聞、搜索引擎分類(lèi)搜索、互聯(lián)網(wǎng)信息統(tǒng)計(jì)分析等。
目前,最常用的文本分類(lèi)算法有KNN、SVM和樸素貝葉斯。KNN算法由T.M. Cover在1967年提出[2],根據(jù)近鄰文本的類(lèi)別統(tǒng)計(jì)完成文本分類(lèi)。KNN算法易于理解和實(shí)現(xiàn),但對(duì)異常值不敏感。Gongde Guo等研究者把KNN算法應(yīng)用在自動(dòng)文本分類(lèi)領(lǐng)域[3]。Jiang S等研究者對(duì)KNN算法進(jìn)行深入研究[4-5]。但KNN算法計(jì)算復(fù)雜度較高,不適合大規(guī)模的文本分類(lèi)問(wèn)題。支持向量機(jī)算法是由Vapnik等人在統(tǒng)計(jì)學(xué)習(xí)理論基礎(chǔ)上對(duì)線(xiàn)性分類(lèi)器提出的另一種設(shè)計(jì)準(zhǔn)則[6],隨后又發(fā)展為支持向量網(wǎng)絡(luò)[7]。Joachims在1999年進(jìn)行了SVM分類(lèi)器的推導(dǎo)證明[8]。研究人員還在支持向量機(jī)方法的基礎(chǔ)上進(jìn)行其他研究[9-10]。支持向量機(jī)方法在小樣本空間的分類(lèi)問(wèn)題上性能突出。樸素貝葉斯算法的思想早在20世紀(jì)50年代已經(jīng)被提出。在20世紀(jì)60年代成為搜索領(lǐng)域最流行的分類(lèi)方法。Kim等把樸素貝葉斯方法應(yīng)用到文本分類(lèi)領(lǐng)域[11]。Frank把樸素貝葉斯方法應(yīng)用到不均衡文本分類(lèi)中[12],研究人員還基于樸素貝葉斯方法提出許多改進(jìn)方法[13-14]。樸素貝葉斯方法是基于統(tǒng)計(jì)學(xué)理論的分類(lèi)方法,但是無(wú)法處理特征組合分類(lèi)問(wèn)題,所以樸素貝葉斯算法無(wú)法在處理大量文本分類(lèi)問(wèn)題上有較高分類(lèi)效率。
本文共分為六部分。第一部分描述文本分類(lèi)領(lǐng)域的研究現(xiàn)狀,指出常見(jiàn)文本分類(lèi)算法的適用領(lǐng)域。第二部分描述TF-IDF技術(shù)的原理。第三部分描述余弦相似度的原理。第四部分提出基于TF-IDF的文本分類(lèi)方法。第五部分通過(guò)實(shí)驗(yàn)對(duì)比常見(jiàn)文本分類(lèi)方法在基準(zhǔn)語(yǔ)料庫(kù)上的性能。最后一部分總結(jié)本文的研究成果,并提出下一階段的研究計(jì)劃。
本文基于TF-IDF詞頻權(quán)重技術(shù)[15-16]提出一種文本分類(lèi)方法。TF-IDF技術(shù)用于評(píng)估詞語(yǔ)對(duì)于文檔集或語(yǔ)料庫(kù)中文本的重要程度。詞頻(TF)表示特定單詞在文檔中出現(xiàn)的頻率。逆文檔頻率(IDF)用來(lái)評(píng)價(jià)詞語(yǔ)對(duì)于語(yǔ)料庫(kù)的普遍性。TF-IDF值由TF值乘以IDF值得到。TF-IDF技術(shù)經(jīng)常被用于關(guān)鍵詞提取和文章摘要提取[17]。
TF-IDF技術(shù)用來(lái)提取文本關(guān)鍵詞及類(lèi)別關(guān)鍵詞(KWC)。在本文第四節(jié)中,作者使用類(lèi)別關(guān)鍵詞和文本關(guān)鍵詞的相似度來(lái)進(jìn)行文本分類(lèi)。
余弦相似度是通過(guò)兩個(gè)向量之間的夾角來(lái)衡量向量相似性。余弦相似度計(jì)算如式(1)所示。
在本文第四節(jié)中詳細(xì)描述類(lèi)別關(guān)鍵詞的獲取,及通過(guò)文本關(guān)鍵詞和類(lèi)別關(guān)鍵詞的相似性進(jìn)行文本分類(lèi)的過(guò)程。
4.1 方法架構(gòu)
本文提出的文本分類(lèi)方法整體架構(gòu)如圖1所示。
本文提出類(lèi)別關(guān)鍵詞提取算法來(lái)獲取類(lèi)別關(guān)鍵詞。首先讀取類(lèi)別的所有文本,然后去除特殊符號(hào)及停用詞,剩余詞語(yǔ)為類(lèi)別關(guān)鍵詞。類(lèi)別關(guān)鍵詞數(shù)量過(guò)多會(huì)導(dǎo)致計(jì)算量增大,所以本文根據(jù)TF-IDF值進(jìn)行關(guān)鍵詞排序,篩選后得到類(lèi)別關(guān)鍵詞。具體篩選方法參見(jiàn)4.1節(jié)中類(lèi)別關(guān)鍵字尋優(yōu)過(guò)程。
算法1類(lèi)別關(guān)鍵詞提取算法
輸入:
corpus:訓(xùn)練語(yǔ)料庫(kù)
catelist:存儲(chǔ)所有類(lèi)別信息
dlist:訓(xùn)練集的根目錄,把所有的訓(xùn)練樣本放入一個(gè)文件夾。一級(jí)目錄為類(lèi)別名。每個(gè)一級(jí)目錄中包含本類(lèi)別的所有訓(xùn)練樣本。
stopWordList:存儲(chǔ)停用詞表
輸出:
catelist:包含類(lèi)別關(guān)鍵詞的類(lèi)別信息
具體算法:
1: foreach d∈dlist do
2: t.realcategory = d.getDirectoryName()//得到類(lèi)別目錄
3: singleTypeContent = ‘’
4: foreach f∈getFileList(d) do
5: content= readFile(f)
6: singleTypeContent += textClean (content)
7: end for
8: corpus.append(singleTypeContent)
9: catelist.append(t)
10: end for
11: TF-IDF = fit_transform(corpus)
12: word = get_feature_names()
13: weight = getTF-IDF()
14: foreach c∈catelist do
15: order( c. keywordList )//根據(jù)TF-IDF值,排序類(lèi)別關(guān)鍵詞
16: end for
圖1 基于TF-IDF和余弦相似度的文本分類(lèi)方法的架構(gòu)
在算法1中,第1~3步,讀取訓(xùn)練集的根目錄,其中每一個(gè)子目錄代表一個(gè)類(lèi)別。在第4~10步中依次讀取各類(lèi)別所有的文本,進(jìn)行文本預(yù)處理、分詞等操作。在第11~13步中計(jì)算出所有單詞的TF-IDF值,在第14~16步中按照TF-IDF值進(jìn)行排序。最終得到每個(gè)類(lèi)別的所有關(guān)鍵詞。
算法2的目的是得到文本關(guān)鍵詞。
算法2文本關(guān)鍵詞提取算法
輸入:
corpus:訓(xùn)練語(yǔ)料庫(kù)
testFilelist:保存所有的待分類(lèi)文本
dtlist:測(cè)試集的根目錄,把所有的測(cè)試樣本放入一個(gè)文件夾。一級(jí)目錄為類(lèi)別名。每個(gè)一級(jí)目錄中包含本類(lèi)別的所有測(cè)試樣本。
stopWordList:存儲(chǔ)停用詞表
輸出:
testFilelist:得到所有的待分類(lèi)文本的關(guān)鍵詞
具體算法:
1: foreach d∈dtlist do
2: foreach f∈getFileList(d) do
3: text.realCategory= readRealCategorys(f)
4: content= readFile(f)
5: text.content = textClean (content)
6: corpus.append(text.content)
7: testFilelist.append(text)
8: end for
9: end for
10: TF-IDF = fit_transform(corpus)
11: word = get_feature_names()
12: weight = getTF-IDF()
13: foreach f∈testFilelist do
14: order( f. keywordList )//根據(jù)TF -IDF值排序文本關(guān)鍵詞
15: end for
在算法2中,第1~9步進(jìn)行待分類(lèi)文本根目錄的讀取。第3步中記錄測(cè)試集的真實(shí)類(lèi)別。在第2~7步中預(yù)處理所有文件內(nèi)容。在第10~11步中計(jì)算每個(gè)單詞的TF-IDF值,然后在第13~15步中按照TF-IDF值進(jìn)行關(guān)鍵詞的排序。
文本分類(lèi)算法根據(jù)文本關(guān)鍵詞和類(lèi)別關(guān)鍵詞的相似度進(jìn)行文本分類(lèi)。
算法3文本分類(lèi)算法
輸入:
KWCs:每個(gè)類(lèi)別的類(lèi)別關(guān)鍵詞
Key-words:測(cè)試文本的文本關(guān)鍵詞
輸出:
predictCategory:存儲(chǔ)測(cè)試文本的預(yù)測(cè)類(lèi)別
具體算法:
1: foreach fkw∈dtlist do
2: foreach kwc∈catelistdo
3: if max lt; getCosineSimilarity(fkw , kwc)
4: max = getCosineSimilarity(fkw , kwc)
5: end if
6: end for
7: predictCategory = argmax( kwc )//相似度最大的類(lèi)別為預(yù)測(cè)的文本類(lèi)別
8: end for
在算法3中,第1~6步中計(jì)算文本與所有類(lèi)別的相似度。第7步中找到最大相似度的類(lèi)別。
分類(lèi)器自學(xué)習(xí)算法可以提升分類(lèi)器性能。通過(guò)設(shè)置閾值條件把文本加入訓(xùn)練集,重新訓(xùn)練分類(lèi)器。分類(lèi)算法就在分類(lèi)過(guò)程中自學(xué)習(xí),提升分類(lèi)器的性能,具體算法在第4.4節(jié)類(lèi)別關(guān)鍵詞自更新機(jī)制中介紹。
4.2 類(lèi)別關(guān)鍵詞尋優(yōu)
本文提出類(lèi)別關(guān)鍵詞提取算法來(lái)獲取類(lèi)別關(guān)鍵詞。以BBC語(yǔ)料庫(kù)(BBC語(yǔ)料庫(kù)的介紹請(qǐng)參考第5.1節(jié))為例,在表1中列出每個(gè)類(lèi)別排名前10位的關(guān)鍵詞。
表1 BBC數(shù)據(jù)集中各類(lèi)別前10個(gè)關(guān)鍵詞
數(shù)據(jù)表明,類(lèi)別關(guān)鍵詞可表明類(lèi)別特征。關(guān)鍵詞的TF-IDF值決定關(guān)鍵詞在此類(lèi)別中的重要程度。但類(lèi)別關(guān)鍵詞過(guò)多會(huì)導(dǎo)致分類(lèi)效率降低。實(shí)驗(yàn)表明,選取的類(lèi)別關(guān)鍵詞達(dá)到一定比例時(shí),分類(lèi)精度保持穩(wěn)定。以BBC語(yǔ)料庫(kù)為例,實(shí)驗(yàn)結(jié)果如圖2所示。
圖2 類(lèi)別關(guān)鍵詞百分比和分類(lèi)器精度的關(guān)系
4.3 文本關(guān)鍵詞尋優(yōu)
本文提出文本分類(lèi)算法來(lái)獲取文本關(guān)鍵詞。表2中列舉五個(gè)待分類(lèi)文本中排名前十位的關(guān)鍵詞。
根據(jù)以上關(guān)鍵字進(jìn)行仿真實(shí)驗(yàn),當(dāng)類(lèi)別關(guān)鍵詞比例固定,文本關(guān)鍵詞比例增加時(shí),分類(lèi)精度會(huì)大幅提升,達(dá)到臨界點(diǎn)后,分類(lèi)效率穩(wěn)定。故選文本關(guān)鍵詞取臨界點(diǎn)比例,效率最優(yōu)。以BBC語(yǔ)料庫(kù)為例,實(shí)驗(yàn)結(jié)果如圖3所示。
表2 BBC語(yǔ)料庫(kù)中測(cè)試文本的前10個(gè)關(guān)鍵詞
圖3 文本關(guān)鍵詞比例和分類(lèi)器精度的關(guān)系
4.4 類(lèi)別關(guān)鍵詞自更新機(jī)制
通過(guò)4.2節(jié),4.3節(jié)的描述,對(duì)本文提出的分類(lèi)算法進(jìn)行參數(shù)優(yōu)化。本算法(算法4)加入類(lèi)別關(guān)鍵詞自更新機(jī)制來(lái)解決冷啟動(dòng)現(xiàn)象。
算法4自學(xué)習(xí)文本分類(lèi)算法
輸入:
KWCs:每個(gè)類(lèi)別的類(lèi)別關(guān)鍵詞
Key-words:待分類(lèi)文本的關(guān)鍵詞
輸出:
predictCategory:待分類(lèi)文本的預(yù)測(cè)類(lèi)別
具體算法:
1: foreach fkw∈dtlist do
2: foreach kwc∈catelist do
3: if max lt; getCosineSimilarity(fkw , kwc)
4: max = getCosineSimilarity(fkw , kwc)
5: end if
6: end for
7: predictCategory = argmax( kwc )
8: if thresholdfun (max)//如果相似度達(dá)到閾值條件
9: updatKWC();//加入待訓(xùn)練文本集合,重新訓(xùn)練分類(lèi)模型,更新類(lèi)別關(guān)鍵詞
10: end for
算法4與算法3相比加入第8~9步來(lái)更新類(lèi)別關(guān)鍵詞。當(dāng)文本關(guān)鍵詞和類(lèi)別關(guān)鍵詞達(dá)到相似度閾值時(shí),則把此文本加入待訓(xùn)練文本集合中。當(dāng)待訓(xùn)練文本集合的文本數(shù)量達(dá)到固定數(shù)量閾值時(shí),重新訓(xùn)練分類(lèi)器,更新類(lèi)別關(guān)鍵詞。本算法通過(guò)控制相似度閾值降低噪聲文本加入待訓(xùn)練集的概率,提升分類(lèi)效率。
5.1 數(shù)據(jù)集
BBC(英國(guó)廣播公司新聞數(shù)據(jù)): 此數(shù)據(jù)集經(jīng)常被用于文本分類(lèi)、文本聚類(lèi)等任務(wù)。原始的BBC語(yǔ)料庫(kù)包括2 225個(gè)新聞文本,5個(gè)不同的類(lèi)別。數(shù)據(jù)集中五個(gè)類(lèi)別分別是商業(yè)、娛樂(lè)、政治、體育和科技。(來(lái)自于http://mlg.ucd.ie/datasets/bbc.html)
20 Newsgroups: 此數(shù)據(jù)集由Ken Lang收集,包括20 017個(gè)文本,20個(gè)類(lèi)別,經(jīng)常被用于文本分類(lèi)任務(wù)。 (來(lái)自于http://www.qwone.com/~jason/20Newsgroups/)
Reuters-21578:包含21 578個(gè)1987年的路透社新聞文檔[18]。此數(shù)據(jù)集使用自動(dòng)語(yǔ)音識(shí)別系統(tǒng)創(chuàng)建。研究人員經(jīng)常使用本數(shù)據(jù)集代替原始數(shù)據(jù)集進(jìn)行分類(lèi)實(shí)驗(yàn)。 (來(lái)自于http://archive.ics.uci.edu/ml/datasets/Reuters + Transcribed + Subset)
5.2 評(píng)價(jià)指標(biāo)
本文采用準(zhǔn)確率、召回率和F1值進(jìn)行分類(lèi)評(píng)價(jià),并定義分類(lèi)指標(biāo)TP(真正)、FN(假負(fù))、FP(假正)、TN(真負(fù))。
準(zhǔn)確率被用來(lái)作為分類(lèi)器正確識(shí)別文本的一個(gè)統(tǒng)計(jì)測(cè)量。準(zhǔn)確率P由TP和FP計(jì)算如式(2)所示。
召回率指檢索出的相關(guān)文檔數(shù)和文檔庫(kù)中所有相關(guān)文檔數(shù)的比率,測(cè)量檢索系統(tǒng)的查全率的召回率R由TP和FN計(jì)算如式(3)所示。
F1值是衡量分類(lèi)器分類(lèi)準(zhǔn)確性的標(biāo)準(zhǔn)。F1值的計(jì)算方法是準(zhǔn)確率P和召回率R的加權(quán)平均。F1值最大值為1,最小值為0。計(jì)算公式如式(4)所示。
5.3 實(shí)驗(yàn)結(jié)果
本文對(duì)于每個(gè)數(shù)據(jù)集,隨機(jī)選擇80%作為訓(xùn)練集和20%作為測(cè)試集進(jìn)行實(shí)驗(yàn)。本文采用交叉驗(yàn)證方法,選擇F1值作為綜合性能指標(biāo),在Reuters-21578數(shù)據(jù)集中各分類(lèi)方法的實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 在Reuters-21578數(shù)據(jù)集上的結(jié)果對(duì)比
在20 Newsgroups數(shù)據(jù)集、傳統(tǒng)BBC新聞網(wǎng)數(shù)據(jù)集、2016年爬取的BBC最新數(shù)據(jù)集(測(cè)試文本下載地址http://pan.baidu.com/s/1qXNrlTy)上也呈現(xiàn)出較好的分類(lèi)結(jié)果。
本文提出一種基于TF-IDF和余弦相似度的有效文本分類(lèi)方法。實(shí)驗(yàn)結(jié)果表明,該方法在BBC數(shù)據(jù)集、Reuters-21578數(shù)據(jù)集和20 Newsgroups數(shù)據(jù)集上表現(xiàn)良好。在實(shí)驗(yàn)數(shù)據(jù)集上分類(lèi)準(zhǔn)確度較高,可解決當(dāng)前互聯(lián)網(wǎng)信息系統(tǒng)處理大量文本分類(lèi)任務(wù)的問(wèn)題。本文提出的分類(lèi)方法通過(guò)自學(xué)習(xí)功能維持分類(lèi)效率。
后續(xù)擬開(kāi)展的研究包括: 對(duì)類(lèi)別關(guān)鍵詞的閾值更新進(jìn)行深入研究;本文提出的文本分類(lèi)方法主要針對(duì)英文文本數(shù)據(jù)集,后續(xù)可以應(yīng)用到中文文本數(shù)據(jù)集上進(jìn)行文本分類(lèi);本文提出的文本分類(lèi)算法只考慮了文本統(tǒng)計(jì)信息,后續(xù)將對(duì)提取的文本關(guān)鍵詞進(jìn)行組合,并提出“文本關(guān)鍵詞組”的概念,提高分類(lèi)準(zhǔn)確度,優(yōu)化文本關(guān)鍵詞提取。
[1] Joachims T. A Probabilistic Analysis of the Rocchio Algorithm with TF-IDF for Text Categorization[R]. Carnegie-mellon univpittsburgh pa dept of computer science, 1996.
[2] Cover T, Hart P. Nearest neighbor pattern classification[J]. IEEE Transactions on Information Theory, 1967, 13(1):21-27.
[3] Guo G, Wang H, Bell D, et al. Using kNN model for automatic text categorization[J]. Soft Computing, 2006, 10(5): 423-430.
[4] Jiang S, Pang G, Wu M, et al. An improved K-nearest-neighbor algorithm for text categorization[J]. Expert Systems with Applications, 2012, 39(1): 1503-1509.
[5] Soucy P, Mineau G W. A simple KNN algorithm for text categorization[C]//Proceedings IEEE International Conference on. IEEE, 2001: 647-648.
[6] Boser B E, Guyon I M, Vapnik V N. A training algorithm for optimal margin classifiers[C]//Proceedings of the fifth Annual Workshop on Computational Learning Theory. ACM, 1992: 144-152.
[7] Cortes C, Vapnik V. Support-vector networks[J]. Machine Learning, 1995, 20(3): 273-297.
[8] Joachims T. Transductive inference for text classification using support vector machines[C]//Proceedings of the International Conference on Machine Learning. 1999(99): 200-209.
[9] Tong S, Koller D. Support vector machine active learning with applications to text classification[J]. The Journal of Machine Learning Research, 2002(2): 45-66.
[10] Kim H, Howland P, Park H. Dimension reduction in text classification with support vector machines[J]. Journal of Machine Learning Research, 2005: 37-53.
[11] Kim S B, Han K S, Rim H C, et al. Some effective techniques for naive bayes text classification[J]. Knowledge and Data Engineering, IEEE Transactions, 2006, 18(11): 1457-1466.
[12] Frank E, Bouckaert R R. Naive bayes for text classification with unbalanced classes[M].Knowledge Discovery in Databases PKDD 2006. SpringerBerlin Heidelberg, 2006: 503-510.
[13] Wang S, Jiang L, Li C. Adapting naive bayes tree for text classification[J]. Knowledge and Information Systems, 2015, 44(1): 77-89.
[14] Rennie J D, Shih L, Teevan J, et al. Tackling the poor assumptions of naive bayes text classifiers[C]//Proceedings of the ICML, 2003, 3616-3623.
[15] Yu C T, Salton G. Precision weighting: an effective automatic indexing method[J]. Journal of the ACM (JACM), 1976, 23(1): 76-88.
[16] Amati G, Van Rijsbergen C J. Probabilistic models of information retrieval based on measuring the divergence from randomness[J]. ACM Transactions on Information Systems (TOIS), 2002, 20(4): 357-389.
[17] Lin J. Using distributional similarity to identify individual verb choice[C]//Proceedings of the Fourth International Natural Language Generation Conference. Association for Computational Linguistics, 2006: 33-40.
[18] Liere R, Tadepalli P. Active learning with committees for text categorization[C]//Proceedings of the AAAI/IAAI. 1997: 591-596.
武永亮(1986—),博士研究生,主要研究領(lǐng)域?yàn)閿?shù)據(jù)挖掘、智能信息處理。
E-mail: squallwu_2006@qq.com
趙書(shū)良(1967—),教授,博士生導(dǎo)師,主要研究領(lǐng)域?yàn)閿?shù)據(jù)挖掘、智能信息處理。
E-mail: zhaoshuliang@sina.com
李長(zhǎng)鏡(1990—),碩士研究生,主要研究領(lǐng)域?yàn)槲谋就诰颉?/p>
E-mail: lee_0809hbsd@outlook.com
TextClassificationMethodBasedonTF-IDFandCosineSimilarity
WU Yongliang1,2, ZHAO Shuliang1,2, LI Changjing1,2, WEI Nadi3, WANG Ziyan4
(1. College of Mathematics and Information Science, HeBei Normal University, Shijiazhuang, Hebei 050024, China;2. Hebei Key Laboratory of Computational Mathematics and Applications, Shijiazhuang, Hebei 050024, China;3. Huihua College of Hebei Normal University, Shijiazhuang, Hebei 050091, China;4. College of Computer Science and Technology, University of Scienceamp;Technology China, Hefei, Anhui 230022, China)
Text classification is the fundamental task for text mining. Many text classification algorithms have been presented in previous literatures, such as KNN, Na?ve Bayes, Support Vector Machine, and some improved algorithms. The performance of these algorithms depends on the data set and does not have self-learning function. This paper proposes an effective approach for text classification. The three key points of the approach are: 1)extracting the keywords of category (KWC) of labeled texts based on the TF-IDF approach, 2) classifying unlabeled text by the relevancy of category and unlabeled text, and 3) improving the performance of the approach via updating the KWC in the process of classification. Simulation experiment results show that the new approach can improve the accuracy of text classification to 90%, and even up to 95% when the data volume is large enough. The method can automatically update the keywords of category to improve the classification accuracy of the classifier.
text classification; big data; TF-IDF; cosine similarity; category keywords
1003-0077(2017)05-0138-08
TP391
A
2016-09-07定稿日期2017-04-11
國(guó)家自然科學(xué)基金(71271067);國(guó)家社科基金重大項(xiàng)目(13amp;ZD091);河北省高等學(xué)校科學(xué)技術(shù)研究項(xiàng)目(QN2014196);河北省科技計(jì)劃項(xiàng)目(15210403D)