一種基于改進(jìn)的knn文本分類(lèi)方法
【專(zhuān)利摘要】本發(fā)明提供了一種基于改進(jìn)的KNN文本分類(lèi)方法,首先對(duì)訓(xùn)練文本進(jìn)行預(yù)處理并計(jì)算每個(gè)訓(xùn)練樣本的特征向量,構(gòu)建訓(xùn)練集的特征向量空間模型;然后定義密度和距離,將整個(gè)樣本空間按類(lèi)型定義為多個(gè)球形區(qū)和離群點(diǎn),并存儲(chǔ)為訓(xùn)練集庫(kù);在進(jìn)行測(cè)試時(shí),首先判斷待測(cè)文本是否落入某個(gè)球形區(qū),根據(jù)對(duì)應(yīng)標(biāo)號(hào)判斷其類(lèi)別,否則,離群點(diǎn)和每個(gè)球形的中心點(diǎn)作為訓(xùn)練集庫(kù),調(diào)用KNN算法,判斷待測(cè)試文本的類(lèi)別。本發(fā)明提供的方法在兼顧分類(lèi)速度、分類(lèi)準(zhǔn)確度以及對(duì)數(shù)據(jù)傾斜敏感度的同時(shí),能夠較好的應(yīng)用于非球形分布的分類(lèi)問(wèn)題,尤其適合具有高維特征向量,分布不規(guī)則特征的文本分類(lèi)問(wèn)題。
【專(zhuān)利說(shuō)明】一種基于改進(jìn)的KNN文本分類(lèi)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于核安全級(jí)軟件驗(yàn)證與確認(rèn)【技術(shù)領(lǐng)域】,特別涉及一種基于改進(jìn)的KNN文 本分類(lèi)方法。
【背景技術(shù)】
[0002] 近年來(lái),隨著軟件開(kāi)發(fā)過(guò)程逐漸規(guī)范化,對(duì)技術(shù)文件的質(zhì)量要求越來(lái)越高,尤其是 在用于核安全級(jí)的軟件開(kāi)發(fā)過(guò)程中,產(chǎn)生大量的技術(shù)文件,如需求文件,設(shè)計(jì)文件等,根據(jù) 核電相關(guān)標(biāo)準(zhǔn)的要求,對(duì)每個(gè)需求項(xiàng)和設(shè)計(jì)項(xiàng),必須滿(mǎn)足某些評(píng)估規(guī)則的要求;并隨著軟件 的迭代開(kāi)發(fā),技術(shù)文件也不斷地更新升版,針對(duì)每一版的文件中的每個(gè)條目項(xiàng)(如需求項(xiàng) 或設(shè)計(jì)項(xiàng)),也必須滿(mǎn)足某些規(guī)則的要求,因此,快速準(zhǔn)確的確定條目項(xiàng)與規(guī)則之間的關(guān)聯(lián) 關(guān)系是質(zhì)量人員亟待解決的問(wèn)題。另外,在軟件產(chǎn)品開(kāi)發(fā)的整個(gè)生命周期中,為了及早發(fā)現(xiàn) 潛在的失效模式,在每個(gè)階段都要迭代執(zhí)行失效模式分析(FMEA),建立失效模式庫(kù),確定條 目項(xiàng)與評(píng)估規(guī)則之間的匹配關(guān)系,在對(duì)軟件技術(shù)文件進(jìn)行審查和分析時(shí),能夠?yàn)橘|(zhì)量人員 自動(dòng)的識(shí)別每個(gè)條目項(xiàng)適用的評(píng)估規(guī)則,便于審查,避免漏審或錯(cuò)審;在進(jìn)行FMEA分析時(shí), 能夠識(shí)別相關(guān)的失效模式,使分析人員特別關(guān)注到相關(guān)的失效模式,并能夠自動(dòng)查詢(xún)與條 目項(xiàng)與失效模式之間的關(guān)聯(lián)關(guān)系是急需解決的問(wèn)題。
[0003] 文本分類(lèi)是指按照預(yù)先定義的主題類(lèi)別,根據(jù)信息內(nèi)容將不同的信息劃分到與其 相關(guān)的類(lèi)別中,文本分類(lèi)技術(shù)作為組織和處理大量電子資源信息的關(guān)鍵技術(shù),將有助于信 息檢索和分析,方便用戶(hù)快速、準(zhǔn)確地定位所需要的信息。20世紀(jì)90年代以后,隨著互聯(lián)網(wǎng) 技術(shù)的飛速發(fā)展,基于統(tǒng)計(jì)理論和機(jī)器學(xué)習(xí)方法成為主流的文本分類(lèi)技術(shù),主要包括向量 空間法、決策樹(shù)方法、神經(jīng)網(wǎng)絡(luò)方法、遺傳算法、貝葉斯分類(lèi)、K近鄰(KNN)、支持向量機(jī)等。 其中K近鄰是最早應(yīng)用于自動(dòng)文本分類(lèi)的機(jī)器學(xué)習(xí)算法之一,其分類(lèi)思想是:取待分類(lèi)文 本d的K個(gè)近鄰,看這K個(gè)近鄰中多數(shù)屬于哪一類(lèi),就將d歸于該類(lèi)。該方法由于其簡(jiǎn)單, 易于理解,易于實(shí)現(xiàn),無(wú)需估計(jì)參數(shù),無(wú)需訓(xùn)練,且適合于多分類(lèi)問(wèn)題的優(yōu)勢(shì)而被廣泛的應(yīng) 用。但是,該方法對(duì)測(cè)試樣本分類(lèi)時(shí)計(jì)算量大,內(nèi)存開(kāi)銷(xiāo)大,對(duì)數(shù)據(jù)傾斜問(wèn)題敏感,尤其當(dāng)樣 本表現(xiàn)為高維特征,分布密度不均勻時(shí),將會(huì)降低分類(lèi)器的實(shí)現(xiàn)性能和分類(lèi)性能。另外還有 一種結(jié)合向量空間法,針對(duì)KNN算法耗時(shí)缺點(diǎn),將特征向量空間劃分為m+1個(gè)區(qū)域,每個(gè)類(lèi) 的區(qū)域以中心向量和球半徑表示,所有沒(méi)有被劃分的樣本點(diǎn)單獨(dú)劃分為一個(gè)區(qū)域,在測(cè)試 時(shí),首先判斷是否落入某個(gè)球中,調(diào)用該區(qū)域標(biāo)號(hào)判斷類(lèi)別,否則,調(diào)用KNN算法判斷類(lèi)別。 該方案在對(duì)訓(xùn)練集進(jìn)行空間劃分的過(guò)程中,每個(gè)類(lèi)別采取以向量中心和球半徑確定的球面 作為該類(lèi)的區(qū)域臨界面,針對(duì)非球形的類(lèi)族,可能出現(xiàn)大規(guī)模的樣本點(diǎn)被排除,僅留下一小 部分樣本點(diǎn)被劃分在球形區(qū)內(nèi),這意味著僅有一小部分被球形區(qū)代替,會(huì)降低分類(lèi)速度;同 時(shí),對(duì)于非球形分布的類(lèi)族來(lái)說(shuō),該方法計(jì)算出來(lái)的球形區(qū)并非是該類(lèi)族的聚集區(qū)或代表 區(qū)域,因此,該方法對(duì)于非球形分布的類(lèi)族來(lái)說(shuō),分類(lèi)的準(zhǔn)確度會(huì)大大降低;此外,當(dāng)待測(cè)點(diǎn) 處于球形區(qū)的邊緣,在調(diào)用KNN時(shí),排除球形區(qū)內(nèi)的點(diǎn)對(duì)分類(lèi)的決策影響,容易造成錯(cuò)誤的 分類(lèi)結(jié)果。
【發(fā)明內(nèi)容】
[0004] 針對(duì)現(xiàn)有的文本分類(lèi)算法中精度和速度不能同時(shí)兼顧的問(wèn)題,本發(fā)明提出一種基 于KNN算法的改進(jìn)文本分類(lèi)算法,利用文本分類(lèi)技術(shù)解決軟件可靠性評(píng)價(jià)分析中的規(guī)則匹 配和失效模式匹配問(wèn)題。
[0005] 本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是,一種基于改進(jìn)的KNN文本分類(lèi)方 法:
[0006] S1,根據(jù)每個(gè)訓(xùn)練樣本的特征向量,構(gòu)建特征向量空間模型,并存儲(chǔ)為訓(xùn)練集庫(kù);
[0007] 采用特征向量空間模型VSM,對(duì)所述訓(xùn)練樣本進(jìn)行預(yù)處理,并提取特征詞;根據(jù)訓(xùn) 練樣本的特征詞,計(jì)算每個(gè)訓(xùn)練樣本的特征向量,構(gòu)建訓(xùn)練集的特征向量空間模型;
[0008] 所述特征向量空間模型按照文本類(lèi)型劃分為至少一個(gè)球形區(qū)和至少一個(gè)離群 占.
[0009] 所述訓(xùn)練集庫(kù)包括:每個(gè)所述球形區(qū)的中心向量、半徑、類(lèi)型和每個(gè)離群點(diǎn)的特征 向量、類(lèi)型;
[0010] S2,當(dāng)需要對(duì)新文本進(jìn)行分類(lèi)時(shí),
[0011] 首先,根據(jù)所述訓(xùn)練樣本中提取的特征詞在所述新文本中出現(xiàn)的情況,采用向量 空間模型,計(jì)算所述新文本的特征向量;
[0012] 然后,判斷所述新文本的特征向量是否落入所述訓(xùn)練集庫(kù)的某個(gè)球形區(qū),如果 "是"取得所述球形區(qū)對(duì)應(yīng)的類(lèi)型,否則,根據(jù)所述訓(xùn)練集庫(kù)中存儲(chǔ)的所有離群點(diǎn)和所有球 形區(qū)的中心點(diǎn),采用KNN算法判斷所述新文本的類(lèi)型。
[0013] 將所述特征向量空間模型按類(lèi)型劃分為多個(gè)球形區(qū)和離群點(diǎn)的方法:
[0014] 1)依據(jù)每個(gè)文本類(lèi)型中所有樣本點(diǎn)的局部密度P i和樣本點(diǎn)到高密度點(diǎn)的距離 S i,將所述文本類(lèi)型劃分為核心區(qū)和樣本點(diǎn);
[0015] 2)取某文本類(lèi)型作為當(dāng)前文本類(lèi)型,并將所述當(dāng)前文本類(lèi)型核心區(qū)的樣本點(diǎn)設(shè)為 待劃分樣本點(diǎn);
[0016] 3)按照所述待劃分樣本點(diǎn)的局部密度值進(jìn)行從大到小排序,取當(dāng)前局部密度值最 大的點(diǎn)為中心,構(gòu)造一個(gè)球形區(qū);所述球形區(qū)域內(nèi)所有的點(diǎn)屬于當(dāng)前文本類(lèi)型,所述球形區(qū) 的半徑為與所述球形區(qū)中心點(diǎn)之間的相似度最小的值;
[0017] 4)將未被劃分到所述步驟3)中球形區(qū)的樣本點(diǎn)作為待劃分樣本點(diǎn),重復(fù)步驟3), 直到屬于所述類(lèi)型核心區(qū)的樣本點(diǎn)都被劃分到某個(gè)球形區(qū)內(nèi);
[0018] 5)重復(fù)步驟2)直到將所述特征向量空間模型所有類(lèi)型的核心區(qū)的樣本點(diǎn)都被劃 分到某個(gè)球形區(qū)內(nèi);
[0019] 優(yōu)選的,在所述步驟3)的所述球形區(qū)中,如果除了所述球形區(qū)中心點(diǎn)外,沒(méi)有其 它點(diǎn)屬于所述球形區(qū)則所述球形區(qū)中心點(diǎn)為離群點(diǎn);
[0020] 優(yōu)選的,將所述文本類(lèi)型還包括截止距離d。;根據(jù)屬于所述文本類(lèi)型的樣本點(diǎn)的 鄰居數(shù)為所有所述特征向量空間模型中樣本點(diǎn)的1% -2%確定所述類(lèi)型的截止距離d。;
[0021] 優(yōu)選的,根據(jù)屬于所述類(lèi)型的離群點(diǎn)數(shù)量占所述類(lèi)型樣本點(diǎn)總數(shù)的一定比例確定 所述樣本點(diǎn)的局部密度P i和所述樣本點(diǎn)到高密度點(diǎn)的距離S,的閾值;
[0022] 優(yōu)選的,所述屬于所述類(lèi)型的離群點(diǎn)數(shù)量占所述類(lèi)型樣本點(diǎn)總數(shù)的5% -10%。
[0023] 所述樣本點(diǎn)的局部密度P i的計(jì)算方法為:從所述樣本點(diǎn)中任取一點(diǎn)i,計(jì)算與點(diǎn) i的相似度大于所述樣本點(diǎn)的文本類(lèi)型的截止距離d。的樣本點(diǎn)的個(gè)數(shù),為所述點(diǎn)i的局部 密度Pi;
[0024] 優(yōu)選的,所述點(diǎn)i的局部密度P i的計(jì)算式為:
[0025] Pi= I: kx (dc-dik) (I)
【權(quán)利要求】
1. 一種基于改進(jìn)的KNN文本分類(lèi)方法,其特征在于: S1,根據(jù)每個(gè)訓(xùn)練樣本的特征向量,構(gòu)建特征向量空間模型,并存儲(chǔ)為訓(xùn)練集庫(kù); 采用特征向量空間模型VSM,對(duì)所述訓(xùn)練樣本進(jìn)行預(yù)處理,并提取特征詞;根據(jù)訓(xùn)練樣 本的特征詞,計(jì)算每個(gè)訓(xùn)練樣本的特征向量,構(gòu)建訓(xùn)練集的特征向量空間模型; 所述特征向量空間模型按照文本類(lèi)型劃分為至少一個(gè)球形區(qū)和至少一個(gè)離群點(diǎn); 所述訓(xùn)練集庫(kù)包括:每個(gè)所述球形區(qū)的中心向量、半徑、類(lèi)型和每個(gè)離群點(diǎn)的特征向 量、類(lèi)型; S2,當(dāng)需要對(duì)新文本進(jìn)行分類(lèi)時(shí), 首先,根據(jù)所述訓(xùn)練樣本中提取的特征詞在所述新文本中出現(xiàn)的情況,采用向量空間 模型,計(jì)算所述新文本的特征向量; 然后,判斷所述新文本的特征向量是否落入所述訓(xùn)練集庫(kù)的某個(gè)球形區(qū),如果"是"取 得所述球形區(qū)對(duì)應(yīng)的類(lèi)型,否則,根據(jù)所述訓(xùn)練集庫(kù)中存儲(chǔ)的所有離群點(diǎn)和所有球形區(qū)的 中心點(diǎn),采用KNN算法判斷所述新文本的類(lèi)型。
2. 根據(jù)權(quán)利要求1所述的基于改進(jìn)的KNN文本分類(lèi)方法,其特征在于,將所述特征向量 空間模型按類(lèi)型劃分為多個(gè)球形區(qū)和離群點(diǎn)的方法: 1) 依據(jù)每個(gè)文本類(lèi)型中所有樣本點(diǎn)的局部密度Pi和樣本點(diǎn)到高密度點(diǎn)的距離Si,將 所述文本類(lèi)型劃分為核心區(qū)和樣本點(diǎn); 2) 取某文本類(lèi)型作為當(dāng)前文本類(lèi)型,并將所述當(dāng)前文本類(lèi)型核心區(qū)的樣本點(diǎn)設(shè)為待劃 分樣本點(diǎn); 3) 按照所述待劃分樣本點(diǎn)的局部密度值進(jìn)行從大到小排序,取當(dāng)前局部密度值最大的 點(diǎn)為中心,構(gòu)造一個(gè)球形區(qū);所述球形區(qū)域內(nèi)所有的點(diǎn)屬于當(dāng)前文本類(lèi)型,所述球形區(qū)的半 徑為與所述球形區(qū)中心點(diǎn)之間的相似度最小的值; 4) 將未被劃分到所述步驟3)中球形區(qū)的樣本點(diǎn)作為待劃分樣本點(diǎn),重復(fù)步驟3),直到 屬于所述類(lèi)型核心區(qū)的樣本點(diǎn)都被劃分到某個(gè)球形區(qū)內(nèi); 5) 重復(fù)步驟2)直到將所述特征向量空間模型所有類(lèi)型的核心區(qū)的樣本點(diǎn)都被劃分到 某個(gè)球形區(qū)內(nèi); 優(yōu)選的,在所述步驟3)的所述球形區(qū)中,如果除了所述球形區(qū)中心點(diǎn)外,沒(méi)有其它點(diǎn) 屬于所述球形區(qū)則所述球形區(qū)中心點(diǎn)為離群點(diǎn); 優(yōu)選的,將所述文本類(lèi)型還包括截止距離d。;根據(jù)屬于所述文本類(lèi)型的樣本點(diǎn)的鄰居 數(shù)為所有所述特征向量空間模型中樣本點(diǎn)的1% -2%確定所述類(lèi)型的截止距離d。; 優(yōu)選的,根據(jù)屬于所述類(lèi)型的離群點(diǎn)數(shù)量占所述類(lèi)型樣本點(diǎn)總數(shù)的一定比例確定所述 樣本點(diǎn)的局部密度Pi和所述樣本點(diǎn)到高密度點(diǎn)的距離S,的閾值; 優(yōu)選的,所述屬于所述類(lèi)型的離群點(diǎn)數(shù)量占所述類(lèi)型樣本點(diǎn)總數(shù)的5% -10%。
3. 根據(jù)權(quán)利要求2所述的基于改進(jìn)的KNN文本分類(lèi)方法,其特征在于,所述樣本點(diǎn)的局 部密度Pi的計(jì)算方法為:從所述樣本點(diǎn)中任取一點(diǎn)i,計(jì)算與點(diǎn)i的相似度大于所述樣本 點(diǎn)的文本類(lèi)型的截止距離d。的樣本點(diǎn)的個(gè)數(shù),為所述點(diǎn)i的局部密度Pi; 優(yōu)選的,所述點(diǎn)i的局部密度Pi的計(jì)算式為: Pi = I:kx (dc-dik) (1) 其中
d。為截止距離;dik為i點(diǎn)到其他樣本點(diǎn)k的距離; 優(yōu)選的,所述點(diǎn)i到高密度點(diǎn)j的距離S,為:
所述高密度點(diǎn)j為:比所述點(diǎn)i密度大,且距離所述點(diǎn)i的距離最小的點(diǎn); 優(yōu)選的,當(dāng)所述點(diǎn)i為密度最大的點(diǎn)時(shí),點(diǎn)j為距離點(diǎn)i最近的點(diǎn),Si為:
4. 根據(jù)權(quán)利要求1所述的基于改進(jìn)的KNN文本分類(lèi)方法,其特征在于,所述特征向量 的建立方法為:忽略所述特征詞在所述文本中的先后順序,將所述文本用向量icKwpWs,… ,wn)表示;其中,d為所述文本;所述、w2,…,wn為所述文本的n個(gè)特征詞; 優(yōu)選的,所述文本中的特征詞是互異的。
5. 根據(jù)權(quán)利要求1-4任一項(xiàng)所述的基于改進(jìn)的KNN文本分類(lèi)方法,其特征在于,所述特 征向量空間模型VSM方法包括:將每個(gè)所述訓(xùn)練樣本的特征向量構(gòu)成的向量空間模型VSM 標(biāo)記為DWi,d2,. . .,dT),將所述文本類(lèi)型標(biāo)記為C(Cl,c2,. . .,cm);所述相似程度為兩點(diǎn)之 間的距離;其中D為所有文本的集合,屯,d2,. . .,dT為屬于向量空間模型D的所有文本,C為 文本類(lèi)型的集合,Cl,c2,. . .,cm為所有的文本類(lèi)型。
6. 根據(jù)權(quán)利要求1-5任一項(xiàng)所述的基于改進(jìn)的KNN文本分類(lèi)方法,其特征在于,所述球 形區(qū)表示如下: Bit ={xGRn|Sim(x,vt (cj)) ^rit} ,i= = 1, 2, . . . ,f(cj) (4)
其中,rit、Bit分別為類(lèi)別q的核心區(qū)中劃分的第t個(gè)球半徑和球,UnhandledCoreh) 為類(lèi)別q的核心區(qū)中沒(méi)有被劃分過(guò)的樣本點(diǎn)集合,Core(D)為所有類(lèi)的核心區(qū)的集合; vt(Ci)為在確定第t個(gè)球形時(shí),類(lèi)q的UnhandledCoreh)中pi最大的點(diǎn),f(Ci)為類(lèi)q 核心區(qū)最多能劃分的球的個(gè)數(shù)。
7. 根據(jù)權(quán)利要求1-6任一項(xiàng)所述基于改進(jìn)的KNN文本分類(lèi)方法,其特征在于,所述基于 改進(jìn)的KNN文本分類(lèi)方法,應(yīng)用于核電儀控系統(tǒng)技術(shù)文件的文本評(píng)估規(guī)則關(guān)聯(lián); 所述訓(xùn)練文本或新文本為:核電站儀控系統(tǒng)技術(shù)文件;所述核電站儀控系統(tǒng)技術(shù)文件 包括:技術(shù)文件、需求文件和設(shè)計(jì)文件; 所述文本類(lèi)別包括:數(shù)據(jù)采集、通信、接口、故障診斷、冗余; 所述關(guān)鍵詞包括:采集、輪詢(xún)、質(zhì)量位、故障、數(shù)據(jù)包、報(bào)警、定期、自診斷、協(xié)議、AIS、計(jì) 數(shù)器、運(yùn)算、正確性、初始化、競(jìng)爭(zhēng)、寫(xiě)雙口、RAM、完整性、破壞、讀寫(xiě)、通信、干擾、非規(guī)約數(shù)、 收發(fā)、看門(mén)狗、上行幀、下行幀、響應(yīng)時(shí)間、中斷、喂狗。
8. 根據(jù)權(quán)利要求1-6任一項(xiàng)所述基于改進(jìn)的KNN文本分類(lèi)方法,其特征在于,所述基于 改進(jìn)的KNN文本分類(lèi)方法,應(yīng)用于核電儀控系統(tǒng)技術(shù)文件的失效模式分析; 所述訓(xùn)練文本或所述新文本為:核電站儀控系統(tǒng)技術(shù)文件;所述核電站儀控系統(tǒng)技術(shù) 文件包括:技術(shù)文件、需求文件和設(shè)計(jì)文件; 所述文本類(lèi)別包括:通道采集、板卡自診斷、通信、運(yùn)算處理、狀態(tài)顯示與警告; 所述關(guān)鍵詞包括:初始化、參數(shù)、配置、EEPROM、校驗(yàn)、計(jì)數(shù)器、確定性、協(xié)議、數(shù)據(jù)幀、MAC地址、指示燈、報(bào)警、質(zhì)量位、競(jìng)爭(zhēng)、寫(xiě)雙口、RAM、完整性、破壞、讀寫(xiě)、通信、通道、緩沖區(qū)、自 診斷、ROM、超時(shí)、指令、日志、復(fù)位、冗余、量程、上限、下限、掛起、精度、輪詢(xún)、中斷、誤差、干 擾、非規(guī)約數(shù)、收發(fā)、看門(mén)狗。
【文檔編號(hào)】G06F17/30GK104408095SQ201410650756
【公開(kāi)日】2015年3月11日 申請(qǐng)日期:2014年11月15日 優(yōu)先權(quán)日:2014年11月15日
【發(fā)明者】馮素梅, 趙云飛, 劉建龍, 張亞棟, 劉邦信, 周小波, 程建明 申請(qǐng)人:北京廣利核系統(tǒng)工程有限公司, 中國(guó)廣核集團(tuán)有限公司