- 相關(guān)推薦
SWEBOK的軟件工程知識(shí)分類(lèi)模型及算法
摘要:軟件組織內(nèi)部智慧資產(chǎn)的有效組織和管理一直是一個(gè)懸而未決的問(wèn)題。將文本分類(lèi)技術(shù)引入到軟件工程知識(shí)分類(lèi)領(lǐng)域,首先綜合分析了軟件工程領(lǐng)域知識(shí)的基本類(lèi)型和特性:之后依據(jù)這些特性結(jié)合軟件工程知識(shí)體系(SWEBOK:Software Engineering Body of Knowledge),提出了一個(gè)軟件工程知識(shí)的分類(lèi)模型和算法;最后通過(guò)實(shí)驗(yàn)驗(yàn)證了提出的模型和算法的有效性。實(shí)驗(yàn)結(jié)果表明,該模型和算法具有良好的分類(lèi)性能,為軟件工程知識(shí)的有效分類(lèi)提供了一種途徑。
關(guān)鍵詞:軟件工程知識(shí)體系;知識(shí)分類(lèi);軟件工程;文本分類(lèi);分類(lèi)算法
引言
軟件的開(kāi)發(fā)是人類(lèi)有史以來(lái)最為復(fù)雜的知識(shí)高密集活動(dòng)之一,其最終的輸出產(chǎn)品只是IT知識(shí)和應(yīng)用領(lǐng)域知識(shí)的高度凝聚,更多的個(gè)人技能、應(yīng)用解決方案、最佳實(shí)踐、經(jīng)驗(yàn)和教訓(xùn)、設(shè)計(jì)模式等相關(guān)知識(shí)都堙滅于軟件開(kāi)發(fā)過(guò)程中,或者隱藏和散落在冗長(zhǎng)、雜亂的(電子)文檔和數(shù)據(jù)庫(kù)中。如何促使這些隱藏著的知識(shí)顯性化?如何合理地組織和有效地管理這些智慧資產(chǎn)來(lái)形成一個(gè)企業(yè)內(nèi)部的智慧資產(chǎn)庫(kù)以供將來(lái)重用?這些一直是軟件工程中的知識(shí)管理所關(guān)注的重點(diǎn)12J。
就軟件工程領(lǐng)域來(lái)說(shuō),與之相關(guān)的研究已經(jīng)持續(xù)了10多年,已有的工作可以總結(jié)為以下幾個(gè)方面(1)基于人工智能的專(zhuān)家系統(tǒng);(2)基于過(guò)程經(jīng)驗(yàn)的軟件工程知識(shí)庫(kù),如CBR、BORE和經(jīng)驗(yàn)工廠(Experience Factory)等:(3)與單項(xiàng)軟件開(kāi)發(fā)活動(dòng)相結(jié)合的知識(shí)獲取工具等。這些研究從不同層面、不同程度上解決了上述問(wèn)題。然而仍有以下幾點(diǎn)需要深入探討:(1)缺乏有效的手段來(lái)對(duì)軟件組織相關(guān)智慧資產(chǎn)進(jìn)行有效地、合理地組織和分類(lèi);(2)完整性問(wèn)題:未能對(duì)軟件工程知識(shí)進(jìn)行全面地分析和覆蓋:(3)相關(guān)自動(dòng)化支持工具的缺乏。
要實(shí)現(xiàn)軟件工程領(lǐng)域知識(shí)的有效組織和管理,其核心點(diǎn)之一就是要有一個(gè)骨干分類(lèi)體系(Backbone Taxonomy)以作為相關(guān)知識(shí)組織和分類(lèi)的基本依據(jù),而事實(shí)上這個(gè)骨干分類(lèi)體系目前已經(jīng)存在,這就是軟件工程知識(shí)體系(SWEBOK-Software Engineering Body of Knowledge)。它由IEEE.CS和ACM發(fā)起并聯(lián)合全球軟件工程專(zhuān)家而制定,目前已成為國(guó)際標(biāo)準(zhǔn)(ISO/IEC TR 19759)。SWEBOK將軟件工程分為11個(gè)知識(shí)域,每個(gè)知識(shí)域再細(xì)分為若干知識(shí)子域,以此類(lèi)推共形成四級(jí)的骨干分類(lèi)樹(shù)。它共涵蓋178個(gè)分類(lèi)標(biāo)識(shí),數(shù)萬(wàn)條軟件工程領(lǐng)域術(shù)語(yǔ)。但迄今為止,卻鮮見(jiàn)將其應(yīng)用到知識(shí)分類(lèi)的相關(guān)報(bào)導(dǎo)。
本文旨在利用SwEBOK作為骨干分類(lèi)體系,結(jié)合文本分類(lèi)技術(shù),研究軟件工程相關(guān)智慧資產(chǎn)的有效組織和分類(lèi)問(wèn)題。首先概括了軟件工程的領(lǐng)域知識(shí)的基本類(lèi)型,并對(duì)其特性進(jìn)行了分析;之后結(jié)合SWEBOK和文本分類(lèi)技術(shù),提出了一個(gè)軟件工程知識(shí)的分類(lèi)模型;最后給出了分類(lèi)算法并對(duì)其分類(lèi)性能的驗(yàn)證。
1軟件工程領(lǐng)域知識(shí)的基本類(lèi)型及其特性理論上,~切在軟件開(kāi)發(fā)過(guò)程中用到和產(chǎn)生的知識(shí)都可以被歸結(jié)為軟件工程知識(shí)。盡管其表現(xiàn)形式多種多樣,但基本上可以歸結(jié)為三類(lèi):(1)過(guò)程經(jīng)驗(yàn)(Process Experiences),軟件開(kāi)發(fā)的整體過(guò)程即是~種實(shí)踐案例知識(shí)(Practice Case):
(2)個(gè)人技能(Personal Skills),留存在軟件組織成員的頭腦之中;(3)軟件工程的知識(shí)$,]品(Knowledge Artifacts),表現(xiàn)形式是一些顯性化的文檔。
1.1過(guò)程經(jīng)驗(yàn)記錄軟件開(kāi)發(fā)的過(guò)程經(jīng)驗(yàn)是必要的,一個(gè)不能吸取過(guò)去失敗教訓(xùn)的團(tuán)隊(duì)勢(shì)必要犯同樣的錯(cuò)誤;一個(gè)不能重用過(guò)去成功經(jīng)驗(yàn)的組織則會(huì)重復(fù)地發(fā)明輪子?疾燔浖^(guò)程經(jīng)驗(yàn),其主要特性包括:(1)依賴(lài)性:高度依賴(lài)于特定的軟件項(xiàng)目;(2)不規(guī)范性:很難找到一個(gè)共用的模型適用于所有的軟件項(xiàng)目;(3)重用性:相似的軟件項(xiàng)目,其過(guò)程經(jīng)驗(yàn)可以高度的重用?。
依據(jù)上述特性,可以使用下述方法捕獲之:(1)綜合參照CMMI、RUP等軟件過(guò)程模型制定一個(gè)通用模板;(2)將每一新的軟件項(xiàng)目生成為此模板的一個(gè)實(shí)例。
1.2個(gè)人技能軟件組織成員的個(gè)人技能是軟件組織最為寶貴的財(cái)富,軟件的開(kāi)發(fā)歸根結(jié)底就是相關(guān)人員個(gè)人技能的綜合應(yīng)用。它的主要特性包括:(1)隱性:所有的個(gè)人技能都隱藏在組織成員的頭腦中,不易捕獲;(2)高價(jià)值性:組織成員的知識(shí)水平直接決定了軟件產(chǎn)品的質(zhì)量;(3)不穩(wěn)定性:隨著組織成員的離開(kāi),此智慧資產(chǎn)也會(huì)隨之流失。正是這些特性使得個(gè)人技能顯性化和有效捕獲成為最為棘手的問(wèn)題之一。
對(duì)個(gè)人技能的捕獲方式等同于過(guò)程經(jīng)驗(yàn):(1)制定一個(gè)人技能描述模板;(2)將每一組織成員的個(gè)人技能生成為此模板的一個(gè)實(shí)例。
1.3知識(shí)制品軟件開(kāi)發(fā)過(guò)程中產(chǎn)生的各種以電子方式存在的模型、圖表、文檔、代碼、方案以及組織內(nèi)部的圖書(shū)等等各種文本文檔皆可被視作知識(shí)制品。它們是組織中最為直接、最易管理的智慧資產(chǎn),因?yàn)樗鼈円呀?jīng)被顯性化了。對(duì)其處理方式,我們直接以文本形式進(jìn)行表示。
2基于SwEBoK的軟件工程知識(shí)分類(lèi)模型
2.1 SWEBOK作為骨干樹(shù)的分類(lèi)體系知識(shí)分類(lèi)的一個(gè)重要檢驗(yàn)標(biāo)準(zhǔn)就是其分類(lèi)體系中類(lèi)別標(biāo)識(shí)的共識(shí)性和共享性,因?yàn)槿绻殖鲆粋(gè)大家都不認(rèn)同的類(lèi)還不如不分類(lèi)。由于SWEBOK的概念體系經(jīng)過(guò)了全球軟件工程專(zhuān)家lO多年的反復(fù)校驗(yàn)和核準(zhǔn),以其作為骨干分類(lèi)體系具有廣泛的共享性和共識(shí)性。其前兩級(jí)的分類(lèi)體系如圖l所示。
2.2軟件工程知識(shí)分類(lèi)模型知識(shí)分類(lèi)是知識(shí)管理領(lǐng)域最為重要的研究?jī)?nèi)容之一,它可以被看作是分類(lèi)技術(shù)在知識(shí)管理研究領(lǐng)域的應(yīng)用和深化?梢钥吹结槍(duì)不同類(lèi)型的軟件工程知識(shí),它們遵循不同的分類(lèi)過(guò)程。對(duì)于過(guò)程經(jīng)驗(yàn)和個(gè)人技能,經(jīng)過(guò)知識(shí)表示之后,它們直接被歸入SWEBOK骨干分類(lèi)體系的某一類(lèi)別下。而知識(shí)制品則遵循著預(yù)處理、特征選擇和分類(lèi)器分類(lèi)的一般過(guò)程。首先要將待分類(lèi)的知識(shí)制品進(jìn)行預(yù)處理,從而生成特征向量的集合;特征選擇算法則對(duì)特征向量的全集進(jìn)行降維處理,從而得到較小規(guī)模的特征向量子集;最后,分類(lèi)器根據(jù)降維后的特征子集,將知識(shí)制品歸入到SWEBOK骨干分類(lèi)體系的某一類(lèi)別下。此分類(lèi)模型可被分解為以下四個(gè)部分:
SWEBOK骨干分類(lèi)樹(shù):依據(jù)SWEBOK 2004(Iron)版所提供的178個(gè)具有分類(lèi)繼承關(guān)系(Hierarchical)的軟件工程概念術(shù)語(yǔ),組織形成一個(gè)骨干分類(lèi)樹(shù),作為領(lǐng)域知識(shí)最終歸屬類(lèi)別的基本框架。此外,軟件組織還可以根據(jù)自身的具體情況對(duì)此骨干分類(lèi)樹(shù)進(jìn)行靈活的定制。
待分類(lèi)知識(shí)源:如第1節(jié)所述,軟件工程領(lǐng)域知識(shí)總體上可被分為三個(gè)基本類(lèi)型,不同類(lèi)型的知識(shí)會(huì)有不同的處理模式(見(jiàn)2.3節(jié))。
訓(xùn)練集:用以對(duì)分類(lèi)器進(jìn)行訓(xùn)練以提高其學(xué)習(xí)能力,訓(xùn)練集的選擇對(duì)分類(lèi)器的分類(lèi)效果有著重要的影響(具體訓(xùn)練集的選擇見(jiàn)第4節(jié))。
知識(shí)分類(lèi)過(guò)程:包括訓(xùn)練過(guò)程(圖2中虛線(xiàn)所示)和應(yīng)用過(guò)程(圖2中實(shí)線(xiàn)所示),詳見(jiàn)2.3節(jié)。
2.3三種類(lèi)型知識(shí)的分類(lèi)方式就過(guò)程經(jīng)驗(yàn)和個(gè)人技能來(lái)說(shuō),由于其在知識(shí)表示的過(guò)程中已經(jīng)以結(jié)構(gòu)化的方式得以組織,因而它們的分類(lèi)方式較為簡(jiǎn)單。定義E={月,...,P}為過(guò)程經(jīng)驗(yàn)的全集,其中刀=搗,磊?..量)∈E為一具體的項(xiàng)目實(shí)例,5為一項(xiàng)目實(shí)例中的具體信息,如:項(xiàng)目名稱(chēng)、項(xiàng)目經(jīng)理、活動(dòng)名稱(chēng)、流程信息和體系結(jié)構(gòu)等。
那么過(guò)程經(jīng)驗(yàn)的分類(lèi)算法(1)為:
f:E-'巳(1)其中c疊為SWEBOK骨干分類(lèi)體系中一固定的類(lèi)別一過(guò)程經(jīng)驗(yàn)類(lèi),亦即:將過(guò)程經(jīng)驗(yàn)直接映射到分類(lèi)體系中。
個(gè)人技能的處理方式與過(guò)程經(jīng)驗(yàn)等同。
最為復(fù)雜也是最為核心的是知識(shí)制品的分類(lèi),其處理方法我們采用文本分類(lèi)技術(shù),總體上分為訓(xùn)練過(guò)程和應(yīng)用過(guò)程。在訓(xùn)練過(guò)程中,訓(xùn)練集經(jīng)過(guò)預(yù)處理被表示成特征向量,特征向量經(jīng)過(guò)降維(本文采用特征選擇的方式)后被分類(lèi)器處理,完成一個(gè)訓(xùn)練的周期。而在應(yīng)用過(guò)程中,文本經(jīng)過(guò)預(yù)處理生成的特征向量直接被分類(lèi)器處理。分類(lèi)器將其與訓(xùn)練過(guò)程得到的類(lèi)別模式逐一比較,依據(jù)分類(lèi)算法計(jì)算出文本最終所屬的類(lèi)別。
3知識(shí)分類(lèi)算法3.1預(yù)處理計(jì)算機(jī)能夠自動(dòng)分類(lèi)的前提是待分類(lèi)文本已經(jīng)被表示成可被計(jì)算的數(shù)據(jù)。向量空間模型(VSM)是使用較多且效果較好的表示方法之--[51,在該模型中,一個(gè)文本d被看作是由一組正交向量組成的向量空間:
y(田={(^,Ⅵ),...,(,%)},其中(巧,M)表示一個(gè)特征^的二元組,w表示此特征在文本d中的權(quán)重。特征tl可以是字、詞或者其組合,但目前普遍認(rèn)為詞作為特征項(xiàng)要優(yōu)于字和詞組。由于一個(gè)特征向量對(duì)應(yīng)著高維空間中的一個(gè)點(diǎn),因而上式又可以簡(jiǎn)化為:y(d)={wj,...,%)對(duì)于知識(shí)制品的表示,我們也采用VSM方法,但在其被表示成空間向量之前,還要進(jìn)行一些預(yù)處理,如去掉一些低頻詞、去掉停llZii-](Stop word)、去掉一些標(biāo)記信息(如網(wǎng)頁(yè)標(biāo)簽)等。由于中文文本的特殊性,還要進(jìn)行分詞,我們采用北航軟件所開(kāi)發(fā)的中文分詞系統(tǒng)BUAASEISEGt61,它在穩(wěn)定性和新詞識(shí)別能力上具有一定的優(yōu)勢(shì)。
特征的權(quán)重Ⅵ計(jì)算方法主要運(yùn)用TF*IDF公式,目前存在多種TF*IDF公式,本文采用了一種比較普遍的TF*DF[71算法(2): 即力=磚蒜器。
3.2基于互信息的特征選擇經(jīng)過(guò)預(yù)處理后的知識(shí)制品,其特征向量的維數(shù)依然很高(動(dòng)輒數(shù)十萬(wàn)),需要在盡量不損失分類(lèi)信息的情況下生成一個(gè)新的低維向量,這個(gè)過(guò)程稱(chēng)作降維。常用的降維方法有特征選擇和特征抽取,由于特征選擇的計(jì)算復(fù)雜性較低,因而被大量的采用。
常用的特征選擇方法有:文檔頻率(DocumentFrequency)、互信息(Mutual Information)、Chi平方(f),信息增益(1G:Information Gain)等。Yang等人對(duì)各種特征選擇算法進(jìn)行了廣泛的研究,結(jié)果發(fā)現(xiàn)f和信息增益方法相較于其他方法,其特?fù)裥Ч顑?yōu)用。在本文的研究中,我們采用信息增益方法來(lái)進(jìn)行降維,它實(shí)際上反映的是特征在文本中出現(xiàn)與否能為確定當(dāng)前文檔所屬類(lèi)別做出的貢獻(xiàn)值。其算法(3)具體描述如下:
輸入:文本的特征向量r(d);分類(lèi)體系c:
輸出:降維后的特征向量r(d);步驟:
1)按如下公式計(jì)算每個(gè)特征向量的信息增益值:
G(f)=一Σ:,P(c。)Ioge(cJ)+P(f)Σ:.£(c,It)logP,(c,I,)+只(了)Σ:.P[T)logP,(c,li) (3)其中:只Q)表示一篇文本屬于類(lèi)別cj概率;eat)標(biāo)識(shí)特征項(xiàng)t在一篇文本中出現(xiàn)的概率;e∽標(biāo)識(shí)特征項(xiàng)t不在一篇文本中出現(xiàn)的概率;P(c。If)表示特征項(xiàng)t在屬于類(lèi)別白的文本中出現(xiàn)的概率;只(q I丁)表示特征項(xiàng)t在屬于類(lèi)別島的文本中出現(xiàn)的概率。
2)將文本特征按照式(3)計(jì)算出的信息增益值由大到小排列,取其前K個(gè)特征向量構(gòu)成最終的特征空間,這樣就達(dá)到了降維的目的,其維數(shù)為K。
3.3基于k-NN的分類(lèi)算法基于機(jī)器學(xué)習(xí)的分類(lèi)算法目前已有數(shù)十種,而以Rocchio、KNN和SVM性能最為突出I習(xí)。Yang等人對(duì)這些算法進(jìn)行了全面的比較,結(jié)果表明KNN和SVM算法無(wú)論是分類(lèi)性能還是算法的健牡性、可擴(kuò)展性都較其他算法有顯著的優(yōu)j判51。我們采用KNN算法來(lái)構(gòu)建軟件工程領(lǐng)域知識(shí)的分類(lèi)器。
rA7N(K Nearest Neighbor)算法的基本思路是:在給定新的文本后,考慮在訓(xùn)練集中與該新文本距離最近(最相似)的K篇文本,根據(jù)這K篇文本所屬的類(lèi)別判定新文本所屬的類(lèi)別,具體的算法(4)描述如下:
輸入:訓(xùn)練集出分類(lèi)體系C;待分類(lèi)的文本集d;輸出:待分類(lèi)文本的類(lèi)別;步驟:
1)對(duì)待分類(lèi)的文本進(jìn)行預(yù)處理,并使用式(2)計(jì)算其權(quán)重,得到待分類(lèi)文本的向量表示V(d7);2)在訓(xùn)練文本集中選出與新文本最相似的K個(gè)文本,計(jì)算公式為:
Sim(d.,d』)=Σ既x%其中,K值的確定目前沒(méi)有很好的方法,一般采用先定一個(gè)初始值,然后根據(jù)實(shí)驗(yàn)測(cè)試的結(jié)果調(diào)整K值,一般初始值定為幾百到幾千之問(wèn)。3)在新文本的K個(gè)鄰居中,依次計(jì)算每類(lèi)的權(quán)重,計(jì)算公式如下:
p(j,G)2藝Sim(i,4)y(4,c:) (5)af扣州其中,i為新文本的特征向量,Sire(,2,i)為相似度計(jì)算公式,與(4)式相同。而y窿,£)為類(lèi)別屬性函數(shù),即。如果黿屬于類(lèi)G,那么函數(shù)值為l,否則為0。
4)比較類(lèi)的權(quán)重,將文本分到權(quán)重最大的那個(gè)類(lèi)別中。
4實(shí)驗(yàn)結(jié)果我們對(duì)本文提出的知識(shí)分類(lèi)算法進(jìn)行了實(shí)驗(yàn)驗(yàn)證,選用的數(shù)據(jù)集包括:(1)用手工方式創(chuàng)建的數(shù)10項(xiàng)過(guò)程經(jīng)驗(yàn)和個(gè)人技能;(2)SWEBOK中所給出的169篇參考文獻(xiàn)、NASAC2004(全國(guó)軟件與應(yīng)用學(xué)術(shù)會(huì)議)的197篇論文以及從美國(guó)CMU大學(xué)提供了935篇計(jì)算機(jī)科研論文數(shù)據(jù),算法性能的評(píng)價(jià)則采用精確度和召回率以及結(jié)合兩者的FlMeasure。
對(duì)于訓(xùn)練集和測(cè)試集的選擇,其方法如下:將這些數(shù)據(jù)集按照所屬類(lèi)別進(jìn)行手工分類(lèi),然后平均分成十份,選擇其中九份作為訓(xùn)練集,選擇其中一份作為測(cè)試集。運(yùn)行分類(lèi)算法,共執(zhí)行10次分類(lèi)操作,計(jì)算其平均值,實(shí)驗(yàn)結(jié)果如表1所示。
知識(shí)類(lèi)型準(zhǔn)確率召劇率FI度量過(guò)程經(jīng)驗(yàn)100% 100% 100%個(gè)人技能100% 100% 100%知識(shí)制品879%8208%84.38%觀察表1的結(jié)果數(shù)據(jù),我們可以發(fā)現(xiàn)過(guò)程經(jīng)驗(yàn)和個(gè)人技能的分類(lèi)準(zhǔn)確率、召回率和F1度量值都很高(皆為100%)。
通過(guò)定性分析我們可以得知產(chǎn)生這種現(xiàn)象的原因:這兩種類(lèi)型的軟件工程知識(shí)皆采用了直接映射的分類(lèi)算法。輸出很好的分類(lèi)效果是必然的。對(duì)于知識(shí)制品來(lái)說(shuō),它的F1度量值也超過(guò)了84%.這表明以SWEBOK為骨干分類(lèi)樹(shù)來(lái)進(jìn)行軟件工程知識(shí)的組織和分類(lèi)是可行,旦采用文本分類(lèi)算法進(jìn)行知識(shí)制品的分類(lèi)也是行之有效的。
5結(jié)論
軟件組織內(nèi)部智慧資產(chǎn)的有效組織和管理仍舊是一個(gè)開(kāi)放的課題,就目前來(lái)看尚未有一個(gè)銀彈(Silver Bullet)以解決這個(gè)問(wèn)題。本文的創(chuàng)新之處就在于將文本分類(lèi)技術(shù)引入到軟件工程領(lǐng)域。以SWEBOK作為骨干分類(lèi)體系,為軟件工程知識(shí)的自動(dòng)分類(lèi)提供了一種新的解決途徑,并通過(guò)實(shí)驗(yàn)驗(yàn)證了所提出的模型和算法的有效性。
事實(shí)上,文本分類(lèi)的技術(shù)和方法是通用的,本文提出的模型和算法也是通用的,如果我們將SWEBOK骨干分類(lèi)體系換作其他領(lǐng)域的分類(lèi)體系,將過(guò)程經(jīng)驗(yàn)?zāi)0搴蛡(gè)人經(jīng)驗(yàn)?zāi)0鍝Q作其他模板,則可以構(gòu)造一個(gè)面向其他領(lǐng)域的知識(shí)分類(lèi)器。
就軟件組織來(lái)說(shuō),其內(nèi)部智慧資產(chǎn)的規(guī)模遠(yuǎn)沒(méi)有Web上的資源那樣巨大。但是它對(duì)分類(lèi)的準(zhǔn)確率和召回率的要求卻非常高。就目前來(lái)說(shuō),改進(jìn)算法仍然是提高分類(lèi)準(zhǔn)確率和召回率的最為有效的途徑。因此,我們下一步的工作就是通過(guò)引入更為綜合的特征賦權(quán)函數(shù)、改進(jìn)特征選擇算法和通過(guò)對(duì)領(lǐng)域知識(shí)的運(yùn)用以改進(jìn)分類(lèi)算法等,來(lái)迸~步提高其分類(lèi)的性能。此外,在更大規(guī)模知識(shí)集上的訓(xùn)練和測(cè)試也是我們努力的方向。
【SWEBOK的軟件工程知識(shí)分類(lèi)模型及算法】相關(guān)文章:
基于大氣物理模型的快速視覺(jué)優(yōu)化去霧算法03-17
基于記憶多項(xiàng)式模型數(shù)字預(yù)失真算法的改進(jìn)03-07
快速消費(fèi)品配送中心選擇優(yōu)化的模型與算法03-25
改進(jìn)logit多路徑分配模型及其求解算法研究03-07
利用中心點(diǎn)信息的活體指紋分類(lèi)算法03-19