亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于lda模型的多粒度層次軟件聚類(lèi)方法

文檔序號(hào):6536465閱讀:410來(lái)源:國(guó)知局
一種基于lda模型的多粒度層次軟件聚類(lèi)方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了軟件工程【技術(shù)領(lǐng)域】?jī)?nèi)的一種基于LDA模型的多粒度層次軟件聚類(lèi)方法,旨在解決現(xiàn)有技術(shù)中軟件聚類(lèi)技術(shù)忽略了軟件功能特征導(dǎo)致開(kāi)發(fā)人員不能根據(jù)聚類(lèi)結(jié)果快速理解軟件系統(tǒng)的技術(shù)問(wèn)題。本發(fā)明通過(guò)LDA模型在類(lèi)和方法兩個(gè)不同層次提取主題,實(shí)現(xiàn)了粗粒度層次到細(xì)粒度層次的聚類(lèi),為開(kāi)發(fā)人員建立一個(gè)更加易于理解的系統(tǒng)結(jié)構(gòu),使得聚類(lèi)的結(jié)果更加有效、更加實(shí)用化;通過(guò)本發(fā)明提供的方法開(kāi)發(fā)人員可清楚的了解軟件程序的功能點(diǎn),快速找到所需的功能源代碼。本方法應(yīng)用于輔助軟件維護(hù)與演化過(guò)程中的程序理解,可為開(kāi)發(fā)人員提供一個(gè)從系統(tǒng)到方法的逐步理解的過(guò)程,具有聚類(lèi)性能好、實(shí)用性強(qiáng)、工作效率高的特點(diǎn)。
【專(zhuān)利說(shuō)明】一種基于LDA模型的多粒度層次軟件聚類(lèi)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種聚類(lèi)方法,特別涉及一種基于LDA模型的多粒度層次軟件聚類(lèi)方法,屬于軟件工程【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]為滿(mǎn)足用戶(hù)不斷更改地需求,軟件產(chǎn)品一般都需要不斷地升級(jí)和維護(hù)。為了實(shí)現(xiàn)用戶(hù)維護(hù)請(qǐng)求,開(kāi)發(fā)人員首先需要理解整個(gè)軟件系統(tǒng),特別是對(duì)程序的理解。但是隨著軟件系統(tǒng)的不斷發(fā)展,整個(gè)軟件系統(tǒng)的規(guī)模也越來(lái)越大,復(fù)雜程度也必然越來(lái)越高,通常情況下,程序理解將占到軟件維護(hù)過(guò)程60%的時(shí)間。為輔助這項(xiàng)工作,開(kāi)發(fā)人員提出了軟件聚類(lèi)技術(shù),其目的是通過(guò)從源代碼中提取出軟件中更小、更集中和更易于理解的子系統(tǒng)和它們之間的關(guān)系,以提聞人們理解、分析和改造遺留系統(tǒng)的效率。
[0003]現(xiàn)有技術(shù)中,大部分軟件聚類(lèi)技術(shù)都使用程序元素之間的靜態(tài)結(jié)構(gòu)依賴(lài)關(guān)系來(lái)進(jìn)行的;也有人提出了基于理解的聚類(lèi)方法,即將匹配相同的模式的代碼分為一類(lèi)而且將結(jié)果進(jìn)行有效的命名。但這兩種方法均忽視了系統(tǒng)的功能特征。而程序理解的目標(biāo)是理解系統(tǒng)的功能點(diǎn)及各功能點(diǎn)是如何通過(guò)不同的源代碼得以實(shí)現(xiàn)的,因此上述兩種方法均不能幫助開(kāi)發(fā)人員快速、高效地理解程序。
[0004]在軟件系統(tǒng)中,升級(jí)和維護(hù)的修改請(qǐng)求通常也被稱(chēng)為特征或主題,一個(gè)特征或主題可代表一種功能,這種功能是按照開(kāi)發(fā)者和使用者的要求和可接受度來(lái)定義的。如果在軟件聚類(lèi)的初始過(guò)程中就能提供特征或者主題,則能有效地幫助開(kāi)發(fā)人員得到一個(gè)總體的信息。
[0005]LDA (隱含狄利克雷分布)模型是當(dāng)前最具代表性,也是最流行的一種概率主體模型,在文本挖掘、知識(shí)發(fā)現(xiàn)、話(huà)題跟蹤以及多文檔摘要等領(lǐng)域得到了廣泛的良好應(yīng)用,LDA是一種非監(jiān)督機(jī)器學(xué)習(xí)技術(shù),可以用來(lái)識(shí)別大規(guī)模文檔及或語(yǔ)料庫(kù)中潛藏的主題信息,具有較高的靈活性和自動(dòng)化處理能力。LDA模型可以從一個(gè)數(shù)據(jù)集合中挖掘指定個(gè)數(shù)的潛在主題模型,有效的挖掘語(yǔ)義信息之間隱含的內(nèi)在聯(lián)系,通過(guò)這些主題模型表示一個(gè)文本,從而達(dá)到特征降維的目的。

