国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于KD-Tree的KNN文本分類算法

2012-10-17 03:07:10劉忠劉洋建曉
關(guān)鍵詞:類別語(yǔ)料庫(kù)向量

劉忠 劉洋 建曉

桂林理工大學(xué)信息科學(xué)與工程學(xué)院 廣西 541004

0 引言

文本分類是在預(yù)定義的分類體系下,根據(jù)文本的特征(內(nèi)容或?qū)傩?,將給定文本與一個(gè)或多個(gè)類別相關(guān)聯(lián)的過(guò)程。常見(jiàn)的分類算法包括:樸素貝葉斯分類法、支持向量機(jī)分類法,k-最近鄰法,神經(jīng)網(wǎng)絡(luò)法,決策樹(shù)分類法等。

KNN分類法因其思想簡(jiǎn)單,效果較好得到了廣泛的應(yīng)用。但是KNN是一種惰性學(xué)習(xí)法,模型僅對(duì)訓(xùn)練樣本進(jìn)行簡(jiǎn)單的存儲(chǔ)或稍加處理,一直等到給定一個(gè)檢驗(yàn)樣本時(shí)才進(jìn)行泛化。通過(guò)給定的檢驗(yàn)樣本與和它相似的訓(xùn)練樣本進(jìn)行比較來(lái)預(yù)測(cè)類別。然而,在文本分類中,由于訓(xùn)練樣本集很大和文本特征向量的維數(shù)很高,計(jì)算訓(xùn)練樣本的最近鄰樣本需要花費(fèi)很多時(shí)間。

1 KNN算法的改進(jìn)

針對(duì)KNN算法在文本分類上效率低下的問(wèn)題,目前已經(jīng)提出了很多的改進(jìn)算法。歸納起來(lái)有兩種途徑:①降低文本向量的維度,采用的主要方法有:聚合文本向量中相關(guān)聯(lián)的特征詞的方法,基于隱含語(yǔ)義的kNN文本分類方法;②裁剪訓(xùn)練集,使用小樣本代替大樣本,采用的主要方法有:基于中心向量的分類法,基于質(zhì)心的文本分類算法,基于簇的K最近鄰分類算法,基于粗糙集的快速KNN文本分類算法。

本文提出的基于KD-Tree的KNN文本分類算法就是在保持原有KNN算法訓(xùn)練時(shí)間為零的前提下,通過(guò)對(duì)訓(xùn)練文本向量集建立KD-Tree,測(cè)試時(shí),只需要對(duì)KD-Tree進(jìn)行搜索,而不是對(duì)整個(gè)無(wú)序的訓(xùn)練集進(jìn)行搜索,這樣,測(cè)試時(shí)間為,遠(yuǎn)小于原始算法的,使得總的分類時(shí)間大大減小。

2 基本概念

2.1 二叉查找樹(shù)

二叉查找樹(shù)是一種特殊的二叉樹(shù)。二叉查找樹(shù)的存儲(chǔ)規(guī)則是:在一棵二叉查找樹(shù)中,節(jié)點(diǎn)的元素可以使用一個(gè)全序語(yǔ)義比較,每個(gè)節(jié)點(diǎn)n都要遵循下面這兩個(gè)規(guī)則:

(1) n的左子樹(shù)的每個(gè)節(jié)點(diǎn)的元素小于等于節(jié)點(diǎn)n的元素。

(2) n的右子樹(shù)的每個(gè)節(jié)點(diǎn)的元素大于等于節(jié)點(diǎn)n的元素。

2.2 KD-Tree

KD-Tree指k維的二叉查找樹(shù),在其上可實(shí)現(xiàn)對(duì)給定k維數(shù)據(jù)的快速最近鄰查找。與二叉查找樹(shù)不同的,KD-Tree的每個(gè)節(jié)點(diǎn)代表k維空間的一個(gè)點(diǎn),并且樹(shù)的每一層都根據(jù)這一層的分辨器做出分枝決策。第i層的分辨器定義為:i mod k。

存儲(chǔ)規(guī)則為:對(duì)第 i層的任意一個(gè)節(jié)點(diǎn) n,若它的左子樹(shù)非空,則其左子樹(shù)上所有節(jié)點(diǎn)的第i mod k維值均小于節(jié)點(diǎn)n的第i mod k維值;若它的右子樹(shù)非空,則其右子樹(shù)上所有節(jié)點(diǎn)的第i mod k維值均大于節(jié)點(diǎn)n的第i mod k維值;并且它的左右子樹(shù)也分別為KD-Tree。

