主权项 |
一种基于LDA模型的多粒度层次软件聚类方法,其特征在于,包括以下步骤:(1)从待聚类的软件系统中选取类名、方法名以及注释作为筛选对象,对所述软件系统进行筛选,运用LDA模型从已经过筛选的软件系统中提取k个系统主题,k为自定义值;(2)计算各所述系统主题的主题词数目与所述软件系统文档总词数的比例,若所述比例等于1,则将对应主题词所在的类分配到和相应系统主题匹配的类层次的初始聚类;若所述比例小于1,则按从大到小排列各比例,选取比例排在前M位的主题词所在的类,将所述类分配到和相应系统主题匹配的类层次的初始聚类,其中,M为自定义值;(3)逐一分析所述软件系统中未分配的类与已分配的类之间的关系,若未分配的类与已分配的类存在依赖关系,则将未分配的类分配到所述已分配的类所在的初始聚类中,直至所有未分配的类全部被分配于相应的初始聚类中,得到所述软件系统在类层次的基于系统主题的聚类结果;(4)根据步骤(3)的聚类结果,运用LDA模型从类中提取j个类主题,j为自定义值;(5)计算各所述类主题的主题词数目与所述类的文档总词数的比例,若所述比例等于1,则将对应主题词所在的方法分配到和相应类主题匹配的方法层次的初始聚类;若所述比例小于1,则按从大到小排列各比例,选取比例排在前N位的主题词所在的方法,将所述方法分配到和相应类主题匹配的方法层次的初始聚类,其中,N为自定义值;(6)逐一分析所述类中未分配的方法与已分配的方法之间的关系,若未分配的方法与已分配的方法存在依赖关系,则将未分配的方法分配到所述已分配的方法所在的初始聚类中,直至所有未分配的方法全部被分配于相应的初始聚类中,得到所述类在方法层次的基于类主题的聚类结果。 |