王彥焱 李文超 吉林大學(xué)
分類加權(quán)的TF-IDF的網(wǎng)頁(yè)分類算法
王彥焱 李文超 吉林大學(xué)
網(wǎng)頁(yè)分類算法是目前比較熱門的研究課題,目前已經(jīng)有許多網(wǎng)頁(yè)分類算法,其中TFIDF算法是一種用于信息檢索與數(shù)據(jù)挖掘的常用加權(quán)技術(shù),本文通過TFIDF算法提取了每個(gè)分類下的具有高區(qū)分度的特征詞,在網(wǎng)頁(yè)分類時(shí)通過找出其中最能代表該網(wǎng)頁(yè)的詞素,依據(jù)該詞素的類別信息即能對(duì)網(wǎng)頁(yè)進(jìn)行分類。由于TFIDF算法中詞頻計(jì)算未考慮網(wǎng)頁(yè)結(jié)構(gòu)信息,因此在本文中對(duì)詞頻計(jì)算進(jìn)行了改進(jìn),通過對(duì)網(wǎng)頁(yè)結(jié)構(gòu)分類,計(jì)算詞素出現(xiàn)在不同分類下的權(quán)重,達(dá)到對(duì)網(wǎng)頁(yè)信息的合理利用。
TF-IDF 詞頻加權(quán) 特征詞提取
隨著互聯(lián)網(wǎng)的高速發(fā)展,網(wǎng)頁(yè)規(guī)模呈指數(shù)級(jí)增長(zhǎng),對(duì)網(wǎng)頁(yè)按照主題進(jìn)行分類,一方面可以根據(jù)需要,濾除包含不良信息的網(wǎng)頁(yè),凈化網(wǎng)絡(luò)環(huán)境;另一方面可以按照主題為用戶提供類別目錄,這樣既可以實(shí)現(xiàn)網(wǎng)頁(yè)的分級(jí)管理,而且為使用戶更方便的查找所需要的信息,從而提高網(wǎng)頁(yè)瀏覽的效率。因此,網(wǎng)頁(yè)分類技術(shù)的研究正在成為繼文本分類技術(shù)的另一大熱點(diǎn)。
2.1 網(wǎng)頁(yè)預(yù)處理
網(wǎng)頁(yè)是信息的集合,其中包含的信息類型非常復(fù)雜,一個(gè)網(wǎng)頁(yè)除了標(biāo)題、正文之外還可能含有廣告、友情鏈接等信息,這些信息對(duì)文本分類的幫助很小,甚至?xí)蓴_正確的結(jié)果。網(wǎng)頁(yè)噪聲處理目前已經(jīng)存在許多方法有,比較常用的有java的開源項(xiàng)目HTMLParser設(shè)計(jì)的處理方法,它能超高速解析HTML,而且不會(huì)出錯(cuò)。另外,網(wǎng)頁(yè)中一般包含有大量的網(wǎng)頁(yè)布局信息,比如javescript和sytle標(biāo)識(shí)的信息等,這樣的信息只是在說(shuō)明網(wǎng)頁(yè)的表示,輸入網(wǎng)頁(yè)分類算法中的噪聲,所以應(yīng)該在算法之前將其刪除,否則會(huì)對(duì)分類算法造成干擾。
2.2 中文分詞
中文分詞不同于英文,英文中每個(gè)單詞之間都有空格分隔,中文書寫以字為單位,一個(gè)或多個(gè)漢字組成一個(gè)詞,中文分詞要做的就是把句子拆分成詞語(yǔ),以便后續(xù)使用。目前存在的中文分詞算法中,中科院計(jì)算技術(shù)研究所推出的基于隱馬爾科夫模型的ICTCLAS漢語(yǔ)分詞器分詞效率達(dá)到95%以上,是目前公認(rèn)的最好的漢語(yǔ)分詞器。
3.1 TF-IDF算法
TF-IDF是一種統(tǒng)計(jì)方法,用于評(píng)估一個(gè)字詞在其所在文檔中的重要程度。主要思想是:如果某個(gè)詞素在一個(gè)文檔中出現(xiàn)的頻率TF高,并且在其他文檔中很少出現(xiàn),則認(rèn)為該詞素具有很好的區(qū)分能力。tf表征一個(gè)詞素在文檔中出現(xiàn)的頻率,idf值是逆向文本頻率,表征詞語(yǔ)的普遍重要性,一個(gè)詞語(yǔ)在越多的文檔中出現(xiàn),則該詞的區(qū)分能力越低。其中:
nt,d表示特征詞t在文檔d中出現(xiàn)的次數(shù),M表示d文檔總特征詞數(shù)
N為文檔總數(shù),n為包含詞素t的文檔數(shù)。
3.2 TF-IDF算法的不足及其改進(jìn)
TF-IDF算法TF值為詞素的出現(xiàn)次數(shù),沒有考慮網(wǎng)頁(yè)的結(jié)構(gòu)信息,無(wú)論特征詞出現(xiàn)在哪一部分,它的權(quán)重都為1。對(duì)于一個(gè)網(wǎng)頁(yè)來(lái)說(shuō),這顯然是不合理的,分析HTML文件可知,一個(gè)網(wǎng)頁(yè)一般包含3種結(jié)構(gòu):標(biāo)題、以<TITLE><TITLE>標(biāo)記網(wǎng)頁(yè)正文和其余部分。
本文采用分類加權(quán)的方法對(duì)其改進(jìn),將網(wǎng)頁(yè)分成上述3個(gè)部分,給每個(gè)部分賦予不同的權(quán)值。權(quán)值的大小可采用機(jī)器學(xué)習(xí)中的線性回歸法來(lái)確定,輸入一定規(guī)模的訓(xùn)練集,找出使損失函數(shù)值最小的權(quán)值分配。確定權(quán)值后計(jì)算每個(gè)網(wǎng)頁(yè)的TF值時(shí)改進(jìn)的公式為
w1為詞素出現(xiàn)在不同位置時(shí)的權(quán)重。
3.3 特征詞提取
特征詞的提取是整個(gè)分類算法的關(guān)鍵,特征詞提取的效果直接影響分類的準(zhǔn)確度,算法要保證特征詞具有高區(qū)分度,由于原始TF-IDF算法求出的是詞素對(duì)其所在文檔的區(qū)分度,因此要提取能夠區(qū)分每個(gè)類別網(wǎng)頁(yè)集合的特征詞,需要將每個(gè)類別當(dāng)成一個(gè)集合看待,這樣求出的具有較高TFIDF值的詞即是在每個(gè)類別中具有高區(qū)分度的詞,算法思想為,將每個(gè)類別中的所有網(wǎng)頁(yè)看作一個(gè)單獨(dú)的集合,在每個(gè)類別中以網(wǎng)頁(yè)為單位計(jì)算加權(quán)分類的TF值,再以類別為單位計(jì)算總TF值與IDF值,之后算出的TFIDF值越高,則代表該詞越具有區(qū)分度,流程為:①選取合適規(guī)模的已分類網(wǎng)頁(yè)。②將每個(gè)類中的所有網(wǎng)頁(yè)看成一個(gè)集合,計(jì)算每個(gè)類中網(wǎng)頁(yè)的所以詞素TF值,之后計(jì)算每個(gè)詞素在該類別下的總TF值。以i表示類別集合,j表示每個(gè)網(wǎng)頁(yè),則詞素t在i類別下的TF值為:
③每個(gè)類別中的詞素IDF值為總分類數(shù)除以包含該詞語(yǔ)的分類的數(shù)目,再將得到的商取對(duì)數(shù)得到計(jì)算每個(gè)類中的所有詞素的TFIDF值并進(jìn)行排序。④去掉平凡詞后在每個(gè)類中選取排名前500的詞作為該分類的特征詞。
3.4 分類算法
分類算法的流程為:
對(duì)于新的網(wǎng)頁(yè),計(jì)算網(wǎng)頁(yè)中所有詞的TFIDF值進(jìn)行排序。
取值最大的詞素,若該詞素屬于某個(gè)類別的特征集合,則將網(wǎng)頁(yè)設(shè)置為該類別,否則刪除該詞,再次取值最大的詞進(jìn)行比較,以此類推求出網(wǎng)頁(yè)的類別。
[1]張祥.一個(gè)網(wǎng)頁(yè)分類系統(tǒng)的研究與實(shí)現(xiàn)[D].北京郵電大學(xué),2013
[2]孔令成.基于特征提取和權(quán)值計(jì)算算法的中文網(wǎng)頁(yè)分類研究[D].安徽大學(xué),2010
[3]彭浩,王雅琳.一個(gè)面向?qū)崟r(shí)網(wǎng)頁(yè)分類的主題特征提取算法[J].計(jì)算機(jī)與現(xiàn)代化,2008,(7)