【發(fā)明內(nèi)容】

[0006]本發(fā)明的目的是提供一種基于LDA模型的多粒度層次軟件聚類(lèi)方法,旨在解決現(xiàn)有技術(shù)中軟件聚類(lèi)技術(shù)忽略了軟件功能特征導(dǎo)致開(kāi)發(fā)人員不能根據(jù)聚類(lèi)結(jié)果快速理解軟件系統(tǒng)的技術(shù)問(wèn)題。
[0007]本發(fā)明的目的是這樣實(shí)現(xiàn)的:一種基于LDA模型的多粒度層次軟件聚類(lèi)方法,包括以下步驟:
(1)從待聚類(lèi)的軟件系統(tǒng)中選取類(lèi)名、方法名以及注釋作為篩選對(duì)象,對(duì)所述軟件系統(tǒng)進(jìn)行篩選,運(yùn)用LDA模型從已經(jīng)過(guò)篩選的軟件系統(tǒng)中提取k個(gè)系統(tǒng)主題,k為自定義值;
(2)計(jì)算各所述系統(tǒng)主題的主題詞數(shù)目與所述軟件系統(tǒng)文檔總詞數(shù)的比例,若所述比例等于1,則將對(duì)應(yīng)主題詞所在的類(lèi)分配到和相應(yīng)系統(tǒng)主題匹配的類(lèi)層次的初始聚類(lèi);若所述比例小于1,則按從大到小排列各比例,選取比例排在的前則立的主題詞所在的類(lèi),將所述類(lèi)分配到和相應(yīng)系統(tǒng)主題匹配的類(lèi)層次的初始聚類(lèi),其中,M為自定義值;
(3)逐一分析所述軟件系統(tǒng)中未分配的類(lèi)與已分配的類(lèi)之間的關(guān)系,若未分配的類(lèi)與已分配的類(lèi)存在依賴(lài)關(guān)系,則將未分配的類(lèi)分配到所述已分配的類(lèi)所在的初始聚類(lèi)中,直至所有未分配的類(lèi)全部被分配于相應(yīng)的初始聚類(lèi)中,得到所述軟件系統(tǒng)在類(lèi)層次的基于系統(tǒng)主題的聚類(lèi)結(jié)果;
(4)根據(jù)步驟(3)的聚類(lèi)結(jié)果,運(yùn)用LDA模型從類(lèi)中提取j個(gè)類(lèi)主題,j為自定義值;
(5)計(jì)算各所述類(lèi)主題的主題詞數(shù)目與所述類(lèi)的文檔總詞數(shù)的比例,若所述比例等于1,則將對(duì)應(yīng)主題詞所在的方法分配到和相應(yīng)類(lèi)主題匹配的方法層次的初始聚類(lèi);若所述比例小于1,則按從大到小排列各比例,選取比例排在前N位的主題詞所在的方法,將所述方法分配到和相應(yīng)類(lèi)主題匹配的方法層次的初始聚類(lèi),其中,N為自定義值;
(6)逐一分析所述類(lèi)中未分配的方法與已分配的方法之間的關(guān)系,若未分配的方法與已分配的方法存在依賴(lài)關(guān)系,則將未分配的方法分配到所述已分配的方法所在的初始聚類(lèi)中,直至所有未分配的方法全部被分配于相應(yīng)的初始聚類(lèi)中,得到所述類(lèi)在方法層次的基于類(lèi)主題的聚類(lèi)結(jié)果。
[0008]本發(fā)明的有益效果是:通過(guò)LDA模型在類(lèi)和方法兩個(gè)不同層次提取主題,實(shí)現(xiàn)了粗粒度層次到細(xì)粒度層次的聚類(lèi),為開(kāi)發(fā)人員建立一個(gè)更加易于理解的系統(tǒng)結(jié)構(gòu),使得聚類(lèi)的結(jié)果更加有效、更加 實(shí)用化;由于類(lèi)層次和方法層次的聚類(lèi)結(jié)果均可提供軟件系統(tǒng)的功能特征,因此開(kāi)發(fā)人員可依據(jù)聚類(lèi)結(jié)果清楚地了解軟件程序的功能點(diǎn),并依據(jù)方法層次的聚類(lèi)結(jié)果快速找到所需的功能源代碼;本發(fā)明實(shí)現(xiàn)了一種自頂向下逐步求精的軟件聚類(lèi)過(guò)程,更符合開(kāi)發(fā)人員的實(shí)際軟件理解過(guò)程,有助于開(kāi)發(fā)人員對(duì)整個(gè)軟件系統(tǒng)簡(jiǎn)單、逐步和快速的理解。本方法應(yīng)用于輔助軟件維護(hù)與演化過(guò)程中的程序理解,可為開(kāi)發(fā)人員提供一個(gè)從系統(tǒng)到方法的逐步理解的過(guò)程,具有聚類(lèi)性能好、實(shí)用性強(qiáng)、工作效率高的特點(diǎn)。
【專(zhuān)利附圖】