3 基于KD-Tree的KNN文本分類算法

3.1 算法思想

傳統(tǒng)的knn算法認(rèn)為訓(xùn)練文本集是一個(gè)無(wú)序的集合,所以在測(cè)試時(shí)需要一個(gè)一個(gè)地比較訓(xùn)練文本和測(cè)試文本的相似度。其實(shí)訓(xùn)練文本集是一個(gè)同類文本相互聚集,不同類文本距離較大的集合。KD-Tree可以近似的描述文本集的這種關(guān)系,在KD-Tree中,某個(gè)節(jié)點(diǎn)的分辨器(即i mod k)都大于左子樹(shù)中所有節(jié)點(diǎn)的第i mod k維值,都小于右子樹(shù)中所有節(jié)點(diǎn)的第i mod k維值??梢訩D-Tree利用這個(gè)特性,把訓(xùn)練文本向量集插入一棵KD-Tree后,在KD-Tree中搜索待測(cè)文本向量時(shí),搜索路徑所經(jīng)過(guò)的節(jié)點(diǎn)和待測(cè)文本的相似度越來(lái)越大,而那些和待測(cè)文本相似度較小的節(jié)點(diǎn)則在搜索中被忽略了。這樣就能通過(guò)步得到個(gè)相似文本,再計(jì)算這個(gè)相似文本中哪個(gè)與待測(cè)文本最為相似。

文本表示通常采用向量空間模型,一個(gè)文檔看成是n維空間中的一個(gè)向量。文本向量維數(shù)一般成千上萬(wàn),因此傳統(tǒng)KNN算法計(jì)算開(kāi)銷非常大。而改進(jìn)算法通過(guò)搜索 KD-Tree大大減少了需要計(jì)算相似度的文本數(shù)量,所以雖然文本維數(shù)很高,但是改進(jìn)算法效率依然很高。

3.2 算法步驟

(1) 建立一個(gè)空 KD-Tree,將訓(xùn)練集文本向量依次插入KD-Tree中。

(2) 在測(cè)試集中取出一個(gè)待測(cè)文本向量,在KD-Tree中搜索這個(gè)文本向量,得到祖先節(jié)點(diǎn)集。

(3) 依次計(jì)算待測(cè)文本向量與祖先節(jié)點(diǎn)的相似度,相似度最大的文本類型就是待測(cè)文本的文本類型。

(4) 測(cè)試集文本是否計(jì)算完畢,是則結(jié)束,不是則轉(zhuǎn)到第(2)步。

4 實(shí)驗(yàn)結(jié)果與分析

4.1 實(shí)驗(yàn)數(shù)據(jù)來(lái)源

本文選取了復(fù)旦大學(xué)李榮陸博士的文本分類語(yǔ)料庫(kù),共分為20個(gè)類別,分別是:Art,Literature,Education,Philosophy,History,Space,Energy,Electronics,Communication,Computer,Mine,Transport,Environment,Agriculture,Economy,Law,Medical,Military,Politics,Sports。原始訓(xùn)練集有 9804個(gè)文本,測(cè)試集有9833個(gè)文本。去除無(wú)效文本和重復(fù)文本后,訓(xùn)練集剩余8333個(gè)有效文本,測(cè)試集剩余8345個(gè)有效文本。復(fù)旦語(yǔ)料庫(kù)不是一個(gè)均衡的語(yǔ)料庫(kù),比如:訓(xùn)練集中computer,Economy,Politics,Sports類別的文本量都超過(guò)1000個(gè),而 Energy,Electronics,Communication類別的文本量則不超過(guò)30個(gè)。

4.2 評(píng)價(jià)手段

本文使用正確率、召回率和F1測(cè)度值來(lái)評(píng)價(jià)算法的分類效果。

4.3 結(jié)果及分析

實(shí)驗(yàn)分詞使用的是開(kāi)源分詞程序IKAnalyzer3.2.8,然后去除停用詞,用信息增益法選取前 1000個(gè)貢獻(xiàn)最大的詞為特征詞集。使用TF-IDF作為計(jì)算文本向量特征的權(quán)重函數(shù)。結(jié)果如表1、表2、表3。