【附圖說(shuō)明】
[0009]圖1為本發(fā)明中類(lèi)層次的初始聚類(lèi)流程圖。
[0010]圖2為本發(fā)明中方法層次的初始聚類(lèi)流程圖。
[0011]圖3為按照主題理解的軟件系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0012]如圖1所示,為為本發(fā)明中類(lèi)層次的初始聚類(lèi)流程圖,包括以下步驟:
(I)從待聚類(lèi)的軟件系統(tǒng)中選取類(lèi)名、方法名以及注釋作為篩選對(duì)象,對(duì)軟件系統(tǒng)進(jìn)行篩選,運(yùn)用LDA模型從已經(jīng)過(guò)篩選的軟件系統(tǒng)中提取k個(gè)系統(tǒng)主題,k為自定義值,需要提前設(shè)定。作為本發(fā)明的實(shí)施例,設(shè)提取的系統(tǒng)主題為tl、t2、t3……tk,tx對(duì)應(yīng)的主題詞為
tx0、txl、tx2......,主題詞txy所在的類(lèi)為cxy,其中,變量X滿(mǎn)足:1 < x < k,變量y滿(mǎn)足:
O≤y。
[0013](2)計(jì)算各系統(tǒng)主題的主題詞數(shù)目與軟件系統(tǒng)文檔總詞數(shù)的比例,設(shè)為P,P值可由LDA模型計(jì)算給出。若P=I,則將主題詞所在的類(lèi)分配到和相應(yīng)系統(tǒng)主題匹配的類(lèi)層次的初始聚類(lèi);gp < 1,則按從大到小排列各比例,選取比例排在的前M位的主題詞所在的類(lèi),并將該類(lèi)分配到和相應(yīng)系統(tǒng)主題匹配的類(lèi)層次的初始聚類(lèi),其中,M為自定義值。如表1所示,系統(tǒng)主題tl的主題詞tlO的P值為1,可將tlO所在的類(lèi)ClO直接分配到tl匹配的類(lèi)層次的初始聚類(lèi)中;若設(shè)M=2,tl中P值排在前2位的主題詞為til、tl2,所以類(lèi)cll、cl2也分配到tl匹配的類(lèi)層次的初始聚類(lèi)中。
【權(quán)利要求】
1.一種基于LDA模型的多粒度層次軟件聚類(lèi)方法,其特征在于,包括以下步驟: (1)從待聚類(lèi)的軟件系統(tǒng)中選取類(lèi)名、方法名以及注釋作為篩選對(duì)象,對(duì)所述軟件系統(tǒng)進(jìn)行篩選,運(yùn)用LDA模型從已經(jīng)過(guò)篩選的軟件系統(tǒng)中提取k個(gè)系統(tǒng)主題,k為自定義值; (2)計(jì)算各所述系統(tǒng)主題的主題詞數(shù)目與所述軟件系統(tǒng)文檔總詞數(shù)的比例,若所述比例等于1,則將對(duì)應(yīng)主題詞所在的類(lèi)分配到和相應(yīng)系統(tǒng)主題匹配的類(lèi)層次的初始聚類(lèi);若所述比例小于1,則按從大到小排列各比例,選取比例排在的前M位的主題詞所在的類(lèi),將所述類(lèi)分配到和相應(yīng)系統(tǒng)主題匹配的類(lèi)層次的初始聚類(lèi),其中,M為自定義值; (3)逐一分析所述軟件系統(tǒng)中未分配的類(lèi)與已分配的類(lèi)之間的關(guān)系,若未分配的類(lèi)與已分配的類(lèi)存在依賴(lài)關(guān)系,則將未分配的類(lèi)分配到所述已分配的類(lèi)所在的初始聚類(lèi)中,直至所有未分配的類(lèi)全部被分配于相應(yīng)的初始聚類(lèi)中,得到所述軟件系統(tǒng)在類(lèi)層次的基于系統(tǒng)主題的聚類(lèi)結(jié)果; (4)根據(jù)步驟(3)的聚類(lèi)結(jié)果,運(yùn)用LDA模型從類(lèi)中提取j個(gè)類(lèi)主題,j為自定義值; (5)計(jì)算各所述類(lèi)主題的主題詞數(shù)目與所述類(lèi)的文檔總詞數(shù)的比例,若所述比例等于1,則將對(duì)應(yīng)主題詞所在的方法分配到和相應(yīng)類(lèi)主題匹配的方法層次的初始聚類(lèi);若所述比例小于1,則按從大到小排列各比例,選取比例排在前N位的主題詞所在的方法,將所述方法分配到和相應(yīng)類(lèi)主題匹配的方法層次的初始聚類(lèi),其中,N為自定義值; (6)逐一分析所述類(lèi)中未分配的方法與已分配的方法之間的關(guān)系,若未分配的方法與已分配的方法存在依賴(lài)關(guān)系,則將未分配的方法分配到所述已分配的方法所在的初始聚類(lèi)中,直至所有未分配的方法全部被分配于相應(yīng)的初始聚類(lèi)中,得到所述類(lèi)在方法層次的基于類(lèi)主題的聚類(lèi)結(jié)果。
【文檔編號(hào)】G06F9/44GK103729197SQ201410028677
【公開(kāi)日】2014年4月16日 申請(qǐng)日期:2014年1月22日 優(yōu)先權(quán)日:2014年1月22日
【發(fā)明者】孫小兵, 劉湘月, 李斌, 楊智松 申請(qǐng)人:揚(yáng)州大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1