表1 算法分類精度比較

表2 算法平均準(zhǔn)確率比較

表3 算法分類時(shí)間比較

從準(zhǔn)確率和召回率來(lái)看,對(duì)于語(yǔ)料庫(kù)中文本數(shù)量相對(duì)較多的類別,傳統(tǒng)KNN和改進(jìn)KNN都具有較好的分類效果,文本數(shù)量相對(duì)較少的類別,分類效果則較差。但因?yàn)檎Z(yǔ)料庫(kù)分布不均衡,貧樣本類別的文本總量占語(yǔ)料庫(kù)文本總數(shù)比例過(guò)少,所以平均準(zhǔn)確率還是很高的。

從分類時(shí)間上來(lái)看,改進(jìn)的KNN的效率是極高的,提高了近 60倍。這是由于 KD-Tree的時(shí)間復(fù)雜度僅有的緣故。

5 結(jié)論

針對(duì)傳統(tǒng)KNN文本分類算法的缺點(diǎn),本文提出一種基于KD-Tree的KNN文本分類算法。實(shí)驗(yàn)表明,改進(jìn)的KNN算法的效率是非常高效的,并且隨著文本數(shù)目的增加,效率也不會(huì)顯著變慢。比如,假設(shè)訓(xùn)練集有一百萬(wàn)個(gè)文本,log106≈20,即比較20個(gè)文本即可計(jì)算出待測(cè)樣本的類別,所以該算法有一定的Web海量文本分類和挖掘的潛力。并且該算法只需額外建立一個(gè) KD-Tree,所以非常容易集成到已有的分類系統(tǒng)中,另外結(jié)合其他算法的話,比如基于語(yǔ)義等方法,效率和準(zhǔn)確度會(huì)更高。

今后的工作是在改進(jìn)算法的基礎(chǔ)上,繼續(xù)尋找提升準(zhǔn)確度的更好的方法,并且進(jìn)一步提升算法的效率和精度。

[1]李瑩,張曉輝,王華勇.一種應(yīng)用向量聚合技術(shù)的 KNN 中文文本分類方法[J].小型微型計(jì)算機(jī)系統(tǒng).2004.

[2]李永平,程莉,葉衛(wèi)國(guó).基于隱含語(yǔ)義的 kNN 文本分類研究.計(jì)算機(jī)工程與應(yīng)用.2004.

[3]魯婷,王浩,姚宏亮.一種基于中心文檔的 KNN 中文文本分類算法.計(jì)算機(jī)工程與應(yīng)用.2011.

[4]柴玉梅.基于質(zhì)心的文本分類算法.計(jì)算機(jī)工程.2009.

[5]潘麗芳,楊炳儒.基于簇的K最近鄰(KNN)分類算法研究.計(jì)算機(jī)工程與設(shè)計(jì).2009.

[6]孫榮宗.基于粗糙集的快速KNN文本分類算法.計(jì)算機(jī)工程.

猜你喜歡
類別語(yǔ)料庫(kù)向量
向量的分解
聚焦“向量與三角”創(chuàng)新題
《語(yǔ)料庫(kù)翻譯文體學(xué)》評(píng)介
把課文的優(yōu)美表達(dá)存進(jìn)語(yǔ)料庫(kù)
向量垂直在解析幾何中的應(yīng)用
服務(wù)類別
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
基于JAVAEE的維吾爾中介語(yǔ)語(yǔ)料庫(kù)開(kāi)發(fā)與實(shí)現(xiàn)
論類別股東會(huì)
商事法論集(2014年1期)2014-06-27 01:20:42
中醫(yī)類別全科醫(yī)師培養(yǎng)模式的探討
马龙县| 兴城市| 楚雄市| 达孜县| 苍溪县| 闸北区| 沿河| 郴州市| 南宫市| 绵阳市| 涿鹿县| 咸宁市| 保山市| 临江市| 遂昌县| 湘潭县| 碌曲县| 兰西县| 山西省| 朔州市| 青州市| 炉霍县| 翁源县| 潼南县| 怀宁县| 巍山| 三台县| 荆州市| 青冈县| 大方县| 射阳县| 武宣县| 新河县| 兴义市| 安图县| 布拖县| 饶河县| 钟山县| 镇康县| 高州市| 巴东县|